|
|
|
| 1 |
|
//------------------------------------------------------------ |
| 2 |
|
// Open Data Services header file: srv.h |
| 3 |
|
// Copyright (c) Microsoft Corporation. All rights reserved. |
| 4 |
|
// |
| 5 |
|
|
| 6 |
|
// Avoid double inclusion |
| 7 |
|
#ifndef _ODS_SRV_H_ |
| 8 |
|
#define _ODS_SRV_H_ |
| 9 |
|
|
| 10 |
|
#ifndef COMPILE_FOR_CLR |
| 11 |
|
#include "windows.h" |
| 12 |
|
#endif |
| 13 |
|
|
| 14 |
|
// ODS uses pack(4) on all CPU types |
| 15 |
|
#pragma pack(4) |
| 16 |
|
|
| 17 |
|
#ifdef __cplusplus |
| 18 |
|
extern "C" { |
| 19 |
|
#endif |
| 20 |
|
|
| 21 |
|
// define model |
| 22 |
|
#if !defined( FAR ) |
| 23 |
|
#define FAR far |
| 24 |
|
#endif |
| 25 |
|
|
| 26 |
|
//------------------------------------------------------------ |
| 27 |
|
// Formats of data types |
| 28 |
|
#if !defined(DBTYPEDEFS) // Do not conflict with DBLIB definitions |
| 29 |
|
#if !defined(MAXNUMERICLEN) // Do not conflict with ODBC definitions |
| 30 |
|
|
| 31 |
|
#define DBTYPEDEFS |
| 32 |
|
|
| 33 |
|
typedef unsigned char DBBOOL; |
| 34 |
|
typedef unsigned char DBBYTE; |
| 35 |
|
typedef unsigned char DBTINYINT; |
| 36 |
|
typedef short DBSMALLINT; |
| 37 |
|
typedef unsigned short DBUSMALLINT; |
| 38 |
|
typedef long DBINT; |
| 39 |
|
typedef char DBCHAR; |
| 40 |
|
typedef unsigned char DBBINARY; |
| 41 |
|
typedef unsigned char DBBIT; |
| 42 |
|
typedef double DBFLT8; |
| 43 |
|
|
| 44 |
|
typedef struct srv_datetime |
| 45 |
|
{ // Format for SRVDATETIME |
| 46 |
|
long dtdays; // number of days since 1/1/1900 |
| 47 |
|
unsigned long dttime; // number 300th second since mid |
| 48 |
|
} DBDATETIME; |
| 49 |
|
|
| 50 |
|
typedef struct srv_money |
| 51 |
|
{ // Format for SRVMONEY |
| 52 |
|
long mnyhigh; |
| 53 |
|
unsigned long mnylow; |
| 54 |
|
} DBMONEY; |
| 55 |
|
|
| 56 |
|
typedef float DBFLT4; |
| 57 |
|
typedef long DBMONEY4; |
| 58 |
|
|
| 59 |
|
typedef struct dbdatetime4 |
| 60 |
|
{ // Format for SRVDATETIM4 |
| 61 |
|
unsigned short numdays; // number of days since 1/1/1900 |
| 62 |
|
unsigned short nummins; // number of minutes sicne midnight |
| 63 |
|
} DBDATETIM4; |
| 64 |
|
|
| 65 |
|
#define MAXNUMERICLEN 16 |
| 66 |
|
typedef struct dbnumeric |
| 67 |
|
{ // Format for SRVNUMERIC,SRVNUMERICN,SRVDECIMAL,SRVDECIMALN |
| 68 |
|
BYTE precision; |
| 69 |
|
BYTE scale; |
| 70 |
|
BYTE sign; |
| 71 |
|
BYTE val[MAXNUMERICLEN]; |
| 72 |
|
} DBNUMERIC; |
| 73 |
|
typedef DBNUMERIC DBDECIMAL; |
| 74 |
|
|
| 75 |
|
#endif // #if !defined(MAXNUMERICLEN) |
| 76 |
|
#endif // #if !defined( DBTYPEDEFS ) |
| 77 |
|
|
| 78 |
|
//------------------------------------------------------------ |
| 79 |
|
// Constants used by APIs |
| 80 |
|
|
| 81 |
|
// Type Tokens |
| 82 |
|
#define SRV_TDS_NULL (BYTE) 0x1f |
| 83 |
|
#define SRV_TDS_TEXT (BYTE) 0x23 |
| 84 |
|
#define SRV_TDS_GUID (BYTE) 0x24 |
| 85 |
|
#define SRV_TDS_VARBINARY (BYTE) 0x25 |
| 86 |
|
#define SRV_TDS_INTN (BYTE) 0x26 |
| 87 |
|
#define SRV_TDS_VARCHAR (BYTE) 0x27 |
| 88 |
|
#define SRV_TDS_BINARY (BYTE) 0x2d |
| 89 |
|
#define SRV_TDS_IMAGE (BYTE) 0x22 |
| 90 |
|
#define SRV_TDS_CHAR (BYTE) 0x2f |
| 91 |
|
#define SRV_TDS_INT1 (BYTE) 0x30 |
| 92 |
|
#define SRV_TDS_BIT (BYTE) 0x32 |
| 93 |
|
#define SRV_TDS_INT2 (BYTE) 0x34 |
| 94 |
|
#define SRV_TDS_DECIMAL (BYTE) 0x37 |
| 95 |
|
#define SRV_TDS_INT4 (BYTE) 0x38 |
| 96 |
|
#define SRV_TDS_DATETIM4 (BYTE) 0x3a |
| 97 |
|
#define SRV_TDS_FLT4 (BYTE) 0x3b |
| 98 |
|
#define SRV_TDS_MONEY (BYTE) 0x3c |
| 99 |
|
#define SRV_TDS_DATETIME (BYTE) 0x3d |
| 100 |
|
#define SRV_TDS_FLT8 (BYTE) 0x3e |
| 101 |
|
#define SRV_TDS_NUMERIC (BYTE) 0x3f |
| 102 |
|
#define SRV_TDS_SSVARIANT (BYTE) 0x62 |
| 103 |
|
#define SRV_TDS_NTEXT (BYTE) 0x63 |
| 104 |
|
#define SRV_TDS_BITN (BYTE) 0x68 |
| 105 |
|
#define SRV_TDS_DECIMALN (BYTE) 0x6a |
| 106 |
|
#define SRV_TDS_NUMERICN (BYTE) 0x6c |
| 107 |
|
#define SRV_TDS_FLTN (BYTE) 0x6d |
| 108 |
|
#define SRV_TDS_MONEYN (BYTE) 0x6e |
| 109 |
|
#define SRV_TDS_DATETIMN (BYTE) 0x6f |
| 110 |
|
#define SRV_TDS_MONEY4 (BYTE) 0x7a |
| 111 |
|
#define SRV_TDS_INT8 (BYTE) 0x7f |
| 112 |
|
#define SRV_TDS_BIGVARBINARY (BYTE) 0xA5 |
| 113 |
|
#define SRV_TDS_BIGVARCHAR (BYTE) 0xA7 |
| 114 |
|
#define SRV_TDS_BIGBINARY (BYTE) 0xAD |
| 115 |
|
#define SRV_TDS_BIGCHAR (BYTE) 0xAF |
| 116 |
|
#define SRV_TDS_NVARCHAR (BYTE) 0xe7 |
| 117 |
|
#define SRV_TDS_NCHAR (BYTE) 0xef |
| 118 |
|
|
| 119 |
|
// Datatypes |
| 120 |
|
// Also: values of symbol parameter to srv_symbol when type = SRV_DATATYPE |
| 121 |
|
#define SRVNULL SRV_TDS_NULL |
| 122 |
|
#define SRVTEXT SRV_TDS_TEXT |
| 123 |
|
#define SRVGUID SRV_TDS_GUID |
| 124 |
|
#define SRVVARBINARY SRV_TDS_VARBINARY |
| 125 |
|
#define SRVINTN SRV_TDS_INTN |
| 126 |
|
#define SRVVARCHAR SRV_TDS_VARCHAR |
| 127 |
|
#define SRVBINARY SRV_TDS_BINARY |
| 128 |
|
#define SRVIMAGE SRV_TDS_IMAGE |
| 129 |
|
#define SRVCHAR SRV_TDS_CHAR |
| 130 |
|
#define SRVINT1 SRV_TDS_INT1 |
| 131 |
|
#define SRVBIT SRV_TDS_BIT |
| 132 |
|
#define SRVINT2 SRV_TDS_INT2 |
| 133 |
|
#define SRVDECIMAL SRV_TDS_DECIMAL |
| 134 |
|
#define SRVINT4 SRV_TDS_INT4 |
| 135 |
|
#define SRVDATETIM4 SRV_TDS_DATETIM4 |
| 136 |
|
#define SRVFLT4 SRV_TDS_FLT4 |
| 137 |
|
#define SRVMONEY SRV_TDS_MONEY |
| 138 |
|
#define SRVDATETIME SRV_TDS_DATETIME |
| 139 |
|
#define SRVFLT8 SRV_TDS_FLT8 |
| 140 |
|
#define SRVNUMERIC SRV_TDS_NUMERIC |
| 141 |
|
#define SRVSSVARIANT SRV_TDS_SSVARIANT |
| 142 |
|
#define SRVNTEXT SRV_TDS_NTEXT |
| 143 |
|
#define SRVBITN SRV_TDS_BITN |
| 144 |
|
#define SRVDECIMALN SRV_TDS_DECIMALN |
| 145 |
|
#define SRVNUMERICN SRV_TDS_NUMERICN |
| 146 |
|
#define SRVFLTN SRV_TDS_FLTN |
| 147 |
|
#define SRVMONEYN SRV_TDS_MONEYN |
| 148 |
|
#define SRVDATETIMN SRV_TDS_DATETIMN |
| 149 |
|
#define SRVMONEY4 SRV_TDS_MONEY4 |
| 150 |
|
#define SRVINT8 SRV_TDS_INT8 |
| 151 |
|
#define SRVBIGVARBINARY SRV_TDS_BIGVARBINARY |
| 152 |
|
#define SRVBIGVARCHAR SRV_TDS_BIGVARCHAR |
| 153 |
|
#define SRVBIGBINARY SRV_TDS_BIGBINARY |
| 154 |
|
#define SRVBIGCHAR SRV_TDS_BIGCHAR |
| 155 |
|
#define SRVNVARCHAR SRV_TDS_NVARCHAR |
| 156 |
|
#define SRVNCHAR SRV_TDS_NCHAR |
| 157 |
|
|
| 158 |
|
// values for srv_symbol type parameter |
| 159 |
|
#define SRV_ERROR 0 |
| 160 |
|
#define SRV_DONE 1 |
| 161 |
|
#define SRV_DATATYPE 2 |
| 172 |
|
#define SRV_CONTINUE 0 |
| 173 |
|
#define SRV_LANGUAGE 1 |
| 174 |
|
#define SRV_CONNECT 2 |
| 175 |
|
#define SRV_RPC 3 |
| 176 |
|
#define SRV_RESTART 4 |
| 177 |
|
#define SRV_DISCONNECT 5 |
| 178 |
|
#define SRV_ATTENTION 6 |
| 179 |
|
#define SRV_SLEEP 7 |
| 180 |
|
#define SRV_START 8 |
| 181 |
|
#define SRV_STOP 9 |
| 182 |
|
#define SRV_EXIT 10 |
| 183 |
|
#define SRV_CANCEL 11 |
| 184 |
|
#define SRV_SETUP 12 |
| 185 |
|
#define SRV_CLOSE 13 |
| 186 |
|
#define SRV_PRACK 14 |
| 187 |
|
#define SRV_PRERROR 15 |
| 188 |
|
#define SRV_ATTENTION_ACK 16 |
| 189 |
|
#define SRV_CONNECT_V7 16 // TDS type for TDS 7 clients. Overloaded with SRV_ATTENTION_ACK |
| 190 |
|
#define SRV_SKIP 17 |
| 191 |
|
#define SRV_TRANSMGR 18 |
| 192 |
|
#define SRV_PRELOGIN 19 |
| 193 |
|
#define SRV_OLEDB 20 |
| 194 |
|
#define SRV_INTERNAL_HANDLER 99 |
| 195 |
|
#define SRV_PROGRAMMER_DEFINED 100 |
| 196 |
|
|
| 197 |
|
// values for srv_sfield field parameter |
| 198 |
|
#define SRV_SERVERNAME 0 |
| 199 |
|
#define SRV_VERSION 6 |
| 200 |
|
|
| 201 |
|
// Length to indicate string is null terminated |
| 202 |
|
#define SRV_NULLTERM -1 |
| 203 |
|
|
| 204 |
|
// values of msgtype parameter to srv_sendmsg |
| 205 |
|
#define SRV_MSG_INFO 1 |
| 206 |
|
#define SRV_MSG_ERROR 2 |
| 207 |
|
|
| 208 |
|
// values of status parameter to srv_senddone |
| 209 |
|
// Also: values for symbol parameters to srv_symbol when type = SRV_DONE |
| 210 |
|
#define SRV_DONE_FINAL (USHORT) 0x0000 |
| 211 |
|
#define SRV_DONE_MORE (USHORT) 0x0001 |
| 212 |
|
#define SRV_DONE_ERROR (USHORT) 0x0002 |
| 213 |
|
#define SRV_DONE_COUNT (USHORT) 0x0010 |
| 214 |
|
#define SRV_DONE_RPC_IN_BATCH (USHORT) 0x0080 |
| 215 |
|
|
| 216 |
|
// return values of srv_paramstatus |
| 217 |
|
#define SRV_PARAMRETURN 0x0001 |
| 218 |
|
#define SRV_PARAMDEFAULT 0x0002 |
| 219 |
|
#define SRV_PARAMSORTORDER 0x0004 |
| 220 |
|
|
| 221 |
|
// return values of srv_rpcoptions |
| 222 |
|
#define SRV_RECOMPILE 0x0001 |
| 223 |
|
#define SRV_NOMETADATA 0x0002 |
| 224 |
|
|
| 225 |
|
// values of field parameter to srv_pfield |
| 226 |
|
//#define SRV_LANGUAGE 1 already defined above |
| 227 |
|
//#define SRV_EVENT 4 already defined above |
| 228 |
|
#define SRV_SPID 10 |
| 229 |
|
#define SRV_NETSPID 11 |
| 230 |
|
#define SRV_TYPE 12 |
| 231 |
|
#define SRV_STATUS 13 |
| 232 |
|
#define SRV_RMTSERVER 14 |
| 233 |
|
#define SRV_HOST 15 |
| 234 |
|
#define SRV_USER 16 |
| 235 |
|
#define SRV_PWD 17 |
| 236 |
|
#define SRV_CPID 18 |
| 237 |
|
#define SRV_APPLNAME 19 |
| 238 |
|
#define SRV_TDS 20 |
| 239 |
|
#define SRV_CLIB 21 |
| 240 |
|
#define SRV_LIBVERS 22 |
| 241 |
|
#define SRV_ROWSENT 23 |
| 242 |
|
#define SRV_BCPFLAG 24 |
| 243 |
|
#define SRV_NATLANG 25 |
| 244 |
|
#define SRV_PIPEHANDLE 26 |
| 245 |
|
#define SRV_NETWORK_MODULE 27 |
| 246 |
|
#define SRV_NETWORK_VERSION 28 |
| 247 |
|
#define SRV_NETWORK_CONNECTION 29 |
| 248 |
|
#define SRV_LSECURE 30 |
| 249 |
|
#define SRV_SAXP 31 |
| 250 |
|
#define SRV_UNICODE_USER 33 |
| 251 |
|
#define SRV_UNICODE_PWD 35 |
| 252 |
|
#define SRV_SPROC_CODEPAGE 36 |
| 253 |
|
#define SRV_MSGLCID 37 |
| 254 |
|
#define SRV_INSTANCENAME 38 |
| 255 |
|
#define SRV_HASHPWD 39 |
| 256 |
|
#define SRV_UNICODE_CURRENTLOGIN 40 |
| 257 |
|
|
| 258 |
|
// return value of SRV_TDSVERSION macro |
| 259 |
|
#define SRV_TDS_NONE 0 |
| 260 |
|
#define SRV_TDS_2_0 1 |
| 261 |
|
#define SRV_TDS_3_4 2 |
| 262 |
|
#define SRV_TDS_4_2 3 |
| 263 |
|
#define SRV_TDS_6_0 4 |
| 264 |
|
#define SRV_TDS_7_0 5 |
| 265 |
|
|
| 266 |
|
// Return values from APIs |
| 267 |
|
typedef int SRVRETCODE; // SUCCEED or FAIL |
| 268 |
|
#ifndef ODBCVER |
| 269 |
|
typedef int RETCODE; |
| 270 |
|
#endif |
| 271 |
|
|
| 272 |
|
#if !defined( SUCCEED ) |
| 273 |
|
#define SUCCEED 1 // Successful return value |
| 274 |
|
#endif |
| 275 |
|
|
| 276 |
|
#if !defined( FAIL ) |
| 277 |
|
#define FAIL 0 // Unsuccessful return value |
| 278 |
|
#endif |
| 279 |
|
|
| 280 |
|
#define SRV_DUPLICATE_HANDLER 2 // additional return value for srv_pre/post_handle |
| 281 |
|
|
| 282 |
|
#ifndef COMPILE_FOR_CLR |
| 283 |
|
//------------------------------------------------ |
| 284 |
|
//PreDeclare structures |
| 285 |
|
// |
| 286 |
|
struct srv_server; |
| 287 |
|
typedef struct srv_server SRV_SERVER; |
| 288 |
|
|
| 289 |
|
struct srv_config; |
| 290 |
|
typedef struct srv_config SRV_CONFIG; |
| 291 |
|
|
| 292 |
|
struct CXPData; |
| 293 |
|
typedef struct CXPData SRV_PROC; |
| 294 |
|
|
| 295 |
|
|
| 296 |
|
//------------------------------------------------ |
| 297 |
|
//------------------------------------------------ |
| 298 |
|
// ODS MACROs & APIs |
| 299 |
|
|
| 300 |
|
// Describing and sending a result set |
| 301 |
|
int __cdecl srv_describe(SRV_PROC*,int,char*,int,long int,long int,long int,long int,void*); |
| 302 |
|
int __cdecl srv_setutype(SRV_PROC* srvproc,int column,long int usertype); |
| 303 |
|
int __cdecl srv_setcoldata(SRV_PROC* srvproc,int column,void* data); |
| 304 |
|
int __cdecl srv_setcollen( SRV_PROC* srvproc,int column,int len); |
| 305 |
|
int __cdecl srv_sendrow(SRV_PROC* srvproc ); |
| 306 |
|
int __cdecl srv_senddone(SRV_PROC* srvproc,USHORT status,USHORT curcmd,long int count); |
| 307 |
|
|
| 308 |
|
// Dealing with Extended Procedure parameters |
| 309 |
|
int __cdecl srv_rpcparams(SRV_PROC*); |
| 310 |
|
int __cdecl srv_paraminfo(SRV_PROC*,int,BYTE*,ULONG*,ULONG*,BYTE*,BOOL*); |
| 311 |
|
int __cdecl srv_paramsetoutput(SRV_PROC*,int,BYTE*,ULONG,BOOL); |
| 312 |
|
|
| 313 |
|
void* __cdecl srv_paramdata(SRV_PROC*,int); |
| 314 |
|
int __cdecl srv_paramlen(SRV_PROC*,int); |
| 315 |
|
int __cdecl srv_parammaxlen(SRV_PROC*,int); |
| 316 |
|
int __cdecl srv_paramtype(SRV_PROC*,int); |
| 317 |
|
int __cdecl srv_paramset(SRV_PROC*,int,void*,int); |
| 318 |
|
|
| 319 |
|
char* __cdecl srv_paramname(SRV_PROC*,int,int*); |
| 320 |
|
int __cdecl srv_paramnumber(SRV_PROC*,char*,int); |
| 321 |
|
|
| 322 |
|
//-------------------------------------------------------------- |
| 323 |
|
//-------------------------------------------------------------- |
| 324 |
|
// The rest of these APIs are still supported, in SQL Server 7.0, |
| 325 |
|
// but may not be supported after SQL Server 7.0 |
| 326 |
|
|
| 327 |
|
// MACROs |
| 328 |
|
#define SRV_GETSERVER(a) srv_getserver ( a ) |
| 329 |
|
#define SRV_GOT_ATTENTION(a) srv_got_attention ( a ) |
| 330 |
|
#define SRV_TDSVERSION(a) srv_tdsversion ( a ) |
| 331 |
|
|
| 332 |
|
SRV_SERVER* __cdecl srv_getserver( SRV_PROC * srvproc ); |
| 333 |
|
BOOL __cdecl srv_got_attention( SRV_PROC * srvproc ); |
| 334 |
|
|
| 335 |
|
// Memory |
| 336 |
|
void* __cdecl srv_alloc(long int ulSize); |
| 337 |
|
int __cdecl srv_bmove(void* from,void* to,long int count); |
| 338 |
|
int __cdecl srv_bzero( void * location,long int count); |
| 339 |
|
int __cdecl srv_free( void * ptr ); |
| 340 |
|
|
| 341 |
|
|
| 342 |
|
int __cdecl srv_convert(SRV_PROC*,int,void*,long int,int,void*,long int); |
| 343 |
|
|
| 344 |
|
void* __cdecl srv_getuserdata( SRV_PROC * srvproc ); |
| 345 |
|
|
| 346 |
|
int __cdecl srv_getbindtoken(SRV_PROC * srvproc,char* token_buf); |
| 347 |
|
|
| 348 |
|
int __cdecl srv_getdtcxact(SRV_PROC * srvproc,void ** ppv); |
| 349 |
|
|
| 350 |
|
typedef int (* EventHandler)(void *); |
| 351 |
|
|
| 352 |
|
int __cdecl srv_impersonate_client( SRV_PROC * srvproc ); |
| 353 |
|
|
| 354 |
|
long __cdecl srv_langcpy(SRV_PROC * srvproc,long start,long nbytes,char* buffer); |
| 355 |
|
long __cdecl srv_langlen( SRV_PROC * srvproc ); |
| 356 |
|
void* __cdecl srv_langptr( SRV_PROC *srvproc ); |
| 357 |
|
|
| 358 |
|
int |
| 359 |
|
__cdecl srv_log( SRV_SERVER * server, |
| 360 |
|
BOOL datestamp, |
| 361 |
|
char * msg, |
| 362 |
|
int msglen ); |
| 363 |
|
|
| 364 |
|
int __cdecl srv_paramstatus(SRV_PROC*,int); |
| 365 |
|
|
| 366 |
|
void* __cdecl srv_pfieldex( SRV_PROC * srvproc,int field,int * len ); |
| 367 |
|
|
| 368 |
|
char* __cdecl srv_pfield( SRV_PROC * srvproc,int field,int * len ); |
| 369 |
|
|
| 370 |
|
int __cdecl srv_returnval( SRV_PROC * srvproc, |
| 371 |
|
char * valuename, |
| 372 |
|
int len, |
| 373 |
|
BYTE status, |
| 374 |
|
long int type, |
| 375 |
|
long int maxlen, |
| 376 |
|
long int datalen, |
| 377 |
|
void * value ); |
| 378 |
|
|
| 379 |
|
int __cdecl srv_revert_to_self( SRV_PROC * srvproc ); |
| 380 |
|
|
| 381 |
|
char* __cdecl srv_rpcdb(SRV_PROC* srvproc,int* len ); |
| 382 |
|
char* __cdecl srv_rpcname(SRV_PROC * srvproc,int* len ); |
| 383 |
|
int __cdecl srv_rpcnumber( SRV_PROC * srvproc ); |
| 384 |
|
USHORT __cdecl srv_rpcoptions( SRV_PROC * srvproc ); |
| 385 |
|
char* __cdecl srv_rpcowner( SRV_PROC * srvproc,int * len ); |
| 386 |
|
|
| 387 |
|
int __cdecl srv_wsendmsg( SRV_PROC * srvproc, |
| 388 |
|
long int msgnum, |
| 389 |
|
BYTE msgclass, |
| 390 |
|
WCHAR * message, // message text |
| 391 |
|
int msglen); // length of message text |
| 392 |
|
|
| 393 |
|
int |
| 394 |
|
__cdecl srv_sendmsg( SRV_PROC * srvproc, |
| 395 |
|
int msgtype, |
| 396 |
|
long int msgnum, |
| 397 |
|
BYTE msgclass, |
| 398 |
|
BYTE state, |
| 399 |
|
char * rpcname, |
| 400 |
|
int rpcnamelen, |
| 401 |
|
USHORT linenum, |
| 402 |
|
char * message, |
| 403 |
|
int msglen ); |
| 404 |
|
|
| 405 |
|
int __cdecl srv_sendstatus( SRV_PROC * srvproc,long int status ); |
| 406 |
|
|
| 407 |
|
|
| 408 |
|
int __cdecl srv_setuserdata(SRV_PROC* srvproc,void* ptr); |
| 409 |
|
|
| 410 |
|
|
| 411 |
|
char* __cdecl srv_sfield( SRV_SERVER * server,int field,int* len); |
| 412 |
|
|
| 413 |
|
char* __cdecl srv_symbol(int type,int symbol,int* len); |
| 414 |
|
|
| 415 |
|
int __cdecl srv_tdsversion(SRV_PROC* srvproc); |
| 416 |
|
|
| 417 |
|
BOOL __cdecl srv_willconvert(int srctype,int desttype ); |
| 418 |
|
|
| 419 |
|
int __cdecl srv_terminatethread( SRV_PROC * srvproc ); |
| 420 |
|
|
| 421 |
|
int __cdecl srv_sendstatistics( SRV_PROC * srvproc ); |
| 422 |
|
|
| 423 |
|
int __cdecl srv_clearstatistics( SRV_PROC * srvproc ); |
| 424 |
|
|
| 425 |
|
int __cdecl srv_message_handler( SRV_PROC * srvproc, |
| 426 |
|
int errornum, |
| 427 |
|
BYTE severity, |
| 428 |
|
BYTE state, |
| 429 |
|
int oserrnum, |
| 430 |
|
char * errtext, |
| 431 |
|
int errtextlen, |
| 432 |
|
char * oserrtext, |
| 433 |
|
int oserrtextlen ); |
| 434 |
|
|
| 435 |
|
int __cdecl srv_pre_handle( SRV_SERVER * server, |
| 436 |
|
SRV_PROC * srvproc, |
| 437 |
|
long int event, |
| 438 |
|
EventHandler handler, |
| 439 |
|
BOOL remove ); |
| 440 |
|
int __cdecl srv_post_handle( SRV_SERVER * server, |
| 441 |
|
SRV_PROC * srvproc, |
| 442 |
|
long int event, |
| 443 |
|
EventHandler handler, |
| 444 |
|
BOOL remove ); |
| 445 |
|
|
| 446 |
|
int __cdecl srv_IgnoreAnsiToOem( SRV_PROC * srvproc,BOOL bTF); |
| 447 |
|
|
| 448 |
|
#endif // #ifndef COMPILE_FOR_CLR |
| 449 |
|
|
| 450 |
|
#ifdef __cplusplus |
| 451 |
|
} |
| 452 |
|
#endif |
| 453 |
|
|
| 454 |
|
#pragma pack() |
| 455 |
|
|
| 456 |
|
#define SS_MAJOR_VERSION 7 |
| 457 |
|
#define SS_MINOR_VERSION 00 |
| 458 |
|
#define SS_LEVEL_VERSION 0000 |
| 459 |
|
#define SS_MINIMUM_VERSION "7.00.00.0000" |
| 460 |
|
#define ODS_VERSION ((SS_MAJOR_VERSION << 24) | (SS_MINOR_VERSION << 16)) |
| 461 |
|
|
| 462 |
|
#endif //_ODS_SRV_H_ |
| 463 |
|
|
| 464 |
|
////////////////////////////////////////////////////////////////// |
| 465 |
|
// Suggested implementation of __GetXpVersion |
| 466 |
|
// |
| 467 |
|
//__declspec(dllexport) ULONG __GetXpVersion() |
| 468 |
|
// { |
| 469 |
|
// return ODS_VERSION; |
| 470 |
|
// } |
| 471 |
|
////////////////////////////////////////////////////////////////// |
| 472 |
|
|
|
|
|