home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / po7_win / db / rdbms71 / ocidfn.h < prev    next >
C/C++ Source or Header  |  1994-08-07  |  4KB  |  121 lines

  1. /*
  2.  * $Header: ocidfn.h 7001200.2 92/12/20 17:46:21 twang Generic<base> $ 
  3.  */
  4.  
  5. /* Copyright (c) 1991 by Oracle Corporation */
  6. /*
  7.    NAME
  8.      ocidfn.h - OCI Definations
  9.    NOTES
  10.      Shipped to users.
  11.    MODIFIED   (MM/DD/YY)
  12.     rkooi2     11/27/92 -  Changing e* datatypes to s* 
  13.     rkooi2     10/26/92 -  More portability mods 
  14.     rkooi2     10/22/92 -  Added #ifndef ORATYPES ... 
  15.     rkooi2     10/18/92 -  Changes to make it portable. 
  16.     sjain      03/16/92 -  Creation 
  17. */
  18.  
  19. /*
  20.  *  ocidfn.h
  21.  *
  22.  *  Common header file for OCI C sample programs.
  23.  *  This header declares the cursor and logon data area structure.
  24.  *  The types used are defined in <oratypes.h>.
  25.  *
  26.  */
  27.  
  28. #ifndef OCIDFN
  29. #define OCIDFN
  30.  
  31. #include <oratypes.h>
  32.  
  33. /* The cda_head struct is strictly PRIVATE.  It is used
  34.    internally only. Do not use this struct in OCI programs. */
  35.  
  36. struct cda_head {
  37.     sb2          v2_rc;
  38.     ub2          ft;
  39.     ub4          rpc;
  40.     ub2          peo;
  41.     ub1          fc;
  42.     ub1          rcs1;
  43.     ub2          rc;
  44.     ub1          wrn;
  45.     ub1          rcs2;
  46.     sword        rcs3;
  47.     struct {
  48.         struct {
  49.            ub4    rcs4;
  50.            ub2    rcs5;
  51.            ub1    rcs6;
  52.         } rd;
  53.         ub4    rcs7;
  54.         ub2    rcs8;
  55.     } rid;
  56.     sword        ose;
  57.     dvoid        *rcsp;
  58. };
  59.  
  60. /* the real CDA, padded to 64 bytes in size */
  61. struct cda_def {
  62.     sb2          v2_rc;                             /* V2 return code */
  63.     ub2          ft;                             /* SQL function type */
  64.     ub4          rpc;                         /* rows processed count */
  65.     ub2          peo;                           /* parse error offset */
  66.     ub1          fc;                             /* OCI function code */
  67.     ub1          rcs1;                                 /* filler area */
  68.     ub2          rc;                                /* V7 return code */
  69.     ub1          wrn;                                /* warning flags */
  70.     ub1          rcs2;                                    /* reserved */
  71.     sword        rcs3;                                    /* reserved */
  72.     struct {                                       /* rowid structure */
  73.         struct {
  74.            ub4    rcs4;
  75.            ub2    rcs5;
  76.            ub1    rcs6;
  77.         } rd;
  78.         ub4    rcs7;
  79.         ub2    rcs8;
  80.     } rid;
  81.     sword        ose;                          /* OSD dependent error */
  82.     dvoid        *rcsp;                   /* pointer to reserved area */
  83.     ub1          rcs9[64 - sizeof (struct cda_head)]; /* filler to 64 */
  84. };
  85.  
  86. typedef struct cda_def Cda_Def;
  87.  
  88. /* the logon data area (LDA)
  89.    is the same shape as the CDA */
  90. typedef struct cda_def Lda_Def;
  91.  
  92. /* input data types */
  93. #define SQLT_CHR  1              /* (ORANET TYPE) character string */
  94. #define SQLT_NUM  2                /* (ORANET TYPE) oracle numeric */
  95. #define SQLT_INT  3                       /* (ORANET TYPE) integer */
  96. #define SQLT_FLT  4         /* (ORANET TYPE) Floating point number */
  97. #define SQLT_STR  5                      /* zero terminated string */
  98. #define SQLT_VNU  6              /* NUM with preceding length byte */
  99. #define SQLT_PDN  7        /* (ORANET TYPE) Packed Decimal Numeric */
  100. #define SQLT_LNG  8                                        /* long */
  101. #define SQLT_VCS  9                   /* Variable character string */
  102. #define SQLT_NON  10            /* Null/empty PCC Descriptor entry */
  103. #define SQLT_RID  11                                      /* rowid */
  104. #define SQLT_DAT  12                      /* date in oracle format */
  105. #define SQLT_VBI  15                       /* binary in VCS format */
  106. #define SQLT_BIN  23                        /* binary data(DTYBIN) */
  107. #define SQLT_LBI  24                                /* long binary */
  108. #define SQLT_UIN  68                           /* unsigned integer */
  109. #define SQLT_SLS  91              /* Display sign leading separate */
  110. #define SQLT_LVC  94                        /* Longer longs (char) */
  111. #define SQLT_LVB  95                         /* Longer long binary */ 
  112. #define SQLT_AFC  96                            /* Ansi fixed char */
  113. #define SQLT_AVC  97                              /* Ansi Var char */
  114. #define SQLT_LAB  105                                /* label type */
  115. #define SQLT_OSL  106                              /* oslabel type */ 
  116.  
  117.  
  118. #endif  /* OCIDFN */
  119.  
  120.  
  121.