NCBI C++ ToolKit
proto.h
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* FreeTDS - Library of routines accessing Sybase and Microsoft databases
2  * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Brian Bruns
3  * Copyright (C) 2010, 2011 Frediano Ziglio
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20 
21 /*
22  * This file contains defines and structures strictly related to TDS protocol
23  */
24 
25 typedef struct tdsnumeric
26 {
27  unsigned char precision;
28  unsigned char scale;
29  unsigned char array[33];
31 
32 typedef struct tdsoldmoney
33 {
37 
38 typedef union tdsmoney
39 {
43 
44 typedef struct tdsmoney4
45 {
48 
49 typedef struct tdsdatetime
50 {
54 
55 typedef struct tdsdatetime4
56 {
60 
61 typedef struct tdsunique
62 {
68 
69 typedef TDS_INT TDS_DATE;
70 typedef TDS_INT TDS_TIME;
71 
74 
75 #define TDS5_PARAMFMT2_TOKEN 32 /* 0x20 */
76 #define TDS_LANGUAGE_TOKEN 33 /* 0x21 TDS 5.0 only */
77 #define TDS_ORDERBY2_TOKEN 34 /* 0x22 */
78 #define TDS_ROWFMT2_TOKEN 97 /* 0x61 TDS 5.0 only */
79 #define TDS_MSG_TOKEN 101 /* 0x65 TDS 5.0 only */
80 #define TDS_LOGOUT_TOKEN 113 /* 0x71 TDS 5.0 only? ct_close() */
81 #define TDS_RETURNSTATUS_TOKEN 121 /* 0x79 */
82 #define TDS_PROCID_TOKEN 124 /* 0x7C TDS 4.2 only - TDS_PROCID */
83 #define TDS7_RESULT_TOKEN 129 /* 0x81 TDS 7.0 only */
84 #define TDS7_COMPUTE_RESULT_TOKEN 136 /* 0x88 TDS 7.0 only */
85 #define TDS_COLNAME_TOKEN 160 /* 0xA0 TDS 4.2 only */
86 #define TDS_COLFMT_TOKEN 161 /* 0xA1 TDS 4.2 only - TDS_COLFMT */
87 #define TDS_DYNAMIC2_TOKEN 163 /* 0xA3 */
88 #define TDS_TABNAME_TOKEN 164 /* 0xA4 */
89 #define TDS_COLINFO_TOKEN 165 /* 0xA5 */
90 #define TDS_OPTIONCMD_TOKEN 166 /* 0xA6 */
91 #define TDS_COMPUTE_NAMES_TOKEN 167 /* 0xA7 */
92 #define TDS_COMPUTE_RESULT_TOKEN 168 /* 0xA8 */
93 #define TDS_ORDERBY_TOKEN 169 /* 0xA9 TDS_ORDER */
94 #define TDS_ERROR_TOKEN 170 /* 0xAA */
95 #define TDS_INFO_TOKEN 171 /* 0xAB */
96 #define TDS_PARAM_TOKEN 172 /* 0xAC RETURNVALUE? */
97 #define TDS_LOGINACK_TOKEN 173 /* 0xAD */
98 #define TDS_CONTROL_FEATUREEXTACK_TOKEN \
99  174 /* 0xAE TDS_CONTROL/TDS_FEATUREEXTACK */
100 #define TDS_ROW_TOKEN 209 /* 0xD1 */
101 #define TDS_NBC_ROW_TOKEN 210 /* 0xD2 as of TDS 7.3.B */
102 #define TDS_CMP_ROW_TOKEN 211 /* 0xD3 */
103 #define TDS5_PARAMS_TOKEN 215 /* 0xD7 TDS 5.0 only */
104 #define TDS_CAPABILITY_TOKEN 226 /* 0xE2 */
105 #define TDS_ENVCHANGE_TOKEN 227 /* 0xE3 */
106 #define TDS_SESSIONSTATE_TOKEN 228 /* 0xE4 TDS 7.4 */
107 #define TDS_EED_TOKEN 229 /* 0xE5 */
108 #define TDS_DBRPC_TOKEN 230 /* 0xE6 TDS 5.0 only */
109 #define TDS5_DYNAMIC_TOKEN 231 /* 0xE7 TDS 5.0 only */
110 #define TDS5_PARAMFMT_TOKEN 236 /* 0xEC TDS 5.0 only */
111 #define TDS_AUTH_TOKEN 237 /* 0xED TDS 7.0 only */
112 #define TDS_RESULT_TOKEN 238 /* 0xEE */
113 #define TDS_DONE_TOKEN 253 /* 0xFD TDS_DONE */
114 #define TDS_DONEPROC_TOKEN 254 /* 0xFE TDS_DONEPROC */
115 #define TDS_DONEINPROC_TOKEN 255 /* 0xFF TDS_DONEINPROC */
116 
117 /* CURSOR support: TDS 5.0 only*/
118 #define TDS_CURCLOSE_TOKEN 128 /* 0x80 TDS 5.0 only */
119 #define TDS_CURDELETE_TOKEN 129 /* 0x81 TDS 5.0 only */
120 #define TDS_CURFETCH_TOKEN 130 /* 0x82 TDS 5.0 only */
121 #define TDS_CURINFO_TOKEN 131 /* 0x83 TDS 5.0 only */
122 #define TDS_CUROPEN_TOKEN 132 /* 0x84 TDS 5.0 only */
123 #define TDS_CURDECLARE_TOKEN 134 /* 0x86 TDS 5.0 only */
124 
125 
126 /* environment type field */
127 #define TDS_ENV_DATABASE 1
128 #define TDS_ENV_LANG 2
129 #define TDS_ENV_CHARSET 3
130 #define TDS_ENV_PACKSIZE 4
131 #define TDS_ENV_LCID 5
132 #define TDS_ENV_SQLCOLLATION 7
133 #define TDS_ENV_BEGINTRANS 8
134 #define TDS_ENV_COMMITTRANS 9
135 #define TDS_ENV_ROLLBACKTRANS 10
136 #define TDS_ENV_ROUTING 20
137 
138 /* Microsoft internal stored procedure id's */
139 #define TDS_SP_CURSOR 1
140 #define TDS_SP_CURSOROPEN 2
141 #define TDS_SP_CURSORPREPARE 3
142 #define TDS_SP_CURSOREXECUTE 4
143 #define TDS_SP_CURSORPREPEXEC 5
144 #define TDS_SP_CURSORUNPREPARE 6
145 #define TDS_SP_CURSORFETCH 7
146 #define TDS_SP_CURSOROPTION 8
147 #define TDS_SP_CURSORCLOSE 9
148 #define TDS_SP_EXECUTESQL 10
149 #define TDS_SP_PREPARE 11
150 #define TDS_SP_EXECUTE 12
151 #define TDS_SP_PREPEXEC 13
152 #define TDS_SP_PREPEXECRPC 14
153 #define TDS_SP_UNPREPARE 15
154 
155 /*
156  * <rant> Sybase does an awful job of this stuff, non null ints of size 1 2
157  * and 4 have there own codes but nullable ints are lumped into INTN
158  * sheesh! </rant>
159  */
160 typedef enum
161 {
162  SYBCHAR = 47, /* 0x2F */
163  SYBVARCHAR = 39, /* 0x27 */
164  SYBINTN = 38, /* 0x26 */
165  SYBINT1 = 48, /* 0x30 */
166  SYBINT2 = 52, /* 0x34 */
167  SYBINT4 = 56, /* 0x38 */
168  SYBFLT8 = 62, /* 0x3E */
169  SYBDATETIME = 61, /* 0x3D */
170  SYBBIT = 50, /* 0x32 */
171  SYBTEXT = 35, /* 0x23 */
172  SYBNTEXT = 99, /* 0x63 */
173  SYBIMAGE = 34, /* 0x22 */
174  SYBMONEY4 = 122, /* 0x7A */
175  SYBMONEY = 60, /* 0x3C */
176  SYBDATETIME4 = 58, /* 0x3A */
177  SYBREAL = 59, /* 0x3B */
178  SYBBINARY = 45, /* 0x2D */
179  SYBVOID = 31, /* 0x1F */
180  SYBVARBINARY = 37, /* 0x25 */
181  SYBBITN = 104, /* 0x68 */
182  SYBNUMERIC = 108, /* 0x6C */
183  SYBDECIMAL = 106, /* 0x6A */
184  SYBFLTN = 109, /* 0x6D */
185  SYBMONEYN = 110, /* 0x6E */
186  SYBDATETIMN = 111, /* 0x6F */
187 
188 /*
189  * MS only types
190  */
191  SYBNVARCHAR = 103, /* 0x67 */
192  SYBINT8 = 127, /* 0x7F */
193  XSYBCHAR = 175, /* 0xAF */
194  XSYBVARCHAR = 167, /* 0xA7 */
195  XSYBNVARCHAR = 231, /* 0xE7 */
196  XSYBNCHAR = 239, /* 0xEF */
197  XSYBVARBINARY = 165, /* 0xA5 */
198  XSYBBINARY = 173, /* 0xAD */
199  SYBUNIQUE = 36, /* 0x24 */
200  SYBVARIANT = 98, /* 0x62 */
201  SYBMSUDT = 240, /* 0xF0 */
202  SYBMSXML = 241, /* 0xF1 */
203  SYBMSDATE = 40, /* 0x28 */
204  SYBMSTIME = 41, /* 0x29 */
205  SYBMSDATETIME2 = 42, /* 0x2a */
206  SYBMSDATETIMEOFFSET = 43,/* 0x2b */
207 
208 /*
209  * Sybase only types
210  */
211  SYBLONGBINARY = 225, /* 0xE1 */
212  SYBUINT1 = 64, /* 0x40 */
213  SYBUINT2 = 65, /* 0x41 */
214  SYBUINT4 = 66, /* 0x42 */
215  SYBUINT8 = 67, /* 0x43 */
216  SYBBLOB = 36, /* 0x24 */
217  SYBBOUNDARY = 104, /* 0x68 */
218  SYBDATE = 49, /* 0x31 */
219  SYBDATEN = 123, /* 0x7B */
220  SYB5INT8 = 191, /* 0xBF */
221  SYBINTERVAL = 46, /* 0x2E */
222  SYBLONGCHAR = 175, /* 0xAF */
223  SYBSENSITIVITY = 103, /* 0x67 */
224  SYBSINT1 = 176, /* 0xB0 */
225  SYBTIME = 51, /* 0x33 */
226  SYBTIMEN = 147, /* 0x93 */
227  SYBUINTN = 68, /* 0x44 */
228  SYBUNITEXT = 174, /* 0xAE */
229  SYBXML = 163, /* 0xA3 */
230  SYB5BIGDATETIME = 187, /* 0xBB */
231  SYB5BIGTIME = 188, /* 0xBC */
232 
234 
235 typedef enum
236 {
237  USER_UNICHAR_TYPE = 34, /* 0x22 */
238  USER_UNIVARCHAR_TYPE = 35 /* 0x23 */
240 
241 /* compute operator */
242 #define SYBAOPCNT 75 /* 0x4B */
243 #define SYBAOPCNTU 76 /* 0x4C, obsolete */
244 #define SYBAOPSUM 77 /* 0x4D */
245 #define SYBAOPSUMU 78 /* 0x4E, obsolete */
246 #define SYBAOPAVG 79 /* 0x4F */
247 #define SYBAOPAVGU 80 /* 0x50, obsolete */
248 #define SYBAOPMIN 81 /* 0x51 */
249 #define SYBAOPMAX 82 /* 0x52 */
250 
251 /* mssql2k compute operator */
252 #define SYBAOPCNT_BIG 9 /* 0x09 */
253 #define SYBAOPSTDEV 48 /* 0x30 */
254 #define SYBAOPSTDEVP 49 /* 0x31 */
255 #define SYBAOPVAR 50 /* 0x32 */
256 #define SYBAOPVARP 51 /* 0x33 */
257 #define SYBAOPCHECKSUM_AGG 114 /* 0x72 */
258 
259 /**
260  * options that can be sent with a TDS_OPTIONCMD token
261  */
262 typedef enum
263 {
264  TDS_OPT_SET = 1 /**< Set an option. */
265  , TDS_OPT_DEFAULT = 2 /**< Set option to its default value. */
266  , TDS_OPT_LIST = 3 /**< Request current setting of a specific option. */
267  , TDS_OPT_INFO = 4 /**< Report current setting of a specific option. */
269 
270 typedef enum
271 {
272  TDS_OPT_DATEFIRST = 1 /* 0x01 */
273  , TDS_OPT_TEXTSIZE = 2 /* 0x02 */
274  , TDS_OPT_STAT_TIME = 3 /* 0x03 */
275  , TDS_OPT_STAT_IO = 4 /* 0x04 */
276  , TDS_OPT_ROWCOUNT = 5 /* 0x05 */
277  , TDS_OPT_NATLANG = 6 /* 0x06 */
278  , TDS_OPT_DATEFORMAT = 7 /* 0x07 */
279  , TDS_OPT_ISOLATION = 8 /* 0x08 */
280  , TDS_OPT_AUTHON = 9 /* 0x09 */
281  , TDS_OPT_CHARSET = 10 /* 0x0a */
282  , TDS_OPT_SHOWPLAN = 13 /* 0x0d */
283  , TDS_OPT_NOEXEC = 14 /* 0x0e */
284  , TDS_OPT_ARITHIGNOREON = 15 /* 0x0f */
285  , TDS_OPT_ARITHABORTON = 17 /* 0x11 */
286  , TDS_OPT_PARSEONLY = 18 /* 0x12 */
287  , TDS_OPT_GETDATA = 20 /* 0x14 */
288  , TDS_OPT_NOCOUNT = 21 /* 0x15 */
289  , TDS_OPT_FORCEPLAN = 23 /* 0x17 */
290  , TDS_OPT_FORMATONLY = 24 /* 0x18 */
291  , TDS_OPT_CHAINXACTS = 25 /* 0x19 */
292  , TDS_OPT_CURCLOSEONXACT = 26 /* 0x1a */
293  , TDS_OPT_FIPSFLAG = 27 /* 0x1b */
294  , TDS_OPT_RESTREES = 28 /* 0x1c */
295  , TDS_OPT_IDENTITYON = 29 /* 0x1d */
296  , TDS_OPT_CURREAD = 30 /* 0x1e */
297  , TDS_OPT_CURWRITE = 31 /* 0x1f */
298  , TDS_OPT_IDENTITYOFF = 32 /* 0x20 */
299  , TDS_OPT_AUTHOFF = 33 /* 0x21 */
300  , TDS_OPT_ANSINULL = 34 /* 0x22 */
301  , TDS_OPT_QUOTED_IDENT = 35 /* 0x23 */
302  , TDS_OPT_ARITHIGNOREOFF = 36 /* 0x24 */
303  , TDS_OPT_ARITHABORTOFF = 37 /* 0x25 */
304  , TDS_OPT_TRUNCABORT = 38 /* 0x26 */
306 
307 enum {
309  TDS_OPT_NUMERICTRUNC = 0x02
310 };
311 
313 {
316 };
317 
319 {
321 };
323 {
327  TDS_OPT_LEVEL3 = 3
328 };
329 
330 
331 typedef enum tds_packet_type
332 {
335  TDS_RPC = 3,
338  TDS_BULK = 7,
339  TDS7_TRANS = 14, /* transaction management */
342  TDS7_AUTH = 17,
344  TDS72_SMP = 0x53
346 
347 /**
348  * TDS 7.1 collation informations.
349  */
350 typedef struct
351 {
352  TDS_USMALLINT locale_id; /* master..syslanguages.lcid */
354  TDS_UCHAR charset_id; /* or zero */
356 
357 /**
358  * TDS 7.2 SMP packet header
359  */
360 typedef struct
361 {
362  TDS_UCHAR signature; /* TDS72_SMP */
369 
370 enum {
375 };
376 
377 /* SF stands for "sort flag" */
378 #define TDS_SF_BIN (TDS_USMALLINT) 0x100
379 #define TDS_SF_WIDTH_INSENSITIVE (TDS_USMALLINT) 0x080
380 #define TDS_SF_KATATYPE_INSENSITIVE (TDS_USMALLINT) 0x040
381 #define TDS_SF_ACCENT_SENSITIVE (TDS_USMALLINT) 0x020
382 #define TDS_SF_CASE_INSENSITIVE (TDS_USMALLINT) 0x010
383 
384 /* UT stands for user type */
385 #define TDS_UT_TIMESTAMP 80
386 
387 
388 /* mssql login options flags */
399  TDS_FLOAT_VAX = 0x04,
401  TDS_DUMPLOAD_OFF = 0x10, /* prevent BCP */
404  TDS_SET_LANG_ON = 0x80
405 };
406 
411  TDS_USER_NORMAL = 0, /* SQL Server login */
413  TDS_ODBC_ON = 0x02,
414  TDS_TRANSACTION_BOUNDARY71 = 0x04, /* removed in TDS 7.2 */
415  TDS_CACHE_CONNECT71 = 0x08, /* removed in TDS 7.2 */
416  TDS_USER_SERVER = 0x10, /* reserved */
417  TDS_USER_REMUSER = 0x20, /* DQ login */
418  TDS_USER_SQLREPL = 0x40, /* replication login */
420 };
421 
424  TDS_CHANGE_PASSWORD = 0x01, /* TDS 7.2 */
425  TDS_SEND_YUKON_BINARY_XML = 0x02, /* TDS 7.2 */
426  TDS_REQUEST_USER_INSTANCE = 0x04, /* TDS 7.2 */
427  TDS_UNKNOWN_COLLATION_HANDLING = 0x08, /* TDS 7.3 */
428  TDS_EXTENSION = 0x10, /* TDS 7.4 */
429 };
430 
432  TDS_OLEDB_ON = 0x10,
434 };
435 
436 /* Sybase dynamic types */
439  TDS_DYN_EXEC = 0x02,
443  TDS_DYN_ACK = 0x20,
446 };
447 
448 /* http://jtds.sourceforge.net/apiCursors.html */
449 /* Cursor scroll option, must be one of 0x01 - 0x10, OR'd with other bits */
450 enum {
451  TDS_CUR_TYPE_KEYSET = 0x0001, /* default */
457  TDS_CUR_TYPE_AUTO_FETCH = 0x2000
458 };
459 
460 enum {
463  TDS_CUR_CONCUR_OPTIMISTIC = 4, /* default */
465 };
466 
467 /* TDS 4/5 login*/
468 #define TDS_MAXNAME 30 /* maximum login name lenghts */
469 #define TDS_PROGNLEN 10 /* maximum program lenght */
470 #define TDS_PKTLEN 6 /* maximum packet lenght in login */
471 
472 /* TDS 5 login security flags */
473 enum {
480  TDS5_SEC_LOG_NONCE = 128
481 };
union tdsmoney TDS_MONEY
@ TDS_OPT_ARITHOVERFLOW
Definition: proto.h:308
@ TDS_OPT_NUMERICTRUNC
Definition: proto.h:309
TDS_OPTION_CMD
options that can be sent with a TDS_OPTIONCMD token
Definition: proto.h:263
@ TDS_OPT_LIST
Request current setting of a specific option.
Definition: proto.h:266
@ TDS_OPT_DEFAULT
Set option to its default value.
Definition: proto.h:265
@ TDS_OPT_INFO
Report current setting of a specific option.
Definition: proto.h:267
@ TDS_OPT_SET
Set an option.
Definition: proto.h:264
@ TDS_CUR_TYPE_KEYSET
Definition: proto.h:451
@ TDS_CUR_TYPE_FORWARD
Definition: proto.h:453
@ TDS_CUR_TYPE_PARAMETERIZED
Definition: proto.h:456
@ TDS_CUR_TYPE_STATIC
Definition: proto.h:454
@ TDS_CUR_TYPE_DYNAMIC
Definition: proto.h:452
@ TDS_CUR_TYPE_AUTO_FETCH
Definition: proto.h:457
@ TDS_CUR_TYPE_FASTFORWARDONLY
Definition: proto.h:455
TDS_UINT8 TDS_BIGTIME
Definition: proto.h:72
struct tdsdatetime4 TDS_DATETIME4
tds_packet_type
Definition: proto.h:332
@ TDS71_PRELOGIN
Definition: proto.h:343
@ TDS_CANCEL
Definition: proto.h:337
@ TDS7_AUTH
Definition: proto.h:342
@ TDS_RPC
Definition: proto.h:335
@ TDS_QUERY
Definition: proto.h:333
@ TDS72_SMP
Definition: proto.h:344
@ TDS_BULK
Definition: proto.h:338
@ TDS_REPLY
Definition: proto.h:336
@ TDS_NORMAL
Definition: proto.h:340
@ TDS7_TRANS
Definition: proto.h:339
@ TDS7_LOGIN
Definition: proto.h:341
@ TDS_LOGIN
Definition: proto.h:334
TDS_OPT_DATEFIRST_CHOICE
Definition: proto.h:313
@ TDS_OPT_THURSDAY
Definition: proto.h:314
@ TDS_OPT_TUESDAY
Definition: proto.h:314
@ TDS_OPT_SUNDAY
Definition: proto.h:315
@ TDS_OPT_FRIDAY
Definition: proto.h:314
@ TDS_OPT_WEDNESDAY
Definition: proto.h:314
@ TDS_OPT_MONDAY
Definition: proto.h:314
@ TDS_OPT_SATURDAY
Definition: proto.h:314
TDS_SERVER_TYPE
Definition: proto.h:161
@ SYBCHAR
Definition: proto.h:162
@ SYBTIMEN
Definition: proto.h:226
@ SYBINTN
Definition: proto.h:164
@ SYBVOID
Definition: proto.h:179
@ SYBMSDATETIMEOFFSET
Definition: proto.h:206
@ SYBINT2
Definition: proto.h:166
@ SYBVARIANT
Definition: proto.h:200
@ SYBNUMERIC
Definition: proto.h:182
@ SYBBLOB
Definition: proto.h:216
@ SYBSENSITIVITY
Definition: proto.h:223
@ SYB5INT8
Definition: proto.h:220
@ SYBMONEY4
Definition: proto.h:174
@ SYBTIME
Definition: proto.h:225
@ SYBINTERVAL
Definition: proto.h:221
@ SYBUINT8
Definition: proto.h:215
@ SYBDATE
Definition: proto.h:218
@ SYBNVARCHAR
Definition: proto.h:191
@ SYBLONGBINARY
Definition: proto.h:211
@ SYBDECIMAL
Definition: proto.h:183
@ SYBUNIQUE
Definition: proto.h:199
@ SYBUINTN
Definition: proto.h:227
@ SYBINT8
Definition: proto.h:192
@ SYBFLT8
Definition: proto.h:168
@ SYBXML
Definition: proto.h:229
@ SYBBITN
Definition: proto.h:181
@ SYBDATETIME4
Definition: proto.h:176
@ XSYBNVARCHAR
Definition: proto.h:195
@ SYBINT1
Definition: proto.h:165
@ XSYBCHAR
Definition: proto.h:193
@ SYBMSDATETIME2
Definition: proto.h:205
@ SYBLONGCHAR
Definition: proto.h:222
@ SYBUINT2
Definition: proto.h:213
@ SYBDATETIME
Definition: proto.h:169
@ SYBDATETIMN
Definition: proto.h:186
@ SYBNTEXT
Definition: proto.h:172
@ SYBDATEN
Definition: proto.h:219
@ SYBVARBINARY
Definition: proto.h:180
@ SYBMONEYN
Definition: proto.h:185
@ SYBFLTN
Definition: proto.h:184
@ SYBBINARY
Definition: proto.h:178
@ XSYBVARCHAR
Definition: proto.h:194
@ SYBUNITEXT
Definition: proto.h:228
@ SYBUINT4
Definition: proto.h:214
@ SYBSINT1
Definition: proto.h:224
@ SYBVARCHAR
Definition: proto.h:163
@ XSYBVARBINARY
Definition: proto.h:197
@ XSYBNCHAR
Definition: proto.h:196
@ SYBIMAGE
Definition: proto.h:173
@ SYBMONEY
Definition: proto.h:175
@ SYBMSTIME
Definition: proto.h:204
@ SYBMSUDT
Definition: proto.h:201
@ SYBINT4
Definition: proto.h:167
@ SYB5BIGTIME
Definition: proto.h:231
@ SYBTEXT
Definition: proto.h:171
@ SYBMSDATE
Definition: proto.h:203
@ SYBBIT
Definition: proto.h:170
@ XSYBBINARY
Definition: proto.h:198
@ SYBMSXML
Definition: proto.h:202
@ SYB5BIGDATETIME
Definition: proto.h:230
@ SYBREAL
Definition: proto.h:177
@ SYBUINT1
Definition: proto.h:212
@ SYBBOUNDARY
Definition: proto.h:217
@ TDS_SMP_FIN
Definition: proto.h:373
@ TDS_SMP_SYN
Definition: proto.h:371
@ TDS_SMP_DATA
Definition: proto.h:374
@ TDS_SMP_ACK
Definition: proto.h:372
TDS_OPT_ISOLATION_CHOICE
Definition: proto.h:323
@ TDS_OPT_LEVEL3
Definition: proto.h:327
@ TDS_OPT_LEVEL1
Definition: proto.h:325
@ TDS_OPT_LEVEL0
Definition: proto.h:324
@ TDS_OPT_LEVEL2
Definition: proto.h:326
dynamic_types
Definition: proto.h:437
@ TDS_DYN_PROCNAME
Definition: proto.h:442
@ TDS_DYN_EXEC
Definition: proto.h:439
@ TDS_DYN_DESCOUT
Definition: proto.h:445
@ TDS_DYN_ACK
Definition: proto.h:443
@ TDS_DYN_DEALLOC
Definition: proto.h:440
@ TDS_DYN_PREPARE
Definition: proto.h:438
@ TDS_DYN_DESCIN
Definition: proto.h:444
@ TDS_DYN_EXEC_IMMED
Definition: proto.h:441
option_flag2_values
Definition: proto.h:407
@ TDS_TRANSACTION_BOUNDARY71
Definition: proto.h:414
@ TDS_ODBC_ON
Definition: proto.h:413
@ TDS_INIT_LANG_WARN
Definition: proto.h:408
@ TDS_INIT_LANG_REQUIRED
Definition: proto.h:412
@ TDS_USER_SQLREPL
Definition: proto.h:418
@ TDS_USER_REMUSER
Definition: proto.h:417
@ TDS_ODBC_OFF
Definition: proto.h:410
@ TDS_USER_SERVER
Definition: proto.h:416
@ TDS_USER_NORMAL
Definition: proto.h:411
@ TDS_INTEGRATED_SECURITY_ON
Definition: proto.h:419
@ TDS_CACHE_CONNECT71
Definition: proto.h:415
@ TDS_INTEGRATED_SECURTY_OFF
Definition: proto.h:409
struct tdsunique TDS_UNIQUE
TDS_UINT8 TDS_BIGDATETIME
Definition: proto.h:73
@ TDS5_SEC_LOG_ENCRYPT2
Definition: proto.h:479
@ TDS5_SEC_LOG_SECSESS
Definition: proto.h:478
@ TDS5_SEC_LOG_LABELS
Definition: proto.h:476
@ TDS5_SEC_LOG_NONCE
Definition: proto.h:480
@ TDS5_SEC_LOG_APPDEFINED
Definition: proto.h:477
@ TDS5_SEC_LOG_CHALLENGE
Definition: proto.h:475
@ TDS5_SEC_LOG_ENCRYPT
Definition: proto.h:474
TDS_OPTION
Definition: proto.h:271
@ TDS_OPT_ROWCOUNT
Definition: proto.h:276
@ TDS_OPT_AUTHOFF
Definition: proto.h:299
@ TDS_OPT_CHARSET
Definition: proto.h:281
@ TDS_OPT_DATEFORMAT
Definition: proto.h:278
@ TDS_OPT_PARSEONLY
Definition: proto.h:286
@ TDS_OPT_CHAINXACTS
Definition: proto.h:291
@ TDS_OPT_CURWRITE
Definition: proto.h:297
@ TDS_OPT_NATLANG
Definition: proto.h:277
@ TDS_OPT_STAT_IO
Definition: proto.h:275
@ TDS_OPT_DATEFIRST
Definition: proto.h:272
@ TDS_OPT_TEXTSIZE
Definition: proto.h:273
@ TDS_OPT_GETDATA
Definition: proto.h:287
@ TDS_OPT_FIPSFLAG
Definition: proto.h:293
@ TDS_OPT_ARITHABORTON
Definition: proto.h:285
@ TDS_OPT_ARITHIGNOREON
Definition: proto.h:284
@ TDS_OPT_FORMATONLY
Definition: proto.h:290
@ TDS_OPT_FORCEPLAN
Definition: proto.h:289
@ TDS_OPT_CURCLOSEONXACT
Definition: proto.h:292
@ TDS_OPT_ANSINULL
Definition: proto.h:300
@ TDS_OPT_IDENTITYOFF
Definition: proto.h:298
@ TDS_OPT_ARITHIGNOREOFF
Definition: proto.h:302
@ TDS_OPT_STAT_TIME
Definition: proto.h:274
@ TDS_OPT_TRUNCABORT
Definition: proto.h:304
@ TDS_OPT_QUOTED_IDENT
Definition: proto.h:301
@ TDS_OPT_IDENTITYON
Definition: proto.h:295
@ TDS_OPT_RESTREES
Definition: proto.h:294
@ TDS_OPT_NOEXEC
Definition: proto.h:283
@ TDS_OPT_ISOLATION
Definition: proto.h:279
@ TDS_OPT_ARITHABORTOFF
Definition: proto.h:303
@ TDS_OPT_AUTHON
Definition: proto.h:280
@ TDS_OPT_NOCOUNT
Definition: proto.h:288
@ TDS_OPT_SHOWPLAN
Definition: proto.h:282
@ TDS_OPT_CURREAD
Definition: proto.h:296
option_flag1_values
Definition: proto.h:389
@ TDS_BYTE_ORDER_X86
Definition: proto.h:390
@ TDS_CHARSET_EBDDIC
Definition: proto.h:398
@ TDS_SET_LANG_OFF
Definition: proto.h:395
@ TDS_USE_DB_SILENT
Definition: proto.h:396
@ TDS_INIT_DB_WARN
Definition: proto.h:394
@ TDS_FLOAT_ND5000
Definition: proto.h:400
@ TDS_USE_DB_NOTIFY
Definition: proto.h:402
@ TDS_FLOAT_IEEE_754
Definition: proto.h:393
@ TDS_BYTE_ORDER_68000
Definition: proto.h:397
@ TDS_DUMPLOAD_OFF
Definition: proto.h:401
@ TDS_CHARSET_ASCII
Definition: proto.h:391
@ TDS_SET_LANG_ON
Definition: proto.h:404
@ TDS_FLOAT_VAX
Definition: proto.h:399
@ TDS_DUMPLOAD_ON
Definition: proto.h:392
@ TDS_INIT_DB_FATAL
Definition: proto.h:403
enum tds_packet_type TDS_PACKET_TYPE
struct tdsnumeric TDS_NUMERIC
TDS_USER_TYPE
Definition: proto.h:236
@ USER_UNICHAR_TYPE
Definition: proto.h:237
@ USER_UNIVARCHAR_TYPE
Definition: proto.h:238
TDS_INT TDS_DATE
Definition: proto.h:69
TDS_INT TDS_TIME
Definition: proto.h:70
struct tdsoldmoney TDS_OLD_MONEY
TDS_OPT_DATEFORMAT_CHOICE
Definition: proto.h:319
@ TDS_OPT_FMTMYD
Definition: proto.h:320
@ TDS_OPT_FMTDMY
Definition: proto.h:320
@ TDS_OPT_FMTDYM
Definition: proto.h:320
@ TDS_OPT_FMTYMD
Definition: proto.h:320
@ TDS_OPT_FMTMDY
Definition: proto.h:320
@ TDS_OPT_FMTYDM
Definition: proto.h:320
@ TDS_CUR_CONCUR_OPTIMISTIC_VALUES
Definition: proto.h:464
@ TDS_CUR_CONCUR_READ_ONLY
Definition: proto.h:461
@ TDS_CUR_CONCUR_SCROLL_LOCKS
Definition: proto.h:462
@ TDS_CUR_CONCUR_OPTIMISTIC
Definition: proto.h:463
struct tdsmoney4 TDS_MONEY4
type_flags
Definition: proto.h:431
@ TDS_READONLY_INTENT
Definition: proto.h:433
@ TDS_OLEDB_ON
Definition: proto.h:432
option_flag3_values
Definition: proto.h:422
@ TDS_EXTENSION
Definition: proto.h:428
@ TDS_RESTRICTED_COLLATION
Definition: proto.h:423
@ TDS_UNKNOWN_COLLATION_HANDLING
Definition: proto.h:427
@ TDS_SEND_YUKON_BINARY_XML
Definition: proto.h:425
@ TDS_CHANGE_PASSWORD
Definition: proto.h:424
@ TDS_REQUEST_USER_INSTANCE
Definition: proto.h:426
struct tdsdatetime TDS_DATETIME
tds_sysdep_int32_type TDS_INT
Definition: tds.h:149
tds_sysdep_int64_type TDS_INT8
Definition: tds.h:153
unsigned char TDS_UCHAR
Definition: tds.h:145
tds_sysdep_uint64_type TDS_UINT8
Definition: tds.h:154
tds_sysdep_uint16_type TDS_USMALLINT
Definition: tds.h:148
tds_sysdep_uint32_type TDS_UINT
Definition: tds.h:150
TDS 7.1 collation informations.
Definition: proto.h:351
TDS_USMALLINT flags
Definition: proto.h:353
TDS_UCHAR charset_id
Definition: proto.h:354
TDS_USMALLINT locale_id
Definition: proto.h:352
TDS 7.2 SMP packet header.
Definition: proto.h:361
TDS_UCHAR signature
Definition: proto.h:362
TDS_UINT wnd
Definition: proto.h:367
TDS_USMALLINT sid
Definition: proto.h:364
TDS_UINT size
Definition: proto.h:365
TDS_UINT seq
Definition: proto.h:366
TDS_UCHAR type
Definition: proto.h:363
TDS_USMALLINT days
Definition: proto.h:57
TDS_USMALLINT minutes
Definition: proto.h:58
TDS_INT dtdays
Definition: proto.h:51
TDS_INT dttime
Definition: proto.h:52
TDS_INT mny4
Definition: proto.h:46
unsigned char scale
Definition: proto.h:28
unsigned char precision
Definition: proto.h:27
TDS_INT mnyhigh
Definition: proto.h:34
TDS_UINT mnylow
Definition: proto.h:35
TDS_USMALLINT Data3
Definition: proto.h:65
TDS_UCHAR Data4[8]
Definition: proto.h:66
TDS_UINT Data1
Definition: proto.h:63
TDS_USMALLINT Data2
Definition: proto.h:64
Definition: proto.h:39
TDS_INT8 mny
Definition: proto.h:41
TDS_OLD_MONEY tdsoldmoney
Definition: proto.h:40
Modified on Sun May 19 04:48:38 2024 by modify_doxy.py rev. 669887