63d98e39cd
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__ */
|