!*** MODULE $SECDEF *** CDEC$ OPTIONS /NOALIGN ! + ! PROCESS OR GLOBAL SECTION DEFINITIONS ! - ! ! ***** L_VBN, L_WINDOW, AND B_PFC MUST BE THE SAME OFFSET VALUES AS THE ! ***** EQUIVALENTLY NAMED OFFSETS IN $PFLDEF ! PARAMETER SEC$M_VPX = '003FFFFF'X PARAMETER SEC$M_PFC = 'FF000000'X PARAMETER SEC$M_GBL = '00000001'X PARAMETER SEC$M_CRF = '00000002'X PARAMETER SEC$M_DZRO = '00000004'X PARAMETER SEC$M_WRT = '00000008'X PARAMETER SEC$M_SHMGS = '00000010'X PARAMETER SEC$M_WRTMOD = '000000C0'X PARAMETER SEC$M_AMOD = '00000300'X PARAMETER SEC$M_RESIDENT = '00002000'X PARAMETER SEC$M_PERM = '00004000'X PARAMETER SEC$M_SYSGBL = '00008000'X PARAMETER SEC$M_PFNMAP = '00010000'X PARAMETER SEC$M_EXPREG = '00020000'X PARAMETER SEC$M_PROTECT = '00040000'X PARAMETER SEC$M_PAGFIL = '00080000'X PARAMETER SEC$M_EXECUTE = '00100000'X PARAMETER SEC$M_NOPROTCHK = '00200000'X PARAMETER SEC$M_NO_OVERMAP = '00400000'X PARAMETER SEC$M_INPROG = '00800000'X PARAMETER SEC$M_PARANOID = '01000000'X PARAMETER SEC$M_GRANHINT = '02000000'X STRUCTURE /SECDEF/ UNION MAP INTEGER*4 SEC$L_GSD ! GLOBAL SECTION DESCRIPTOR ADDRESS END MAP MAP INTEGER*4 SEC$L_CCB ! CHANNEL CONTROL BLOCK ADDRESS IF PROCESS SECTION END MAP END UNION INTEGER*2 SEC$W_SECXFL ! SECTION INDEX FORWARD LINK INTEGER*2 SEC$W_SECXBL ! SECTION INDEX BACKWARD LINK UNION MAP INTEGER*4 SEC$L_VPXPFC ! START VIRT PAGE INDEX & PFC END MAP MAP PARAMETER SEC$S_VPX = 22 PARAMETER SEC$V_VPX = 0 ! STARTING VIRTUAL PAGE INDEX PARAMETER SEC$S_PFC = 8 PARAMETER SEC$V_PFC = 24 BYTE %FILL (4) ! PAGE FAULT CLUSTER END MAP MAP BYTE %FILL(1:3) BYTE SEC$B_PFC ! PAGE FAULT CLUSTER END MAP END UNION INTEGER*4 SEC$L_WINDOW ! WINDOW CONTROL BLOCK INTEGER*4 SEC$L_VBN ! BASE VIRTUAL BLOCK NUMBER UNION MAP INTEGER*2 SEC$W_FLAGS ! VARIOUS CONTROL FLAGS END MAP MAP PARAMETER SEC$S_GBL = 1 PARAMETER SEC$V_GBL = 0 ! GLOBAL SECTION PARAMETER SEC$S_CRF = 1 PARAMETER SEC$V_CRF = 1 ! COPY ON REFERENCE PARAMETER SEC$S_DZRO = 1 PARAMETER SEC$V_DZRO = 2 ! DEMAND ZERO PARAMETER SEC$S_WRT = 1 PARAMETER SEC$V_WRT = 3 ! WRITABLE PARAMETER SEC$S_SHMGS = 1 PARAMETER SEC$V_SHMGS = 4 ! SHARED MEMORY GLOBAL SECTION PARAMETER SEC$S_WRTMOD = 2 PARAMETER SEC$V_WRTMOD = 6 ! WRITE ACCESS MODE FOR SECTION PARAMETER SEC$S_AMOD = 2 PARAMETER SEC$V_AMOD = 8 ! ACCESS MODE OF SECTION PARAMETER SEC$S_RESIDENT = 1 PARAMETER SEC$V_RESIDENT = 13 ! RESIDENT GLOBAL PARAMETER SEC$S_PERM = 1 PARAMETER SEC$V_PERM = 14 ! PERMANENT SECTION PARAMETER SEC$S_SYSGBL = 1 PARAMETER SEC$V_SYSGBL = 15 ! 1 = SYSTEM GLOBAL, 0 = GROUP GLOBAL ! ! ***** THE FOLLOWING FLAGS ARE INDICATORS FOR $MGBLSC AND $CRMPSC SYSTEM ! ***** SERVICE REQUESTS AND ARE NOT STORED IN THE FLAGS WORD FIELD. ! PARAMETER SEC$S_PFNMAP = 1 PARAMETER SEC$V_PFNMAP = 16 ! MAP TO SPECIFIC PFN'S PARAMETER SEC$S_EXPREG = 1 PARAMETER SEC$V_EXPREG = 17 ! MAP INTO FIRST FREE ADDRESS SPACE PARAMETER SEC$S_PROTECT = 1 PARAMETER SEC$V_PROTECT = 18 ! CHECK WRITE ACCESS MODE (WRTMOD) PARAMETER SEC$S_PAGFIL = 1 PARAMETER SEC$V_PAGFIL = 19 ! GLOBAL SECTION HAS PAGE FILE BACKING STORE PARAMETER SEC$S_EXECUTE = 1 PARAMETER SEC$V_EXECUTE = 20 ! CHECK FOR EXECUTE ACCESS PARAMETER SEC$S_NOPROTCHK = 1 PARAMETER SEC$V_NOPROTCHK = 21 ! INHIBIT PROTECTION CHECK PARAMETER SEC$S_NO_OVERMAP = 1 PARAMETER SEC$V_NO_OVERMAP = 22 ! DON'T OVERMAP ADDRESS SPACE PARAMETER SEC$S_INPROG = 1 PARAMETER SEC$V_INPROG = 23 ! Section creation in progress PARAMETER SEC$S_PARANOID = 1 PARAMETER SEC$V_PARANOID = 24 ! Go into paranoia mode PARAMETER SEC$S_GRANHINT = 1 PARAMETER SEC$V_GRANHINT = 25 ! AXP granularity hint support BYTE %FILL (3) END MAP END UNION END STRUCTURE ! SECDEF PARAMETER SEC$K_LENGTH = '00000020'X ! SIZE OF PSTE/GSTE PARAMETER SEC$C_LENGTH = '00000020'X ! SIZE OF PSTE/GSTE ! + PARAMETER SEC$K_MATALL = '00000000'X ! MATCH ALWAYS, USE GLOBAL SECTION PARAMETER SEC$K_MATEQU = '00000001'X ! MATCH IF ISD$L_IDENT EQU GBL ID PARAMETER SEC$K_MATLEQ = '00000002'X ! MATCH IF ISD$L_IDENT LEQ GBL ID STRUCTURE /SECDEF1/ BYTE %FILL(1:21) BYTE SEC$B_AMOD ! ACCESS MODE OF SECTION INTEGER*2 %FILL ! SPARE INTEGER*4 SEC$L_REFCNT ! COUNT OF PTE'S REFERENCING THIS SECTION INTEGER*4 SEC$L_PAGCNT ! NO. OF PAGES IN THE SECTION ! ! ***** NOTE THAT NUMBER OF LONG WORDS MUST BE EVEN ! ! MATCH CONTROL VIELD VALUES ! - ! BASE OF ZERO , INCR 1 END STRUCTURE ! SECDEF1 ! ! Definitions for $GETSECI service ! PARAMETER SECI$_CHAIN = '00000001'X ! Chained item block PARAMETER SECI$_GSMODE = '00000002'X ! Access mode of section PARAMETER SECI$_GSFLAGS = '00000003'X ! Flags PARAMETER SECI$_GSNAME = '00000004'X ! Global section name PARAMETER SECI$_GSIDENT = '00000005'X ! Global section ident PARAMETER SECI$_GSRELPAG = '00000006'X ! Relative page number CDEC$ END OPTIONS