339 lines
10 KiB
C
339 lines
10 KiB
C
/**
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
* This file is part of the w64 mingw-runtime package.
|
|
* No warranty is given; refer to the file DISCLAIMER within this package.
|
|
*/
|
|
#ifndef _ODS_SRV_H_
|
|
#define _ODS_SRV_H_
|
|
|
|
#ifndef COMPILE_FOR_CLR
|
|
#include "windows.h"
|
|
#endif
|
|
|
|
#pragma pack(4)
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef FAR
|
|
#define FAR
|
|
#endif
|
|
|
|
#ifndef DBTYPEDEFS
|
|
#ifndef MAXNUMERICLEN
|
|
#define DBTYPEDEFS
|
|
|
|
typedef unsigned char DBBOOL;
|
|
typedef unsigned char DBBYTE;
|
|
typedef unsigned char DBTINYINT;
|
|
typedef short DBSMALLINT;
|
|
typedef unsigned short DBUSMALLINT;
|
|
typedef long DBINT;
|
|
typedef char DBCHAR;
|
|
typedef unsigned char DBBINARY;
|
|
typedef unsigned char DBBIT;
|
|
typedef double DBFLT8;
|
|
|
|
typedef struct srv_datetime {
|
|
long dtdays;
|
|
unsigned long dttime;
|
|
} DBDATETIME;
|
|
|
|
typedef struct srv_money {
|
|
long mnyhigh;
|
|
unsigned long mnylow;
|
|
} DBMONEY;
|
|
|
|
typedef float DBFLT4;
|
|
typedef long DBMONEY4;
|
|
|
|
typedef struct dbdatetime4 {
|
|
unsigned short numdays;
|
|
unsigned short nummins;
|
|
} DBDATETIM4;
|
|
|
|
#define MAXNUMERICLEN 16
|
|
typedef struct dbnumeric {
|
|
BYTE precision;
|
|
BYTE scale;
|
|
BYTE sign;
|
|
BYTE val[MAXNUMERICLEN];
|
|
} DBNUMERIC;
|
|
typedef DBNUMERIC DBDECIMAL;
|
|
#endif
|
|
#endif
|
|
|
|
#define SRV_TDS_NULL (BYTE) 0x1f
|
|
#define SRV_TDS_TEXT (BYTE) 0x23
|
|
#define SRV_TDS_GUID (BYTE) 0x24
|
|
#define SRV_TDS_VARBINARY (BYTE) 0x25
|
|
#define SRV_TDS_INTN (BYTE) 0x26
|
|
#define SRV_TDS_VARCHAR (BYTE) 0x27
|
|
#define SRV_TDS_BINARY (BYTE) 0x2d
|
|
#define SRV_TDS_IMAGE (BYTE) 0x22
|
|
#define SRV_TDS_CHAR (BYTE) 0x2f
|
|
#define SRV_TDS_INT1 (BYTE) 0x30
|
|
#define SRV_TDS_BIT (BYTE) 0x32
|
|
#define SRV_TDS_INT2 (BYTE) 0x34
|
|
#define SRV_TDS_DECIMAL (BYTE) 0x37
|
|
#define SRV_TDS_INT4 (BYTE) 0x38
|
|
#define SRV_TDS_DATETIM4 (BYTE) 0x3a
|
|
#define SRV_TDS_FLT4 (BYTE) 0x3b
|
|
#define SRV_TDS_MONEY (BYTE) 0x3c
|
|
#define SRV_TDS_DATETIME (BYTE) 0x3d
|
|
#define SRV_TDS_FLT8 (BYTE) 0x3e
|
|
#define SRV_TDS_NUMERIC (BYTE) 0x3f
|
|
#define SRV_TDS_SSVARIANT (BYTE) 0x62
|
|
#define SRV_TDS_NTEXT (BYTE) 0x63
|
|
#define SRV_TDS_BITN (BYTE) 0x68
|
|
#define SRV_TDS_DECIMALN (BYTE) 0x6a
|
|
#define SRV_TDS_NUMERICN (BYTE) 0x6c
|
|
#define SRV_TDS_FLTN (BYTE) 0x6d
|
|
#define SRV_TDS_MONEYN (BYTE) 0x6e
|
|
#define SRV_TDS_DATETIMN (BYTE) 0x6f
|
|
#define SRV_TDS_MONEY4 (BYTE) 0x7a
|
|
#define SRV_TDS_INT8 (BYTE) 0x7f
|
|
#define SRV_TDS_BIGVARBINARY (BYTE) 0xA5
|
|
#define SRV_TDS_BIGVARCHAR (BYTE) 0xA7
|
|
#define SRV_TDS_BIGBINARY (BYTE) 0xAD
|
|
#define SRV_TDS_BIGCHAR (BYTE) 0xAF
|
|
#define SRV_TDS_NVARCHAR (BYTE) 0xe7
|
|
#define SRV_TDS_NCHAR (BYTE) 0xef
|
|
|
|
#define SRVNULL SRV_TDS_NULL
|
|
#define SRVTEXT SRV_TDS_TEXT
|
|
#define SRVGUID SRV_TDS_GUID
|
|
#define SRVVARBINARY SRV_TDS_VARBINARY
|
|
#define SRVINTN SRV_TDS_INTN
|
|
#define SRVVARCHAR SRV_TDS_VARCHAR
|
|
#define SRVBINARY SRV_TDS_BINARY
|
|
#define SRVIMAGE SRV_TDS_IMAGE
|
|
#define SRVCHAR SRV_TDS_CHAR
|
|
#define SRVINT1 SRV_TDS_INT1
|
|
#define SRVBIT SRV_TDS_BIT
|
|
#define SRVINT2 SRV_TDS_INT2
|
|
#define SRVDECIMAL SRV_TDS_DECIMAL
|
|
#define SRVINT4 SRV_TDS_INT4
|
|
#define SRVDATETIM4 SRV_TDS_DATETIM4
|
|
#define SRVFLT4 SRV_TDS_FLT4
|
|
#define SRVMONEY SRV_TDS_MONEY
|
|
#define SRVDATETIME SRV_TDS_DATETIME
|
|
#define SRVFLT8 SRV_TDS_FLT8
|
|
#define SRVNUMERIC SRV_TDS_NUMERIC
|
|
#define SRVSSVARIANT SRV_TDS_SSVARIANT
|
|
#define SRVNTEXT SRV_TDS_NTEXT
|
|
#define SRVBITN SRV_TDS_BITN
|
|
#define SRVDECIMALN SRV_TDS_DECIMALN
|
|
#define SRVNUMERICN SRV_TDS_NUMERICN
|
|
#define SRVFLTN SRV_TDS_FLTN
|
|
#define SRVMONEYN SRV_TDS_MONEYN
|
|
#define SRVDATETIMN SRV_TDS_DATETIMN
|
|
#define SRVMONEY4 SRV_TDS_MONEY4
|
|
#define SRVINT8 SRV_TDS_INT8
|
|
#define SRVBIGVARBINARY SRV_TDS_BIGVARBINARY
|
|
#define SRVBIGVARCHAR SRV_TDS_BIGVARCHAR
|
|
#define SRVBIGBINARY SRV_TDS_BIGBINARY
|
|
#define SRVBIGCHAR SRV_TDS_BIGCHAR
|
|
#define SRVNVARCHAR SRV_TDS_NVARCHAR
|
|
#define SRVNCHAR SRV_TDS_NCHAR
|
|
|
|
#define SRV_ERROR 0
|
|
#define SRV_DONE 1
|
|
#define SRV_DATATYPE 2
|
|
#define SRV_EVENT 4
|
|
|
|
#define SRV_ENO_OS_ERR 0
|
|
#define SRV_INFO 1
|
|
#define SRV_FATAL_PROCESS 10
|
|
#define SRV_FATAL_SERVER 19
|
|
|
|
#define SRV_CONTINUE 0
|
|
#define SRV_LANGUAGE 1
|
|
#define SRV_CONNECT 2
|
|
#define SRV_RPC 3
|
|
#define SRV_RESTART 4
|
|
#define SRV_DISCONNECT 5
|
|
#define SRV_ATTENTION 6
|
|
#define SRV_SLEEP 7
|
|
#define SRV_START 8
|
|
#define SRV_STOP 9
|
|
#define SRV_EXIT 10
|
|
#define SRV_CANCEL 11
|
|
#define SRV_SETUP 12
|
|
#define SRV_CLOSE 13
|
|
#define SRV_PRACK 14
|
|
#define SRV_PRERROR 15
|
|
#define SRV_ATTENTION_ACK 16
|
|
#define SRV_CONNECT_V7 16
|
|
#define SRV_SKIP 17
|
|
#define SRV_TRANSMGR 18
|
|
#define SRV_PRELOGIN 19
|
|
#define SRV_OLEDB 20
|
|
#define SRV_INTERNAL_HANDLER 99
|
|
#define SRV_PROGRAMMER_DEFINED 100
|
|
|
|
#define SRV_SERVERNAME 0
|
|
#define SRV_VERSION 6
|
|
|
|
#define SRV_NULLTERM -1
|
|
|
|
#define SRV_MSG_INFO 1
|
|
#define SRV_MSG_ERROR 2
|
|
|
|
#define SRV_DONE_FINAL (USHORT) 0x0000
|
|
#define SRV_DONE_MORE (USHORT) 0x0001
|
|
#define SRV_DONE_ERROR (USHORT) 0x0002
|
|
#define SRV_DONE_COUNT (USHORT) 0x0010
|
|
#define SRV_DONE_RPC_IN_BATCH (USHORT) 0x0080
|
|
|
|
#define SRV_PARAMRETURN 0x0001
|
|
#define SRV_PARAMDEFAULT 0x0002
|
|
#define SRV_PARAMSORTORDER 0x0004
|
|
|
|
#define SRV_RECOMPILE 0x0001
|
|
#define SRV_NOMETADATA 0x0002
|
|
|
|
#define SRV_SPID 10
|
|
#define SRV_NETSPID 11
|
|
#define SRV_TYPE 12
|
|
#define SRV_STATUS 13
|
|
#define SRV_RMTSERVER 14
|
|
#define SRV_HOST 15
|
|
#define SRV_USER 16
|
|
#define SRV_PWD 17
|
|
#define SRV_CPID 18
|
|
#define SRV_APPLNAME 19
|
|
#define SRV_TDS 20
|
|
#define SRV_CLIB 21
|
|
#define SRV_LIBVERS 22
|
|
#define SRV_ROWSENT 23
|
|
#define SRV_BCPFLAG 24
|
|
#define SRV_NATLANG 25
|
|
#define SRV_PIPEHANDLE 26
|
|
#define SRV_NETWORK_MODULE 27
|
|
#define SRV_NETWORK_VERSION 28
|
|
#define SRV_NETWORK_CONNECTION 29
|
|
#define SRV_LSECURE 30
|
|
#define SRV_SAXP 31
|
|
#define SRV_UNICODE_USER 33
|
|
#define SRV_UNICODE_PWD 35
|
|
#define SRV_SPROC_CODEPAGE 36
|
|
#define SRV_MSGLCID 37
|
|
#define SRV_INSTANCENAME 38
|
|
#define SRV_HASHPWD 39
|
|
#define SRV_UNICODE_CURRENTLOGIN 40
|
|
|
|
#define SRV_TDS_NONE 0
|
|
#define SRV_TDS_2_0 1
|
|
#define SRV_TDS_3_4 2
|
|
#define SRV_TDS_4_2 3
|
|
#define SRV_TDS_6_0 4
|
|
#define SRV_TDS_7_0 5
|
|
|
|
typedef int SRVRETCODE;
|
|
#ifndef ODBCVER
|
|
typedef int RETCODE;
|
|
#endif
|
|
|
|
#ifndef SUCCEED
|
|
#define SUCCEED 1
|
|
#endif
|
|
|
|
#ifndef FAIL
|
|
#define FAIL 0
|
|
#endif
|
|
|
|
#define SRV_DUPLICATE_HANDLER 2
|
|
|
|
#ifndef COMPILE_FOR_CLR
|
|
struct srv_server;
|
|
typedef struct srv_server SRV_SERVER;
|
|
|
|
struct srv_config;
|
|
typedef struct srv_config SRV_CONFIG;
|
|
|
|
struct CXPData;
|
|
typedef struct CXPData SRV_PROC;
|
|
|
|
int __cdecl srv_describe(SRV_PROC *,int,char*,int,long int,long int,long int,long int,void *);
|
|
int __cdecl srv_setutype(SRV_PROC *srvproc,int column,long int usertype);
|
|
int __cdecl srv_setcoldata(SRV_PROC *srvproc,int column,void *data);
|
|
int __cdecl srv_setcollen(SRV_PROC *srvproc,int column,int len);
|
|
int __cdecl srv_sendrow(SRV_PROC *srvproc);
|
|
int __cdecl srv_senddone(SRV_PROC *srvproc,USHORT status,USHORT curcmd,long int count);
|
|
int __cdecl srv_rpcparams(SRV_PROC *);
|
|
int __cdecl srv_paraminfo(SRV_PROC *,int,BYTE *,ULONG *,ULONG *,BYTE *,WINBOOL *);
|
|
int __cdecl srv_paramsetoutput(SRV_PROC *,int,BYTE *,ULONG,WINBOOL);
|
|
void *__cdecl srv_paramdata(SRV_PROC *,int);
|
|
int __cdecl srv_paramlen(SRV_PROC *,int);
|
|
int __cdecl srv_parammaxlen(SRV_PROC *,int);
|
|
int __cdecl srv_paramtype(SRV_PROC *,int);
|
|
int __cdecl srv_paramset(SRV_PROC *,int,void *,int);
|
|
char *__cdecl srv_paramname(SRV_PROC *,int,int*);
|
|
int __cdecl srv_paramnumber(SRV_PROC *,char*,int);
|
|
|
|
#define SRV_GETSERVER(a) srv_getserver (a)
|
|
#define SRV_GOT_ATTENTION(a) srv_got_attention (a)
|
|
#define SRV_TDSVERSION(a) srv_tdsversion (a)
|
|
|
|
SRV_SERVER *__cdecl srv_getserver(SRV_PROC *srvproc);
|
|
WINBOOL __cdecl srv_got_attention(SRV_PROC *srvproc);
|
|
|
|
void *__cdecl srv_alloc(long int ulSize);
|
|
int __cdecl srv_bmove(void *from,void *to,long int count);
|
|
int __cdecl srv_bzero(void *location,long int count);
|
|
int __cdecl srv_free(void *ptr);
|
|
int __cdecl srv_convert(SRV_PROC *,int,void *,long int,int,void *,long int);
|
|
void *__cdecl srv_getuserdata(SRV_PROC *srvproc);
|
|
int __cdecl srv_getbindtoken(SRV_PROC *srvproc,char *token_buf);
|
|
int __cdecl srv_getdtcxact(SRV_PROC *srvproc,void **ppv);
|
|
|
|
typedef int (*EventHandler)(void *);
|
|
|
|
int __cdecl srv_impersonate_client(SRV_PROC *srvproc);
|
|
long __cdecl srv_langcpy(SRV_PROC *srvproc,long start,long nbytes,char *buffer);
|
|
long __cdecl srv_langlen(SRV_PROC *srvproc);
|
|
void *__cdecl srv_langptr(SRV_PROC *srvproc);
|
|
|
|
int __cdecl srv_log(SRV_SERVER *server,WINBOOL datestamp,char *msg,int msglen);
|
|
int __cdecl srv_paramstatus(SRV_PROC *,int);
|
|
void *__cdecl srv_pfieldex(SRV_PROC *srvproc,int field,int *len);
|
|
char *__cdecl srv_pfield(SRV_PROC *srvproc,int field,int *len);
|
|
int __cdecl srv_returnval(SRV_PROC *srvproc,char *valuename,int len,BYTE status,long int type,long int maxlen,long int datalen,void *value);
|
|
int __cdecl srv_revert_to_self(SRV_PROC *srvproc);
|
|
char *__cdecl srv_rpcdb(SRV_PROC *srvproc,int *len);
|
|
char *__cdecl srv_rpcname(SRV_PROC *srvproc,int *len);
|
|
int __cdecl srv_rpcnumber(SRV_PROC *srvproc);
|
|
USHORT __cdecl srv_rpcoptions(SRV_PROC *srvproc);
|
|
char *__cdecl srv_rpcowner(SRV_PROC *srvproc,int *len);
|
|
int __cdecl srv_wsendmsg(SRV_PROC *srvproc,long int msgnum,BYTE msgclass,WCHAR *message,int msglen);
|
|
int __cdecl srv_sendmsg(SRV_PROC *srvproc,int msgtype,long int msgnum,BYTE msgclass,BYTE state,char *rpcname,int rpcnamelen,USHORT linenum,char *message,int msglen);
|
|
int __cdecl srv_sendstatus(SRV_PROC *srvproc,long int status);
|
|
int __cdecl srv_setuserdata(SRV_PROC *srvproc,void *ptr);
|
|
char *__cdecl srv_sfield(SRV_SERVER *server,int field,int *len);
|
|
char *__cdecl srv_symbol(int type,int symbol,int *len);
|
|
int __cdecl srv_tdsversion(SRV_PROC *srvproc);
|
|
WINBOOL __cdecl srv_willconvert(int srctype,int desttype);
|
|
int __cdecl srv_terminatethread(SRV_PROC *srvproc);
|
|
int __cdecl srv_sendstatistics(SRV_PROC *srvproc);
|
|
int __cdecl srv_clearstatistics(SRV_PROC *srvproc);
|
|
int __cdecl srv_message_handler(SRV_PROC *srvproc,int errornum,BYTE severity,BYTE state,int oserrnum,char *errtext,int errtextlen,char *oserrtext,int oserrtextlen);
|
|
int __cdecl srv_pre_handle(SRV_SERVER *server,SRV_PROC *srvproc,long int event,EventHandler handler,WINBOOL remove);
|
|
int __cdecl srv_post_handle(SRV_SERVER *server,SRV_PROC *srvproc,long int event,EventHandler handler,WINBOOL remove);
|
|
int __cdecl srv_IgnoreAnsiToOem(SRV_PROC *srvproc,WINBOOL bTF);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#pragma pack()
|
|
|
|
#define SS_MAJOR_VERSION 7
|
|
#define SS_MINOR_VERSION 00
|
|
#define SS_LEVEL_VERSION 0000
|
|
#define SS_MINIMUM_VERSION "7.00.00.0000"
|
|
#define ODS_VERSION ((SS_MAJOR_VERSION << 24) | (SS_MINOR_VERSION << 16))
|
|
#endif
|