25 #undef TDS_STATIC_CAST 
   27 #define TDS_STATIC_CAST(type, a) static_cast<type>(a) 
   34 #define TDS_STATIC_CAST(type, a) ((type)(a)) 
   38 #define CS_STATIC static 
   42 #define CS_MEM_ERROR        -1 
   46 #define CS_INTERRUPT        -5 
   47 #define CS_BLK_HAS_TEXT     -6 
   48 #define CS_CONTINUE     -7 
   50 #define CS_RET_HAFAILOVER   -9 
   51 #define CS_UNSUPPORTED      -10 
   53 #define CS_CANCELED -202 
   54 #define CS_ROW_FAIL -203 
   55 #define CS_END_DATA -204 
   56 #define CS_END_RESULTS  -205 
   57 #define CS_END_ITEM -206 
   59 #define CS_TIMED_OUT    -208 
   61 #define CS_SIZEOF(x) sizeof(x) 
   63 #define CS_LAYER(x)    (((x) >> 24) & 0xFF) 
   64 #define CS_ORIGIN(x)   (((x) >> 16) & 0xFF) 
   65 #define CS_SEVERITY(x) (((x) >>  8) & 0xFF) 
   66 #define CS_NUMBER(x)   ((x) & 0xFF) 
   74 #define CS_IODATA          TDS_STATIC_CAST(CS_INT, 1600) 
   75 #define CS_SRC_VALUE   -2562 
   80 #define CS_HASEED 0x01 
   87 #define CS_REQ_NOTIF    3 
   88 #define CS_REQ_MSTMT    4 
   90 #define CS_REQ_CURSOR   6 
   93 #define CS_REQ_PARAM    9 
   94 #define CS_DATA_INT1    10 
   95 #define CS_DATA_INT2    11 
   96 #define CS_DATA_INT4    12 
   97 #define CS_DATA_BIT 13 
   98 #define CS_DATA_CHAR    14 
   99 #define CS_DATA_VCHAR   15 
  100 #define CS_DATA_BIN 16 
  101 #define CS_DATA_VBIN    17 
  102 #define CS_DATA_MNY8    18 
  103 #define CS_DATA_MNY4    19 
  104 #define CS_DATA_DATE8   20 
  105 #define CS_DATA_DATE4   21 
  106 #define CS_DATA_FLT4    22 
  107 #define CS_DATA_FLT8    23 
  108 #define CS_DATA_NUM 24 
  109 #define CS_DATA_TEXT    25 
  110 #define CS_DATA_IMAGE   26 
  111 #define CS_DATA_DEC 27 
  112 #define CS_DATA_LCHAR   28 
  113 #define CS_DATA_LBIN    29 
  114 #define CS_DATA_INTN    30 
  115 #define CS_DATA_DATETIMEN   31 
  116 #define CS_DATA_MONEYN  32 
  117 #define CS_CSR_PREV 33 
  118 #define CS_CSR_FIRST    34 
  119 #define CS_CSR_LAST 35 
  120 #define CS_CSR_ABS  36 
  121 #define CS_CSR_REL  37 
  122 #define CS_CSR_MULTI    38 
  123 #define CS_CON_OOB  39 
  124 #define CS_CON_INBAND   40 
  125 #define CS_CON_LOGICAL  41 
  126 #define CS_PROTO_TEXT   42 
  127 #define CS_PROTO_BULK   43 
  128 #define CS_REQ_URGNOTIF 44 
  129 #define CS_DATA_SENSITIVITY 45 
  130 #define CS_DATA_BOUNDARY    46 
  131 #define CS_PROTO_DYNAMIC    47 
  132 #define CS_PROTO_DYNPROC    48 
  133 #define CS_DATA_FLTN    49 
  134 #define CS_DATA_BITN    50 
  135 #define CS_OPTION_GET   51 
  136 #define CS_DATA_INT8    52 
  137 #define CS_DATA_VOID    53 
  140 #define CS_RES_NOMSG    1 
  141 #define CS_RES_NOEED    2 
  142 #define CS_RES_NOPARAM  3 
  143 #define CS_DATA_NOINT1  4 
  144 #define CS_DATA_NOINT2  5 
  145 #define CS_DATA_NOINT4  6 
  146 #define CS_DATA_NOBIT   7 
  147 #define CS_DATA_NOCHAR  8 
  148 #define CS_DATA_NOVCHAR 9 
  149 #define CS_DATA_NOBIN   10 
  150 #define CS_DATA_NOVBIN  11 
  151 #define CS_DATA_NOMNY8  12 
  152 #define CS_DATA_NOMNY4  13 
  153 #define CS_DATA_NODATE8 14 
  154 #define CS_DATA_NODATE4 15 
  155 #define CS_DATA_NOFLT4  16 
  156 #define CS_DATA_NOFLT8  17 
  157 #define CS_DATA_NONUM   18 
  158 #define CS_DATA_NOTEXT  19 
  159 #define CS_DATA_NOIMAGE 20 
  160 #define CS_DATA_NODEC   21 
  161 #define CS_DATA_NOLCHAR 22 
  162 #define CS_DATA_NOLBIN  23 
  163 #define CS_DATA_NOINTN  24 
  164 #define CS_DATA_NODATETIMEN 25 
  165 #define CS_DATA_NOMONEYN    26 
  166 #define CS_CON_NOOOB    27 
  167 #define CS_CON_NOINBAND 28 
  168 #define CS_PROTO_NOTEXT 29 
  169 #define CS_PROTO_NOBULK 30 
  170 #define CS_DATA_NOSENSITIVITY   31 
  171 #define CS_DATA_NOBOUNDARY  32 
  172 #define CS_RES_NOTDSDEBUG   33 
  173 #define CS_RES_NOSTRIPBLANKS    34 
  174 #define CS_DATA_NOINT8  35 
  184 #define CS_USERNAME CS_USERNAME 
  186 #define CS_PASSWORD CS_PASSWORD 
  188 #define CS_APPNAME CS_APPNAME 
  190 #define CS_HOSTNAME CS_HOSTNAME 
  191     CS_LOGIN_STATUS = 9104,
 
  192 #define CS_LOGIN_STATUS CS_LOGIN_STATUS 
  193     CS_TDS_VERSION = 9105,
 
  194 #define CS_TDS_VERSION CS_TDS_VERSION 
  195     CS_CHARSETCNV = 9106,
 
  196 #define CS_CHARSETCNV CS_CHARSETCNV 
  197     CS_PACKETSIZE = 9107,
 
  198 #define CS_PACKETSIZE CS_PACKETSIZE 
  200 #define CS_USERDATA CS_USERDATA 
  202 #define CS_NETIO CS_NETIO 
  204 #define CS_TEXTLIMIT CS_TEXTLIMIT 
  205     CS_HIDDEN_KEYS = 9113,
 
  206 #define CS_HIDDEN_KEYS CS_HIDDEN_KEYS 
  208 #define CS_VERSION CS_VERSION 
  210 #define CS_IFILE CS_IFILE 
  211     CS_LOGIN_TIMEOUT = 9116,
 
  212 #define CS_LOGIN_TIMEOUT CS_LOGIN_TIMEOUT 
  214 #define CS_TIMEOUT CS_TIMEOUT 
  215     CS_MAX_CONNECT = 9118,
 
  216 #define CS_MAX_CONNECT CS_MAX_CONNECT 
  217     CS_EXPOSE_FMTS = 9120,
 
  218 #define CS_EXPOSE_FMTS CS_EXPOSE_FMTS 
  220 #define CS_EXTRA_INF CS_EXTRA_INF 
  221     CS_ANSI_BINDS = 9123,
 
  222 #define CS_ANSI_BINDS CS_ANSI_BINDS 
  223     CS_BULK_LOGIN = 9124,
 
  224 #define CS_BULK_LOGIN CS_BULK_LOGIN 
  226 #define CS_LOC_PROP CS_LOC_PROP 
  227     CS_PARENT_HANDLE = 9130,
 
  228 #define CS_PARENT_HANDLE CS_PARENT_HANDLE 
  230 #define CS_EED_CMD CS_EED_CMD 
  231     CS_DIAG_TIMEOUT = 9132,
 
  232 #define CS_DIAG_TIMEOUT CS_DIAG_TIMEOUT 
  233     CS_DISABLE_POLL = 9133,
 
  234 #define CS_DISABLE_POLL CS_DISABLE_POLL 
  235     CS_SEC_ENCRYPTION = 9135,
 
  236 #define CS_SEC_ENCRYPTION CS_SEC_ENCRYPTION 
  237     CS_SEC_CHALLENGE = 9136,
 
  238 #define CS_SEC_CHALLENGE CS_SEC_CHALLENGE 
  239     CS_SEC_NEGOTIATE = 9137,
 
  240 #define CS_SEC_NEGOTIATE CS_SEC_NEGOTIATE 
  241     CS_CON_STATUS = 9143,
 
  242 #define CS_CON_STATUS CS_CON_STATUS 
  243     CS_VER_STRING = 9144,
 
  244 #define CS_VER_STRING CS_VER_STRING 
  245     CS_SERVERNAME = 9146,
 
  246 #define CS_SERVERNAME CS_SERVERNAME 
  247     CS_SEC_APPDEFINED = 9149,
 
  248 #define CS_SEC_APPDEFINED CS_SEC_APPDEFINED 
  249     CS_STICKY_BINDS = 9151,
 
  250 #define CS_STICKY_BINDS CS_STICKY_BINDS 
  251     CS_SEC_NETWORKAUTH = 9175,
 
  252 #define CS_SEC_NETWORKAUTH CS_SEC_NETWORKAUTH 
  253     CS_SEC_DELEGATION = 9176,
 
  254 #define CS_SEC_DELEGATION CS_SEC_DELEGATION 
  255     CS_SEC_MUTUALAUTH = 9177,
 
  256 #define CS_SEC_MUTUALAUTH CS_SEC_MUTUALAUTH 
  257     CS_SEC_SERVERPRINCIPAL = 9188,
 
  258 #define CS_SEC_SERVERPRINCIPAL CS_SEC_SERVERPRINCIPAL 
  259     CS_SERVERADDR = 9206,
 
  260 #define CS_SERVERADDR CS_SERVERADDR 
  262 #define CS_PORT CS_PORT 
  263     CS_CLIENTCHARSET = 9301,
 
  264 #define CS_CLIENTCHARSET CS_CLIENTCHARSET 
  266 #define CS_DATABASE CS_DATABASE 
  280 #define CS_TDS_AUTO CS_TDS_AUTO 
  289 #define CS_TDS_71 CS_TDS_71 
  291 #define CS_TDS_72 CS_TDS_72 
  293 #define CS_TDS_73 CS_TDS_73 
  295 #define CS_TDS_74 CS_TDS_74 
  299 #define CS_HIDDEN      (1 <<  0) 
  300 #define CS_KEY         (1 <<  1) 
  301 #define CS_VERSION_KEY (1 <<  2) 
  302 #define CS_NODATA      (1 <<  3) 
  303 #define CS_UPDATABLE   (1 <<  4) 
  304 #define CS_CANBENULL   (1 <<  5) 
  305 #define CS_DESCIN      (1 <<  6) 
  306 #define CS_DESCOUT     (1 <<  7) 
  307 #define CS_INPUTVALUE  (1 <<  8) 
  308 #define CS_UPDATECOL   (1 <<  9) 
  309 #define CS_RETURN      (1 << 10) 
  310 #define CS_TIMESTAMP   (1 << 13) 
  311 #define CS_NODEFAULT   (1 << 14) 
  312 #define CS_IDENTITY    (1 << 15) 
  318 #define CS_GOODDATA 0 
  319 #define CS_NULLDATA (-1) 
  322 #define CS_CONSTAT_CONNECTED    0x01 
  323 #define CS_CONSTAT_DEAD     0x02 
  329 #define CS_CURSOR_DECLARE  700 
  330 #define CS_CURSOR_OPEN     701 
  331 #define CS_CURSOR_ROWS     703 
  332 #define CS_CURSOR_UPDATE   704 
  333 #define CS_CURSOR_DELETE   705 
  334 #define CS_CURSOR_CLOSE    706 
  335 #define CS_CURSOR_DEALLOC  707 
  336 #define CS_CURSOR_OPTION   725 
  338 #define CS_FOR_UPDATE      TDS_STATIC_CAST(CS_INT, 0x1) 
  339 #define CS_READ_ONLY       TDS_STATIC_CAST(CS_INT, 0x2) 
  340 #define CS_RESTORE_OPEN    TDS_STATIC_CAST(CS_INT, 0x8) 
  341 #define CS_IMPLICIT_CURSOR TDS_STATIC_CAST(CS_INT, 0x40) 
  344 #define CS_CURSTAT_NONE      TDS_STATIC_CAST(CS_INT, 0x0) 
  345 #define CS_CURSTAT_DECLARED  TDS_STATIC_CAST(CS_INT, 0x1) 
  346 #define CS_CURSTAT_OPEN      TDS_STATIC_CAST(CS_INT, 0x2) 
  347 #define CS_CURSTAT_CLOSED    TDS_STATIC_CAST(CS_INT, 0x4) 
  348 #define CS_CURSTAT_RDONLY    TDS_STATIC_CAST(CS_INT, 0x8) 
  349 #define CS_CURSTAT_UPDATABLE TDS_STATIC_CAST(CS_INT, 0x10) 
  350 #define CS_CURSTAT_ROWCOUNT  TDS_STATIC_CAST(CS_INT, 0x20) 
  351 #define CS_CURSTAT_DEALLOC   TDS_STATIC_CAST(CS_INT, 0x40) 
  353 #define CS_CUR_STATUS        TDS_STATIC_CAST(CS_INT, 9126) 
  354 #define CS_CUR_ID            TDS_STATIC_CAST(CS_INT, 9127) 
  355 #define CS_CUR_NAME          TDS_STATIC_CAST(CS_INT, 9128) 
  356 #define CS_CUR_ROWCOUNT      TDS_STATIC_CAST(CS_INT, 9129) 
  359 #define CS_OPT_DATEFIRST    5001 
  360 #define CS_OPT_TEXTSIZE     5002 
  361 #define CS_OPT_STATS_TIME   5003 
  362 #define CS_OPT_STATS_IO     5004 
  363 #define CS_OPT_ROWCOUNT     5005 
  364 #define CS_OPT_DATEFORMAT   5007 
  365 #define CS_OPT_ISOLATION    5008 
  366 #define CS_OPT_AUTHON       5009 
  367 #define CS_OPT_SHOWPLAN     5013 
  368 #define CS_OPT_NOEXEC       5014 
  369 #define CS_OPT_ARITHIGNORE  5015 
  370 #define CS_OPT_TRUNCIGNORE  5016 
  371 #define CS_OPT_ARITHABORT   5017 
  372 #define CS_OPT_PARSEONLY    5018 
  373 #define CS_OPT_GETDATA      5020 
  374 #define CS_OPT_NOCOUNT      5021 
  375 #define CS_OPT_FORCEPLAN    5023 
  376 #define CS_OPT_FORMATONLY   5024 
  377 #define CS_OPT_CHAINXACTS   5025 
  378 #define CS_OPT_CURCLOSEONXACT   5026 
  379 #define CS_OPT_FIPSFLAG     5027 
  380 #define CS_OPT_RESTREES     5028 
  381 #define CS_OPT_IDENTITYON   5029 
  382 #define CS_OPT_CURREAD      5030 
  383 #define CS_OPT_CURWRITE     5031 
  384 #define CS_OPT_IDENTITYOFF  5032 
  385 #define CS_OPT_AUTHOFF      5033 
  386 #define CS_OPT_ANSINULL     5034 
  387 #define CS_OPT_QUOTED_IDENT 5035 
  388 #define CS_OPT_ANSIPERM     5036 
  389 #define CS_OPT_STR_RTRUNC   5037 
  392 enum ct_command_options
 
  412 #define CS_FMT_UNUSED CS_FMT_UNUSED 
  414 #define CS_FMT_NULLTERM CS_FMT_NULLTERM 
  416 #define CS_FMT_PADBLANK CS_FMT_PADBLANK 
  418 #define CS_FMT_PADNULL CS_FMT_PADNULL 
  419     CS_FMT_JUSTIFY_RT = 8
 
  420 #define CS_FMT_JUSTIFY_RT CS_FMT_JUSTIFY_RT 
  424 #define CS_COMPLETION_CB    1 
  425 #define CS_SERVERMSG_CB     2 
  426 #define CS_CLIENTMSG_CB     3 
  427 #define CS_NOTIF_CB     4 
  428 #define CS_ENCRYPT_CB       5 
  429 #define CS_CHALLENGE_CB     6 
  430 #define CS_DS_LOOKUP_CB     7 
  431 #define CS_SECSESSION_CB    8 
  432 #define CS_SIGNAL_CB        100 
  433 #define CS_MESSAGE_CB       9119 
  436 #define CS_NULLTERM -9 
  437 #define CS_WILDCARD -99 
  438 #define CS_NO_LIMIT -9999 
  439 #define CS_UNUSED   -99999 
  447 #define CS_MSGLIMIT     38 
  448 #define CS_SUPPORTED    40 
  450 #define CS_CMD_DONE 4046 
  451 #define CS_CMD_SUCCEED  4047 
  452 #define CS_CMD_FAIL 4048 
  455 #define CS_LANG_CMD  148 
  456 #define CS_RPC_CMD   149 
  457 #define CS_SEND_DATA_CMD 151 
  458 #define CS_SEND_BULK_CMD 153 
  460 #define CS_VERSION_100  112 
  461 #define CS_VERSION_110  1100 
  462 #define CS_VERSION_120  1100 
  463 #define CS_VERSION_125  12500 
  464 #define CS_VERSION_150  15000 
  466 #define BLK_VERSION_100 CS_VERSION_100 
  467 #define BLK_VERSION_110 CS_VERSION_110 
  468 #define BLK_VERSION_120 CS_VERSION_120 
  469 #define BLK_VERSION_125 CS_VERSION_125 
  470 #define BLK_VERSION_150 CS_VERSION_150 
  472 #define CS_FORCE_EXIT   300 
  473 #define CS_FORCE_CLOSE  301 
  475 #define CS_SYNC_IO  8111 
  476 #define CS_ASYNC_IO 8112 
  477 #define CS_DEFER_IO 8113 
  479 #define CS_CANCEL_CURRENT 6000 
  480 #define CS_CANCEL_ALL     6001 
  481 #define CS_CANCEL_ATTN    6002 
  483 #define CS_ROW_COUNT    800 
  484 #define CS_CMD_NUMBER   801 
  485 #define CS_NUM_COMPUTES 802 
  486 #define CS_NUMDATA  803 
  487 #define CS_NUMORDERCOLS 805 
  488 #define CS_MSGTYPE      806 
  489 #define CS_BROWSE_INFO  807 
  490 #define CS_TRANS_STATE  808 
  492 #define CS_TRAN_UNDEFINED   0 
  493 #define CS_TRAN_IN_PROGRESS 1 
  494 #define CS_TRAN_COMPLETED   2 
  495 #define CS_TRAN_FAIL        3 
  496 #define CS_TRAN_STMT_FAIL   4 
  498 #define CS_COMP_OP  5350 
  499 #define CS_COMP_ID  5351 
  500 #define CS_COMP_COLID   5352 
  501 #define CS_COMP_BYLIST  5353 
  502 #define CS_BYLIST_LEN   5354 
  504 #define CS_NO_COUNT -1 
  506 #define CS_OP_SUM   5370 
  507 #define CS_OP_AVG   5371 
  508 #define CS_OP_COUNT 5372 
  509 #define CS_OP_MIN   5373 
  510 #define CS_OP_MAX   5374 
  512 #define CS_CAP_REQUEST  1 
  513 #define CS_CAP_RESPONSE 2 
  515 #define CS_PREPARE  717 
  516 #define CS_EXECUTE  718 
  517 #define CS_DESCRIBE_INPUT   720 
  518 #define CS_DESCRIBE_OUTPUT  721 
  520 #define CS_DEALLOC  711 
  523 #define CS_SYB_LANG      8 
  524 #define CS_SYB_CHARSET       9 
  525 #define CS_SYB_SORTORDER     10 
  526 #define CS_SYB_COLLATE CS_SYB_SORTORDER 
  527 #define CS_SYB_LANG_CHARSET  11 
  532 #define CS_BLK_BATCH    1 
  534 #define CS_BLK_CANCEL   3 
  538 #define CS_BLK_ARRAY_MAXLEN 0x1000 
  539 #define CS_DEF_PREC     18 
  542 #define CS_SV_INFORM        TDS_STATIC_CAST(CS_INT, 0) 
  543 #define CS_SV_API_FAIL      TDS_STATIC_CAST(CS_INT, 1) 
  544 #define CS_SV_RETRY_FAIL    TDS_STATIC_CAST(CS_INT, 2) 
  545 #define CS_SV_RESOURCE_FAIL TDS_STATIC_CAST(CS_INT, 3) 
  546 #define CS_SV_CONFIG_FAIL   TDS_STATIC_CAST(CS_INT, 4) 
  547 #define CS_SV_COMM_FAIL     TDS_STATIC_CAST(CS_INT, 5) 
  548 #define CS_SV_INTERNAL_FAIL TDS_STATIC_CAST(CS_INT, 6) 
  549 #define CS_SV_FATAL         TDS_STATIC_CAST(CS_INT, 7) 
  552 #define CS_COMPUTE_RESULT   4045 
  553 #define CS_CURSOR_RESULT    4041 
  554 #define CS_PARAM_RESULT     4042 
  555 #define CS_ROW_RESULT       4040 
  556 #define CS_STATUS_RESULT    4043 
  557 #define CS_COMPUTEFMT_RESULT    4050 
  558 #define CS_ROWFMT_RESULT    4049 
  559 #define CS_MSG_RESULT       4044 
  560 #define CS_DESCRIBE_RESULT  4051 
  563 #define CS_ILLEGAL_TYPE     TDS_STATIC_CAST(CS_INT, -1) 
  564 #define CS_CHAR_TYPE        TDS_STATIC_CAST(CS_INT, 0) 
  565 #define CS_BINARY_TYPE      TDS_STATIC_CAST(CS_INT, 1) 
  566 #define CS_LONGCHAR_TYPE    TDS_STATIC_CAST(CS_INT, 2) 
  567 #define CS_LONGBINARY_TYPE  TDS_STATIC_CAST(CS_INT, 3) 
  568 #define CS_TEXT_TYPE        TDS_STATIC_CAST(CS_INT, 4) 
  569 #define CS_IMAGE_TYPE       TDS_STATIC_CAST(CS_INT, 5) 
  570 #define CS_TINYINT_TYPE     TDS_STATIC_CAST(CS_INT, 6) 
  571 #define CS_SMALLINT_TYPE    TDS_STATIC_CAST(CS_INT, 7) 
  572 #define CS_INT_TYPE         TDS_STATIC_CAST(CS_INT, 8) 
  573 #define CS_REAL_TYPE        TDS_STATIC_CAST(CS_INT, 9) 
  574 #define CS_FLOAT_TYPE       TDS_STATIC_CAST(CS_INT, 10) 
  575 #define CS_BIT_TYPE         TDS_STATIC_CAST(CS_INT, 11) 
  576 #define CS_DATETIME_TYPE    TDS_STATIC_CAST(CS_INT, 12) 
  577 #define CS_DATETIME4_TYPE   TDS_STATIC_CAST(CS_INT, 13) 
  578 #define CS_MONEY_TYPE       TDS_STATIC_CAST(CS_INT, 14) 
  579 #define CS_MONEY4_TYPE      TDS_STATIC_CAST(CS_INT, 15) 
  580 #define CS_NUMERIC_TYPE     TDS_STATIC_CAST(CS_INT, 16) 
  581 #define CS_DECIMAL_TYPE     TDS_STATIC_CAST(CS_INT, 17) 
  582 #define CS_VARCHAR_TYPE     TDS_STATIC_CAST(CS_INT, 18) 
  583 #define CS_VARBINARY_TYPE   TDS_STATIC_CAST(CS_INT, 19) 
  584 #define CS_LONG_TYPE        TDS_STATIC_CAST(CS_INT, 20) 
  585 #define CS_SENSITIVITY_TYPE TDS_STATIC_CAST(CS_INT, 21) 
  586 #define CS_BOUNDARY_TYPE    TDS_STATIC_CAST(CS_INT, 22) 
  587 #define CS_VOID_TYPE        TDS_STATIC_CAST(CS_INT, 23) 
  588 #define CS_USHORT_TYPE      TDS_STATIC_CAST(CS_INT, 24) 
  589 #define CS_UNICHAR_TYPE     TDS_STATIC_CAST(CS_INT, 25) 
  590 #define CS_BLOB_TYPE        TDS_STATIC_CAST(CS_INT, 26) 
  591 #define CS_DATE_TYPE        TDS_STATIC_CAST(CS_INT, 27) 
  592 #define CS_TIME_TYPE        TDS_STATIC_CAST(CS_INT, 28) 
  593 #define CS_UNITEXT_TYPE     TDS_STATIC_CAST(CS_INT, 29) 
  594 #define CS_BIGINT_TYPE      TDS_STATIC_CAST(CS_INT, 30) 
  595 #define CS_USMALLINT_TYPE   TDS_STATIC_CAST(CS_INT, 31) 
  596 #define CS_UINT_TYPE        TDS_STATIC_CAST(CS_INT, 32) 
  597 #define CS_UBIGINT_TYPE     TDS_STATIC_CAST(CS_INT, 33) 
  598 #define CS_XML_TYPE         TDS_STATIC_CAST(CS_INT, 34) 
  599 #define CS_BIGDATETIME_TYPE TDS_STATIC_CAST(CS_INT, 35) 
  600 #define CS_BIGTIME_TYPE     TDS_STATIC_CAST(CS_INT, 36) 
  601 #define CS_UNIQUE_TYPE      TDS_STATIC_CAST(CS_INT, 40) 
  603 #define CS_MIN_SYBTYPE CS_CHAR_TYPE 
  604 #define CS_MAX_SYBTYPE CS_UNIQUE_TYPE 
  606 #define CS_USER_TYPE        TDS_STATIC_CAST(CS_INT, 100) 
  611 #define CS_MONTH CS_MONTH 
  613 #define CS_SHORTMONTH CS_SHORTMONTH 
  615 #define CS_DAYNAME CS_DAYNAME 
  617 #define CS_DATEORDER CS_DATEORDER 
  619 #define CS_12HOUR CS_12HOUR 
  621 #define CS_DT_CONVFMT CS_DT_CONVFMT 
  628 #define CS_DATES_SHORT CS_DATES_SHORT 
  630 #define CS_DATES_MDY1 CS_DATES_MDY1 
  632 #define CS_DATES_YMD1 CS_DATES_YMD1 
  634 #define CS_DATES_DMY1 CS_DATES_DMY1 
  636 #define CS_DATES_DMY2 CS_DATES_DMY2 
  638 #define CS_DATES_DMY3 CS_DATES_DMY3 
  640 #define CS_DATES_DMY4 CS_DATES_DMY4 
  642 #define CS_DATES_MDY2 CS_DATES_MDY2 
  644 #define CS_DATES_HMS CS_DATES_HMS 
  646 #define CS_DATES_LONG CS_DATES_LONG 
  648 #define CS_DATES_MDY3 CS_DATES_MDY3 
  650 #define CS_DATES_YMD2 CS_DATES_YMD2 
  652 #define CS_DATES_YMD3 CS_DATES_YMD3 
  654 #define CS_DATES_YDM1 CS_DATES_YDM1 
  656 #define CS_DATES_MYD1 CS_DATES_MYD1 
  658 #define CS_DATES_DYM1 CS_DATES_DYM1 
  659     CS_DATES_MDY1_YYYY = 101,
 
  660 #define CS_DATES_MDY1_YYYY CS_DATES_MDY1_YYYY 
  662 #define CS_DATES_YMD1_YYYY CS_DATES_YMD1_YYYY 
  664 #define CS_DATES_DMY1_YYYY CS_DATES_DMY1_YYYY 
  666 #define CS_DATES_DMY2_YYYY CS_DATES_DMY2_YYYY 
  668 #define CS_DATES_DMY3_YYYY CS_DATES_DMY3_YYYY 
  670 #define CS_DATES_DMY4_YYYY CS_DATES_DMY4_YYYY 
  672 #define CS_DATES_MDY2_YYYY CS_DATES_MDY2_YYYY 
  673     CS_DATES_MDY3_YYYY = 110,
 
  674 #define CS_DATES_MDY3_YYYY CS_DATES_MDY3_YYYY 
  676 #define CS_DATES_YMD2_YYYY CS_DATES_YMD2_YYYY 
  678 #define CS_DATES_YMD3_YYYY CS_DATES_YMD3_YYYY 
  688     CS_CHAR last_name[CS_MAX_NAME];
 
  690     CS_CHAR first_name[CS_MAX_NAME];
 
  700     CS_BOOL actuallyexists;
 
  738 #define SRV_PROC    CS_VOID 
  741 #define CS_CLIENTMSG_TYPE 4700 
  742 #define CS_SERVERMSG_TYPE 4701 
  743 #define CS_ALLMSG_TYPE 4702 
  747 CS_RETCODE cs_ctx_alloc(CS_INT version, 
CS_CONTEXT ** ctx);
 
  748 CS_RETCODE cs_ctx_global(CS_INT version, 
CS_CONTEXT ** ctx);
 
  750 CS_RETCODE cs_config(
CS_CONTEXT * ctx, CS_INT action, CS_INT property, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen);
 
  751 CS_RETCODE cs_strbuild(
CS_CONTEXT * ctx, CS_CHAR * buffer, CS_INT buflen, CS_INT * resultlen, CS_CHAR * text, CS_INT textlen,
 
  752                CS_CHAR * formats, CS_INT formatlen, ...);
 
  754 CS_RETCODE cs_dt_crack(
CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, 
CS_DATEREC * daterec);
 
  755 CS_RETCODE cs_dt_crack_v2(
CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, 
CS_DATEREC * daterec);
 
  756 #define cs_dt_crack cs_dt_crack_v2 
  759 CS_RETCODE cs_locale(
CS_CONTEXT * ctx, CS_INT action, 
CS_LOCALE * locale, CS_INT type, CS_VOID * buffer, CS_INT buflen,
 
  761 CS_RETCODE cs_dt_info(
CS_CONTEXT * ctx, CS_INT action, 
CS_LOCALE * locale, CS_INT type, CS_INT item, CS_VOID * buffer,
 
  762               CS_INT buflen, CS_INT * outlen);
 
  764 CS_RETCODE cs_calc(
CS_CONTEXT * ctx, CS_INT op, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_VOID * dest);
 
  765 CS_RETCODE cs_cmp(
CS_CONTEXT * ctx, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_INT * result);
 
  767 CS_RETCODE cs_diag(
CS_CONTEXT * ctx, CS_INT operation, CS_INT type, CS_INT idx, CS_VOID * buffer);
 
  768 CS_RETCODE cs_manage_convert(
CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_CHAR * srcname, CS_INT srcnamelen, CS_INT desttype,
 
  769                  CS_CHAR * destname, CS_INT destnamelen, CS_INT * conv_multiplier, CS_CONV_FUNC * func);
 
  771 CS_RETCODE cs_set_convert(
CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_INT desttype, CS_CONV_FUNC * func);
 
  773 CS_RETCODE cs_strcmp(
CS_CONTEXT * ctx, 
CS_LOCALE * locale, CS_INT type, CS_CHAR * str1, CS_INT len1, CS_CHAR * str2, CS_INT len2,
 
  776 CS_RETCODE cs_will_convert(
CS_CONTEXT * ctx, CS_INT srctype, CS_INT desttype, CS_BOOL * result);
 
  778 const char * cs_prretcode(
int retcode);