| 1 | /** |
| 2 | * This file has no copyright assigned and is placed in the Public Domain. |
| 3 | * This file is part of the mingw-w64 runtime package. |
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 | */ |
| 6 | #ifndef _ODS_SRV_H_ |
| 7 | #define _ODS_SRV_H_ |
| 8 | |
| 9 | #ifndef COMPILE_FOR_CLR |
| 10 | #include "windows.h" |
| 11 | #endif |
| 12 | |
| 13 | #pragma pack(4) |
| 14 | |
| 15 | #ifdef __cplusplus |
| 16 | extern "C" { |
| 17 | #endif |
| 18 | |
| 19 | #ifndef FAR |
| 20 | #define FAR |
| 21 | #endif |
| 22 | |
| 23 | #ifndef DBTYPEDEFS |
| 24 | #ifndef MAXNUMERICLEN |
| 25 | #define DBTYPEDEFS |
| 26 | |
| 27 | typedef unsigned char DBBOOL; |
| 28 | typedef unsigned char DBBYTE; |
| 29 | typedef unsigned char DBTINYINT; |
| 30 | typedef short DBSMALLINT; |
| 31 | typedef unsigned short DBUSMALLINT; |
| 32 | typedef __LONG32 DBINT; |
| 33 | typedef char DBCHAR; |
| 34 | typedef unsigned char DBBINARY; |
| 35 | typedef unsigned char DBBIT; |
| 36 | typedef double DBFLT8; |
| 37 | |
| 38 | typedef struct srv_datetime { |
| 39 | __LONG32 dtdays; |
| 40 | unsigned __LONG32 dttime; |
| 41 | } DBDATETIME; |
| 42 | |
| 43 | typedef struct srv_money { |
| 44 | __LONG32 mnyhigh; |
| 45 | unsigned __LONG32 mnylow; |
| 46 | } DBMONEY; |
| 47 | |
| 48 | typedef float DBFLT4; |
| 49 | typedef __LONG32 DBMONEY4; |
| 50 | |
| 51 | typedef struct dbdatetime4 { |
| 52 | unsigned short numdays; |
| 53 | unsigned short nummins; |
| 54 | } DBDATETIM4; |
| 55 | |
| 56 | #define MAXNUMERICLEN 16 |
| 57 | typedef struct dbnumeric { |
| 58 | BYTE precision; |
| 59 | BYTE scale; |
| 60 | BYTE sign; |
| 61 | BYTE val[MAXNUMERICLEN]; |
| 62 | } DBNUMERIC; |
| 63 | typedef DBNUMERIC DBDECIMAL; |
| 64 | #endif |
| 65 | #endif |
| 66 | |
| 67 | #define SRV_TDS_NULL (BYTE) 0x1f |
| 68 | #define SRV_TDS_TEXT (BYTE) 0x23 |
| 69 | #define SRV_TDS_GUID (BYTE) 0x24 |
| 70 | #define SRV_TDS_VARBINARY (BYTE) 0x25 |
| 71 | #define SRV_TDS_INTN (BYTE) 0x26 |
| 72 | #define SRV_TDS_VARCHAR (BYTE) 0x27 |
| 73 | #define SRV_TDS_BINARY (BYTE) 0x2d |
| 74 | #define SRV_TDS_IMAGE (BYTE) 0x22 |
| 75 | #define SRV_TDS_CHAR (BYTE) 0x2f |
| 76 | #define SRV_TDS_INT1 (BYTE) 0x30 |
| 77 | #define SRV_TDS_BIT (BYTE) 0x32 |
| 78 | #define SRV_TDS_INT2 (BYTE) 0x34 |
| 79 | #define SRV_TDS_DECIMAL (BYTE) 0x37 |
| 80 | #define SRV_TDS_INT4 (BYTE) 0x38 |
| 81 | #define SRV_TDS_DATETIM4 (BYTE) 0x3a |
| 82 | #define SRV_TDS_FLT4 (BYTE) 0x3b |
| 83 | #define SRV_TDS_MONEY (BYTE) 0x3c |
| 84 | #define SRV_TDS_DATETIME (BYTE) 0x3d |
| 85 | #define SRV_TDS_FLT8 (BYTE) 0x3e |
| 86 | #define SRV_TDS_NUMERIC (BYTE) 0x3f |
| 87 | #define SRV_TDS_SSVARIANT (BYTE) 0x62 |
| 88 | #define SRV_TDS_NTEXT (BYTE) 0x63 |
| 89 | #define SRV_TDS_BITN (BYTE) 0x68 |
| 90 | #define SRV_TDS_DECIMALN (BYTE) 0x6a |
| 91 | #define SRV_TDS_NUMERICN (BYTE) 0x6c |
| 92 | #define SRV_TDS_FLTN (BYTE) 0x6d |
| 93 | #define SRV_TDS_MONEYN (BYTE) 0x6e |
| 94 | #define SRV_TDS_DATETIMN (BYTE) 0x6f |
| 95 | #define SRV_TDS_MONEY4 (BYTE) 0x7a |
| 96 | #define SRV_TDS_INT8 (BYTE) 0x7f |
| 97 | #define SRV_TDS_BIGVARBINARY (BYTE) 0xA5 |
| 98 | #define SRV_TDS_BIGVARCHAR (BYTE) 0xA7 |
| 99 | #define SRV_TDS_BIGBINARY (BYTE) 0xAD |
| 100 | #define SRV_TDS_BIGCHAR (BYTE) 0xAF |
| 101 | #define SRV_TDS_NVARCHAR (BYTE) 0xe7 |
| 102 | #define SRV_TDS_NCHAR (BYTE) 0xef |
| 103 | |
| 104 | #define SRVNULL SRV_TDS_NULL |
| 105 | #define SRVTEXT SRV_TDS_TEXT |
| 106 | #define SRVGUID SRV_TDS_GUID |
| 107 | #define SRVVARBINARY SRV_TDS_VARBINARY |
| 108 | #define SRVINTN SRV_TDS_INTN |
| 109 | #define SRVVARCHAR SRV_TDS_VARCHAR |
| 110 | #define SRVBINARY SRV_TDS_BINARY |
| 111 | #define SRVIMAGE SRV_TDS_IMAGE |
| 112 | #define SRVCHAR SRV_TDS_CHAR |
| 113 | #define SRVINT1 SRV_TDS_INT1 |
| 114 | #define SRVBIT SRV_TDS_BIT |
| 115 | #define SRVINT2 SRV_TDS_INT2 |
| 116 | #define SRVDECIMAL SRV_TDS_DECIMAL |
| 117 | #define SRVINT4 SRV_TDS_INT4 |
| 118 | #define SRVDATETIM4 SRV_TDS_DATETIM4 |
| 119 | #define SRVFLT4 SRV_TDS_FLT4 |
| 120 | #define SRVMONEY SRV_TDS_MONEY |
| 121 | #define SRVDATETIME SRV_TDS_DATETIME |
| 122 | #define SRVFLT8 SRV_TDS_FLT8 |
| 123 | #define SRVNUMERIC SRV_TDS_NUMERIC |
| 124 | #define SRVSSVARIANT SRV_TDS_SSVARIANT |
| 125 | #define SRVNTEXT SRV_TDS_NTEXT |
| 126 | #define SRVBITN SRV_TDS_BITN |
| 127 | #define SRVDECIMALN SRV_TDS_DECIMALN |
| 128 | #define SRVNUMERICN SRV_TDS_NUMERICN |
| 129 | #define SRVFLTN SRV_TDS_FLTN |
| 130 | #define SRVMONEYN SRV_TDS_MONEYN |
| 131 | #define SRVDATETIMN SRV_TDS_DATETIMN |
| 132 | #define SRVMONEY4 SRV_TDS_MONEY4 |
| 133 | #define SRVINT8 SRV_TDS_INT8 |
| 134 | #define SRVBIGVARBINARY SRV_TDS_BIGVARBINARY |
| 135 | #define SRVBIGVARCHAR SRV_TDS_BIGVARCHAR |
| 136 | #define SRVBIGBINARY SRV_TDS_BIGBINARY |
| 137 | #define SRVBIGCHAR SRV_TDS_BIGCHAR |
| 138 | #define SRVNVARCHAR SRV_TDS_NVARCHAR |
| 139 | #define SRVNCHAR SRV_TDS_NCHAR |
| 140 | |
| 141 | #define SRV_ERROR 0 |
| 142 | #define SRV_DONE 1 |
| 143 | #define SRV_DATATYPE 2 |
| 144 | #define SRV_EVENT 4 |
| 145 | |
| 146 | #define SRV_ENO_OS_ERR 0 |
| 147 | #define SRV_INFO 1 |
| 148 | #define SRV_FATAL_PROCESS 10 |
| 149 | #define SRV_FATAL_SERVER 19 |
| 150 | |
| 151 | #define SRV_CONTINUE 0 |
| 152 | #define SRV_LANGUAGE 1 |
| 153 | #define SRV_CONNECT 2 |
| 154 | #define SRV_RPC 3 |
| 155 | #define SRV_RESTART 4 |
| 156 | #define SRV_DISCONNECT 5 |
| 157 | #define SRV_ATTENTION 6 |
| 158 | #define SRV_SLEEP 7 |
| 159 | #define SRV_START 8 |
| 160 | #define SRV_STOP 9 |
| 161 | #define SRV_EXIT 10 |
| 162 | #define SRV_CANCEL 11 |
| 163 | #define SRV_SETUP 12 |
| 164 | #define SRV_CLOSE 13 |
| 165 | #define SRV_PRACK 14 |
| 166 | #define SRV_PRERROR 15 |
| 167 | #define SRV_ATTENTION_ACK 16 |
| 168 | #define SRV_CONNECT_V7 16 |
| 169 | #define SRV_SKIP 17 |
| 170 | #define SRV_TRANSMGR 18 |
| 171 | #define SRV_PRELOGIN 19 |
| 172 | #define SRV_OLEDB 20 |
| 173 | #define SRV_INTERNAL_HANDLER 99 |
| 174 | #define SRV_PROGRAMMER_DEFINED 100 |
| 175 | |
| 176 | #define SRV_SERVERNAME 0 |
| 177 | #define SRV_VERSION 6 |
| 178 | |
| 179 | #define SRV_NULLTERM -1 |
| 180 | |
| 181 | #define SRV_MSG_INFO 1 |
| 182 | #define SRV_MSG_ERROR 2 |
| 183 | |
| 184 | #define SRV_DONE_FINAL (USHORT) 0x0000 |
| 185 | #define SRV_DONE_MORE (USHORT) 0x0001 |
| 186 | #define SRV_DONE_ERROR (USHORT) 0x0002 |
| 187 | #define SRV_DONE_COUNT (USHORT) 0x0010 |
| 188 | #define SRV_DONE_RPC_IN_BATCH (USHORT) 0x0080 |
| 189 | |
| 190 | #define SRV_PARAMRETURN 0x0001 |
| 191 | #define SRV_PARAMDEFAULT 0x0002 |
| 192 | #define SRV_PARAMSORTORDER 0x0004 |
| 193 | |
| 194 | #define SRV_RECOMPILE 0x0001 |
| 195 | #define SRV_NOMETADATA 0x0002 |
| 196 | |
| 197 | #define SRV_SPID 10 |
| 198 | #define SRV_NETSPID 11 |
| 199 | #define SRV_TYPE 12 |
| 200 | #define SRV_STATUS 13 |
| 201 | #define SRV_RMTSERVER 14 |
| 202 | #define SRV_HOST 15 |
| 203 | #define SRV_USER 16 |
| 204 | #define SRV_PWD 17 |
| 205 | #define SRV_CPID 18 |
| 206 | #define SRV_APPLNAME 19 |
| 207 | #define SRV_TDS 20 |
| 208 | #define SRV_CLIB 21 |
| 209 | #define SRV_LIBVERS 22 |
| 210 | #define SRV_ROWSENT 23 |
| 211 | #define SRV_BCPFLAG 24 |
| 212 | #define SRV_NATLANG 25 |
| 213 | #define SRV_PIPEHANDLE 26 |
| 214 | #define SRV_NETWORK_MODULE 27 |
| 215 | #define SRV_NETWORK_VERSION 28 |
| 216 | #define SRV_NETWORK_CONNECTION 29 |
| 217 | #define SRV_LSECURE 30 |
| 218 | #define SRV_SAXP 31 |
| 219 | #define SRV_UNICODE_USER 33 |
| 220 | #define SRV_UNICODE_PWD 35 |
| 221 | #define SRV_SPROC_CODEPAGE 36 |
| 222 | #define SRV_MSGLCID 37 |
| 223 | #define SRV_INSTANCENAME 38 |
| 224 | #define SRV_HASHPWD 39 |
| 225 | #define SRV_UNICODE_CURRENTLOGIN 40 |
| 226 | |
| 227 | #define SRV_TDS_NONE 0 |
| 228 | #define SRV_TDS_2_0 1 |
| 229 | #define SRV_TDS_3_4 2 |
| 230 | #define SRV_TDS_4_2 3 |
| 231 | #define SRV_TDS_6_0 4 |
| 232 | #define SRV_TDS_7_0 5 |
| 233 | |
| 234 | typedef int SRVRETCODE; |
| 235 | #ifndef ODBCVER |
| 236 | typedef int RETCODE; |
| 237 | #endif |
| 238 | |
| 239 | #ifndef SUCCEED |
| 240 | #define SUCCEED 1 |
| 241 | #endif |
| 242 | |
| 243 | #ifndef FAIL |
| 244 | #define FAIL 0 |
| 245 | #endif |
| 246 | |
| 247 | #define SRV_DUPLICATE_HANDLER 2 |
| 248 | |
| 249 | #ifndef COMPILE_FOR_CLR |
| 250 | struct srv_server; |
| 251 | typedef struct srv_server SRV_SERVER; |
| 252 | |
| 253 | struct srv_config; |
| 254 | typedef struct srv_config SRV_CONFIG; |
| 255 | |
| 256 | struct CXPData; |
| 257 | typedef struct CXPData SRV_PROC; |
| 258 | |
| 259 | int __cdecl srv_describe(SRV_PROC *,int,char*,int,__LONG32,__LONG32,__LONG32,__LONG32,void *); |
| 260 | int __cdecl srv_setutype(SRV_PROC *srvproc,int column,__LONG32 usertype); |
| 261 | int __cdecl srv_setcoldata(SRV_PROC *srvproc,int column,void *data); |
| 262 | int __cdecl srv_setcollen(SRV_PROC *srvproc,int column,int len); |
| 263 | int __cdecl srv_sendrow(SRV_PROC *srvproc); |
| 264 | int __cdecl srv_senddone(SRV_PROC *srvproc,USHORT status,USHORT curcmd,__LONG32 count); |
| 265 | int __cdecl srv_rpcparams(SRV_PROC *); |
| 266 | int __cdecl srv_paraminfo(SRV_PROC *,int,BYTE *,ULONG *,ULONG *,BYTE *,WINBOOL *); |
| 267 | int __cdecl srv_paramsetoutput(SRV_PROC *,int,BYTE *,ULONG,WINBOOL); |
| 268 | void *__cdecl srv_paramdata(SRV_PROC *,int); |
| 269 | int __cdecl srv_paramlen(SRV_PROC *,int); |
| 270 | int __cdecl srv_parammaxlen(SRV_PROC *,int); |
| 271 | int __cdecl srv_paramtype(SRV_PROC *,int); |
| 272 | int __cdecl srv_paramset(SRV_PROC *,int,void *,int); |
| 273 | char *__cdecl srv_paramname(SRV_PROC *,int,int*); |
| 274 | int __cdecl srv_paramnumber(SRV_PROC *,char*,int); |
| 275 | |
| 276 | #define SRV_GETSERVER(a) srv_getserver (a) |
| 277 | #define SRV_GOT_ATTENTION(a) srv_got_attention (a) |
| 278 | #define SRV_TDSVERSION(a) srv_tdsversion (a) |
| 279 | |
| 280 | SRV_SERVER *__cdecl srv_getserver(SRV_PROC *srvproc); |
| 281 | WINBOOL __cdecl srv_got_attention(SRV_PROC *srvproc); |
| 282 | |
| 283 | void *__cdecl srv_alloc(__LONG32 ulSize); |
| 284 | int __cdecl srv_bmove(void *from,void *to,__LONG32 count); |
| 285 | int __cdecl srv_bzero(void *location,__LONG32 count); |
| 286 | int __cdecl srv_free(void *ptr); |
| 287 | int __cdecl srv_convert(SRV_PROC *,int,void *,__LONG32,int,void *,__LONG32); |
| 288 | void *__cdecl srv_getuserdata(SRV_PROC *srvproc); |
| 289 | int __cdecl srv_getbindtoken(SRV_PROC *srvproc,char *token_buf); |
| 290 | int __cdecl srv_getdtcxact(SRV_PROC *srvproc,void **ppv); |
| 291 | |
| 292 | typedef int (*EventHandler)(void *); |
| 293 | |
| 294 | int __cdecl srv_impersonate_client(SRV_PROC *srvproc); |
| 295 | __LONG32 __cdecl srv_langcpy(SRV_PROC *srvproc,__LONG32 start,__LONG32 nbytes,char *buffer); |
| 296 | __LONG32 __cdecl srv_langlen(SRV_PROC *srvproc); |
| 297 | void *__cdecl srv_langptr(SRV_PROC *srvproc); |
| 298 | |
| 299 | int __cdecl srv_log(SRV_SERVER *server,WINBOOL datestamp,char *msg,int msglen); |
| 300 | int __cdecl srv_paramstatus(SRV_PROC *,int); |
| 301 | void *__cdecl srv_pfieldex(SRV_PROC *srvproc,int field,int *len); |
| 302 | char *__cdecl srv_pfield(SRV_PROC *srvproc,int field,int *len); |
| 303 | int __cdecl srv_returnval(SRV_PROC *srvproc,char *valuename,int len,BYTE status,__LONG32 type,__LONG32 maxlen,__LONG32 datalen,void *value); |
| 304 | int __cdecl srv_revert_to_self(SRV_PROC *srvproc); |
| 305 | char *__cdecl srv_rpcdb(SRV_PROC *srvproc,int *len); |
| 306 | char *__cdecl srv_rpcname(SRV_PROC *srvproc,int *len); |
| 307 | int __cdecl srv_rpcnumber(SRV_PROC *srvproc); |
| 308 | USHORT __cdecl srv_rpcoptions(SRV_PROC *srvproc); |
| 309 | char *__cdecl srv_rpcowner(SRV_PROC *srvproc,int *len); |
| 310 | int __cdecl srv_wsendmsg(SRV_PROC *srvproc,__LONG32 msgnum,BYTE msgclass,WCHAR *message,int msglen); |
| 311 | int __cdecl srv_sendmsg(SRV_PROC *srvproc,int msgtype,__LONG32 msgnum,BYTE msgclass,BYTE state,char *rpcname,int rpcnamelen,USHORT linenum,char *message,int msglen); |
| 312 | int __cdecl srv_sendstatus(SRV_PROC *srvproc,__LONG32 status); |
| 313 | int __cdecl srv_setuserdata(SRV_PROC *srvproc,void *ptr); |
| 314 | char *__cdecl srv_sfield(SRV_SERVER *server,int field,int *len); |
| 315 | char *__cdecl srv_symbol(int type,int symbol,int *len); |
| 316 | int __cdecl srv_tdsversion(SRV_PROC *srvproc); |
| 317 | WINBOOL __cdecl srv_willconvert(int srctype,int desttype); |
| 318 | int __cdecl srv_terminatethread(SRV_PROC *srvproc); |
| 319 | int __cdecl srv_sendstatistics(SRV_PROC *srvproc); |
| 320 | int __cdecl srv_clearstatistics(SRV_PROC *srvproc); |
| 321 | int __cdecl srv_message_handler(SRV_PROC *srvproc,int errornum,BYTE severity,BYTE state,int oserrnum,char *errtext,int errtextlen,char *oserrtext,int oserrtextlen); |
| 322 | int __cdecl srv_pre_handle(SRV_SERVER *server,SRV_PROC *srvproc,__LONG32 event,EventHandler handler,WINBOOL remove); |
| 323 | int __cdecl srv_post_handle(SRV_SERVER *server,SRV_PROC *srvproc,__LONG32 event,EventHandler handler,WINBOOL remove); |
| 324 | int __cdecl srv_IgnoreAnsiToOem(SRV_PROC *srvproc,WINBOOL bTF); |
| 325 | #endif |
| 326 | |
| 327 | #ifdef __cplusplus |
| 328 | } |
| 329 | #endif |
| 330 | |
| 331 | #pragma pack() |
| 332 | |
| 333 | #define SS_MAJOR_VERSION 7 |
| 334 | #define SS_MINOR_VERSION 00 |
| 335 | #define SS_LEVEL_VERSION 0000 |
| 336 | #define SS_MINIMUM_VERSION "7.00.00.0000" |
| 337 | #define ODS_VERSION ((SS_MAJOR_VERSION << 24) | (SS_MINOR_VERSION << 16)) |
| 338 | #endif |