00001 /**************************************************************************** 00002 * 00003 * Copyright (C) 2006-2007 Micro Focus (IP) Limited. 00004 * All rights reserved. 00005 * 00006 * The software and information contained herein are proprietary to, and 00007 * comprise valuable trade secrets of, Micro Focus International Ltd., 00008 * which intends to preserve as trade secrets such software and 00009 * information. This software is an unpublished copyright of Micro Focus 00010 * and may not be used, copied, transmitted, or stored in any manner. 00011 * This software and information or any other copies thereof may not be 00012 * provided or otherwise made available to any other person. 00013 * 00014 * Enterprise Server SAF (Security) Manager 00015 * CAS Environment 00016 * 00017 * @(#)cas-env.h $Revision: 1.4 $ 00018 * 00019 * $Date: 2008/07/01 08:32:45 $ 00020 * 00021 ****************************************************************************/ 00022 00023 /* Start of source module cas-env.h */ 00024 #if !defined(CasENV_H) 00025 #define CasENV_H 00026 00046 struct CasTMBlock 00047 { 00048 struct 00049 { 00050 unsigned char Buf[8]; 00051 union 00052 { 00053 unsigned char Buf[8]; 00054 struct 00055 { 00056 void *Ptr; 00057 union 00058 { 00059 mf_uns16 Len; 00060 mf_uns32 Pid; 00061 } Second; 00062 } Parts; 00063 } Long; 00064 } ReqId; 00065 struct 00066 { 00067 unsigned char Fill[4]; 00068 mf_uns32 NsmLen; 00069 unsigned char Id[8]; 00070 } Entry; 00071 struct 00072 { 00073 union 00074 { 00075 void *Ptr; 00076 mf_uns32 Len; 00077 } Resource; 00078 unsigned char Type; 00079 #define CasTM_INSTALL 1 00080 #define CasTM_DELETE 2 00081 #define CasTM_LOCATE 3 00082 #define CasTM_LOC_NXT 4 00083 #define CasTM_LOC_EXCL 5 00084 #define CasTM_ENQ_LUW 6 00085 #define CasTM_ENQ_TASK 7 00086 #define CasTM_ENQ_ALUW 8 00087 #define CasTM_ENQ_ATSK 9 00088 #define CasTM_DEQ_LUW 10 00089 #define CasTM_DEQ_TASK 11 00090 #define CasTM_DEQ_SPEC 12 00091 #define CasTM_SUSPEND 13 00092 #define CasTM_RECHAIN 14 00093 #define CasTM_REL_EXCL 15 00094 #define CasTM_SCHED 15 00095 #define CasTM_GET_ITR 16 00096 #define CasTM_ACK_ITR 17 00097 #define CasTM_CONT_ITR 18 00098 #define CasTM_INST_CVT 19 00099 #define CasTM_LX_NWAIT 20 00100 #define CasTM_SS_WIN 21 00101 #define CasTM_SS_LOSE 22 00102 #define CasTM_SS_INIT 23 00103 #define CasTM_INST_NM 24 00104 #define CasTM_DISC_NM 25 00105 #define CasTM_LOC_NM 26 00106 #define CasTM_LOC_N_NM 27 00107 #define CasTM_EXT_EN 28 00108 #define CasTM_EXT_ASC 29 00109 #define CasTM_EXT_DSC 30 00110 #define CasTM_BRI_DUP 31 00111 #define CasTM_BRI_USE 32 00112 #define CasTM_SVC_USE 33 00113 #define CasTM_SVC_REL 34 00114 #define CasTM_SRCH_F 35 00115 #define CasTM_SRCH_A 36 00116 #define CasTM_SRCH_N 37 00117 #define CasTM_STRT_I 38 00118 #define CasTM_LCK_SHR 39 00119 #define CasTM_LCK_EXL 40 00120 #define CasTM_STRT_P 41 00121 #define CasTM_ACCEPT 42 00122 #define CasTM_REPLY 43 00123 #define CasTM_DSN_INST 44 00124 #define CasTM_DSN_DISC 45 00125 #define CasTM_LP_SHR 46 00126 #define CasTM_LP_EXC 47 00127 #define CasTM_L_RETL 48 00128 #define CasTM_TIE_INST 49 00129 #define CasTM_TIE_DISC 50 00130 #define CasTM_LOC_FST 51 00131 #define CasTM_LOC_LNG 52 00132 #define CasTM_LLNG_FST 53 00133 #define CasTM_LLNG_NXT 54 00134 unsigned char Modifier; 00135 #define CasTM_ID_S 0 00136 #define CasTM_ID_L 1 00137 #define CasTM_CHAIN_2 2 00138 #define CasTM_CHAIN_3 3 00139 #define CasTM_CHAIN_4 4 00140 #define CasTM_SESS_S 5 00141 #define CasTM_SESS_R 6 00142 #define CasTM_DCT_DO 7 00143 #define CasTM_APKG_IDT 8 00144 #define CasTM_APKG_LOC 9 00145 #define CasTM_APKG_MOD 10 00146 unsigned char RetCode; 00147 #define CasTMR_NORMAL 0 00148 #define CasTMR_NFOUND 1 00149 #define CasTMR_BUSY 2 00150 #define CasTMR_INVREQ 3 00151 #define CasTMR_END 4 00152 #define CasTMR_GENMTCH 5 00153 #define CasTMR_DUP 6 00154 #define CasTMR_NSPACE 7 00155 #define CasTMR_NFCT 8 00156 #define CasTMR_TCTINV 9 00157 #define CasTMR_DUPNET 10 00158 #define CasTMR_NETINV 11 00159 #define CasTMR_DUPPLU 12 00160 #define CasTMR_PLUINV 13 00161 #define CasTMR_SDELIS 14 00162 #define CasTMR_SDELIA 15 00163 #define CasTMR_CONT 16 00164 #define CasTMR_INVACQ 17 00165 #define CasTMR_MIXENQ 18 00166 #define CasTMR_ITRWAIT 19 00167 #define CasTMR_OOS 20 00168 #define CasTMR_NOTACQ 21 00169 #define CasTMR_INVTYPE 22 00170 #define CasTMR_DUPBND 23 00171 #define CasTMR_BUSYBND 24 00172 #define CasTMR_DISABLD 25 00173 #define CasTMR_LOCK1 26 00174 #define CasTMR_LOCK2 27 00175 #define CasTMR_ 28 00176 #define CasTMR_CANCEL 29 00177 #define CasTMR_RETINV 30 00178 #define CasTMR_JCRERR 31 00179 #define CasTMR_JCRRERR 32 00180 #define CasTMR_STGERR 33 00181 #define CasTMR_INTERR 34 00182 #define CasTMR_SIZERR 35 00183 #define CasTMR_LENERR 36 00184 unsigned char Selector; 00185 #define CasTM_PPT 1 00186 #define CasTM_PCT 2 00187 #define CasTM_FCT 3 00188 #define CasTM_TST 4 00189 #define CasTM_DCT 5 00190 #define CasTM_TCT 6 00191 #define CasTM_ICT 7 00192 #define CasTM_AMT 8 00193 #define CasTM_ENQ 9 00194 #define CasTM_NETNAME 10 00195 #define CasTM_PLU 11 00196 #define CasTM_SESSION 12 00197 #define CasTM_TTYPE 13 00198 #define CasTM_ITR 14 00199 #define CasTM_JCT 15 00200 #define CasTM_UEX 16 00201 #define CasTM_XAT 17 00202 #define CasTM_AST 18 00203 #define CasTM_ARH 19 00204 #define CasTM_APKG 20 00205 #define CasTM_FREE 21 00206 #define CasTM_INIT 22 00207 #define CasTM_LOCK 23 00208 #define CasTM_ACCPT 24 00209 #define CasTM_TIE 25 00210 #define CasTM_ACEE 26 00211 #define CasTM_NSM 27 00212 void *Local; 00213 } Data; 00214 }; 00215 00216 00217 00225 struct CasConMsg 00226 { 00227 mf_uns32 Version; 00228 #define CasCM_CURRENT 0 00229 mf_uns32 Type; 00230 #define CasCMT_INFO 0 00231 #define CasCMT_RH 1 00232 #define CasCMT_RTS 2 00233 #define CasCMT_JCL 3 00234 #define CasCMT_EXT 3 00235 #define CasCMT_DISP 4 00236 #define CasCMT_AUX 5 00237 mf_uns32 Number; 00238 mf_uns32 Size; 00239 mf_uns32 Severity; 00240 #define CasCMS_INFO 0 00241 #define CasCMS_WARN 4 00242 #define CasCMS_ERROR 8 00243 #define CasCMS_SEVERE 12 00244 #define CasCMS_UNREC 16 00245 mf_uns32 Work; 00246 mf_uns32 Reserved[2]; 00247 void *Ptr; 00248 void *RetPtr; 00249 void *Reserved2[3]; 00250 }; 00251 00252 00260 struct CasLock 00261 { 00262 mf_uns32 Version; 00263 #define CasLK_CURRENT 0 00264 mf_uns32 Function; 00266 #define CasLK_ENQUEUE 0 00267 #define CasLK_DEQUEUE 1 00268 mf_uns32 Type; 00269 mf_uns32 Count; 00270 struct 00271 { 00272 char *RName; 00273 char QName[8]; 00274 mf_uns32 RetCode; 00278 #define CasLK_ET_AVAIL 0 00279 #define CasLK_ET_CTRLD 4 00280 #define CasLK_ET_NAVAIL 8 00281 #define CasLK_ET_PREQ 12 00282 #define CasLK_EU_ACQ 0 00283 #define CasLK_EU_CTRLD 4 00284 #define CasLK_EU_QREQ 8 00285 #define CasLK_EU_PREQ 12 00286 #define CasLK_EC_OK 0 00287 #define CasLK_EC_NCTL 4 00288 #define CasLK_EC_DENY 8 00289 #define CasLK_EC_PREQ 12 00290 #define CasLK_EH_ACQ 0 00291 #define CasLK_EH_CTRLD 4 00292 #define CasLK_EH_NAVAIL 8 00293 #define CasLK_EH_PREQ 12 00294 #define CasLK_EW_NCTRL 0 00295 #define CasLK_EW_ERR 16 00296 #define CasLK_DH_RLSD 0 00297 #define CasLK_DH_PREQ 8 00298 #define CasLK_DH_NCTL 12 00299 #define CasLK_R_INV 20 00300 #define CasLK_R_ENV 24 00301 #define CasLK_R_ILL 28 00302 #define CasLK_R_SCOPE 32 00303 00305 mf_uns8 RNameLen; 00306 mf_uns8 Share; 00308 #define CasLK_SHARE 0 00309 #define CasLK_EXCL 1 00311 mf_uns8 Scope; 00312 #define CasLK_SERVER 1 00314 mf_uns8 Lifetime; 00318 #define CasLK_UOW 11 00319 #define CasLK_TASK 12 00320 #define CasLK_PROC 13 00322 00323 mf_uns8 Filler[16]; 00324 } Lock[1]; 00325 }; 00326 00327 00328 00340 struct CasRdoRec 00341 { 00342 struct 00343 { 00344 char Group[8]; 00345 mf_uns8 Type; 00346 #define RdoTYPE_NONE 0 00347 #define RdoTYPE_GROUP 1 00348 #define RdoTYPE_PCT 2 00349 #define RdoTYPE_FCT 3 00350 #define RdoTYPE_PPT 4 00351 #define RdoTYPE_DCT 5 00352 #define RdoTYPE_SIT 6 00353 #define RdoTYPE_SNT 7 00354 #define RdoTYPE_TST 8 00355 #define RdoTYPE_JCT 9 00356 #define RdoTYPE_TTYPE 10 00357 #define RdoTYPE_TERM 11 00358 #define RdoTYPE_PLT 12 00359 #define RdoTYPE_STARTUP 13 00360 #define RdoTYPE_XLT 14 00361 #define RdoTYPE_PRO 15 00362 #define RdoTYPE_RID 16 00363 #define RdoTYPE_AAINODE 17 00364 #define RdoTYPE_AAISVC 18 00365 #define RdoTYPE_FSRULE 19 00366 #define RdoTYPE_FSPROC 20 00367 #define RdoTYPE_CAT 21 00368 #define RdoTYPE_XAT 22 00369 #define RdoTYPE_BAT 23 00370 #define RdoTYPE_HIGH 255 00371 char Resource[8]; 00372 } Header; 00373 00374 struct 00375 { 00376 char Description[60]; 00377 00378 union 00379 { 00380 /*** 00381 Currently only define the types we're interested in. To add others, 00382 see dfhcbrdr.cpy in the CAS CVS archives for definitions. 00383 00384 Note that integer fields are big-endian (comp-x). 00385 ***/ 00386 00387 struct 00388 { 00389 mf_uns16 Version; 00390 #define RdoSNT_VER 2 00391 mf_uns16 VersionRead; 00392 char Password[8]; 00393 mf_uns8 TableFlag; 00394 char OperId[3]; 00395 mf_uns8 OperClass[3]; /* 3-byte comp-x value */ 00396 mf_uns8 OperKey[8]; 00397 mf_uns8 ResourceKeys[3]; 00398 mf_uns8 SecurityKeys[8]; 00399 mf_uns16 Timeout; 00400 mf_uns8 Priority; 00401 mf_uns8 AccessFlags[14]; 00402 #define RdoSNT_UPDATE 1 00403 #define RdoSNT_READ 2 00404 #define RdoSNT_NOACC 255 00405 mf_uns8 GroupPfxLen; 00406 char GroupPfx[8]; 00407 mf_uns8 filler; 00408 mf_uns8 BatAccessFlag; 00409 mf_uns8 UserResKeys[3]; 00410 mf_uns8 XatAccessFlag; 00411 mf_uns8 JclSubFlag; 00412 mf_uns8 ImsAccessFlag; 00413 } SNT; 00414 00415 struct 00416 { 00417 mf_uns8 Bytes[4096]; 00418 } Raw; 00419 } Data; 00420 00421 mf_uns32 filler[4]; 00422 } Desc; 00423 }; 00424 00425 00432 struct CasRdoFInt 00433 { 00434 mf_uns8 Request; 00435 #define RdoREQ_OPEN 1 00436 #define RdoREQ_CLOSE 2 00437 #define RdoREQ_OPEN_RO 3 00438 #define RdoREQ_REOPEN 5 00439 #define RdoREQ_REOPEN_RO 6 00440 #define RdoREQ_FIND 10 00441 #define RdoREQ_RD_FRST 20 00442 #define RdoREQ_RD_NEXT 21 00443 #define RdoREQ_RD_PREV 22 00444 #define RdoREQ_RD_UPD 23 00445 #define RdoREQ_RD_DEL 24 00446 #define RdoREQ_RD_HDR 25 00447 #define RdoREQ_RD_UPDHDR 26 00448 #define RdoREQ_DELETE 30 00449 #define RdoREQ_WRITE 40 00450 #define RdoREQ_REWRITE 41 00451 #define RdoREQ_WRITEHDR 42 00452 #define RdoREQ_REWRITEHDR 43 00453 #define RdoREQ_WRITE_C 50 00454 #define RdoREQ_RD_NEXT_C 51 00455 #define RdoREQ_RD_PREV_C 52 00456 #define RdoREQ_RD_FRST_G 60 00457 #define RdoREQ_RD_NEXT_G 61 00458 #define RdoREQ_RD_PREV_G 62 00459 #define RdoREQ_UNLOCK 70 00460 #define RdoREQ_POS_SAV 90 00461 #define RdoREQ_POS_RST 91 00462 #define RdoREQ_POS_CLR 92 00463 #define RdoREQ_FILE_DEL 250 00464 #define RdoREQ_FILE_CRT 251 00465 mf_uns8 Result; 00466 #define RdoRES_GOOD 0 00467 #define RdoRES_ERROR 1 00468 #define RdoRES_NOTFOUND 2 00469 #define RdoRES_DUPREC 3 00470 #define RdoRES_LOCKED 4 00471 #define RdoRES_FNOTFOUND 5 00472 #define RdoRES_BADTYPE 6 00473 #define RdoRES_BADREQ 7 00474 #define RdoRES_MISMATCH 8 00475 #define RdoRES_CRTFAIL 9 00476 mf_uns8 VersionResult; 00477 #define RdoVER_GOOD 0 00478 #define RdoVER_BAD 1 00479 #define RdoVER_OLD 2 00480 #define RdoVER_NEW 3 00481 mf_uns8 IOStatus[2]; 00482 struct 00483 { 00484 mf_uns8 filler; 00485 mf_uns8 Level; 00486 #define RdoBUILD_LEVEL 4 00487 } Build; 00488 mf_uns8 Trace; 00489 struct 00490 { 00491 mf_uns8 filler; 00492 mf_uns8 Id; 00493 #define RdoKEY_PRIMARY 0 00494 #define RdoKEY_GROUP 0 00495 #define RdoKEY_ALT 1 00496 #define RdoKEY_RESGROUP 1 00497 } KeyId; 00498 }; 00499 00500 00501 #endif 00502 00503 /* End of cas-env.h */ 00504