27 unsigned char precision;
29 unsigned char array[33];
58 TDS_USMALLINT minutes;
69 typedef TDS_INT TDS_DATE;
70 typedef TDS_INT TDS_TIME;
72 typedef TDS_UINT8 TDS_BIGTIME;
73 typedef TDS_UINT8 TDS_BIGDATETIME;
75 #define TDS5_PARAMFMT2_TOKEN 32
76 #define TDS_LANGUAGE_TOKEN 33
77 #define TDS_ORDERBY2_TOKEN 34
78 #define TDS_ROWFMT2_TOKEN 97
79 #define TDS_MSG_TOKEN 101
80 #define TDS_LOGOUT_TOKEN 113
81 #define TDS_RETURNSTATUS_TOKEN 121
82 #define TDS_PROCID_TOKEN 124
83 #define TDS7_RESULT_TOKEN 129
84 #define TDS7_COMPUTE_RESULT_TOKEN 136
85 #define TDS_COLNAME_TOKEN 160
86 #define TDS_COLFMT_TOKEN 161
87 #define TDS_DYNAMIC2_TOKEN 163
88 #define TDS_TABNAME_TOKEN 164
89 #define TDS_COLINFO_TOKEN 165
90 #define TDS_OPTIONCMD_TOKEN 166
91 #define TDS_COMPUTE_NAMES_TOKEN 167
92 #define TDS_COMPUTE_RESULT_TOKEN 168
93 #define TDS_ORDERBY_TOKEN 169
94 #define TDS_ERROR_TOKEN 170
95 #define TDS_INFO_TOKEN 171
96 #define TDS_PARAM_TOKEN 172
97 #define TDS_LOGINACK_TOKEN 173
98 #define TDS_CONTROL_FEATUREEXTACK_TOKEN \
100 #define TDS_ROW_TOKEN 209
101 #define TDS_NBC_ROW_TOKEN 210
102 #define TDS_CMP_ROW_TOKEN 211
103 #define TDS5_PARAMS_TOKEN 215
104 #define TDS_CAPABILITY_TOKEN 226
105 #define TDS_ENVCHANGE_TOKEN 227
106 #define TDS_SESSIONSTATE_TOKEN 228
107 #define TDS_EED_TOKEN 229
108 #define TDS_DBRPC_TOKEN 230
109 #define TDS5_DYNAMIC_TOKEN 231
110 #define TDS5_PARAMFMT_TOKEN 236
111 #define TDS_AUTH_TOKEN 237
112 #define TDS_RESULT_TOKEN 238
113 #define TDS_DONE_TOKEN 253
114 #define TDS_DONEPROC_TOKEN 254
115 #define TDS_DONEINPROC_TOKEN 255
118 #define TDS_CURCLOSE_TOKEN 128
119 #define TDS_CURDELETE_TOKEN 129
120 #define TDS_CURFETCH_TOKEN 130
121 #define TDS_CURINFO_TOKEN 131
122 #define TDS_CUROPEN_TOKEN 132
123 #define TDS_CURDECLARE_TOKEN 134
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
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
206 SYBMSDATETIMEOFFSET = 43,
223 SYBSENSITIVITY = 103,
230 SYB5BIGDATETIME = 187,
237 USER_UNICHAR_TYPE = 34,
238 USER_UNIVARCHAR_TYPE = 35
243 #define SYBAOPCNTU 76
245 #define SYBAOPSUMU 78
247 #define SYBAOPAVGU 80
252 #define SYBAOPCNT_BIG 9
253 #define SYBAOPSTDEV 48
254 #define SYBAOPSTDEVP 49
256 #define SYBAOPVARP 51
257 #define SYBAOPCHECKSUM_AGG 114
265 , TDS_OPT_DEFAULT = 2
272 TDS_OPT_DATEFIRST = 1
273 , TDS_OPT_TEXTSIZE = 2
274 , TDS_OPT_STAT_TIME = 3
275 , TDS_OPT_STAT_IO = 4
276 , TDS_OPT_ROWCOUNT = 5
277 , TDS_OPT_NATLANG = 6
278 , TDS_OPT_DATEFORMAT = 7
279 , TDS_OPT_ISOLATION = 8
281 , TDS_OPT_CHARSET = 10
282 , TDS_OPT_SHOWPLAN = 13
283 , TDS_OPT_NOEXEC = 14
284 , TDS_OPT_ARITHIGNOREON = 15
285 , TDS_OPT_ARITHABORTON = 17
286 , TDS_OPT_PARSEONLY = 18
287 , TDS_OPT_GETDATA = 20
288 , TDS_OPT_NOCOUNT = 21
289 , TDS_OPT_FORCEPLAN = 23
290 , TDS_OPT_FORMATONLY = 24
291 , TDS_OPT_CHAINXACTS = 25
292 , TDS_OPT_CURCLOSEONXACT = 26
293 , TDS_OPT_FIPSFLAG = 27
294 , TDS_OPT_RESTREES = 28
295 , TDS_OPT_IDENTITYON = 29
296 , TDS_OPT_CURREAD = 30
297 , TDS_OPT_CURWRITE = 31
298 , TDS_OPT_IDENTITYOFF = 32
299 , TDS_OPT_AUTHOFF = 33
300 , TDS_OPT_ANSINULL = 34
301 , TDS_OPT_QUOTED_IDENT = 35
302 , TDS_OPT_ARITHIGNOREOFF = 36
303 , TDS_OPT_ARITHABORTOFF = 37
304 , TDS_OPT_TRUNCABORT = 38
308 TDS_OPT_ARITHOVERFLOW = 0x01,
309 TDS_OPT_NUMERICTRUNC = 0x02
312 enum TDS_OPT_DATEFIRST_CHOICE
314 TDS_OPT_MONDAY = 1, TDS_OPT_TUESDAY = 2, TDS_OPT_WEDNESDAY = 3, TDS_OPT_THURSDAY = 4, TDS_OPT_FRIDAY = 5, TDS_OPT_SATURDAY =
315 6, TDS_OPT_SUNDAY = 7
318 enum TDS_OPT_DATEFORMAT_CHOICE
320 TDS_OPT_FMTMDY = 1, TDS_OPT_FMTDMY = 2, TDS_OPT_FMTYMD = 3, TDS_OPT_FMTYDM = 4, TDS_OPT_FMTMYD = 5, TDS_OPT_FMTDYM = 6
322 enum TDS_OPT_ISOLATION_CHOICE
331 typedef enum tds_packet_type
352 TDS_USMALLINT locale_id;
354 TDS_UCHAR charset_id;
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
385 #define TDS_UT_TIMESTAMP 80
389 enum option_flag1_values {
390 TDS_BYTE_ORDER_X86 = 0,
391 TDS_CHARSET_ASCII = 0,
393 TDS_FLOAT_IEEE_754 = 0,
394 TDS_INIT_DB_WARN = 0,
395 TDS_SET_LANG_OFF = 0,
396 TDS_USE_DB_SILENT = 0,
397 TDS_BYTE_ORDER_68000 = 0x01,
398 TDS_CHARSET_EBDDIC = 0x02,
399 TDS_FLOAT_VAX = 0x04,
400 TDS_FLOAT_ND5000 = 0x08,
401 TDS_DUMPLOAD_OFF = 0x10,
402 TDS_USE_DB_NOTIFY = 0x20,
403 TDS_INIT_DB_FATAL = 0x40,
404 TDS_SET_LANG_ON = 0x80
407 enum option_flag2_values {
408 TDS_INIT_LANG_WARN = 0,
409 TDS_INTEGRATED_SECURTY_OFF = 0,
412 TDS_INIT_LANG_REQUIRED = 0x01,
414 TDS_TRANSACTION_BOUNDARY71 = 0x04,
415 TDS_CACHE_CONNECT71 = 0x08,
416 TDS_USER_SERVER = 0x10,
417 TDS_USER_REMUSER = 0x20,
418 TDS_USER_SQLREPL = 0x40,
419 TDS_INTEGRATED_SECURITY_ON = 0x80
422 enum option_flag3_values {
423 TDS_RESTRICTED_COLLATION = 0,
424 TDS_CHANGE_PASSWORD = 0x01,
425 TDS_SEND_YUKON_BINARY_XML = 0x02,
426 TDS_REQUEST_USER_INSTANCE = 0x04,
427 TDS_UNKNOWN_COLLATION_HANDLING = 0x08,
428 TDS_EXTENSION = 0x10,
433 TDS_READONLY_INTENT = 0x20,
438 TDS_DYN_PREPARE = 0x01,
440 TDS_DYN_DEALLOC = 0x04,
441 TDS_DYN_EXEC_IMMED = 0x08,
442 TDS_DYN_PROCNAME = 0x10,
444 TDS_DYN_DESCIN = 0x40,
445 TDS_DYN_DESCOUT = 0x80,
451 TDS_CUR_TYPE_KEYSET = 0x0001,
452 TDS_CUR_TYPE_DYNAMIC = 0x0002,
453 TDS_CUR_TYPE_FORWARD = 0x0004,
454 TDS_CUR_TYPE_STATIC = 0x0008,
455 TDS_CUR_TYPE_FASTFORWARDONLY = 0x0010,
456 TDS_CUR_TYPE_PARAMETERIZED = 0x1000,
457 TDS_CUR_TYPE_AUTO_FETCH = 0x2000
461 TDS_CUR_CONCUR_READ_ONLY = 1,
462 TDS_CUR_CONCUR_SCROLL_LOCKS = 2,
463 TDS_CUR_CONCUR_OPTIMISTIC = 4,
464 TDS_CUR_CONCUR_OPTIMISTIC_VALUES = 8
468 #define TDS_MAXNAME 30
469 #define TDS_PROGNLEN 10
474 TDS5_SEC_LOG_ENCRYPT = 1,
475 TDS5_SEC_LOG_CHALLENGE = 2,
476 TDS5_SEC_LOG_LABELS = 4,
477 TDS5_SEC_LOG_APPDEFINED = 8,
478 TDS5_SEC_LOG_SECSESS = 16,
479 TDS5_SEC_LOG_ENCRYPT2 = 32,
480 TDS5_SEC_LOG_ENCRYPT3 = 128,
485 TDS5_MSG_SEC_ENCRYPT = 1,
486 TDS5_MSG_SEC_LOGPWD = 2,
487 TDS5_MSG_SEC_REMPWD = 3,
488 TDS5_MSG_SEC_CHALLENGE = 4,
489 TDS5_MSG_SEC_RESPONSE = 5,
490 TDS5_MSG_SEC_GETLABEL = 6,
491 TDS5_MSG_SEC_LABEL = 7,
492 TDS5_MSG_SQL_TBLNAME = 8,
493 TDS5_MSG_GW_RESERVED = 9,
494 TDS5_MSG_OMNI_CAPABILITIES = 10,
495 TDS5_MSG_SEC_OPAQUE = 11,
496 TDS5_MSG_HAFAILOVER = 12,
500 TDS5_MSG_SEC_ENCRYPT2 = 14,
501 TDS5_MSG_SEC_LOGPWD2 = 15,
502 TDS5_MSG_SEC_SUP_CIPHER = 16,
503 TDS5_MSG_MIG_REQ = 17,
505 TDS5_MSG_MIG_SYNC = 18,
506 TDS5_MSG_MIG_CONT = 19,
507 TDS5_MSG_MIG_IGN = 20,
508 TDS5_MSG_MIG_FAIL = 21,
510 TDS5_MSG_SEC_REMPWD2 = 22,
511 TDS5_MSG_MIG_RESUME = 23,
512 TDS5_MSG_SEC_ENCRYPT3 = 30,
513 TDS5_MSG_SEC_LOGPWD3 = 31,
514 TDS5_MSG_SEC_REMPWD3 = 32,
515 TDS5_MSG_DR_MAP = 33,
529 TDS5_SEC_SECSESS = 1,
530 TDS5_SEC_FORWARD = 2,
539 TDS5_SEC_NETWORK_AUTHENTICATION = 0x1,
540 TDS5_SEC_MUTUAL_AUTHENTICATION = 0x2,
541 TDS5_SEC_DELEGATION = 0x4,
542 TDS5_SEC_INTEGRITY = 0x8,
543 TDS5_SEC_CONFIDENTIALITY = 0x10,
544 TDS5_SEC_DETECT_REPLAY = 0x20,
545 TDS5_SEC_DETECT_SEQUENCE = 0x40,
546 TDS5_SEC_DATA_ORIGIN = 0x80,
547 TDS5_SEC_CHANNEL_BINDING = 0x100,
551 TDS5_SEC_VERSION = 50,
558 TDS7_ENCRYPT_NOT_SUP,