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