Beispiel #1
0
 def __init__(self, **kw):
     fields = (
         Uint4('error_code'),  # 1 CIS return code (0 = OK)
         Uint4(
             'totobj'),  # 1 Total number of objects returned in object list
         Uint4(
             'curobj'
         ),  # 1 Number of objects returned within current receive block
         Uint4('max_sc_len'),  # 1 longest SERVER-CLASS value in object list
         Uint4('max_sn_len'),  # 1 longest SERVER-NAME value in object list
         Uint4('max_sv_len'),  # 1 longest SERVICE value in object list
         Uint4('max_uid_len'),  # 1 longest USER-ID value in object list
         Uint4('max_tk_len'),  # 1 longest TOKEN value in object list
         Uint4('max_topic_len'),  # 4 longest TOPIC value in object list
         Uint4('requesttime', ppfunc=localtime_str
               ),  # 4 time that request was received by broker kernel
         Uint4('reserved', opt=T_NONE),  # 4
         String('etb_error_code',
                8),  # 5 Secondary error code from broker kernel
         String('etb_error_text',
                40),  # 5 Secondary error text from broker kernel
         Uint4('max_ppc_lib_len'),  # 6 longest RPC-LIB value in object list
         Uint4('max_ppc_pgm_len'),  # 6 longest RPC-PGM value in object list
     )
     Datamap.__init__(self, 'Cishdr', *fields, **kw)
Beispiel #2
0
    def __init__(self,
                 send_length=0,
                 receive_length=0,
                 use_api_version=API_VERS7,
                 **kw):

        self.__dict__['errtext_buffer'] = Abuf(80)
        self.__dict__['send_buffer'] = None
        self.__dict__['receive_buffer'] = None
        self.__dict__['trace'] = None
        self.__dict__['use_api_version'] = use_api_version

        Datamap.__init__(self, 'Etbcb', *etbcbfields, **kw)

        self.buffer = Abuf(self.dmlen)
        self.errtext_length = 80
        self.api_type = API_TYPE1
        self.api_version = use_api_version

        if receive_length > 0:
            self.receive_buffer = Abuf(receive_length)
            self.receive_length = receive_length
        if send_length > 0:
            self.send_buffer = Abuf(send_length)
            self.send_length = send_length
Beispiel #3
0
    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)
Beispiel #4
0
 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)
Beispiel #5
0
    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)
Beispiel #6
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBSU41',
         String('fieldname', 2),  # field name
         Int4('newlength'),  # new field length
         **kw)
Beispiel #7
0
    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
        )
        Datamap.__init__(self, 'Conversation', *fields, **kw)
Beispiel #8
0
 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)
Beispiel #9
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBI',
         String('urbieye', 4),  # URBI eye-catcher 'URBI'
         Int4('urbilen'),  # Length of URBI + selection data + filler
         Int4('urbilenh'),  # Length of URBI proper (>= URBIL)
         Int4('urbilend'),  # Length of selection data (may be zero)
         String('urbirtok', 8),  # Request ID token (returned in response)
         String('urbirnam', 8),  # Destination name for response
         String('urbirt', 4,
                ppfunc=urbirt_str),  # Request type: STAT/INST/TRAN
         Uint2('urbidbid'),  # Database ID (INST request)
         Uint2('urbifnr'),  # File number (INST request)
         String('urbiinam', 8),  # Initial-state name (INST request)
         String('urbisnam',
                8),  # Subscription name or blank (STAT/TRAN req)
         String('urbidnam', 8),  # Destination name or blank (STAT/TRAN req)
         Uint4('urbiacod'),  # alpha field encoding in selection data
         Uint4('urbiwcod'),  # wide field encoding in selection data
         Bytes('urbiarc', 1),  # architecture flags for selection data
         String('urbires1', 3, opt=T_NONE),  # Reserved area1
         Uint4('urbitsnr'),  # Transaction seq.no. within
         #   subscription/destination (TRAN req)
         String('urbires2', 16, opt=T_NONE),  # Reserved area2
         # Optional selection data (INST request)
         **kw)
Beispiel #10
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBSU44',
         String('status', 2),  # Status == 'S' keep FDT
         Uint2('anchor'),  # Anchor/master file number
         **kw)
Beispiel #11
0
 def __init__(self, **kw):
   Datamap.__init__(self, 'Performance section',
   Uint2('snf',ppfunc=div256,caption='zIIP normalization factor',pos=0x88),
   # to convert between real zIIP times and normalized zIIP times (=equivalent time on normal CP)
   # multiply zIIP time with snf and divide by 256
   Bytes('prf',0xd8,opt=T_NONE,caption='prf DSECT',pos=0), # todo: define more fields in structure
   byteOrder=NETWORKBO,ebcdic=1,**kw)
Beispiel #12
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBSU5C',
         String('fieldname', 2),  # Field name
         String('newformat', 1),  # New format
         String('filler1', 1),
         **kw)
Beispiel #13
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBSU70',
         String('fieldname', 2),  # Descriptor name
         Uint1('reason'),  # Reason code
         Bytes('filler1', 5),
         **kw)
Beispiel #14
0
 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)
Beispiel #15
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBII',
         Uint4('urbiisn'),  # ISN
         #   or alternatively:
         Int4('urbiirange', repos=-4),  # Range indicator
         Uint4('urbiisn1'),  # from ISN
         Uint4('urbiisn2'),  # to ISN
         **kw)
Beispiel #16
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBE',
         String('urbeeye', 4),  # URBE eye-catcher 'URBE'
         Int4('urbelen'),  # Length of URBE
         String('urbesnam', 8),  # Subscription name
         Uint4('urbetsnr'),  # Transaction sequence number
         #   within subscription/destination
         String('filler1', 12, opt=T_NONE),  # Reserved area
         **kw)
Beispiel #17
0
 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)
Beispiel #18
0
    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)
Beispiel #19
0
  def __init__(self, **kw):
    Datamap.__init__(self, 'Product or Subsystem Section',
    Uint2('typ',caption='SMF30 sub type',ppfunc=self.subtyp_str),
    String('rs1',2,opt=T_NONE),
    String('rvn',2,caption='Record version number'),
    String('pnm',8,caption='Subsystem product name'),

    String('osl',8,caption='MVS product level'),
    String('syn',8,caption='System name'),
    String('syp',8,caption='Sysplex name'),
    byteOrder=NETWORKBO,ebcdic=1,**kw)
Beispiel #20
0
 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
         Uint1('arf'),  # 10 Adabas replicator flag
         Uint1('scm'),  # 10 Single conversation mode
         Uint1('prefetch'),  # 10 Server: SCM: Prefetch
         String('rpc', 5),  # 10 Server: RPC: YES|NO|UNDEF
         Uint4('maxPostponeAttempts'),  # 10
         Uint4('postponeDelay'),  # 10
     )
     Datamap.__init__(self, 'Service', *fields, **kw)
Beispiel #21
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBU',
         String('urbueye', 4),  # URBU eye-catcher 'URBU'
         Int4('urbulen'),  # Length of URBU
         String('urbuvers', 2),  # Version indicator
         String('urbuname', 8),  # Extract name (ADARPE parameter NAME)
         Uint8('urbutime', opt=T_STCK),  # Time (STCK) of ADARPE execution
         String('urbudist', 22,
                opt=T_NONE),  # Local time displayable of ADARPE exec
         String('filler1', 32, opt=T_NONE),  # Reserved area
         **kw)
Beispiel #22
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBSU55',
         Uint2('assopfac'),  # Asso padding factor
         Uint2('datapfac'),  # Data padding factor
         Uint4('maxrecl'),  # Max. record length
         Uint2('maxui'),  # Max sec alloc Upper Index
         Uint2('maxni'),  # Max sec alloc Normal Index
         Uint2('maxds'),  # Max sec alloc Data storage
         String('pgmrefresh', 1),  # PGMREFRHESH='Y'/'N' #
         String('rplupdateonly', 1),  # RPLUPDATEONLY='Y'/'N' #
         **kw)
Beispiel #23
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBD',
         String('urbdeye', 4),  # URBD eye-catcher 'URBD'
         Int4('urbdlen'),  # Length of URBD + related data + filler
         Int4('urbdlenh'),  # Length of URBD
         Int4('urbdlend'),  # Length of related data (at URBDDATA)
         Uint4('urbddsnr'),  # Data sequence number for record
         String('urbdtyp', 1, ppfunc=urbdtyp_str),  # Type of data
         String('filler1', 11, opt=T_NONE),  # Reserved area
         # Payload data following (before or after image)
         **kw)
Beispiel #24
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBC',
         String('urbceye', 4),  # URBC eye-catcher 'URBC'
         Int4('urbclen'),  # Length of URBC
         String('urbcsnam', 8),  # Subscription name
         Uint4('urbctsnr'),  # Current transaction sequence number
         #   within subscription/destination
         Uint4('urbcrsnr'),  # Current record sequence number
         Uint4('urbcdsnr'),  # Current data sequence number for record
         String('urbccont', 1,
                ppfunc=urbcont_str),  # Indicator transaction continuation
         String('filler1', 19, opt=T_NONE),  # Reserved area
         **kw)
Beispiel #25
0
    def __init__(self, **kw):
        Datamap.__init__(
            self,
            'URBS',
            String('urbseye', 4),  # URBS eye-catcher 'URBS' #
            Int4('urbslen'),  # Length of URBS + data (C5DA) + filler
            String('urbsrtok', 8),  # Request ID token (from original request),
            String('urbsrt', 4),  # Request type (blank if no request):
            String('urbsst', 4,
                   ppfunc=urbsst_str),  # Reptor status/response information:
            Uint8('urbstime',
                  opt=T_STCK),  # Time (STCK) when this URBS was created
            Uint4('urbsrsp'),  # Response code for request
            Uint4('urbssubc', ppfunc=self.urbssubc_str),  # Subcode for request
            String('urbserri', 8),  # Other pertinent error information
            String('urbsinam',
                   8),  # Initial-state name (INIT/CMPL/ERRO message)
            String('urbssnam', 8),  # Subscription name (ASEC/C5DA/DCMP/DEAC/
            # LOST/REAC/REFR/RPLE/RPLS/SUBS/TRSP msg)
            String(
                'urbsdnam', 8
            ),  # Destination name (DEAC/DERR/FULL/REAC/REFR/SLOF/SLON message)
            Uint8('urbsptim', opt=T_STCK),  # Time (STCK) transaction processed
            # for subscription (SUBS)
            Uint8('urbsttim', opt=T_STCK),  # Time (STCK) transaction commit
            # (ASEC/AUTI/C5DA/SUBS)
            Uint4('urbstsnr'),  # Transaction sequence number within
            # subscription/destination (SUBS/TRSP message)
            Uint2('urbsdbid'
                  ),  # Database ID  //(ASEC/CMPL/DCMP/DEAC/ERRO/INIT/LODS/
            Uint2('urbsfnr'
                  ),  # File number // LODE/LOST/REAC/SAVS/SAVE/UPDS/UPDE msg)
            Int4('urbslenh'),  # Length of URBS
            Int4('urbslend'),  # Length of related data (at URBSDATA)
            Uint2('urbsutok'
                  ),  # Utility token (CMPL/ERRO/INIT/LODS/LODE/RPLS/RPLE/
            #   SAVS/SAVE/UPDS/UPDE message)
            String('urbsorig', 1,
                   ppfunc=urborig_str),  # Origin of status (C5DA/RPLS/RPLE)
            String('filler1', 5, opt=T_NONE),  # Reserved area
            String('urbsiqnm', 8),  # Input Queue name (IQCL/IQOP/REFR msg)
            String('filler2', 8, opt=T_NONE),  # Reserved area
            #urbsdata    following here. Add URBSL to the URBS start

            # For the RPLS/RPLE message, URBSDATA contains a list of 2-byte
            # file numbers of the file(s) associated with the replay process
            # for the subscription given in URBSSNAM
            **kw)
