Annotation of win32/sql/oracle/include/oci/ociextp.h, revision 1.1

1.1     ! parser      1: /*
        !             2:  * $Header: /var/lib/cvsroot/parser3/parser3/src/sql/oracle/oracle32/include/oci/ociextp.h,v 1.1 2001/08/22 14:02:19 parser Exp $
        !             3:  */
        !             4: 
        !             5: /* Copyright (c) Oracle Corporation 1996, 1997, 1999. All Rights Reserved. */ 
        !             6:  
        !             7: /* 
        !             8:    NAME 
        !             9:      ociextp.h - Interface Definitions for PL/SQL External Procedures
        !            10: 
        !            11:    DESCRIPTION 
        !            12:      This header file contains C language callable interface from 
        !            13:      PL/SQL External Procedures.
        !            14: 
        !            15:    PUBLIC FUNCTION(S) 
        !            16:      OCIExtProcAllocCallMemory  - Allocate Call memory
        !            17:      OCIExtProcRaiseExcp        - Raise Exception
        !            18:      OCIExtProcRaiseExcpWithMsg - Raise Exception with message
        !            19:      OCIExtProcGetEnv           - Get OCI Environment
        !            20: 
        !            21:    PRIVATE FUNCTION(S)
        !            22:      <list of static functions defined in .c file - with one-line descriptions>
        !            23: 
        !            24:    EXAMPLES
        !            25: 
        !            26:    NOTES
        !            27:      <other useful comments, qualifications, etc.>
        !            28: 
        !            29:    MODIFIED   (MM/DD/YY)
        !            30:    whe         09/01/99 - 976457:check __cplusplus for C++ code
        !            31:    asethi      04/15/99 - Created (by moving ociextp.h from /vobs/plsql/public)
        !            32:    rhari       03/25/97 - Use ifndef
        !            33:    rhari       12/18/96 - Include oratypes.h
        !            34:    rhari       12/11/96 - #416977, Flip values of return codes
        !            35:    rhari       12/02/96 - Define Return Code Macros
        !            36:    rhari       11/18/96 - Error number is int
        !            37:    rhari       10/30/96 - Fix OCIExtProcRaiseExcpWithMsg
        !            38:    rhari       10/30/96 - Get rid of warnings
        !            39:    rhari       10/04/96 - Fix OCIExtProcRaiseExcpWithMsg
        !            40:    rhari       09/23/96 - Creation
        !            41: 
        !            42: */
        !            43: 
        !            44:  
        !            45: #ifndef OCIEXTP_ORACLE
        !            46: # define OCIEXTP_ORACLE
        !            47: 
        !            48: # ifndef ORATYPES 
        !            49: #  include <oratypes.h> 
        !            50: # endif
        !            51: 
        !            52: # ifndef OCI_ORACLE
        !            53: #  include <oci.h>
        !            54: # endif
        !            55: 
        !            56: /*---------------------------------------------------------------------------
        !            57:                      PUBLIC TYPES AND CONSTANTS
        !            58:   ---------------------------------------------------------------------------*/
        !            59: 
        !            60: 
        !            61: /* ----------------------------- Return Codes ----------------------------- */
        !            62: /* Success and Error return codes for certain external procedure interface 
        !            63:  * functions. If a particular interface function returns OCIEXTPROC_SUCCESS
        !            64:  * or OCIEXTPROC_ERROR, then applications must use these macros to check
        !            65:  * for return values.
        !            66:  *
        !            67:  *     OCIEXTPROC_SUCCESS  -- External Procedure Success Return Code 
        !            68:  *     OCIEXTPROC_ERROR    -- External Procedure Failure Return Code 
        !            69:  */
        !            70: #define OCIEXTPROC_SUCCESS 0
        !            71: #define OCIEXTPROC_ERROR   1
        !            72: 
        !            73: 
        !            74: /* --------------------------- With-Context Type --------------------------- */
        !            75: /*
        !            76:  * The C callable interface to PL/SQL External Procedures require the 
        !            77:  * With-Context parameter to be passed. The type of this structure is 
        !            78:  * OCIExtProcContext is is opaque to the user.
        !            79:  *
        !            80:  * The user can declare the With-Context parameter in the application as
        !            81:  *
        !            82:  *    OCIExtProcContext *with_context;
        !            83:  */
        !            84: typedef struct OCIExtProcContext OCIExtProcContext;
        !            85: 
        !            86: 
        !            87: 
        !            88: /* ----------------------- OCIExtProcAllocCallMemory ----------------------- */
        !            89: /* OCIExtProcAllocCallMemory
        !            90:  *    Allocate N bytes of memory for the duration of the External Procedure.
        !            91:  *
        !            92:  *    Memory thus allocated will be freed by PL/SQL upon return from the
        !            93:  *    External Procedure. You must not use any kind of 'free' function on 
        !            94:  *    memory allocated by OCIExtProcAllocCallMemory.
        !            95:  *    Use this function to allocate memory for function returns.
        !            96:  * 
        !            97:  * PARAMETERS
        !            98:  * Input : 
        !            99:  *    with_context - The with_context pointer that is passed to the C 
        !           100:  *                   External Procedure.
        !           101:  *                  Type of with_context : OCIExtProcContext *
        !           102:  *    amount       - The number of bytes to allocate.
        !           103:  *                   Type of amount : size_t
        !           104:  *
        !           105:  * Output :
        !           106:  *    Nothing
        !           107:  *
        !           108:  * Return :
        !           109:  *    An untyped (opaque) Pointer to the allocated memory. 
        !           110:  *
        !           111:  * Errors :
        !           112:  *    A 0 return value should be treated as an error
        !           113:  *
        !           114:  * EXAMPLE 
        !           115:  *  text *ptr = (text *)OCIExtProcAllocCallMemory(wctx, 1024)
        !           116:  *
        !           117:  */
        !           118: #define OCIExtProcAllocCallMemory(with_context, amount) \
        !           119: ociepacm(with_context, (size_t)amount)
        !           120: 
        !           121: 
        !           122: 
        !           123: 
        !           124: /* -------------------------- OCIExtProcRaiseExcp -------------------------- */
        !           125: /* OCIExtProcRaiseExcp
        !           126:  *    Raise an Exception to PL/SQL.
        !           127:  *
        !           128:  *  Calling this function signalls an exception back to PL/SQL. After a
        !           129:  *  successful return from this function, the External Procedure must start 
        !           130:  *  its exit handling and return back to PL/SQL. Once an exception is 
        !           131:  *  signalled to PL/SQL, INOUT and OUT arguments, if any, are not processed 
        !           132:  *  at all.
        !           133:  * 
        !           134:  * PARAMETERS
        !           135:  * Input :
        !           136:  *   with_context - The with_context pointer that is passed to the C
        !           137:  *                  External Procedure. 
        !           138:  *                  Type of with_context : OCIExtProcContext *
        !           139:  *   errnum       - Oracle Error number to signal to PL/SQL. errnum
        !           140:  *                  must be a positive number and in the range 1 to 32767
        !           141:  *                  Type of errnum : int
        !           142:  * Output :
        !           143:  *   Nothing
        !           144:  *
        !           145:  * Return :
        !           146:  *   OCIEXTPROC_SUCCESS - If the call was successful.
        !           147:  *   OCIEXTPROC_ERROR   - If the call failed.
        !           148:  *
        !           149:  */
        !           150: #define OCIExtProcRaiseExcp(with_context, errnum) \
        !           151: ocieperr(with_context, (int)errnum)
        !           152: 
        !           153: 
        !           154: 
        !           155: 
        !           156: 
        !           157: /* ---------------------- OCIExtProcRaiseExcpWithMsg ---------------------- */
        !           158: /* OCIExtProcRaiseExcpWithMsg
        !           159:  *    Raise an exception to PL/SQL. In addition, substitute the
        !           160:  *    following error message string within the standard Oracle error 
        !           161:  *    message string. See note for OCIExtProcRaiseExcp
        !           162:  * 
        !           163:  * PARAMETERS
        !           164:  * Input :
        !           165:  *   with_context  - The with_context pointer that is passed to the C
        !           166:  *                   External Procedure.
        !           167:  *                   Type of with_context : OCIExtProcContext *
        !           168:  *   errnum        - Oracle Error number to signal to PL/SQL. errnum
        !           169:  *                   must be a positive number and in the range 1 to 32767
        !           170:  *                   Type of errnum : int
        !           171:  *   errmsg        - The error message associated with the errnum.
        !           172:  *                   Type of errmsg : char *
        !           173:  *   len           - The length of the error message. 0 if errmsg is
        !           174:  *                   null terminated string.
        !           175:  *                   Type of len : size_t
        !           176:  * Output :
        !           177:  *   Nothing
        !           178:  *
        !           179:  * Return :
        !           180:  *  OCIEXTPROC_SUCCESS - If the call was successful.
        !           181:  *  OCIEXTPROC_ERROR   - If the call failed.
        !           182:  *
        !           183:  */
        !           184: #define OCIExtProcRaiseExcpWithMsg(with_context, errnum, errmsg, msglen) \
        !           185: ociepmsg(with_context, (int)errnum, errmsg, (size_t)msglen)
        !           186: 
        !           187: 
        !           188: 
        !           189: /* --------------------------- OCIExtProcGetEnv --------------------------- */
        !           190: /* OCIExtProcGetEnv
        !           191:  *    Get OCI Environment
        !           192:  * 
        !           193:  * PARAMETERS
        !           194:  * Input :
        !           195:  *    with_context - The with_context pointer that is passed to the C
        !           196:  *                   External Procedure.
        !           197:  *
        !           198:  * Output :
        !           199:  *    envh - The OCI Environment handle.
        !           200:  *    svch - The OCI Service handle.
        !           201:  *    errh - The OCI Error handle.
        !           202:  *
        !           203:  * Return :
        !           204:  *  OCI_SUCCESS - Successful completion of the function.
        !           205:  *  OCI_ERROR   - Error.
        !           206:  *
        !           207:  */
        !           208: #define OCIExtProcGetEnv(with_context, envh, svch, errh) \
        !           209: ociepgoe(with_context, envh, svch, errh)
        !           210: 
        !           211: 
        !           212: 
        !           213: 
        !           214: /*---------------------------------------------------------------------------
        !           215:                      PRIVATE TYPES AND CONSTANTS
        !           216:   ---------------------------------------------------------------------------*/
        !           217: 
        !           218: 
        !           219: /*---------------------------------------------------------------------------
        !           220:                            PUBLIC FUNCTIONS
        !           221:   ---------------------------------------------------------------------------*/
        !           222: 
        !           223: 
        !           224: /*---------------------------------------------------------------------------
        !           225:                           PRIVATE FUNCTIONS
        !           226:   ---------------------------------------------------------------------------*/
        !           227: 
        !           228: 
        !           229: 
        !           230: #if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */
        !           231: dvoid *ociepacm(/*_ OCIExtProcContext *with_context, size_t amount _*/);
        !           232: #else                                                              /* ANSI C */
        !           233: dvoid *ociepacm(OCIExtProcContext *with_context, size_t amount);
        !           234: #endif
        !           235: 
        !           236: 
        !           237: 
        !           238: #if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */
        !           239: size_t ocieperr(/*_ OCIExtProcContext *with_context, int error_number _*/);
        !           240: #else                                                              /* ANSI C */
        !           241: size_t ocieperr(OCIExtProcContext *with_context, int error_number);
        !           242: #endif
        !           243: 
        !           244: 
        !           245: 
        !           246: #if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */
        !           247: size_t ociepmsg(/*_ OCIExtProcContext *with_context, int error_number,
        !           248:                  text *error_message, size_t len _*/);
        !           249: #else                                                              /* ANSI C */
        !           250: size_t ociepmsg(OCIExtProcContext *with_context, int error_number,
        !           251:                 text *error_message, size_t len );
        !           252: #endif
        !           253: 
        !           254: 
        !           255: 
        !           256: #if !defined(__STDC__) && !defined(__cplusplus)        /* K&R C - not ANSI C */
        !           257: sword ociepgoe(/*_ OCIExtProcContext *with_context, OCIEnv **envh, 
        !           258:                OCISvcCtx **svch, OCIError **errh _*/);
        !           259: #else                                                              /* ANSI C */
        !           260: sword ociepgoe(OCIExtProcContext *with_context, OCIEnv **envh, 
        !           261:                OCISvcCtx **svch, OCIError **errh);
        !           262: #endif
        !           263: 
        !           264: 
        !           265: #endif                                                     /* OCIEXTP_ORACLE */

E-mail: