cas-env.h

Go to the documentation of this file.
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