Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_1_19910112
-
6-1/language-sources/dap-blocks.req
There are 15 other files named dap-blocks.req in the archive. Click here to see a list.
!
! Include files
!
! COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1985.
! ALL RIGHTS RESERVED.
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND
! COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH
! THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR
! ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
! AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE
! SOFTWARE IS HEREBY TRANSFERRED.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
! NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
! EQUIPMENT CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
! ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
%IF NOT %DECLARED (%QUOTE $BIT)
%THEN LIBRARY 'BLI:XPORT';
%FI
%IF (%VARIANT AND %O'400') NEQ 0 %THEN $SHOW(ALL) %FI;
! DD Structure
$FIELD $DAP_DESCRIPTOR_FIELDS=
SET
DAP$T_DATA=[$DESCRIPTOR(BOUNDED)],
$OVERLAY($SUB_FIELD(DAP$T_DATA,XPO$H_LENGTH))
DAP$H_BYTES_REMAINING=[$SHORT_INTEGER],
$OVERLAY($SUB_FIELD(DAP$T_DATA,XPO$A_ADDRESS))
DAP$A_DATA=[$POINTER],
$OVERLAY($SUB_FIELD(DAP$T_DATA,XPO$H_PFXLEN))
DAP$H_BYTES_USED=[$SHORT_INTEGER],
$OVERLAY($SUB_FIELD(DAP$T_DATA,XPO$H_MAXLEN))
DAP$H_MESSAGE_LENGTH=[$SHORT_INTEGER],
$CONTINUE
DAP$B_OPERATOR=[$SHORT_INTEGER],
DAP$B_STREAMID=[$SHORT_INTEGER],
DAP$H_LENGTH=[$SHORT_INTEGER], ! Length of this DAP message
DAP$H_BITCNT=[$SHORT_INTEGER], ! Number of bits used in last byte of data message
DAP$V_MFLAGS=[$BYTES(5)],
$OVERLAY(DAP$V_MFLAGS) ! these are for clearing the flags
DAP$$V_MFLAGS_1=[$BYTES(2)], !
DAP$$V_MFLAGS_2=[$BYTES(2)], !
DAP$$V_MFLAGS_3=[$BYTES(1)], !
$OVERLAY(DAP$V_MFLAGS)
DAP$V_MFLAGS_STREAMID=[$BIT],! Stream ID (not supported)
DAP$V_MFLAGS_LENGTH=[$BIT], ! Length field present
DAP$V_MFLAGS_LEN256=[$BIT], ! Length field is 2 bytes long
DAP$V_MFLAGS_BITCNT=[$BIT], ! BITCNT field present (DATA message only)
DAP$V_MFLAGS_XXXXXX=[$BIT], ! Reserved
DAP$V_MFLAGS_SYSPEC=[$BIT], ! System-specific field present (not supported)
DAP$V_MFLAGS_MORE=[$BIT], ! Not last segment -- more coming
$CONTINUE
DAP$V_INTERRUPT=[$BIT], ! Interrupt message
$ALIGN(WORD) ! Make the addresses halfword aligned
DAP$A_NLB=[$ADDRESS], ! Address of NLB
DAP$H_OFFSET=[$SHORT_INTEGER], ! Number of into msg for DAP msg start
DAP$A_OTHER_DD=[$ADDRESS] ! Address of DD for other direction
TES;
! End of DD
LITERAL DAP$K_DESCRIPTOR_LEN=$FIELD_SET_SIZE;
MACRO $DAP_DESCRIPTOR= BLOCK[DAP$K_DESCRIPTOR_LEN] FIELD ($DAP_DESCRIPTOR_FIELDS) %;
!Configuration block definitions
! CONFIG Structure
$FIELD $CONFIG_FIELDS=
SET
CONFIG$H_BUFSIZ=[$SHORT_INTEGER],
CONFIG$B_OSTYPE=[$BYTE],
CONFIG$B_FILESYS=[$BYTE],
CONFIG$B_VERSION=[$BYTE],
CONFIG$B_ECONUM=[$BYTE],
CONFIG$B_USRNUM=[$BYTE],
CONFIG$B_SOFTVER=[$BYTE],
CONFIG$B_USRSOFT=[$BYTE],
CONFIG$V_SYSCAP=[$SUB_BLOCK((%BPVAL/8)*12)],
$OVERLAY(CONFIG$V_SYSCAP)
CONFIG$V_PREALLOCATION=[$BIT],
CONFIG$V_SEQUENTIAL_ORG=[$BIT],
CONFIG$V_RELATIVE_ORG=[$BIT],
CONFIG$V_DIRECT_ORG=[$BIT], !Reserved
CONFIG$V_INDEXED_SINGLE_KEY=[$BIT], !Reserved
CONFIG$V_SEQUENTIAL_TRANSFER=[$BIT],
CONFIG$V_RANDOM_ACCESS_RECNUM=[$BIT],
CONFIG$V_RANDOM_ACCESS_VBN=[$BIT],
CONFIG$V_RANDOM_ACCESS_KEY=[$BIT],
CONFIG$V_RANDOM_ACCESS_HASH=[$BIT], !Reserved
CONFIG$V_RANDOM_ACCESS_RFA=[$BIT],
CONFIG$V_INDEXED_MULTI_KEY=[$BIT], !Reserved
CONFIG$V_SWITCH_ACCESS_MODE=[$BIT],
CONFIG$V_APPEND_ACCESS=[$BIT],
CONFIG$V_SUBMIT_ACCESS=[$BIT],
CONFIG$V_DATA_COMPRESSION=[$BIT], !Reserved
CONFIG$V_MULTI_DATA_STREAMS=[$BIT],
CONFIG$V_STATUS_RETURN=[$BIT], !Reserved
CONFIG$V_BLOCKING=[$BIT],
CONFIG$V_UNRESTRICTED_BLOCKING=[$BIT],
CONFIG$V_LEN256=[$BIT],
CONFIG$V_CHECKSUM=[$BIT],
CONFIG$V_KDF=[$BIT],
CONFIG$V_ALLOC=[$BIT],
CONFIG$V_SUM=[$BIT],
CONFIG$V_DIRECTORY=[$BIT],
CONFIG$V_DTM=[$BIT],
CONFIG$V_PROTECTION=[$BIT],
CONFIG$V_ACL=[$BIT],
CONFIG$V_FOP_PRINT=[$BIT],
CONFIG$V_FOP_SUBMIT=[$BIT],
CONFIG$V_FOP_DELETE=[$BIT],
CONFIG$V_DEFAULT_FILESPEC=[$BIT], ! Reserved
CONFIG$V_SEQUENTIAL_ACCESS=[$BIT],
CONFIG$V_RECOVERY=[$BIT], ! Reserved
CONFIG$V_BITCNT=[$BIT],
CONFIG$V_WARNING_STATUS=[$BIT],
CONFIG$V_RENAME_ACCESS=[$BIT],
CONFIG$V_WILDCARDING=[$BIT],
CONFIG$V_GO_NO_GO=[$BIT],
CONFIG$V_NAME=[$BIT],
CONFIG$V_SEGMENTING=[$BIT]
! End of DAP 5.6 SYSCAP bits, new bits for 6.0 may follow
$CONTINUE
TES;
! End of CONFIG
LITERAL CONFIG$K_LEN=$FIELD_SET_SIZE;
MACRO $CONFIG=BLOCK[CONFIG$K_LEN] FIELD($CONFIG_FIELDS) %;
! DIB fields
$FIELD $DIB_FIELDS=
SET
DIB$A_NLB=[$ADDRESS], ! The NLB to the remote system
DIB$A_CONFIG=[$ADDRESS], ! Remote configuration block
DIB$A_NEW_FAB=[$ADDRESS],
DIB$B_OPERATION=[$BYTE],
$ALIGN(WORD)
DIB$A_I_DD=[$ADDRESS],
DIB$A_O_DD=[$ADDRESS],
DIB$H_FLAGS=[$BYTES(4)],
$OVERLAY(DIB$H_FLAGS)
DIB$V_NO_SEND_CONTROL=[$BIT],
DIB$V_FILE_OPEN=[$BIT],
DIB$V_ACCESS_ACTIVE=[$BIT],
DIB$V_COMPUTE_CHECKSUM=[$BIT],
$CONTINUE
DIB$H_CHECKSUM=[$BYTES(2)]
TES;
! End of DIB
LITERAL DIB$K_LENGTH=$FIELD_SET_SIZE;
MACRO $DIB=BLOCK[DIB$K_LENGTH] FIELD ($DIB_FIELDS) %;
!Bits for runtime workaround conditionals
LITERAL ! TOPS-20 workarounds
T20_BUG_NO_DIR_PRV=1; ! No status for ER$PRV on DIRECTORY
LITERAL ! RSTS/E workarounds
RST_BUG_NO_DIR_FNF=1; ! No status for ER$FNF on DIRECTORY
LITERAL ! RSX workarounds
RSX_BUG_NOT_WANT_BLS=1; ! RSX FCS FAL doesn't like BLS field
LITERAL ! VMS workarounds
VMS_BUG_BYTLM_HANG=1; ! VMS hangs if BUFSIZE not << BYTLM
LITERAL ! IAS workarounds
IAS_BUG_ACM_FOP=1; ! IAS complains about FOP bits on close