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
		
			
				
	
	
		
			292 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			292 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
**      SAP OpenClient
 | 
						|
**      Copyright (c) 2013 SAP AG or an SAP affiliate company.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
/*
 | 
						|
** blkpublic.h - for the bulk copy library API routines
 | 
						|
*/
 | 
						|
#ifndef __BKPUBLIC_H__
 | 
						|
 | 
						|
#define __BKPUBLIC_H__
 | 
						|
 | 
						|
 | 
						|
#ifndef __NO_INCLUDE__
 | 
						|
#include        <ctpublic.h>
 | 
						|
#endif /* __NO_INCLUDE__ */
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
**
 | 
						|
** defines used in BLK-Lib applications
 | 
						|
**
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
/*
 | 
						|
** Define for a constant to differentiate the
 | 
						|
** blklib api's/
 | 
						|
*/
 | 
						|
#define BLK_API_CONT            (CS_INT) 500
 | 
						|
/*
 | 
						|
** define for each BLK-Lib API
 | 
						|
*/
 | 
						|
 | 
						|
#define BLK_NOAPI               ((CS_INT) 0 + BLK_API_CONT)
 | 
						|
#define BLK_BIND                ((CS_INT) 1 + BLK_API_CONT)
 | 
						|
#define BLK_DESCRIBE            ((CS_INT) 2 + BLK_API_CONT)
 | 
						|
#define BLK_DEFAULT             ((CS_INT) 3 + BLK_API_CONT)
 | 
						|
#define BLK_INIT                ((CS_INT) 4 + BLK_API_CONT)
 | 
						|
#define BLK_DONE                ((CS_INT) 5 + BLK_API_CONT)
 | 
						|
#define BLK_ROWXFER             ((CS_INT) 6 + BLK_API_CONT)
 | 
						|
#define BLK_TEXTXFER            ((CS_INT) 7 + BLK_API_CONT)
 | 
						|
#define BLK_SENDROW             ((CS_INT) 8 + BLK_API_CONT)
 | 
						|
#define BLK_SENDTEXT            ((CS_INT) 9 + BLK_API_CONT)
 | 
						|
#define BLK_DROP                ((CS_INT) 10 + BLK_API_CONT)
 | 
						|
#define BLK_GETROW		((CS_INT) 11 + BLK_API_CONT)
 | 
						|
#define BLK_COLVAL		((CS_INT) 12 + BLK_API_CONT)
 | 
						|
#define BLK_GETTEXT		((CS_INT) 13 + BLK_API_CONT)
 | 
						|
#define BLK_PROPS		((CS_INT) 14 + BLK_API_CONT)
 | 
						|
 | 
						|
 | 
						|
/*
 | 
						|
** The direction of the bulk copy - set in blk_init()
 | 
						|
*/
 | 
						|
#define CS_BLK_IN	(CS_INT) 1
 | 
						|
#define	CS_BLK_OUT	(CS_INT) 2
 | 
						|
 | 
						|
/*
 | 
						|
** For the blk_done - 
 | 
						|
**	just send a batch of records over
 | 
						|
** 	end the bulk copy operation
 | 
						|
**	Cancel the bulk copy operation
 | 
						|
*/
 | 
						|
#define CS_BLK_BATCH	(CS_INT) 1
 | 
						|
#define CS_BLK_ALL	(CS_INT) 2
 | 
						|
#define CS_BLK_CANCEL	(CS_INT) 3
 | 
						|
 | 
						|
/*
 | 
						|
** For blk_default when there is no default value for the column
 | 
						|
*/
 | 
						|
#define	CS_NO_DEFAULT	(CS_INT) (-999)
 | 
						|
 | 
						|
 | 
						|
#ifndef		BLK_VERSION_100
 | 
						|
#define		BLK_VERSION_100	CS_VERSION_100
 | 
						|
#define		BLK_VERSION_100_NO_LRGID CS_VERSION_100_NO_LRGID
 | 
						|
#endif		/* BLK_VERSION_100 */
 | 
						|
 | 
						|
/* 
 | 
						|
** define BLK_VERSION_110 as BLK_VERSION_100
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_110
 | 
						|
#define		BLK_VERSION_110	BLK_VERSION_100
 | 
						|
#define		BLK_VERSION_110_NO_LRGID BLK_VERSION_100_NO_LRGID
 | 
						|
#endif		/* BLK_VERSION_110 */
 | 
						|
 | 
						|
/* 
 | 
						|
** define BLK_VERSION_120 as BLK_VERSION_100
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_120
 | 
						|
#define		BLK_VERSION_120	BLK_VERSION_100
 | 
						|
#define		BLK_VERSION_12_NO_LRGID0 BLK_VERSION_100_NO_LRGID
 | 
						|
#endif		/* BLK_VERSION_120 */
 | 
						|
 | 
						|
/* 
 | 
						|
** define BLK_VERSION_125 as CS_VERSION_125
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_125
 | 
						|
#define		BLK_VERSION_125	CS_VERSION_125
 | 
						|
#define		BLK_VERSION_125_NO_LRGID CS_VERSION_125_NO_LRGID
 | 
						|
#endif		/* BLK_VERSION_125 */
 | 
						|
 | 
						|
/* 
 | 
						|
** define BLK_VERSION_150 as CS_VERSION_150
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_150
 | 
						|
#define		BLK_VERSION_150 CS_VERSION_150
 | 
						|
#define		BLK_VERSION_150_NO_LRGID CS_VERSION_150_NO_LRGID
 | 
						|
#endif		/* BLK_VERSION_150 */
 | 
						|
 | 
						|
/*
 | 
						|
** define BLK_VERSION_155 as CS_VERSION_155
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_155
 | 
						|
#define		BLK_VERSION_155 CS_VERSION_155
 | 
						|
#endif		/* BLK_VERSION_155 */
 | 
						|
 | 
						|
