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 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,
272 #define SYBAOPCNTU 76 274 #define SYBAOPSUMU 78 276 #define SYBAOPAVGU 80 281 #define SYBAOPCNT_BIG 9 282 #define SYBAOPSTDEV 48 283 #define SYBAOPSTDEVP 49 285 #define SYBAOPVARP 51 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
341 enum 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
347 enum 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
351 enum TDS_OPT_ISOLATION_CHOICE
360 typedef 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 436 enum 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
454 enum 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
469 enum 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,
505 TDS_CUR_TYPE_AUTO_CLOSE = 0x4000,
506 TDS_CUR_TYPE_CHECK_ACCEPTED_TYPES = 0x8000,
507 TDS_CUR_TYPE_KEYSET_ACCEPTABLE = 0x10000,
508 TDS_CUR_TYPE_DYNAMIC_ACCEPTABLE = 0x20000,
509 TDS_CUR_TYPE_FORWARD_ONLY_ACCEPTABLE = 0x40000,
510 TDS_CUR_TYPE_STATIC_ACCEPTABLE = 0x80000,
511 TDS_CUR_TYPE_FAST_FORWARD_ACCEPTABLE = 0x100000
515 TDS_CUR_CONCUR_READ_ONLY = 1,
516 TDS_CUR_CONCUR_SCROLL_LOCKS = 2,
517 TDS_CUR_CONCUR_OPTIMISTIC = 4,
518 TDS_CUR_CONCUR_OPTIMISTIC_VALUES = 8,
519 TDS_CUR_CONCUR_ALLOW_DIRECT = 0x2000,
520 TDS_CUR_CONCUR_UPDATE_IN_PLACE = 0x4000,
521 TDS_CUR_CONCUR_CHECK_ACCEPTED_OPTS = 0x8000,
522 TDS_CUR_CONCUR_READ_ONLY_ACCEPTABLE = 0x10000,
523 TDS_CUR_CONCUR_SCROLL_LOCKS_ACCEPTABLE = 0x20000,
524 TDS_CUR_CONCUR_OPTIMISTIC_ACCEPTABLE = 0x40000
528 #define TDS_MAXNAME 30 529 #define TDS_PROGNLEN 10 534 TDS5_SEC_LOG_ENCRYPT = 1,
535 TDS5_SEC_LOG_CHALLENGE = 2,
536 TDS5_SEC_LOG_LABELS = 4,
537 TDS5_SEC_LOG_APPDEFINED = 8,
538 TDS5_SEC_LOG_SECSESS = 16,
539 TDS5_SEC_LOG_ENCRYPT2 = 32,
540 TDS5_SEC_LOG_ENCRYPT3 = 128,
545 TDS5_MSG_SEC_ENCRYPT = 1,
546 TDS5_MSG_SEC_LOGPWD = 2,
547 TDS5_MSG_SEC_REMPWD = 3,
548 TDS5_MSG_SEC_CHALLENGE = 4,
549 TDS5_MSG_SEC_RESPONSE = 5,
550 TDS5_MSG_SEC_GETLABEL = 6,
551 TDS5_MSG_SEC_LABEL = 7,
552 TDS5_MSG_SQL_TBLNAME = 8,
553 TDS5_MSG_GW_RESERVED = 9,
554 TDS5_MSG_OMNI_CAPABILITIES = 10,
555 TDS5_MSG_SEC_OPAQUE = 11,
556 TDS5_MSG_HAFAILOVER = 12,
560 TDS5_MSG_SEC_ENCRYPT2 = 14,
561 TDS5_MSG_SEC_LOGPWD2 = 15,
562 TDS5_MSG_SEC_SUP_CIPHER = 16,
563 TDS5_MSG_MIG_REQ = 17,
565 TDS5_MSG_MIG_SYNC = 18,
566 TDS5_MSG_MIG_CONT = 19,
567 TDS5_MSG_MIG_IGN = 20,
568 TDS5_MSG_MIG_FAIL = 21,
570 TDS5_MSG_SEC_REMPWD2 = 22,
571 TDS5_MSG_MIG_RESUME = 23,
572 TDS5_MSG_SEC_ENCRYPT3 = 30,
573 TDS5_MSG_SEC_LOGPWD3 = 31,
574 TDS5_MSG_SEC_REMPWD3 = 32,
575 TDS5_MSG_DR_MAP = 33,
589 TDS5_SEC_SECSESS = 1,
590 TDS5_SEC_FORWARD = 2,
599 TDS5_SEC_NETWORK_AUTHENTICATION = 0x1,
600 TDS5_SEC_MUTUAL_AUTHENTICATION = 0x2,
601 TDS5_SEC_DELEGATION = 0x4,
602 TDS5_SEC_INTEGRITY = 0x8,
603 TDS5_SEC_CONFIDENTIALITY = 0x10,
604 TDS5_SEC_DETECT_REPLAY = 0x20,
605 TDS5_SEC_DETECT_SEQUENCE = 0x40,
606 TDS5_SEC_DATA_ORIGIN = 0x80,
607 TDS5_SEC_CHANNEL_BINDING = 0x100,
611 TDS5_SEC_VERSION = 50,
618 TDS7_ENCRYPT_NOT_SUP,
TDS packet header.
Definition: proto.h:389
TDS 7.1 collation information.
Definition: proto.h:379
TDS 7.2 SMP packet header.
Definition: proto.h:407