Files correlati : Commento : - Creazione nuova cartella per contenere tutte le librerie esterne - Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			142 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Copyright (c) 2003, 2009, Oracle and/or its affiliates. 
 | 
						|
All rights reserved. */
 | 
						|
 
 | 
						|
/* 
 | 
						|
   NAME 
 | 
						|
     ocixmldb.h - XDB public functions
 | 
						|
 | 
						|
   DESCRIPTION 
 | 
						|
     This file contains XDB specific public functions required for DOM C-API. 
 | 
						|
 | 
						|
   RELATED DOCUMENTS 
 | 
						|
 | 
						|
 
 | 
						|
   EXPORT FUNCTION(S) 
 | 
						|
   struct xmlctx *OCIXmlDbInitXmlCtx(OCIEnv *, OCISvcCtx *, OCIError *,
 | 
						|
                               ocixmldbparam *params, int num_params);
 | 
						|
 | 
						|
   void    OCIXmlDbFreeXmlCtx(struct xmlctx *xctx);
 | 
						|
 | 
						|
 | 
						|
  ------------------------------------------------------------------------
 | 
						|
   EXAMPLES
 | 
						|
   
 | 
						|
   NOTES
 | 
						|
 | 
						|
   MODIFIED   (MM/DD/YY)
 | 
						|
   ataracha    12/11/03 - remove redundant definitions
 | 
						|
   ataracha    05/28/03 - change names
 | 
						|
   ataracha    02/18/03 - add oratypes, remove XMLERR_*
 | 
						|
   imacky      02/01/03 - remove xml.h; xdbs fix
 | 
						|
   ataracha    01/24/03 - use "struct xmlctx" instead of xmlctx
 | 
						|
   imacky      01/28/03 - fix XMLERR defs
 | 
						|
   ataracha    01/21/03 - ataracha_uni_capi_cleanup
 | 
						|
   ataracha    01/09/03 - Creation
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef ORATYPES 
 | 
						|
#include <oratypes.h> 
 | 
						|
#endif
 | 
						|
 
 | 
						|
#ifndef OCI_ORACLE
 | 
						|
# include <oci.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef OCIXMLDB_ORACLE
 | 
						|
# define OCIXMLDB_ORACLE
 | 
						|
 | 
						|
 | 
						|
/*---------------------------------------------------------------------------
 | 
						|
                     PUBLIC TYPES AND CONSTANTS
 | 
						|
  ---------------------------------------------------------------------------*/
 | 
						|
 | 
						|
#ifndef XMLCTX_DEFINED
 | 
						|
# define XMLCTX_DEFINED
 | 
						|
/* DATATYPE xmlctx - XML top-level context
 | 
						|
*/
 | 
						|
struct xmlctx; typedef struct xmlctx xmlctx;
 | 
						|
#endif
 | 
						|
 | 
						|
typedef enum 
 | 
						|
{
 | 
						|
  XCTXINIT_OCIDUR  = 1,
 | 
						|
  XCTXINIT_ERRHDL  = 2
 | 
						|
} ocixmldbpname;
 | 
						|
 | 
						|
typedef struct ocixmldbparam
 | 
						|
{
 | 
						|
  ocixmldbpname   name_ocixmldbparam;
 | 
						|
  void           *value_ocixmldbparam;
 | 
						|
} ocixmldbparam;
 | 
						|
 | 
						|
#define NUM_OCIXMLDBPARAMS 2
 | 
						|
 | 
						|
/*---------------------------------------------------------------------------
 | 
						|
                     PRIVATE TYPES AND CONSTANTS
 | 
						|
  ---------------------------------------------------------------------------*/
 | 
						|
 | 
						|
 | 
						|
/*---------------------------------------------------------------------------
 | 
						|
                           EXPORT FUNCTIONS
 | 
						|
  ---------------------------------------------------------------------------*/
 | 
						|
/*****************************************************************************
 | 
						|
                              DESCRIPTION
 | 
						|
 | 
						|
-----------------------------OCIXmlDbInitXmlCtx---------------------------------
 | 
						|
Name
 | 
						|
OCIXmlDbInitXmlCtx
 | 
						|
Purpose
 | 
						|
To get a xmlctx structure initialized with error-handler and XDB callbacks. 
 | 
						|
Syntax
 | 
						|
struct xmlctx *OCIXmlDbInitXmlCtx (OCIEnv           *envhp,
 | 
						|
                                 OCISvcCtx        *svchp, 
 | 
						|
                                 OCIError         *err, 
 | 
						|
                                 params_ocixmldb *params,
 | 
						|
                                 int               num_params);
 | 
						|
Parameters
 | 
						|
envhp (IN) - The OCI environment handle
 | 
						|
svchp (IN) - The OCI service handle
 | 
						|
errhp (IN) - The OCI error handle
 | 
						|
params (IN)- This contains the following optional parameters :
 | 
						|
   (a) OCIDuration dur (IN - The OCI Duration (Default: OCI_DURATION_SESSION)
 | 
						|
   (b) void (*err_handler) (sword, (const oratext *) (IN) - 
 | 
						|
       Pointer to the error handling function (Default: null)
 | 
						|
num_params (IN) - Number of parameters to be read from parameter params.
 | 
						|
                  If the value of num_params exceeds the size of array 
 | 
						|
                  "params", unexpected behavior will result.
 | 
						|
 | 
						|
Returns
 | 
						|
A pointer to xmlctx structure, with xdb context, error handler and callbacks 
 | 
						|
populated with appropriate values. This is later used for all API calls. NULL
 | 
						|
if no database connection available.
 | 
						|
 | 
						|
-----------------------------OCIXmlDbFreeXmlCtx----------------------------
 | 
						|
Name
 | 
						|
OCIXmlDbFreeXmlCtx
 | 
						|
Pupose
 | 
						|
To free any allocations done during OCIXmlDbInitXmlCtx.
 | 
						|
Syntax
 | 
						|
void OCIXmlDbFreeXmlCtx (struct xmlctx *xctx)
 | 
						|
Parameters
 | 
						|
xctx (IN) - The xmlctx to terminate
 | 
						|
Returns
 | 
						|
-
 | 
						|
******************************************************************************/
 | 
						|
 | 
						|
struct xmlctx *OCIXmlDbInitXmlCtx(OCIEnv *, OCISvcCtx *, OCIError *, 
 | 
						|
                            ocixmldbparam *, int);
 | 
						|
 | 
						|
void    OCIXmlDbFreeXmlCtx(struct xmlctx *xctx);
 | 
						|
sword OCIXmlDbStreamFromXMLType(OCIError   *errhp, void  **stream, 
 | 
						|
                                OCIXMLType *doc, ub4 mode);
 | 
						|
sword OCIXmlDbStreamRead(OCIError   *errhp, void  *stream, 
 | 
						|
                         void *bufp, sb8 *len, ub4 mode);
 | 
						|
sword OCIXmlDbStreamClose(OCIError *errhp, void *stream);
 | 
						|
/*---------------------------------------------------------------------------
 | 
						|
                          INTERNAL FUNCTIONS
 | 
						|
  ---------------------------------------------------------------------------*/
 | 
						|
 | 
						|
 | 
						|
#endif                                              /* OCIXMLDB_ORACLE */
 |