the VMSDEF data structures

(LOGO.JPG) Python for OpenVMS

(go to: table of contents, index)

This section shows some of the VMSDEF data structures. (Conversion from VMSDEF.TXT which was last updated on 04-JAN-1998 ZE.)

06-SEP-1996
data structure changed:
- c_typ_lib to w_typ_lib and c_typ_sys to w_typ_sys
- removed filler element
- moved w_bufsiz to keep natural alignments

VMSDEF_DIRECTORY.MAR

  -- array of: pointer to item descriptor, pointer to bitmask/constants
      pointer descriptor, pointer to .ASCIZ name of DEFinition

VMSDEF_GR_DIRECTORY::
    .address VMSDEF_GR_$QUIDEF       ; ar_itmtbl
    .address VMSDEF_GR_CB_$QUIDEF    ; ar_conmsktbl
    .address VMSDEF_T_DIRECTORY__3
    ...
    .long    0 ; terminate list
    .long    0

VMSDEF_T_DIRECTORY__3:  .asciz '$QUIDEF'
    ...
    ; no termination necessary
;
    .end

VMSDEF_$QUIDEF.MAR
  -- array of item descriptors
VMSDEF_GR_$QUIDEF::
    .word    0001                ; w_itmcod - QUI$_CANCEL_OPERATION
    .word    00000               ; w_bufsiz
    .word    05520               ; w_vmsvermin
    .word    32767               ; w_vmsvermax
    .address VMSDEF_T_$QUIDEF__1 ; at_itmnam_py
    .long    0                   ; ar_bitmsk
    .long    7                   ; l_flags
    .word    ITMTYP_K_LONG       ; w_typ_lib
    .word    ITMTYP_K_LONG       ; w_typ_sys
    ...
    .word    0133                ; w_itmcod - QUI$_MANAGER_STATUS
    .word    00004               ; w_bufsiz
    .word    06000               ; w_vmsvermin
    .word    32767               ; w_vmsvermax
    .address VMSDEF_T_$QUIDEF__75 ; at_itmnam_py
    .address VMSDEF_AR_QUI_QUEUE_MGR        ; ar_bitmsk
    .long    11                  ; l_flags
    .word    ITMTYP_K_LONG       ; w_typ_lib
    .word    ITMTYP_K_LONG       ; w_typ_sys
    ...
    .word     0       ; w_itmcod - end of list
    .word     0       ; w_bufsiz
    .word     0       ; w_vmsvermin
    .word     0       ; w_vmsvermax


  -- array of bitmask/constant descriptors for a given item code
      (if applicable)
VMSDEF_AR_QUI_QUEUE_MGR:
    .long    0008   ; QUI_M_MANAGER_FAILOVER
    .address VMSDEF_T_$QUIDEF__250
    .word    05520
    .word    32767
    .long    0004   ; QUI_M_MANAGER_RUNNING
    .address VMSDEF_T_$QUIDEF__251
    .word    05520
    .word    32767
    ...
    .long    0
    .long    0
    .word    0      ; THIS 0 terminates the BITMASK list
    .word    0


  -- array of bitmask/constants pointer descriptor
     (pointer to descriptor amd defines it's type)
VMSDEF_GR_CB_$QUIDEF::
    .address VMSDEF_AR_QUI_QUEUE_MGR
    .long    CONMSKTBL_K_BITMASK32
    ...
    .long    0       ; terminate const/bitmsk table
    .long    0

  -- ASCII List of item code names
VMSDEF_T_$QUIDEF__1:
    .asciz 'QUI$_CANCEL_OPERATION'
    ...
VMSDEF_T_$QUIDEF__75:
    .asciz 'QUI$_MANAGER_STATUS'
    ; no termination necessary
;
    .end

(go to: table of contents, index)

14-SEP-1998 ZE.