00001 #ifndef secdef_h 00002 #define secdef_h 00003 00004 #define SEC_M_GBL 0x1 00005 #define SEC_M_CRF 0x2 00006 #define SEC_M_DZRO 0x4 00007 #define SEC_M_WRT 0x8 00008 #define SEC_M_SHMGS 0x10 00009 #define SEC_M_WRTMOD 0xC0 00010 #define SEC_M_AMOD 0x300 00011 #define SEC_M_READ_ONLY_SHPT 0x800 00012 #define SEC_M_SHARED_PTS 0x1000 00013 #define SEC_M_MRES 0x2000 00014 #define SEC_M_PERM 0x4000 00015 #define SEC_M_SYSGBL 0x8000 00016 #define SEC_M_PFNMAP 0x10000 00017 #define SEC_M_EXPREG 0x20000 00018 #define SEC_M_PROTECT 0x40000 00019 #define SEC_M_PAGFIL 0x80000 00020 #define SEC_M_EXECUTE 0x100000 00021 #define SEC_M_NOPROTCHK 0x200000 00022 #define SEC_M_NO_OVERMAP 0x400000 00023 #define SEC_M_INPROG 0x800000 00024 #define SEC_M_PARANOID 0x1000000 00025 #define SEC_M_GRANHINT 0x2000000 00026 #define SEC_M_MRES_ALLOC 0x4000000 00027 #define SEC_M_RAD_HINT 0x8000000 00028 00029 #define SEC_K_LENGTH 40 00030 #define SEC_C_LENGTH 40 00031 00032 #define SECFLG_M_GBL 0x1 00033 #define SECFLG_M_CRF 0x2 00034 #define SECFLG_M_DZRO 0x4 00035 #define SECFLG_M_WRT 0x8 00036 #define SECFLG_M_SHMGS 0x10 00037 #define SECFLG_M_WRTMOD 0xC0 00038 #define SECFLG_M_AMOD 0x300 00039 #define SECFLG_M_READ_ONLY_SHPT 0x800 00040 #define SECFLG_M_SHARED_PTS 0x1000 00041 #define SECFLG_M_MRES 0x2000 00042 #define SECFLG_M_PERM 0x4000 00043 #define SECFLG_M_SYSGBL 0x8000 00044 #define SECFLG_M_PFNMAP 0x10000 00045 #define SECFLG_M_EXPREG 0x20000 00046 #define SECFLG_M_PROTECT 0x40000 00047 #define SECFLG_M_PAGFIL 0x80000 00048 #define SECFLG_M_EXECUTE 0x100000 00049 #define SECFLG_M_NOPROTCHK 0x200000 00050 #define SECFLG_M_NO_OVERMAP 0x400000 00051 #define SECFLG_M_INPROG 0x800000 00052 #define SECFLG_M_PARANOID 0x1000000 00053 #define SECFLG_M_GRANHINT 0x2000000 00054 #define SECFLG_M_MRES_ALLOC 0x4000000 00055 #define SECFLG_M_RAD_HINT 0x8000000 00056 00057 #define SEC_K_MATALL 0 00058 #define SEC_K_MATEQU 1 00059 #define SEC_K_MATLEQ 2 00060 00061 #define SECI__CHAIN 1 00062 #define SECI__GSMODE 2 00063 #define SECI__GSFLAGS 3 00064 #define SECI__GSNAME 4 00065 #define SECI__GSIDENT 5 00066 #define SECI__GSRELPAG 6 00067 00068 #define UPDFLG_M_WRT_MODIFIED 0x1 00069 00070 struct _secdef { 00071 union { 00072 int sec_l_gsd; 00073 int sec_l_ccb; 00074 }; 00075 unsigned int sec_l_secxfl; 00076 unsigned int sec_l_secxbl; 00077 unsigned int sec_l_pfc; 00078 long sec_l_window; // check. was: int 00079 unsigned int sec_l_vbn; 00080 union { 00081 unsigned int sec_l_flags; 00082 struct { 00083 unsigned sec_v_gbl : 1; 00084 unsigned sec_v_crf : 1; 00085 unsigned sec_v_dzro : 1; 00086 unsigned sec_v_wrt : 1; 00087 unsigned sec_v_shmgs : 1; 00088 unsigned secdef_$_fill_2 : 1; 00089 unsigned sec_v_wrtmod : 2; 00090 unsigned sec_v_amod : 2; 00091 unsigned secdef_$_fill_3 : 1; 00092 unsigned sec_v_read_only_shpt : 1; 00093 unsigned sec_v_shared_pts : 1; 00094 unsigned sec_v_mres : 1; 00095 unsigned sec_v_perm : 1; 00096 unsigned sec_v_sysgbl : 1; 00097 unsigned sec_v_expreg : 1; 00098 unsigned sec_v_protect : 1; 00099 unsigned sec_v_pagfil : 1; 00100 unsigned sec_v_execute : 1; 00101 unsigned sec_v_noprotchk : 1; 00102 unsigned sec_v_no_overmap : 1; 00103 unsigned sec_v_inprog : 1; 00104 unsigned sec_v_paranoid : 1; 00105 unsigned sec_v_granhint : 1; 00106 unsigned sec_v_mres_alloc : 1; 00107 unsigned sec_v_rad_hint : 1; 00108 unsigned sec_v_fill_18_ : 4; 00109 }; 00110 }; 00111 int sec_l_refcnt; 00112 unsigned int sec_l_unit_cnt; 00113 unsigned int sec_l_vpx; 00114 }; 00115 00116 struct _secdef_flags { 00117 union { 00118 unsigned short int secflg_w_saved_flags; 00119 unsigned int secflg_l_flags; 00120 struct { 00121 unsigned secflg_v_gbl : 1; 00122 unsigned secflg_v_crf : 1; 00123 unsigned secflg_v_dzro : 1; 00124 unsigned secflg_v_wrt : 1; 00125 unsigned secflg_v_shmgs : 1; 00126 unsigned secdef_$_fill_2 : 1; 00127 unsigned secflg_v_wrtmod : 2; 00128 unsigned secflg_v_amod : 2; 00129 unsigned secdef_$_fill_3 : 1; 00130 unsigned secflg_v_read_only_shpt : 1; 00131 unsigned secflg_v_shared_pts : 1; 00132 unsigned secflg_v_mres : 1; 00133 unsigned secflg_v_perm : 1; 00134 unsigned secflg_v_sysgbl : 1; 00135 unsigned secflg_v_pfnmap : 1; 00136 unsigned secflg_v_expreg : 1; 00137 unsigned secflg_v_protect : 1; 00138 unsigned secflg_v_pagfil : 1; 00139 unsigned secflg_v_execute : 1; 00140 unsigned secflg_v_noprotchk : 1; 00141 unsigned secflg_v_no_overmap : 1; 00142 unsigned secflg_v_inprog : 1; 00143 unsigned secflg_v_paranoid : 1; 00144 unsigned secflg_v_granhint : 1; 00145 unsigned secflg_v_mres_alloc : 1; 00146 unsigned secflg_v_rad_hint : 1; 00147 unsigned secflg_v_fill_19_ : 4; 00148 }; 00149 }; 00150 }; 00151 00152 struct _updsec_flags { 00153 union { 00154 unsigned int updflg_l_flags; 00155 struct { 00156 unsigned updflg_v_wrt_modified : 1; 00157 unsigned updflg_v_fill_20_ : 7; 00158 }; 00159 }; 00160 }; 00161 00162 struct _secdef1 { 00163 char secdef_$_fill_6 [25]; 00164 unsigned char sec_b_amod; 00165 }; 00166 00167 #endif 00168 00169