• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

cas-env.h

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