! *** 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 ! + ! ! Format of UIC - user identification code. May be either two part ! group / member identifier, or a single uniform identifier. ! ! The binary layout of the id space is as follows: ! ! ---------- Bit -------- ! 31 30 29 28 27 26 Description ! === === === === === === ======================================== ! ! 0 0 - - - - UIC form (group/member) ! 0 1 - - - - Unused ! 1 0 - - - - Identifier form ! 1 0 0 0 - - System identifiers ! 1 0 0 1 - - Facility-specific identifiers ! 1 0 1 0 - - Arbitrary assignment identifiers ! 1 0 1 0 0 0 SEVMS identifier space ! 1 0 1 0 0 1 Unused ! 1 0 1 0 1 0 Unused ! 1 0 1 0 1 1 Unused ! 1 0 1 1 - - Unused ! 1 1 - - - - Unused ! - DECLARE LONG CONSTANT UIC$K_MAX_UIC = 1073741823 ! Highest possible UIC DECLARE LONG CONSTANT UIC$K_WILD_MEMBER = 65535 ! Code for wild card member DECLARE LONG CONSTANT UIC$K_WILD_GROUP = 16383 ! Code for wild card group DECLARE LONG CONSTANT UIC$K_UIC_FORMAT = 0 ! UIC format code DECLARE LONG CONSTANT UIC$K_ID_FORMAT = 2 ! ID format code DECLARE LONG CONSTANT UIC$K_TYPE_SYSTEM = 8 ! system ID or UIC DECLARE LONG CONSTANT UIC$K_TYPE_FACILITY = 9 ! facility ID or UIC DECLARE LONG CONSTANT UIC$K_TYPE_ARBITRARY = 10 ! arbitrary assignment space DECLARE LONG CONSTANT UIC$K_FIRST_ID = -2147418112 ! First general identifier DECLARE LONG CONSTANT UIC$K_LAST_ID = -1879048193 ! Last general identifier DECLARE LONG CONSTANT UIC$K_MATCH_ALL = -1 ! Match all identifiers DECLARE LONG CONSTANT UIC$K_ASSIGN_SEVMS = 0 ! SEVMS block of identifier space DECLARE LONG CONSTANT UIC$S_UICDEF = 4 record UICDEF variant case group UIC$R_FILL_61_ variant case LONG UIC$L_UIC ! Full longword case group UIC$R_FILL_62_ WORD UIC$W_MEM ! Member number WORD UIC$W_GRP ! Group number end group UIC$R_FILL_62_ end variant end group UIC$R_FILL_61_ case group UIC$R_UIC_FORM ! Group / member format ! Member number ! Group number ! Format code LONG MEMBER_bits ! COMMENT ADDED BY SDL - MEMBER_bits contains bits MEMBER through FORMAT end group UIC$R_UIC_FORM case group UIC$R_ID_FORM ! General identifier format ! ID code ! ID type LONG ID_CODE_bits ! COMMENT ADDED BY SDL - ID_CODE_bits contains bits ID_CODE through ID_TYPE end group UIC$R_ID_FORM case group UIC$R_FAC_ID_FORM ! Facility identifier format ! ID code ! Facility code ! space for ID type code LONG FAC_ID_CODE_bits ! COMMENT ADDED BY SDL - FAC_ID_CODE_bits contains bits FAC_ID_CODE through FILL_1 end group UIC$R_FAC_ID_FORM case group UIC$R_ARBITRARY_ID_FORM ! Arbitrary assignment format ! ID code ! Assignment code ! space for ID type code LONG ARB_ID_CODE_bits ! COMMENT ADDED BY SDL - ARB_ID_CODE_bits contains bits ARB_ID_CODE through FILL_2 end group UIC$R_ARBITRARY_ID_FORM end variant end record UICDEF