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.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