|
from itoolkit import * |
|
from itoolkit.lib.ilibcall import * |
|
|
|
itransport = iLibCall() |
|
itool = iToolKit() |
|
|
|
itool.add(iCmd('addlible', 'addlible QHTTPSVR')) |
|
itool.add( |
|
iSrvPgm('QzuiCreateInstance','QZHBCONF','QzuiCreateInstance', iopt={'lib': 'QHTTPSVR'}) # This doesn't seem to work, thus the ADDLIBLE above |
|
.addParm(iData('instance','10a','TESTTK')) |
|
.addParm( |
|
iDS('INSD0110',{'len':'buflen'}) |
|
.addData(iData('autostart','10a','*NO')) |
|
# structure is not packed, it seems, so add a 2 byte hole here |
|
# so threads will be aligned on a 4-byte boundary (offset 12 instead of 10) |
|
.addData(iData('pad_for_alignment','2h','')) |
|
.addData(iData('threads','10i0','0')) |
|
.addData(iData('ccsid','10i0','37')) |
|
.addData(iData('out_table_name','10a','*GLOBAL')) |
|
.addData(iData('out_table_lib','10a','')) |
|
.addData(iData('in_table_name','10a','*GLOBAL')) |
|
.addData(iData('in_table_lib','10a','')) |
|
.addData(iData('config_file','512a','/www/testtk/httpd.conf')) |
|
.addData(iData('server_root','512a','/www/testtk')) |
|
|
|
) |
|
.addParm(iData('bufsize','10i0','',{'setlen':'buflen'})) |
|
.addParm(iData('format','10a','INSD0110')) |
|
.addParm( |
|
iDS('qus_ec_t',{'len':'errlen'}) |
|
.addData(iData('provided','10i0','',{'setlen': 'errlen'})) |
|
.addData(iData('available','10i0','')) |
|
.addData(iData('msgid','7A','')) |
|
.addData(iData('reserved','1A','')) |
|
# These are defined specifically for CPF3C1D |
|
.addData(iData('parameter', '10i0', '')) |
|
.addData(iData('parmlen', '10i0', '')) |
|
.addData(iData('minlen', '10i0', '')) |
|
.addData(iData('maxlen', '10i0', '')) |
|
) |
|
) |
|
|
|
|
|
itool.call(itransport) |
|
|
|
result = itool.dict_out('QzuiCreateInstance') |
|
#print(result) |
|
err = result['qus_ec_t'] |
|
if int(err['available']): |
|
if err['msgid'] == 'CPF3C1D': |
|
print("{4}: The length of {0} for parameter {1} is not valid. Values for this parameter must be greater than {2} and less than {3}.".format(err['parmlen'], err['parameter'], err['minlen'], err['maxlen'], err['msgid'])) |
|
elif err['msgid'] == 'HTPA103': |
|
print('A value in the instance data at decimal offset {} is not valid'.format(err['parameter'])) |
|
else: |
|
print(err['msgid']) |