/*
 | 
						|
** define BLK_VERSION_157 as CS_VERSION_157
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_157
 | 
						|
#define		BLK_VERSION_157 CS_VERSION_157
 | 
						|
#endif		/* BLK_VERSION_157 */
 | 
						|
 | 
						|
/*
 | 
						|
** define BLK_VERSION_160 as CS_VERSION_160
 | 
						|
*/
 | 
						|
#ifndef		BLK_VERSION_160
 | 
						|
#define		BLK_VERSION_160 CS_VERSION_160
 | 
						|
#endif		/* BLK_VERSION_160 */
 | 
						|
 | 
						|
/*
 | 
						|
** For the bulk copy options - used with blk_props()
 | 
						|
*/
 | 
						|
#define BLK_IDENTITY    	(CS_INT) (1)
 | 
						|
#define BLK_SENSITIVITY_LBL     (CS_INT) (2)
 | 
						|
#define BLK_NOAPI_CHK    	(CS_INT) (3)
 | 
						|
#define BLK_SLICENUM    	(CS_INT) (4)
 | 
						|
#define BLK_IDSTARTNUM    	(CS_INT) (5)
 | 
						|
#define BLK_ARRAY_INSERT        (CS_INT) (6)
 | 
						|
#define ARRAY_INSERT            BLK_ARRAY_INSERT
 | 
						|
#define BLK_CONV		(CS_INT) (7)
 | 
						|
#define BLK_PARTITION		(CS_INT) (8)
 | 
						|
#define BLK_CUSTOM_CLAUSE	(CS_INT) (9)
 | 
						|
 | 
						|
/*
 | 
						|
** Special value for datafmt.status in blklib with array binding
 | 
						|
*/
 | 
						|
#define CS_BLK_ARRAY_MAXLEN		(CS_INT)0x1000
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
**
 | 
						|
** define all user accessable functions here
 | 
						|
**
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
/*
 | 
						|
** declare all functions
 | 
						|
*/
 | 
						|
 | 
						|
CS_START_EXTERN_C
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_alloc PROTOTYPE((
 | 
						|
        CS_CONNECTION *connection,
 | 
						|
        CS_INT version,
 | 
						|
        CS_BLKDESC **blkdesc
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_bind PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_INT colnum,
 | 
						|
	CS_DATAFMT *datafmt,
 | 
						|
	CS_VOID *buf,
 | 
						|
	CS_INT *datalen,
 | 
						|
	CS_SMALLINT *indicator
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_colval PROTOTYPE((
 | 
						|
        CS_VOID *srvproc,
 | 
						|
        CS_BLKDESC *blkdesc,
 | 
						|
        CS_BLK_ROW *row,
 | 
						|
        CS_INT colnum,
 | 
						|
        CS_VOID *value,
 | 
						|
        CS_INT valuelen,
 | 
						|
        CS_INT *outlen
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_default PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_INT colnum,
 | 
						|
	CS_VOID *value,
 | 
						|
	CS_INT valuelen,
 | 
						|
	CS_INT *outlen
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_describe PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_INT colnum,
 | 
						|
	CS_DATAFMT *datafmt
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_done PROTOTYPE((
 | 
						|
        CS_BLKDESC *blkdesc,
 | 
						|
        CS_INT option,
 | 
						|
        CS_INT *outrows
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_drop PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_getrow PROTOTYPE((
 | 
						|
        CS_VOID *srvproc,
 | 
						|
        CS_BLKDESC *blkdesc,
 | 
						|
        CS_BLK_ROW *row
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_gettext PROTOTYPE((
 | 
						|
        CS_VOID *srvproc,
 | 
						|
        CS_BLKDESC *blkdesc,
 | 
						|
        CS_BLK_ROW *row,
 | 
						|
        CS_BYTE *buf,
 | 
						|
        CS_INT buflen,
 | 
						|
        CS_INT *bytes_read
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_init PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_INT direction,
 | 
						|
	CS_CHAR *tblname,
 | 
						|
	CS_INT tblnamelen
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_rowalloc PROTOTYPE((
 | 
						|
        CS_VOID *srvproc,
 | 
						|
        CS_BLK_ROW **row
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_rowdrop PROTOTYPE((
 | 
						|
        CS_VOID *srvproc,
 | 
						|
        CS_BLK_ROW *row
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_rowxfer PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_rowxfer_mult PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_INT *rowcount
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_sendrow PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_BLK_ROW *row
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_sendtext PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_BLK_ROW *row,
 | 
						|
	CS_BYTE *buf,
 | 
						|
	CS_INT buflen
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_srvinit PROTOTYPE((
 | 
						|
        CS_VOID *srvproc,
 | 
						|
        CS_BLKDESC *blkdesc
 | 
						|
        ));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_textxfer PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_BYTE *buf,
 | 
						|
	CS_INT buflen,
 | 
						|
	CS_INT *outlen
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_props PROTOTYPE((
 | 
						|
	CS_BLKDESC *blkdesc,
 | 
						|
	CS_INT action,
 | 
						|
	CS_INT property,
 | 
						|
	CS_VOID *buffer,
 | 
						|
	CS_INT buflen,
 | 
						|
	CS_INT *outlen
 | 
						|
	));
 | 
						|
 | 
						|
extern CS_RETCODE CS_PUBLIC blk_bcp_indicator PROTOTYPE((
 | 
						|
        CS_BLKDESC *blkdesc,
 | 
						|
        CS_BOOL action
 | 
						|
        ));
 | 
						|
 | 
						|
CS_END_EXTERN_C
 | 
						|
 | 
						|
#endif /* end of __BKPUBLIC_H__ */
 |