mtollari 63d98e39cd Patch level : 12.0 no-patch
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
2017-10-26 09:07:39 +00:00

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