def __init__(self, **kw): Datamap.__init__( self, 'URBG', Uint2('urbgidx'), # Element index in GFFT String('urbgfid', 2), # Field short name Uint1('urbgffmt', ppfunc=urbgffmt_str), # Field format Uint1('urbgtype', ppfunc=urbgtype_str), # Field type Uint2('urbgflen'), # Field length Uint2('urbgfprc'), # Decimal place/precision Uint1('urbgflag', opt=T_HEX), # ppfunc=urbgflag_str), # Flags Bytes('filler1', 1, opt=T_NONE), # Reserved area # 1st level of occurrences: Uint2('urbgfrno'), # Range number Uint2('urbgfrfm'), # From-range number # 2st level of occurrences: 0x10 Uint2('urbgfono'), # Occurrence number Uint2('urbgfofm'), # From-occurrence number Uint2('urbgfnml'), # Length of field long name String('urbgfnam', 32), # Field long name String('urbgfgrp', 2), # Name of PE group String('urbgfmtx', 2), # External Format Type (Bytes?) String('urbgfrpn', 2), # Redefined parent name String('urbgffon', 2), # Field order number Bytes('filler2', 2, opt=T_NONE), # Reserved area **kw)
def __init__(self, **kw): fields=( # Available with CIS Interface version String('uow_id', 16), # 2 UOW ID String('conv_id', 16), # Conversation ID String('senderuid',32), # Sender UserID String('sendertoken',32), # Sender User Token String('senderserver',32), # Sender SERVER-NAME String('senderclass',32), # Sender SERVER-CLASS String('senderservice',32), # Sender SERVICE String('recvruid',32), # Receiver UserID String('recvrtoken',32), # Receiver User Token String('recvrserver',32), # Receiver SERVER-NAME String('recvrclass',32), # Receiver SERVER-CLASS String('recvrservice',32), # Receiver SERVICE String('userstatus',32), # User status Uint1('uowstatus',ppfunc=lambda x:'%-9s'%uowStatus_str(x)), # Unit of work status Uint1('eoc'), # End of conversation? 0|1 Uint1('store'), # Persistent? 0|1 Uint1('uowstatstore'), # Persistent UOW status? 0|1 Uint4('eocreason'), # EOC reason code Uint4('deliveries'), # Attempt to delivery count Uint4('msgcnt'), # Number of messages Uint4('msgsize'), # Total message size String('uwstatus_lifetime',32), # Status life time String('uwcreate_time',32), # Unit of work creation time Uint4('uw_lifetime',ppfunc=intervalstr),# 2 Unit of work life time ) Datamap.__init__(self, 'PersistentMessage', *fields, **kw)
def __init__(self, **kw): Datamap.__init__(self, 'SMF Record Header', Int2('rlen'), # Record length RDW header Uint1('seg'), # Segment control Uint1('seg2'), # Segment control 2 (unused) Bytes('flg',1,caption='System indicator'), # System indicator flags #q Asfxxx equ x'80' subsystem id follows system id #q Asfstv equ x'40' subtypes are valid #q Asfv4 equ x'10' mvs/sp v4 and above #q Asfv3 equ x'08' mvs/sp v3 and above #q Asfv2 equ x'04' mvs/sp v2 and above #q Asfvs2 equ x'02' vs2 Uint1('rty',caption='SMF record type'), # SMF record type Uint4('tme',ppfunc=dtime100,caption='Record creation time'), # Time since midnight # when record was moved into smf buffer in 1/100 sec Packed('dte',4,ppfunc=idate,caption='Record creation date'), # Date when record was # moved into smf buffer as 0cyydddf String('sid',4,caption='System identifier'), # smfprmxx sid # up to here if SMF record withtout subtypes String('ssi',4,caption='Subsystem identifier'), Uint2('sty',caption='Subtype'), # Subtype ppfunc=Asbase.assty_str byteOrder=NETWORKBO,ebcdic=1,**kw)
def __init__(self, **kw): Datamap.__init__( self, 'DRL', String('name', 8), Bytes('ttr', 3), Uint1( 'flag'), # Alias flag 0x80 and user half words (max 0x1f * 2) # --- if length in flag is 0x0f, ie. 30 bytes ISFP statistics follow Uint1('vv'), # version (set by SCLM?) Uint1('mm'), # modifications (range 0-99) Uint1('ind'), # SCLM indicator Uint1('ss'), # time last modified (second part) Packed('credate', 4), # ibm creation date 0119001f = 20190101 Packed('moddate', 4), # date last modified 0099032f = 19990201 Uint2('hhmm'), # time last modified 0xhhmm Uint2('size2'), # current number of lines, 655 Uint2('init2'), # initial number of lines Uint2('chgd2'), # number of lines changed String('id', 8), # user id of last modification # --- the following is only set if hw length in flag is 0x14 (=40 bytes) # then ind & MIINDXSTA will be set Uint4('size'), # current number of lines Uint4('init'), # initial number of lines Uint4('chgd'), # number of lines changed byteOrder=NETWORKBO, **kw)
def __init__(self, clientserver, **kw): fields=( # Available with CIS Interface version String('uid', 32), # 1 UserID #Bytes('puid', 28), # Physical UserID String('puid', 28), # Physical UserID String('puidTrans',28,opt=T_NONE), # Translated physical UserID String('token', 32), # User's Token Uint2('charset'), # User's character set: ***** # EBCDIC_IBM ..... 34 ('22') # EBCDIC_SNI ..... 66 ('42') # ASCII_PC_386 ... 1 ('01') # ASCII_PC_OS2 ... 16 ('10') # ASCII_8859_1 ... 128 ('80') Uint2('highorderfirst'), # Big Endian = 1 Uint2('status',ppfunc=waiting_str), # User's status: 0: not waiting, 5: waiting Uint2('unused1',opt=T_NONE), # Alignment String('waitconvid', 16), # CONVID user is waiting for: # "NEW"|"OLD"|"ANY"|"NONE"|n String('server_class', 32,opt=T_NONE),# User waiting for this .... String('server', 32,opt=T_NONE), # String('service',32, ppfunc=lambda svc:'%s/%s/%s' % (self.server_class,self.server,svc)), # SERVICE = class/server/service Uint4('conv_act'), # Active conversations of this user Uint4('service_act'), # Active services by server Uint4('last_active',ppfunc=intervalstr),# Seconds since last activity Uint4('nonact',ppfunc=intervalstr), # Nonactivity timeout Uint4('waited_new',ppfunc=intervalstr), # Accum.wait time CONVID=NEW Uint4('waits_new'), # Number of waits CONVID=NEW Uint4('waited_old',ppfunc=intervalstr), # Accum.wait time CONVID!=NEW Uint4('waits_old'), # Number of waits CONVID!=NEW Uint4('convs'), # 1 No. of conversations Uint4('active_uow'), # 2 Total number of active UOWs String('ipv4_address',16), # 4 IPv4 address client/server String('host_name',256), # Host name client/server Uint1('recv_option',ppfunc=option_str), # RECEIVE option Uint1('attach_mgr'), # Attach manager Uint2('unused2',opt=T_NONE), # 4 Alignment String('reserved_etbinfo_v73_1',32,opt=T_NONE),# 5 Reserved for future use String('app_name',64), # 5 String('app_type',8), # 5 String('reserved_etbinfo_v73_3',32,opt=T_NONE),# 5 Reserved for future use Uint4('authsucc'), # 5 Counter AUTHORIZ succeeded Uint4('authfail'), # 5 Counter AUTHORIZ failed Uint4('created',ppfunc=localtime_str), # 5 Creation time String('rpclib',128), # 6 ACI RPCLIB String('rpcpgm',128), # 6 ACI RPCPGM Uint4('seqno'), # 7 unique client/server sequence number String('app_version',16), # 7 String('ipv6_address',46), # 8 IPv6 address client/server String('unused',2,opt=T_NONE), # 8 Alignment ) Datamap.__init__(self, clientserver, *fields, **kw)
def __init__(self, **kw): Datamap.__init__( self, 'URBSU70', String('fieldname', 2), # Descriptor name Uint1('reason'), # Reason code Bytes('filler1', 5), **kw)
def __init__(self, **kw): Datamap.__init__( self, 'URBSU', String('urbsueye', 6), # URBSU eye-catcher 'URBSU' # Uint1('urbsutyp', ppfunc=urbsutyp_str, opt=T_HEX), # Utility function type Bytes('filler1', 25, opt=T_NONE), # Reserved area **kw)
def __init__(self, **kw): fields=( # Available with CIS Interface version # 1 String('server_class', 32,opt=T_NONE),# SERVER-CLASS String('server', 32,opt=T_NONE), # SERVER-NAME String('service',32, ppfunc=lambda x:'%s/%s/%s' % (self.server_class,self.server,self.service)), # SERVICE = class/server/service String('translate', 8), # Name of translation routine Uint4('conv_nonact',ppfunc=intervalstr),# Conversation timeout Uint4('servers_act'), # Active servers Uint4('conv_act'), # Active conversations Uint4('conv_high'), # High watermark Uint4('longbuffer_act'), # Active LONG-BUFFER entries Uint4('longbuffer_high'), # High watermark Uint4('shortbuffer_act'), # Active SHORT-BUFFER entries Uint4('shortbuffer_high'), # High watermark Uint4('waitserver'), # No. waits for server MSGs Uint4('server_occupied'), # No. times all servers busy Uint4('pending'), # No. pending conversations Uint4('pending_high'), # High watermark Uint4('total_requests'), # 1 Total number of requests Uint4('maxuows'), # 2 Max # of active UOWs Uint4('maxuowmsg'), # Max # of messages per UOW Uint4('uwtime',ppfunc=intervalstr), # Max UOW life time Uint4('maxdelcnt'), # Max delivery count Uint4('maxmsgsize'), # Max message size Uint4('totaluows'), # Total number of active UOWs Uint1('store'), # Startup value STORE: 0: off, 1: Broker Uint1('uwstatp'), # uowStatusLifetime Multiplier Uint1('deferred'), # 2 default status for UOW 0: no, 1: yes Uint1('enclevel'), # 3 Encryption Level Uint4('attachmgrs_act'), # 4 No. active attach managers Uint4('uwstat_addtime'), # 4 UWSTAT-LIFETIME Uint4('num_conv'), # 5 No. conversations Uint4('num_server'), # No. servers Uint4('longbuffers'), # No. long message buffers Uint4('shortbuffers'), # No. short message buffers String('conversion',8), # Name of conversion routine String('conversion_parms',255), # Conversion parameters String('unused1', 5, opt=T_NONE), # 5 alignment ) Datamap.__init__(self, 'Service', *fields, **kw)
def __init__(self, **kw): fields = ( # Available with CIS Interface version Uint2('version', opt=T_IN), # 1 Interface version Uint2( 'object_type', opt=T_IN, ppfunc=cio_str), # 1 Object type to which the command applies Uint2('command', opt=T_IN, ppfunc=cic_str), # 1 CIS command Uint2('option', opt=T_IN, ppfunc=cip_str), # 1 CIS option Bytes( 'puid', 28, opt=T_HEX ), # 1 internal userid that distinguishes users with same userids # id obtained from previous call, no translation done String( 'uowid', 16, opt=T_IN), # 2 Selector, optional, unit of work to be purged String( 'topic', 96, opt=T_IN ), # 4 Selector, optional, topic to be subscribed or unsubscribed to String( 'uid', 32, opt=T_IN ), # 4 Selector, optional, user name for subscription/unsubscription # and participant shutdown String( 'token', 32, opt=T_IN ), # 4 Selector, optional, token for subscription/unsubscription # and participant shutdown String( 'server_class', 32, opt=T_IN ), # 5 Selector, optional, for command log filter addition or removal String( 'server', 32, opt=T_IN ), # 5 Selector, optional, for command log filter addition or removal String( 'service', 32, opt=T_IN ), # 5 Selector, optional, for command log filter addition or removal Filler('reserved', 32), # 5 Reserved String( 'conv_id', 16, opt=T_IN), # 7 Selector, optional, for shutdown conversation String('transportid', 3, opt=T_IN ), # 7 Selector, optional, for transport task (NET|Snn|Tnn) # required for RESUME,START,STATUS,STOP,SUSPEND Uint1( 'exclude_attach', opt=T_IN ), # 7 Optional. Exclude attach servers when shutting down a service Uint4( 'seqno', opt=T_IN ), # 7 Optional. Sequence number of participant (e.g. client, server, # publisher) to be shut down. Can be used instead of puid Uint4( 'error_number', opt=T_IN ), # 7 Optional. Sequence number of participant (e.g. client, server, ) Datamap.__init__(self, 'Cisreq', *fields, **kw)
def __init__(self, **kw): fields = ( # Available with CIS Interface version String('conv_id', 16), # 1 Conversation ID String('serveruid', 32), # Server's UserID Bytes('serverpuid', 28), # Server's physical UserID String('serverpuidtrans', 28, opt=T_NONE), # Server's translated PUID (unused) String('servertoken', 32), # Server's Token String('clientuid', 32), # Client's UserID Bytes('clientpuid', 28), # Client's physical UserID String('clientpuidtrans', 28, opt=T_NONE), # Client's translated PUID String('clienttoken', 32), # Client's Token String('server_class', 32, opt=T_NONE), # SERVER-CLASS String('server', 32, opt=T_NONE), # SERVER-NAME String('service', 32, ppfunc=lambda svc: '%s/%s/%s' % (self.server_class, self.server, svc)), # SERVICE = class/server/service Uint4('conv_nonact', ppfunc=intervalstr), # Conversation timeout Uint4('last_active', ppfunc=intervalstr), # Seconds since last activity Uint2('type'), # 1 Conversation type 0: conv, 1: non-conv Uint2('unused1', opt=T_NONE), # 2 Alignment Uint4('totaluows'), # 2 Number of active UOWs String('client_rpc_libname', 128), # 6 Client's String('client_rpc_progname', 128), # 6 String('server_rpc_libname', 128), # 6 Server's String('server_rpc_progname', 128), # 6 Uint1('arf'), # 10 Adabas replicator flag Uint1('scm'), # 10 Single conversation mode Uint1('prefetch'), # 10 Server: SCM: Prefetch Uint1('roaming'), # 10 Server: Roaming 0 or 1 ) Datamap.__init__(self, 'Conversation', *fields, **kw)
def __init__(self, **kw): Datamap.__init__(self, 'Job/Session Id Section', String('jbn',8,caption='Job/session name'), # JMRJOB String('pgm',8,caption='Program name'), # SCTPGMNM '*.DD.' if backward reference String('stm',8,caption='Step name'), # SCTSNAME String('uif',8,caption='User id'), # JMRUSEID taken from the common exit parm String('jnm',8,caption='JES job id'), # SSIB Uint2('stn',caption='Step number'), # SCTSNUMB, first step = 1 String('cls',1,caption='Job class'), # JCTJCSMF, zero for TSO/started task Uint1('jb1',caption='Job/Session Id section flag'), Uint2('pgn',caption='Job performance group member'), # OUCBNPG Uint2('jpt',caption='JES input priority'), # JCTJPRTY Uint4('ast',ppfunc=dtime100,caption='Device allocation start time'), # TCTAST Uint4('pss',ppfunc=dtime100,caption='Problem program start time'), # TCTPPST Uint4('sit',ppfunc=dtime100,caption='Time initiator selected step'), # JCTJMRSS Packed('std',4,ppfunc=idate,caption='Date initiator selected step'), # JCTSSD Uint4('rst',ppfunc=dtime100,caption='Time reader found job card'), # JMRENTRY Packed('rsd',4,ppfunc=idate,caption='Date reader found job card'), # JMREDATE Uint4('ret',ppfunc=dtime100,caption='Time reader found end of job'), Packed('red',4,ppfunc=idate,caption='Date reader found end of job'), String('usr',20,caption='Programmers name'),# ACTPRGNM String('grp',8,caption='RACF group id'), # ACEEGRPN String('rud',8,caption='RACF user id'), # ACEEUSRI String('tid',8,caption='RACF terminal id'), # ACEETRMF String('tsn',8,caption='Terminal sybolic name'), # TSBTRMID String('psn',8,caption='Step name invoking procedure'), # SCTSCLPC, blanks if step not part of expanded procedure String('cl8',8,caption='Job class'), # LCTCLASS or JCTJCSMF Uint8('iss',opt=T_STCK,caption='Interval start time'), # TCTISS for subtype 2, 3 and 6 records Uint8('iet',opt=T_STCK,caption='Interval end time'), # SMCXINTE for subtype 2, 3 and 6 records Uint4('ssn',ppfunc=dtime100,caption='Sub-step number'),# SCTSSNUM String('exn',16,caption='OpenMVS program name'), Uint2('asi',opt=T_HEX,caption='Address space id'), # ASCBASID String('cor',64,opt=T_NONE,caption='JES job correlator'), # JMRJOBCORRELATOR byteOrder=NETWORKBO,ebcdic=1,**kw)
def __init__(self, **kw): fields = ( # Available with CIS Interface version # | Optional/Required # | | Uint4('block_length'), # 1 R Return data in this length Uint2('version'), # 1 R Interface version Uint2('reserved1', opt=T_NONE), # Uint2( 'object_type'), # 1 R Object type for which info is requested String('uid', 32), # 1 O Selector user id of client or server Bytes('puid', 28, opt=T_HEX ), # 1 O Selector internal userid that distinguishes users # with same userids, no translation done String('token', 32), # 1 O Selector String('server_class', 32), # 1 O Selector String('server', 32), # 1 O Selector String('service', 32), # 1 O Selector String('conv_id', 16), # 1 O Selector Uint2('reserved2', opt=T_NONE), # 1 String('uowid', 16), # 2 O Selector Uint1('uowstatus'), # 2 O Selector String('userstatus', 32), # 2 O Selector String('recvuid', 32), # 2 O Selector UOW reciever's user id String('recvtoken', 32), # 2 O Selector UOW reciever's token String('recvserver', 32), # 2 O Selector UOW reciever's server name String('recvservice', 32), # 2 O Selector UOW reciever's service name String('recvclass', 32), # 2 O Selector UOW reciever's class name String('reserved3', 3, opt=T_NONE), # 2 String('topic', 96), # 4 O Selector String('publicationid', 16), # 4 O Selector Uint2('subscriptiontype'), # 4 O Selector Uint2('reserved4', opt=T_NONE), # 4 Uint2('conv_type'), # 5 O Selector Uint2('reserved5', opt=T_NONE), # 5 ) Datamap.__init__(self, 'Infreq', *fields, **kw)
def __init__(self, **kw): Datamap.__init__( self, 'URBF', String('urbfeye', 4), # URBF eye-catcher 'URBF' Uint4('urbflen'), # Length of URBF + related data (n*URBG) Uint4('urbflenh'), # Length of URBF Uint4('urbflend'), # Length of related data (n*URBG) String('urbfvers', 2), # GFFT version indicator String('urbffnre', 5), # File number eye-catcher Uint1('urbfflag', ppfunc=urbfflag_str), # String('urbfgfid', 8), # Global format ID related to GFFT Uint4('urbfdbid'), # DBID of file Uint2('urbffnr'), # File number Uint2('urbffnml'), # Length of file name String('urbffnam', 32), # File/userview name Uint8('urbftim1', opt=T_STCK), # Time (STCK) GFFT was created/refreshed Uint2('urbfcntg'), # Number of following URBG elements Uint2('urbfleng'), # Length of each URBG element Uint8('urbftim2', opt=T_STCK), # Time (STCK) GFFT for ADARDE(DEXIT) Bytes('filler1', 20, opt=T_NONE), # Reserved area **kw)
def __init__(self, **kw): Datamap.__init__( self, 'URBSH', String('urbsheye', 6), # URBSH eye-catcher 'URBSH' Uint1('urbshver'), # Length of URBS + data (C5DA) + filler String( 'urbshtyp', 1 ), # Destination Broker 'E': if ETBINFO data == 0: no UOWs found (all consumed by target) Uint8('urbshctm', opt=T_STCK), # Time (STCK) of messaging system commit Uint8( 'urbshttm', opt=T_STCK ), # Time (STCK) of last transaction processed by destination Uint8( 'urbshsdw', opt=T_STCK), # Time (STCK) when heartbeat was written to SLOG Uint8( 'urbshsdr', opt=T_STCK ), # Time (STCK) when heartbeat was read from SLOG (de-logged) # the following fields are set for a EntireX Broker destination Uint8('urbshbtm', opt=T_STCK ), # Time (STCK) of ETBINFO taken (before sending URBS) Uint8( 'urbshbtn', opt=T_STCK ), # Time (STCK) when newest item was created in Broker queue Uint8( 'urbshbto', opt=T_STCK ), # Time (STCK) when oldest item was created in Broker queue Uint8('urbshbcb'), # current number of bytes in Broker queue Uint8('urbshbcm'), # current number of messages in Broker queue Uint8('urbshbcu'), # current number of UOWs in Broker queue Uint4('urbshbxb'), # max number of bytes in one UOW Uint4('urbshbxm'), # max number of messages in one UOW **kw)
def __init__(self, **kw): fields = ( # Available with CIS Interface version String('uow_id', 16), # 2 UOW ID String('conv_id', 16), # Conversation ID String('senderuid', 32), # Sender UserID String('sendertoken', 32), # Sender User Token String('senderserver', 32), # Sender SERVER-NAME String('senderclass', 32), # Sender SERVER-CLASS String('senderservice', 32), # Sender SERVICE String('recvruid', 32), # Receiver UserID String('recvrtoken', 32), # Receiver User Token String('recvrserver', 32), # Receiver SERVER-NAME String('recvrclass', 32), # Receiver SERVER-CLASS String('recvrservice', 32), # Receiver SERVICE String('userstatus', 32), # User status Uint1('uowstatus', ppfunc=lambda x: '%-9s' % uowStatus_str(x) ), # Unit of work status Uint1('eoc'), # End of conversation? 0|1 Uint1('store'), # Persistent? 0|1 Uint1('uowstatstore'), # Persistent UOW status? 0|1 Uint4('eocreason'), # EOC reason code Uint4('deliveries'), # Attempt to delivery count Uint4('msgcnt'), # Number of messages Uint4('msgsize'), # Total message size String('uwstatus_lifetime', 32), # Status life time String('uwcreate_time', 32), # Unit of work creation time Uint4('uw_lifetime', ppfunc=intervalstr), # 2 Unit of work life time Uint1('arf'), # 10 Adabas replicator flag Uint1('scm'), # Single conversation mode String('unused', 2, opt=T_NONE), # Alignment Uint4('maxPostponeAttempts'), # Uint4('remainingPostponeAttempts'), # Uint4('postponeDelay'), # String('back2accepted', 32), # Unit of work postponed to ACCEPTED String('commit_time', 32), # Unit of work commit time String('create_time', 32), # 10 UOW create time (PSTORE V5) ) Datamap.__init__(self, 'PersistentMessage', *fields, **kw)
def __init__(self, **kw): fields=( # Available with CIS Interface version String('platform',8), Uint4('runtime',ppfunc=intervalstr), #stckintervalstr if stck seconds Uint4('num_worker_act'), Uint4('num_long'), Uint4('long_act'), Uint4('long_high'), Uint4('num_short'), Uint4('short_act'), Uint4('short_high'), Uint4('long_size'), Uint4('short_size'), Uint4('num_service'), Uint4('service_act'), Uint4('num_server'), Uint4('server_act'), Uint4('server_high'), Uint4('num_client'), Uint4('client_act'), Uint4('client_high'), Uint4('num_conv'), Uint4('conv_high'), Uint2('trace_level'), Uint2('unused1',opt=T_NONE), # 1 Uint4('maxuows'), Uint4('maxuowmsg'), Uint4('uwtime',ppfunc=intervalstr), Uint4('maxdelcnt'), Uint4('maxmsgsize'), Uint4('totaluows'), Uint1('store'), Uint1('pstore',ppfunc=pstore_str), Uint1('uwstatp'), Uint1('deferred'), # 2 String('accounting', 3), # 3 Uint1('authdefault'), Uint4('sslport'), Uint1('new_uow_msgs'), Uint1('snmp_licensed'), Uint2('unused2',opt=T_NONE), String('platformname',32), String('pstoretype',8), # 3 Uint1('pub_sub'), # 4 Uint1('apiversion'), Uint1('cisversion'), Uint1('pstore_connected'), Uint4('num_topic'), Uint4('topic_act'), Uint4('num_subscriber'), Uint4('subscriber_act'), Uint4('subscriber_high'), Uint4('num_publisher'), Uint4('publisher_act'), Uint4('publisher_high'), Uint4('num_publication'), Uint4('publication_high'), Uint4('attach_mgrs_act'), Uint4('uwstat_add_time'), String('product_version',16), # 4 String('license_expiration',10), # 5 Uint1('security_type'), Uint1('accounting_enabled'), Uint4('num_free_ccb'), Uint4('num_free_pcb'), Uint4('num_free_pcb_ext'), Uint4('num_free_scb'), Uint4('num_free_scb_ext'), Uint4('num_free_subscb'), Uint4('num_free_tcb'), Uint4('num_free_tcb_ext'), Uint4('num_free_toq'), Uint4('num_free_uwcb'), Uint4('num_com_buffer'), Uint4('num_com_slot'), Uint4('num_com_slot_free'), Uint4('num_cmdlog_filter'), Uint4('num_cmdlog_filter_act'), Uint1('cmdlog'), Uint1('cmdlog_enabled'), String('unused3',2,opt=T_NONE), String('attribute_file_name',256), String('log_file_name',256), Uint4('log_file_size'), String('license_file_name',256), Uint4('cmdlog_size_max'), String('cmdlog_open_name',256), Uint4('cmdlog_open_size'), String('cmdlog_closed_name',256), Uint4('cmdlog_closed_size'), Uint4('unused4',opt=T_NONE), String('accounting_file_name',256), Uint4('accounting_file_size'), Uint4('control_interval'), Uint4('max_takeover_attempts'), String('run_mode',16), String('partner_cluster_addr',32), Uint4('num_cmdlog_switch_siz'), Uint4('num_cmdlog_switch_cis'), # 5/6 Uint4('client_nonact',ppfunc=intervalstr), Uint4('work_queue_entries'), Uint4('total_storage_alloc'), Uint4('total_storage_high'), Uint4('total_storage_limit'), String('broker_id',32), String('host_name',256), String('sysplex_name',8), Uint1('auto_logon'), Uint1('dyn_memory_management'), Uint1('dyn_worker_management'), Uint1('service_updates'), Uint1('topic_updates'), Uint1('transport_net'), Uint1('transport_ssl'), Uint1('transport_tcp'), Uint4('trap_error'), # 7/8 ) Datamap.__init__(self, 'Broker', *fields, **kw)
def __init__(self, **kw): Datamap.__init__(self, 'SMF30 Acccounting Information Record', Int2('rlen'), # Record length RDW header Uint1('seg'), # Segment control Uint1('seg2'), # Segment control 2 (unused) Bytes('flg',1,caption='System indicator'), # System indicator flags Uint1('rty',caption='SMF record type'), # SMF record type Uint4('tme',ppfunc=dtime100,caption='Record creation time'), # Time since midnight # when record was moved into smf buffer in 1/100 sec Packed('dte',4,ppfunc=idate,caption='Record creation date'), # Date when record was # moved into smf buffer as 0cyydddf String('sid',4,caption='System identifier'), # smfprmxx sid String('ssi',4,caption='Subsystem identifier'), Uint2('sty',caption='Subtype'), # Subtype ppfunc=Asbase.assty_str #q Asbasel equ *-asbase length of standard header # Self-defining section offset 0x14 w/o RDW # Bytes('sds',152,opt=T_NONE,caption='Self defining section'), # too short # Subsystem section # following offsets number are + 4 because our record is w/o RDW Uint4('sof'), # Offset to section from record start + 4 Uint2('sln'), # Length of subsystem section Uint2('son'), # Number of subsystem section(s) # Identification section (always present) Uint4('iof'), # Offset to id section from record start + 4 Uint2('iln'), # Length of id section Uint2('ion'), # Number of id section(s) # I/O activity section Uint4('uof'), # Offset to section from record start + 4 Uint2('uln'), # Length of section Uint2('uon'), # Number of sections # Completion section Uint4('tof'), # Offset to section from record start + 4 Uint2('tln'), # Length of section Uint2('ton'), # Number of sections # Processor section Uint4('cof'), # Offset to section from record start + 4 Uint2('cln'), # Length of section Uint2('con'), # Number of sections # Accouting section Uint4('aof'), # Offset to section from record start + 4 Uint2('aln'), # Length of section Uint2('aon'), # Number of sections # Storage section Uint4('rof'), # Offset to section from record start + 4 Uint2('rln'), # Length of section Uint2('ron'), # Number of sections # Performance section Uint4('pof'), # Offset to section from record start + 4 Uint2('pln'), # Length of section Uint2('pon'), # Number of sections # Operator section Uint4('oof'), # Offset to section from record start + 4 Uint2('oln'), # Length of section Uint2('oon'), # Number of sections # EXCP section Uint4('eof'), # Offset to section from record start + 4 Uint2('eln'), # Length of section Uint2('eon'), # Number of sections Uint2('eor'), # Number of segments in subsequent records (might be invalid) Uint2('rvd'), # reserved Uint4('eos'), # Number of segments in subsequent records (fullword) # APPC/MVS section Uint4('dro'), # Offset to section from record start + 4 Uint2('drl'), # Length of section Uint2('drn'), # Number of sections # APPC/MVS section cumulative Uint4('aro'), # Offset to section from record start + 4 Uint2('arl'), # Length of section Uint2('arn'), # Number of sections # OpenMVS section Uint4('opo'), # Offset to section from record start + 4 Uint2('opl'), # Length of section Uint2('opn'), # Number of sections Uint4('opm'), # Number of sections in subsequent records # Usage section Uint4('udo'), # Offset to section from record start + 4 Uint2('udl'), # Length of section Uint2('uds'), # Number of sections # First ARM section Uint4('rmo'), # Offset to section from record start + 4 Uint2('rml'), # Length of section Uint2('rmn'), # Number of sections Uint4('rms'), # Number of sections in subsequent records # MultiSystem Enclave Remote System Data section Uint4('mof'), # Offset to section from record start + 4 Uint2('mln'), # Length of section Uint2('mno'), # Number of sections Uint4('mos'), # Number of sections in subsequent records # Counter Data section Uint4('cdo'), # Offset to section from record start + 4 Uint2('cdl'), # Length of section Uint2('cdn'), # Number of sections # zEDC usage statistics section Uint4('uso'), # Offset to section from record start + 4 Uint2('usl'), # Length of section Uint2('usn'), # Number of sections byteOrder=NETWORKBO,ebcdic=1,**kw)
SEGMIDDLE = 3 def segmenttype(seg): if seg > 3: raise BaseException('invalid segment type %02X' % seg) return [ 'complete record', 'first segment', 'last segment', 'middle segment' ][seg] rdw = Datamap( 'RDW', # RDW Record descriptor word Uint2('rlen'), # Record length Uint1('seg'), # Segment control Uint1('seg2'), # Segment control 2 (unused) byteOrder=NETWORKBO, ) excl4 = Datamap( 'EXCL4', # 4 Byte Excluded length Record Uint4('rlen'), # Record length ) # used for writing wrdw = Datamap( 'RDW', # RDW Record descriptor word Uint2('rlen'), # Record length
S_TOKEN = 32 S_TOPIC = 96 S_TXT = 40 S_U_STATUS = 32 S_UOW_ID = 16 S_USER_ID = 32 S_USRDATA = 16 S_VERS = 8 S_WAIT = 8 S_BROKER_URL = 512 ETB_CODEPAGE_USE_PLATFORM_DEFAULT = "LOCAL" # EntireX Broker control block etbcbfields = ( Uint1('api_type', opt=T_IN), Uint1('api_version', opt=T_IN), Uint1('function', opt=T_IN), Uint1('option', opt=T_IN), Filler('reserved1', 16), Uint4('send_length', opt=T_IN), Uint4('receive_length', opt=T_IN), # maximum receive length Uint4('return_length', opt=T_OUT), # length of returned data Uint4('errtext_length', opt=T_IN), # error text buffer len String('broker_id', 32, opt=T_IN), # service name String('server_class', 32), String('server_name', 32), String('service', 32), String('user_id', 32, opt=T_IN),