Beispiel #26
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBH',
         String('urbheye', 4),  # URBH eye-catcher 'URBH' (in EBCDIC)
         Int4('urbhlen'),  # Length of URBH
         String('urbhvers', 2),  # Version indicator for URB* DSECTs:
         Int2('urbhbord', opt=T_HEX),  # Const 1 to indicate the byte order
         Uint4('urbhlent'),  # Total message length (including URBH)
         Uint4('urbhmsnr'),  # Message sequence number per destination
         Uint8('urbhtime', opt=T_STCK),  # Time (STCK) when message was sent
         Uint2('urbhrpid'),  # Target ID of originating Reptor
         Uint2('urbhrpni'),  # Nucleus ID of originating Reptor
         String('urbhname', 8),  # Sender name ('REPTOR' if sent by Reptor)
         String('filler1', 24, opt=T_NONE),  # Reserved area
         **kw)
Beispiel #27
0
 def __init__(self, **kw):
     fields=(                            # Available with CIS Interface version EXX 9/10
     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
     Uint8('uows'),                      # Number of active UOWs (active==current)
     Uint8('messages'),                  # Number of active UOW messages
     Uint8('Bytes'),                     # Number of bytes in active UOW messages
     Uint4('max_messages'),              # Max. number of messages in one UOW
     Uint4('max_bytes'),                 # Max. number of bytes in one UOW
     String('oldest_uow',32),            # Oldest time of UOW creation
     String('newest_uow',32),            # Newest time of UOW creation
     )
     Datamap.__init__(self, 'UOW Statistics', *fields, **kw)
Beispiel #28
0
 def __init__(self, **kw):
     Datamap.__init__(
         self,
         'URBT',
         String('urbteye', 4),  # URBT eye-catcher 'URBT' #
         Int4('urbtlen'),  # Length of URBT
         String('urbtsnam', 8),  # Subscription name
         Uint4('urbttsnr'),  # Transaction sequence number
         #   within subscription/destination
         Uint4('urbtrcnt'),  # Count of records (URBRs) in transaction
         Uint8('urbtttim', opt=T_STCK),  # Time (STCK) transaction commit
         Uint8('urbtptim', opt=T_STCK),  # Time (STCK) end of subscription
         Uint2('urbtdbid'),  # Originating Adabas database ID
         Uint2('urbtnuci'),  # Originating Adabas nucleus ID
         Bytes('urbtguid', 28),  # Originating 28-byte user ID
         Uint2('urbtrpid'),  # Reptor target ID (DBID parameter)
         Uint2('urbtrpni'),  # Reptor nucleus ID (not yet used) => zero
         String('urbtusrv', 2),  # User subscription version indicator,
         String('urbtrsnd', 1,
                ppfunc=urbrsnd_str),  # Ind. possible double delivery
         String('urbtinst', 1,
                ppfunc=urbtinst_str),  # Ind. for initial state
         String('urbtrtok', 8),  # Request ID token (if initial state)
         String(
             'urbtcont', 1,
             ppfunc=urbcont_str),  # Indicator for transaction continuation:
         Bytes('urbtarc', 1),  # Architecture flags for selection data
         String('urbtptrn', 1,
                ppfunc=urbtptrn_str),  # Prior-transaction request indicator
         String('urbtsort', 1,
                ppfunc=urbtsort_str),  # Transaction records sorted
         Uint4('urbtacod'),  # alpha field encoding in selection data
         Uint4('urbtwcod'),  # wide field encoding in selection data
         Uint2(
             'urbtutok'
         ),  # utility token if data comes from Replay or Adalod Load/Update
         String('urbtorig', 1, ppfunc=urborig_str),  # Origin of transaction
         String('filler1', 1, opt=T_NONE),  # Reserved area
         String('urbtsuid', 8),  # Security system user id
         String('filler2', 16, opt=T_NONE),  # Reserved area
         **kw)
Beispiel #29
0
  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)
Beispiel #30
0
 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)