! *** 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 ! + ! ! Module $UICDEF defines the rightslist identifier space from %XA0000000 ! thru %XA3FFFFFF as being reserved for use by SEVMS. ! ! This space has been segmented as: ! ! %XA0000000 thru %XA000FFFF for MAC secrecy level identifiers ! %XA0010000 thru %XA001FFFF for MAC secrecy category identifiers ! %XA0020000 thru %XA002FFFF for MAC integrity level identifiers ! %XA0030000 thru %XA003FFFF for MAC integrity category identifiers ! ! to provide 64K identifiers within each grouping. This allows for growth ! consistent with variable format (i.e. type DYN_CAT) class blocks. ! ! - DECLARE LONG CONSTANT MACID$M_ID_NUM = x'0000FFFF' DECLARE LONG CONSTANT MACID$M_LVL_CAT_SEL = x'00010000' DECLARE LONG CONSTANT MACID$K_LVL = 0 ! Level ID sub-group DECLARE LONG CONSTANT MACID$K_CAT = 1 ! Category ID sub-group DECLARE LONG CONSTANT MACID$M_SEC_INT_SEL = x'00020000' DECLARE LONG CONSTANT MACID$K_SEC = 0 ! Secrecy ID group DECLARE LONG CONSTANT MACID$K_INT = 1 ! Integrity ID group DECLARE LONG CONSTANT MACID$M_MBZ = x'03FC0000' DECLARE LONG CONSTANT MACID$M_FMT_SEL = x'FC000000' DECLARE LONG CONSTANT MACID$K_SEVMS_ID = 40 ! Format specifier for SEVMS ! identifiers as defined by $UICDEF DECLARE LONG CONSTANT MACID$S_FILL_0_ = 4 record FILL_0_ variant case LONG MACID$L_MACIDDEF case group MACID$R_FILL_1_ ! Group relative ID number ! Level/Category ID sub-group selector ! Secrecy/Integrity ID group selector ! Composite overlay of $UICDEF ! ID_TYPE + ASSIGN_CODE fields LONG ID_NUM_bits ! COMMENT ADDED BY SDL - ID_NUM_bits contains bits ID_NUM through FMT_SEL end group MACID$R_FILL_1_ end variant end record FILL_0_