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
|
---|