Specifications
System Macros Invoked by Drivers
$DEFINI
$DEFINI
Begins the definition of a data structure.
Format
$DEFINI struc [,gbl=LOCAL] [,dot=0]
Parameters
struc
Name of the data structure that is being defined.
[gbl=LOCAL]
Specifies whether the symbols defined for this data structure are to be local or
global symbols. The default is to make them local.
To make the definitions of symbols global, you must specify GLOBAL for the
value of the gbl argument.
[dot=0]
Offset from the beginning of the data structure of the first field to be defined. The
$DEFINI macro moves this value into the current location counter (.).
Description
The $DEF macro defines fields within the structure specified by the invocation
of the $DEFINI macro, and the $DEFEND macro ends the definition. See the
descriptions of the _VIELD and $EQULST macros for additional information on
defining symbols for data structure fields.
Example
$DEFINI UCB,,UCB$K_LCL_DISK_LENGTH
;Start UCB extension, begin definitions
; at end of local disk UCB extension
$DEF UCB_W_DL_PBCR .BLKW 1 ;Partial byte count
$DEF UCB_W_DL_CS .BLKW 1 ;Control status register
$DEF UCB_W_DL_BA .BLKW 1 ;Bus address register
$DEF UCB_A_DL_BUF_PA .BLKL 1 ;Physical buffer physical address
$DEF UCB_K_DL_LEN .BLKW 1 ;Length of extended UCB
$DEFEND UCB
This code excerpt, when assembled, produces the following symbol listing:
.
.
.
UCB_A_DL_BUF_PA 000000D2
UCB_K_DL_LEN 000000D6
UCB$K_LCL_DISK_LENGTH = 000000CC
UCB_W_DL_BA 000000D0
UCB_W_DL_CS 000000CE
UCB_W_DL_PBCR 000000CC
2–16