
{
  Automatically converted by H2Pas 1.0.0 from oci1.h
  The following command line parameters were used:
    -p
    -D
    -l
    jojo.so
    oci1.h
}

{$PACKRECORDS C}

  {
   * $Header: oci1.h 02-dec-97.19:29:14 skabraha Exp $
    }
  { Copyright (c) Oracle Corporation 1997, 1998. All Rights Reserved.  }  { NOTE:  See 'header_template.doc' in the 'doc' dve under the 'forms' 
        directory for the header file template that includes instructions. 
   }
  { 
     NAME 
       oci1.h - Cartridge Service definitions
  
     DESCRIPTION 
       <short description of component this file declares/defines> 
  
     RELATED DOCUMENTS 
   
     INSPECTION STATUS 
       Inspection date: 
       Inspection status: 
       Estimated increasing cost defects per page: 
       Rule sets: 
   
     ACCEPTANCE REVIEW STATUS 
       Review date: 
       Review status: 
       Reviewers: 
   
     PUBLIC FUNCTION(S) 
       <list of external functions declared/defined - with one-line descriptions>
  
     PRIVATE FUNCTION(S)
       <list of static functions defined in .c file - with one-line descriptions>
  
     EXAMPLES
  
     NOTES
       <other useful comments, qualifications, etc.>
  
     MODIFIED   (MM/DD/YY)
     nramakri    01/16/98 - remove #ifdef NEVER clause
     ewaugh      12/18/97 - Turn type wrappers into functions.
     skabraha    12/02/97 - Adding data structures & constants for OCIFile
     rhwu        12/02/97 - OCI Thread
     nramakri    12/15/97 - move to core4
     ewaugh      12/11/97 - add OCIFormat package constants
     ssamu       12/10/97 - do not include s.h
     nramakri    11/19/97 - add OCIExtract definitions
     ssamu       11/14/97 - creation
  
   }
  {---------------------------------------------------------------------------
                       PUBLIC TYPES AND CONSTANTS
    --------------------------------------------------------------------------- }
  { Constants required by the OCIFormat package.  }
  {
  #define OCIFormatUb1(variable)      OCIFormatTUb1(),      &(variable)
  #define OCIFormatUb2(variable)      OCIFormatTUb2(),      &(variable)
  #define OCIFormatUb4(variable)      OCIFormatTUb4(),      &(variable)
  #define OCIFormatUword(variable)    OCIFormatTUword(),    &(variable)
  #define OCIFormatUbig_ora(variable) OCIFormatTUbig_ora(), &(variable)
  #define OCIFormatSb1(variable)      OCIFormatTSb1(),      &(variable)
  #define OCIFormatSb2(variable)      OCIFormatTSb2(),      &(variable)
  #define OCIFormatSb4(variable)      OCIFormatTSb4(),      &(variable)
  #define OCIFormatSword(variable)    OCIFormatTSword(),    &(variable)
  #define OCIFormatSbig_ora(variable) OCIFormatTSbig_ora(), &(variable)
  #define OCIFormatEb1(variable)      OCIFormatTEb1(),      &(variable)
  #define OCIFormatEb2(variable)      OCIFormatTEb2(),      &(variable)
  #define OCIFormatEb4(variable)      OCIFormatTEb4(),      &(variable)
  #define OCIFormatEword(variable)    OCIFormatTEword(),    &(variable)
  #define OCIFormatChar(variable)     OCIFormatTChar(),     &(variable)
  #define OCIFormatText(variable)     OCIFormatTText(),      (variable)
  #define OCIFormatDouble(variable)   OCIFormatTDouble(),   &(variable)
  #define OCIFormatDvoid(variable)    OCIFormatTDvoid(),     (variable)
  #define OCIFormatEnd                OCIFormatTEnd()
   }

  const
     OCIFormatDP = 6;     
  {----------------- Public Constants for OCIFile ------------------------- }
  { flags for open. }
  { flags for mode  }
  { open for read only  }
     OCI_FILE_READ_ONLY = 1;     
  { open for write only  }
     OCI_FILE_WRITE_ONLY = 2;     
  { open for read & write  }
     OCI_FILE_READ_WRITE = 3;     
  { flags for create  }
  { the file should exist  }
     OCI_FILE_EXIST = 0;     
  { create if the file doesn't exist  }
     OCI_FILE_CREATE = 1;     
  { the file should not exist  }
     OCI_FILE_EXCL = 2;     
  { create if the file doesn't exist, 
                                            else truncate file the file to 0  }
     OCI_FILE_TRUNCATE = 4;     
  { open the file in append mode  }
     OCI_FILE_APPEND = 8;     
  { flags for seek  }
  { seek from the beginning of the file  }
     OCI_FILE_SEEK_BEGINNING = 1;     
  { seek from the current position  }
     OCI_FILE_SEEK_CURRENT = 2;     
  { seek from the end of the file  }
     OCI_FILE_SEEK_END = 3;     
  { seek forward		 }
     OCI_FILE_FORWARD = 1;     
  { seek backward		 }
     OCI_FILE_BACKWARD = 2;     
  { file type  }
  { binary file  }
     OCI_FILE_BIN = 0;     
  { text file  }
     OCI_FILE_TEXT = 1;     
  { standard i/p  }
     OCI_FILE_STDIN = 2;     
  { standard o/p  }
     OCI_FILE_STDOUT = 3;     
  { standard error  }
     OCI_FILE_STDERR = 4;     
  { Represents an open file  }
  type
    POCIFileObject = pointer;

  {--------------------- OCI Thread Object Definitions------------------------ }
    POCIThreadContext = pointer;  // OCIThread Context
    POCIThreadMutex = pointer;    // OCIThread Mutual Exclusion Lock
    POCIThreadKey = pointer;      // OCIThread Key for Thread-Specific Data
    POCIThreadID = pointer;       // OCIThread Thread ID
    POCIThreadHandle = pointer;   // OCIThread Thread Handle
  {-------------------- OCI Thread Callback Function Pointers ---------------- }
  { OCIThread Key Destructor Function Type  }

     OCIThreadKeyDestFunc = procedure ;cdecl;
  { Flags passed into OCIExtractFromXXX routines to direct processing          }
  { matching is case sensitive      }

  const
     OCI_EXTRACT_CASE_SENSITIVE = $1;     
  { unique abbreviations for keys
                                                are allowed                     }
     OCI_EXTRACT_UNIQUE_ABBREVS = $2;     
  { if multiple values for a key
                                                exist, this determines if the 
                                                new value should be appended 
                                                to (or replace) the current 
                                                list of values                  }
     OCI_EXTRACT_APPEND_VALUES = $4;     
  { Constants passed into OCIExtractSetKey routine  }
  { key can accept multiple values  }
     OCI_EXTRACT_MULTIPLE = $8;     
  { key type is boolean             }
     OCI_EXTRACT_TYPE_BOOLEAN = 1;     
  { key type is string              }
     OCI_EXTRACT_TYPE_STRING = 2;     
  { key type is integer             }
     OCI_EXTRACT_TYPE_INTEGER = 3;     
  { key type is ocinum              }
     OCI_EXTRACT_TYPE_OCINUM = 4;     
  {---------------------------------------------------------------------------
                       PRIVATE TYPES AND CONSTANTS
    --------------------------------------------------------------------------- }
  {---------------------------------------------------------------------------
                             PUBLIC FUNCTIONS
    --------------------------------------------------------------------------- }
  {---------------------------------------------------------------------------
                            PRIVATE FUNCTIONS
    --------------------------------------------------------------------------- }


