! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! ! THE FOLLOWING BITS DEFINE THE DEVICE CHARACTERISTICS FOR ! BOTH THE UCBS AND RMS. ! DECLARE LONG CONSTANT DEV$M_REC = x'00000001' DECLARE LONG CONSTANT DEV$M_CCL = x'00000002' DECLARE LONG CONSTANT DEV$M_TRM = x'00000004' DECLARE LONG CONSTANT DEV$M_DIR = x'00000008' DECLARE LONG CONSTANT DEV$M_SDI = x'00000010' DECLARE LONG CONSTANT DEV$M_SQD = x'00000020' DECLARE LONG CONSTANT DEV$M_SPL = x'00000040' DECLARE LONG CONSTANT DEV$M_OPR = x'00000080' DECLARE LONG CONSTANT DEV$M_RCT = x'00000100' DECLARE LONG CONSTANT DEV$M_QSVD = x'00000200' DECLARE LONG CONSTANT DEV$M_QSVBL = x'00000400' DECLARE LONG CONSTANT DEV$M_MPDEV_SECONDARY = x'00000800' DECLARE LONG CONSTANT DEV$M_MPDEV_MEMBER = x'00001000' DECLARE LONG CONSTANT DEV$M_NET = x'00002000' DECLARE LONG CONSTANT DEV$M_FOD = x'00004000' DECLARE LONG CONSTANT DEV$M_DUA = x'00008000' DECLARE LONG CONSTANT DEV$M_SHR = x'00010000' DECLARE LONG CONSTANT DEV$M_GEN = x'00020000' DECLARE LONG CONSTANT DEV$M_AVL = x'00040000' DECLARE LONG CONSTANT DEV$M_MNT = x'00080000' DECLARE LONG CONSTANT DEV$M_MBX = x'00100000' DECLARE LONG CONSTANT DEV$M_DMT = x'00200000' DECLARE LONG CONSTANT DEV$M_ELG = x'00400000' DECLARE LONG CONSTANT DEV$M_ALL = x'00800000' DECLARE LONG CONSTANT DEV$M_FOR = x'01000000' DECLARE LONG CONSTANT DEV$M_SWL = x'02000000' DECLARE LONG CONSTANT DEV$M_IDV = x'04000000' DECLARE LONG CONSTANT DEV$M_ODV = x'08000000' DECLARE LONG CONSTANT DEV$M_RND = x'10000000' DECLARE LONG CONSTANT DEV$M_RTM = x'20000000' DECLARE LONG CONSTANT DEV$M_RCK = x'40000000' DECLARE LONG CONSTANT DEV$M_WCK = x'80000000' DECLARE LONG CONSTANT DEV$M_CLU = x'00000001' DECLARE LONG CONSTANT DEV$M_DET = x'00000002' DECLARE LONG CONSTANT DEV$M_RTT = x'00000004' DECLARE LONG CONSTANT DEV$M_CDP = x'00000008' DECLARE LONG CONSTANT DEV$M_2P = x'00000010' DECLARE LONG CONSTANT DEV$M_MSCP = x'00000020' DECLARE LONG CONSTANT DEV$M_SSM = x'00000040' DECLARE LONG CONSTANT DEV$M_SRV = x'00000080' DECLARE LONG CONSTANT DEV$M_RED = x'00000100' DECLARE LONG CONSTANT DEV$M_NNM = x'00000200' DECLARE LONG CONSTANT DEV$M_WBC = x'00000400' DECLARE LONG CONSTANT DEV$M_WTC = x'00000800' DECLARE LONG CONSTANT DEV$M_HOC = x'00001000' DECLARE LONG CONSTANT DEV$M_LOC = x'00002000' DECLARE LONG CONSTANT DEV$M_DFS = x'00004000' DECLARE LONG CONSTANT DEV$M_DAP = x'00008000' DECLARE LONG CONSTANT DEV$M_NLT = x'00010000' DECLARE LONG CONSTANT DEV$M_SEX = x'00020000' DECLARE LONG CONSTANT DEV$M_SHD = x'00040000' DECLARE LONG CONSTANT DEV$M_VRT = x'00080000' DECLARE LONG CONSTANT DEV$M_LDR = x'00100000' DECLARE LONG CONSTANT DEV$M_NOLB = x'00200000' DECLARE LONG CONSTANT DEV$M_NOCLU = x'00400000' DECLARE LONG CONSTANT DEV$M_VMEM = x'00800000' DECLARE LONG CONSTANT DEV$M_SCSI = x'01000000' DECLARE LONG CONSTANT DEV$M_WLG = x'02000000' DECLARE LONG CONSTANT DEV$M_NOFE = x'04000000' DECLARE LONG CONSTANT DEV$M_FILL_2 = x'08000000' DECLARE LONG CONSTANT DEV$M_CRAMIO = x'10000000' DECLARE LONG CONSTANT DEV$M_DTN = x'20000000' DECLARE LONG CONSTANT DEV$M_FILL_3 = x'40000000' DECLARE LONG CONSTANT DEV$M_POOL_MBR = x'80000000' DECLARE LONG CONSTANT DEV$S_DEVDEF = 4 record DEVDEF variant case group DEV$R_DEVDEF_BITS0 ! DEVICE RECORD ORIENTED ! CARRIAGE CONTROL DEVICE ! DEVICE IS A TERMINAL ! DEVICE IS DIRECTORY STRUCTURED ! DEVICE IS SINGLE DIRECTORY STRUCTURED ! SEQUENTIAL BLOCK-ORIENTED DEVICE (I.E., MAGTAPE) ! DEVICE BEING SPOOLED ! DEVICE IS AN OPERATOR ! DISK CONTAINS RCT (DEC STANDARD 166 DISK) ! Client device is served by QIOserver ! Server device is servable by QIOserver ! Indicates secondary unit in a multipath set ! Device is part of a multipath set. ! NETWORK DEVICE ! FILES-ORIENTED DEVICE (I.E., DISK AND MT) ! DEVICE IS DUAL PORTED ! DEVICE SHAREABLE ! DEVICE IS A GENERIC DEVICE ! DEVICE AVAILABLE FOR USE ! DEVICE IS MOUNTED ! DEVICE IS A MAILBOX ! DEVICE MARKED FOR DISMOUNT ! DEVICE HAS ERROR LOGGING ENABLED ! DEVICE IS ALLOCATED ! DEVICE IS MOUNTED FOREIGN (I.E., NON-FILE STRUCTURED) ! DEVICE IS SOFTWARE WRITE LOCKED ! DEVICE CAPABLE OF PROVIDING INPUT ! DEVICE CAPABLE OF PROVIDING OUTPUT ! DEVICE ALLOWS RANDOM ACCESS ! DEVICE IS REALTIME IN NATURE ! DEVICE HAS READ CHECKING ENABLED ! DEVICE HAS WRITE CHECKING ENABLED LONG REC_bits ! COMMENT ADDED BY SDL - REC_bits contains bits REC through WCK end group DEV$R_DEVDEF_BITS0 case group DEV$R_DEVDEF_BITS1 ! DEVICE IS AVAILABLE CLUSTER-WIDE ! DEVICE IS DETACHED TERMINAL ! DEVICE HAS REMOTE TERMINAL UCB EXTENSION ! DUAL PATH DEVICE WITH 2 UCBs ! TWO PATHS ARE KNOWN TO THIS DEVICE ! DEVICE ACCESSED USING MSCP (disk or tape) ! this bit was set for Phase I (controller-based) ! shadowing only. This bit is not set for ! Phase II (host-based) shadowing; Phase II ! sets the SHD bit (see below). ! DEVICE IS SERVED VIA THE MSCP SERVER ! DEVICE IS redirected terminal ! DEVICE HAS "node$" PREFIX ! DEVICE SUPPORTS WRITE-BACK CACHING ! DEVICE SUPPORTS WRITE-THROUGH CACHING ! DEVICE SUPPORTS HOST CACHING ! DEVICE ACCESSIBLE VIA LOCAL (NON-EMULATED) CONTROLLER ! DEVICE IS DFS-SERVED ! DEVICE IS DAP ACCESSED ! DEVICE IS NOT-LAST-TRACK (I.E. IT HAS NO BAD BLOCK ! INFORMATION ON ITS LAST TRACK) ! DEVICE (tape) SUPPORTS SERIOUS EXCEPTION HANDLING ! DEVICE IS A MEMBER OF A HOST BASED SHADOW SET ! DEVICE IS A SHADOW SET VIRTUAL UNIT ! LOADER PRESENT (TAPES) ! DEVICE IGNORES SERVER LOAD BALANCING REQUESTS ! DEVICE WILL NEVER BE AVAILABLE CLUSTER-WIDE ! Virtual member of a constituent set ! DEVICE IS A SCSI DEVICE ! DEVICE HAS MSCP Based (Phase I) WRITE LOGGING CAPABILITY ! DEVICE DOESN'T SUPPORT FORCED ERROR ! Reserved for: Allocation in progress (MME) ! Performs Mailbox I/O ! Device has DDR Device Type Name available ! Unit is bound to a storage pool LONG CLU_bits ! COMMENT ADDED BY SDL - CLU_bits contains bits CLU through POOL_MBR end group DEV$R_DEVDEF_BITS1 end variant end record DEVDEF