27 unsigned char precision;
29 unsigned char array[33];
58 TDS_USMALLINT minutes;
69typedef TDS_INT TDS_DATE;
70typedef TDS_INT TDS_TIME;
72typedef TDS_UINT8 TDS_BIGTIME;
73typedef 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
159 TDS_DONE_FINAL = 0x00
160 , TDS_DONE_MORE_RESULTS = 0x01
161 , TDS_DONE_ERROR = 0x02
162 , TDS_DONE_INXACT = 0x04
163 , TDS_DONE_PROC = 0x08
164 , TDS_DONE_COUNT = 0x10
165 , TDS_DONE_CANCELLED = 0x20
166 , TDS_DONE_EVENT = 0x40
167 , TDS_DONE_SRVERROR = 0x100
170 , TDS_DONE_NO_TRAN = 0
171 , TDS_DONE_TRAN_SUCCEED = 1
172 , TDS_DONE_TRAN_PROGRESS= 2
173 , TDS_DONE_STMT_ABORT = 3
174 , TDS_DONE_TRAN_ABORT = 4
227 SYBMSDATETIMEOFFSET = 43,
246 SYBSENSITIVITY = 103,
253 SYB5BIGDATETIME = 187,
261 USER_VARCHAR_TYPE = 2,
262 USER_SYSNAME_TYPE = 18,
263 USER_NCHAR_TYPE = 24,
264 USER_NVARCHAR_TYPE = 25,
265 USER_UNICHAR_TYPE = 34,
266 USER_UNIVARCHAR_TYPE = 35,
267 USER_UNITEXT_TYPE = 36,
281#define SYBAOPCNT_BIG 9
282#define SYBAOPSTDEV 48
283#define SYBAOPSTDEVP 49
286#define SYBAOPCHECKSUM_AGG 114
294 , TDS_OPT_DEFAULT = 2
301 TDS_OPT_DATEFIRST = 1
302 , TDS_OPT_TEXTSIZE = 2
303 , TDS_OPT_STAT_TIME = 3
304 , TDS_OPT_STAT_IO = 4
305 , TDS_OPT_ROWCOUNT = 5
306 , TDS_OPT_NATLANG = 6
307 , TDS_OPT_DATEFORMAT = 7
308 , TDS_OPT_ISOLATION = 8
310 , TDS_OPT_CHARSET = 10
311 , TDS_OPT_SHOWPLAN = 13
312 , TDS_OPT_NOEXEC = 14
313 , TDS_OPT_ARITHIGNOREON = 15
314 , TDS_OPT_ARITHABORTON = 17
315 , TDS_OPT_PARSEONLY = 18
316 , TDS_OPT_GETDATA = 20
317 , TDS_OPT_NOCOUNT = 21
318 , TDS_OPT_FORCEPLAN = 23
319 , TDS_OPT_FORMATONLY = 24
320 , TDS_OPT_CHAINXACTS = 25
321 , TDS_OPT_CURCLOSEONXACT = 26
322 , TDS_OPT_FIPSFLAG = 27
323 , TDS_OPT_RESTREES = 28
324 , TDS_OPT_IDENTITYON = 29
325 , TDS_OPT_CURREAD = 30
326 , TDS_OPT_CURWRITE = 31
327 , TDS_OPT_IDENTITYOFF = 32
328 , TDS_OPT_AUTHOFF = 33
329 , TDS_OPT_ANSINULL = 34
330 , TDS_OPT_QUOTED_IDENT = 35
331 , TDS_OPT_ARITHIGNOREOFF = 36
332 , TDS_OPT_ARITHABORTOFF = 37
333 , TDS_OPT_TRUNCABORT = 38
337 TDS_OPT_ARITHOVERFLOW = 0x01,
338 TDS_OPT_NUMERICTRUNC = 0x02
341enum TDS_OPT_DATEFIRST_CHOICE
343 TDS_OPT_MONDAY = 1, TDS_OPT_TUESDAY = 2, TDS_OPT_WEDNESDAY = 3, TDS_OPT_THURSDAY = 4, TDS_OPT_FRIDAY = 5, TDS_OPT_SATURDAY =
344 6, TDS_OPT_SUNDAY = 7
347enum TDS_OPT_DATEFORMAT_CHOICE
349 TDS_OPT_FMTMDY = 1, TDS_OPT_FMTDMY = 2, TDS_OPT_FMTYMD = 3, TDS_OPT_FMTYDM = 4, TDS_OPT_FMTMYD = 5, TDS_OPT_FMTDYM = 6
351enum TDS_OPT_ISOLATION_CHOICE
360typedef enum tds_packet_type
381 TDS_USMALLINT locale_id;
383 TDS_UCHAR charset_id;
393 TDS_USMALLINT length;
401 TDS_STATUS_RESETCONNECTION = 8,
425#define TDS_SF_BIN (TDS_USMALLINT) 0x100
426#define TDS_SF_WIDTH_INSENSITIVE (TDS_USMALLINT) 0x080
427#define TDS_SF_KATATYPE_INSENSITIVE (TDS_USMALLINT) 0x040
428#define TDS_SF_ACCENT_SENSITIVE (TDS_USMALLINT) 0x020
429#define TDS_SF_CASE_INSENSITIVE (TDS_USMALLINT) 0x010
432#define TDS_UT_TIMESTAMP 80
436enum option_flag1_values {
437 TDS_BYTE_ORDER_X86 = 0,
438 TDS_CHARSET_ASCII = 0,
440 TDS_FLOAT_IEEE_754 = 0,
441 TDS_INIT_DB_WARN = 0,
442 TDS_SET_LANG_OFF = 0,
443 TDS_USE_DB_SILENT = 0,
444 TDS_BYTE_ORDER_68000 = 0x01,
445 TDS_CHARSET_EBDDIC = 0x02,
446 TDS_FLOAT_VAX = 0x04,
447 TDS_FLOAT_ND5000 = 0x08,
448 TDS_DUMPLOAD_OFF = 0x10,
449 TDS_USE_DB_NOTIFY = 0x20,
450 TDS_INIT_DB_FATAL = 0x40,
451 TDS_SET_LANG_ON = 0x80
454enum option_flag2_values {
455 TDS_INIT_LANG_WARN = 0,
456 TDS_INTEGRATED_SECURTY_OFF = 0,
459 TDS_INIT_LANG_REQUIRED = 0x01,
461 TDS_TRANSACTION_BOUNDARY71 = 0x04,
462 TDS_CACHE_CONNECT71 = 0x08,
463 TDS_USER_SERVER = 0x10,
464 TDS_USER_REMUSER = 0x20,
465 TDS_USER_SQLREPL = 0x40,
466 TDS_INTEGRATED_SECURITY_ON = 0x80
469enum option_flag3_values {
470 TDS_RESTRICTED_COLLATION = 0,
471 TDS_CHANGE_PASSWORD = 0x01,
472 TDS_SEND_YUKON_BINARY_XML = 0x02,
473 TDS_REQUEST_USER_INSTANCE = 0x04,
474 TDS_UNKNOWN_COLLATION_HANDLING = 0x08,
475 TDS_EXTENSION = 0x10,
480 TDS_READONLY_INTENT = 0x20,
485 TDS_DYN_PREPARE = 0x01,
487 TDS_DYN_DEALLOC = 0x04,
488 TDS_DYN_EXEC_IMMED = 0x08,
489 TDS_DYN_PROCNAME = 0x10,
491 TDS_DYN_DESCIN = 0x40,
492 TDS_DYN_DESCOUT = 0x80,
498 TDS_CUR_TYPE_KEYSET = 0x0001,
499 TDS_CUR_TYPE_DYNAMIC = 0x0002,
500 TDS_CUR_TYPE_FORWARD = 0x0004,
501 TDS_CUR_TYPE_STATIC = 0x0008,
502 TDS_CUR_TYPE_FASTFORWARDONLY = 0x0010,
503 TDS_CUR_TYPE_PARAMETERIZED = 0x1000,
504 TDS_CUR_TYPE_AUTO_FETCH = 0x2000
508 TDS_CUR_CONCUR_READ_ONLY = 1,
509 TDS_CUR_CONCUR_SCROLL_LOCKS = 2,
510 TDS_CUR_CONCUR_OPTIMISTIC = 4,
511 TDS_CUR_CONCUR_OPTIMISTIC_VALUES = 8
515#define TDS_MAXNAME 30
516#define TDS_PROGNLEN 10
521 TDS5_SEC_LOG_ENCRYPT = 1,
522 TDS5_SEC_LOG_CHALLENGE = 2,
523 TDS5_SEC_LOG_LABELS = 4,
524 TDS5_SEC_LOG_APPDEFINED = 8,
525 TDS5_SEC_LOG_SECSESS = 16,
526 TDS5_SEC_LOG_ENCRYPT2 = 32,
527 TDS5_SEC_LOG_ENCRYPT3 = 128,
532 TDS5_MSG_SEC_ENCRYPT = 1,
533 TDS5_MSG_SEC_LOGPWD = 2,
534 TDS5_MSG_SEC_REMPWD = 3,
535 TDS5_MSG_SEC_CHALLENGE = 4,
536 TDS5_MSG_SEC_RESPONSE = 5,
537 TDS5_MSG_SEC_GETLABEL = 6,
538 TDS5_MSG_SEC_LABEL = 7,
539 TDS5_MSG_SQL_TBLNAME = 8,
540 TDS5_MSG_GW_RESERVED = 9,
541 TDS5_MSG_OMNI_CAPABILITIES = 10,
542 TDS5_MSG_SEC_OPAQUE = 11,
543 TDS5_MSG_HAFAILOVER = 12,
547 TDS5_MSG_SEC_ENCRYPT2 = 14,
548 TDS5_MSG_SEC_LOGPWD2 = 15,
549 TDS5_MSG_SEC_SUP_CIPHER = 16,
550 TDS5_MSG_MIG_REQ = 17,
552 TDS5_MSG_MIG_SYNC = 18,
553 TDS5_MSG_MIG_CONT = 19,
554 TDS5_MSG_MIG_IGN = 20,
555 TDS5_MSG_MIG_FAIL = 21,
557 TDS5_MSG_SEC_REMPWD2 = 22,
558 TDS5_MSG_MIG_RESUME = 23,
559 TDS5_MSG_SEC_ENCRYPT3 = 30,
560 TDS5_MSG_SEC_LOGPWD3 = 31,
561 TDS5_MSG_SEC_REMPWD3 = 32,
562 TDS5_MSG_DR_MAP = 33,
576 TDS5_SEC_SECSESS = 1,
577 TDS5_SEC_FORWARD = 2,
586 TDS5_SEC_NETWORK_AUTHENTICATION = 0x1,
587 TDS5_SEC_MUTUAL_AUTHENTICATION = 0x2,
588 TDS5_SEC_DELEGATION = 0x4,
589 TDS5_SEC_INTEGRITY = 0x8,
590 TDS5_SEC_CONFIDENTIALITY = 0x10,
591 TDS5_SEC_DETECT_REPLAY = 0x20,
592 TDS5_SEC_DETECT_SEQUENCE = 0x40,
593 TDS5_SEC_DATA_ORIGIN = 0x80,
594 TDS5_SEC_CHANNEL_BINDING = 0x100,
598 TDS5_SEC_VERSION = 50,
605 TDS7_ENCRYPT_NOT_SUP,
TDS 7.1 collation information.
Definition proto.h:380
TDS packet header.
Definition proto.h:390
TDS 7.2 SMP packet header.
Definition proto.h:408