00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _cspublic_h_
00021 #define _cspublic_h_
00022
00023 #include <cstypes.h>
00024
00025 #undef TDS_STATIC_CAST
00026 #ifdef __cplusplus
00027 #define TDS_STATIC_CAST(type, a) static_cast<type>(a)
00028 extern "C"
00029 {
00030 #if 0
00031 }
00032 #endif
00033 #else
00034 #define TDS_STATIC_CAST(type, a) ((type)(a))
00035 #endif
00036
00037 static const char rcsid_cspublic_h[] = "$Id: cspublic.h,v 1.55 2005/05/28 10:48:26 freddy77 Exp $";
00038 static const void *const no_unused_cspublic_h_warn[] = { rcsid_cspublic_h, no_unused_cspublic_h_warn };
00039
00040 #define CS_PUBLIC
00041 #define CS_STATIC static
00042
00043
00044 #define CS_FAIL 0
00045 #define CS_SUCCEED 1
00046 #define CS_CANCELED -1
00047 #define CS_PENDING -2
00048 #define CS_INTERRUPT -5
00049 #define CS_QUIET -6
00050 #define CS_TIMED_OUT -7
00051
00052 #define CS_SIZEOF(x) sizeof(x)
00053 #define CS_NOMSG -99
00054
00055 #define CS_LAYER(x) (((x) >> 24) & 0xFF)
00056 #define CS_ORIGIN(x) (((x) >> 16) & 0xFF)
00057 #define CS_SEVERITY(x) (((x) >> 8) & 0xFF)
00058 #define CS_NUMBER(x) ((x) & 0xFF)
00059
00060
00061 typedef CS_RETCODE(*CS_CSLIBMSG_FUNC) (CS_CONTEXT *, CS_CLIENTMSG *);
00062 typedef CS_RETCODE(*CS_CLIENTMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_CLIENTMSG *);
00063 typedef CS_RETCODE(*CS_SERVERMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_SERVERMSG *);
00064
00065
00066 #define CS_IODATA TDS_STATIC_CAST(CS_INT, 1600)
00067 #define CS_SRC_VALUE -2562
00068
00069
00070
00071
00072 #define CS_HASEED 0x01
00073
00074 typedef struct _cs_blkdesc CS_BLKDESC;
00075
00076
00077 #define CS_REQ_LANG 1
00078 #define CS_REQ_RPC 2
00079 #define CS_REQ_NOTIF 3
00080 #define CS_REQ_MSTMT 4
00081 #define CS_REQ_BCP 5
00082 #define CS_REQ_CURSOR 6
00083 #define CS_REQ_DYN 7
00084 #define CS_REQ_MSG 8
00085 #define CS_REQ_PARAM 9
00086 #define CS_DATA_INT1 10
00087 #define CS_DATA_INT2 11
00088 #define CS_DATA_INT4 12
00089 #define CS_DATA_BIT 13
00090 #define CS_DATA_CHAR 14
00091 #define CS_DATA_VCHAR 15
00092 #define CS_DATA_BIN 16
00093 #define CS_DATA_VBIN 17
00094 #define CS_DATA_MNY8 18
00095 #define CS_DATA_MNY4 19
00096 #define CS_DATA_DATE8 20
00097 #define CS_DATA_DATE4 21
00098 #define CS_DATA_FLT4 22
00099 #define CS_DATA_FLT8 23
00100 #define CS_DATA_NUM 24
00101 #define CS_DATA_TEXT 25
00102 #define CS_DATA_IMAGE 26
00103 #define CS_DATA_DEC 27
00104 #define CS_DATA_LCHAR 28
00105 #define CS_DATA_LBIN 29
00106 #define CS_DATA_INTN 30
00107 #define CS_DATA_DATETIMEN 31
00108 #define CS_DATA_MONEYN 32
00109 #define CS_CSR_PREV 33
00110 #define CS_CSR_FIRST 34
00111 #define CS_CSR_LAST 35
00112 #define CS_CSR_ABS 36
00113 #define CS_CSR_REL 37
00114 #define CS_CSR_MULTI 38
00115 #define CS_CON_OOB 39
00116 #define CS_CON_INBAND 40
00117 #define CS_CON_LOGICAL 41
00118 #define CS_PROTO_TEXT 42
00119 #define CS_PROTO_BULK 43
00120 #define CS_REQ_URGNOTIF 44
00121 #define CS_DATA_SENSITIVITY 45
00122 #define CS_DATA_BOUNDARY 46
00123 #define CS_PROTO_DYNAMIC 47
00124 #define CS_PROTO_DYNPROC 48
00125 #define CS_DATA_FLTN 49
00126 #define CS_DATA_BITN 50
00127 #define CS_DATA_INT8 51
00128 #define CS_DATA_VOID 52
00129 #define CS_OPTION_GET 53
00130
00131
00132 #define CS_RES_NOMSG 1
00133 #define CS_RES_NOEED 2
00134 #define CS_RES_NOPARAM 3
00135 #define CS_DATA_NOINT1 4
00136 #define CS_DATA_NOINT2 5
00137 #define CS_DATA_NOINT4 6
00138 #define CS_DATA_NOBIT 7
00139 #define CS_DATA_NOCHAR 8
00140 #define CS_DATA_NOVCHAR 9
00141 #define CS_DATA_NOBIN 10
00142 #define CS_DATA_NOVBIN 11
00143 #define CS_DATA_NOMNY8 12
00144 #define CS_DATA_NOMNY4 13
00145 #define CS_DATA_NODATE8 14
00146 #define CS_DATA_NODATE4 15
00147 #define CS_DATA_NOFLT4 16
00148 #define CS_DATA_NOFLT8 17
00149 #define CS_DATA_NONUM 18
00150 #define CS_DATA_NOTEXT 19
00151 #define CS_DATA_NOIMAGE 20
00152 #define CS_DATA_NODEC 21
00153 #define CS_DATA_NOLCHAR 22
00154 #define CS_DATA_NOLBIN 23
00155 #define CS_DATA_NOINTN 24
00156 #define CS_DATA_NODATETIMEN 25
00157 #define CS_DATA_NOMONEYN 26
00158 #define CS_CON_NOOOB 27
00159 #define CS_CON_NOINBAND 28
00160 #define CS_PROTO_NOTEXT 29
00161 #define CS_PROTO_NOBULK 30
00162 #define CS_DATA_NOSENSITIVITY 31
00163 #define CS_DATA_NOBOUNDARY 32
00164 #define CS_DATA_NOTDSDEBUG 33
00165 #define CS_RES_NOSTRIPBLANKS 34
00166 #define CS_DATA_NOINT8 35
00167
00168
00169 enum
00170 {
00171 CS_USERNAME = 1,
00172
00173
00174
00175
00176 #define CS_USERNAME CS_USERNAME
00177 CS_PASSWORD,
00178 #define CS_PASSWORD CS_PASSWORD
00179 CS_APPNAME,
00180 #define CS_APPNAME CS_APPNAME
00181 CS_HOSTNAME,
00182 #define CS_HOSTNAME CS_HOSTNAME
00183 CS_PACKETSIZE,
00184 #define CS_PACKETSIZE CS_PACKETSIZE
00185 CS_SEC_ENCRYPTION,
00186 #define CS_SEC_ENCRYPTION CS_SEC_ENCRYPTION
00187 CS_LOC_PROP,
00188 #define CS_LOC_PROP CS_LOC_PROP
00189 CS_SEC_CHALLENGE,
00190 #define CS_SEC_CHALLENGE CS_SEC_CHALLENGE
00191 CS_SEC_NEGOTIATE,
00192 #define CS_SEC_NEGOTIATE CS_SEC_NEGOTIATE
00193 CS_TDS_VERSION,
00194 #define CS_TDS_VERSION CS_TDS_VERSION
00195 CS_NETIO,
00196 #define CS_NETIO CS_NETIO
00197 CS_IFILE,
00198 #define CS_IFILE CS_IFILE
00199 CS_USERDATA,
00200 #define CS_USERDATA CS_USERDATA
00201 CS_SEC_APPDEFINED,
00202 #define CS_SEC_APPDEFINED CS_SEC_APPDEFINED
00203 CS_CHARSETCNV,
00204 #define CS_CHARSETCNV CS_CHARSETCNV
00205 CS_ANSI_BINDS,
00206 #define CS_ANSI_BINDS CS_ANSI_BINDS
00207 CS_VER_STRING,
00208 #define CS_VER_STRING CS_VER_STRING
00209 CS_SERVERNAME,
00210 #define CS_SERVERNAME CS_SERVERNAME
00211 CS_PORT,
00212 #define CS_PORT CS_PORT
00213 CS_SERVERADDR
00214 #define CS_SERVERADDR CS_SERVERADDR
00215 };
00216
00217
00218 enum
00219 {
00220 CS_ADD = 1,
00221 CS_SUB,
00222 CS_MULT,
00223 CS_DIV
00224 };
00225
00226 enum
00227 {
00228 CS_TDS_40 = 1,
00229 CS_TDS_42,
00230 CS_TDS_46,
00231 CS_TDS_495,
00232 CS_TDS_50,
00233 CS_TDS_70,
00234 CS_TDS_80
00235 };
00236
00237
00238 #define CS_CANBENULL (1)
00239 #define CS_HIDDEN (1 << 1)
00240 #define CS_IDENTITY (1 << 2)
00241 #define CS_KEY (1 << 3)
00242 #define CS_VERSION_KEY (1 << 4)
00243 #define CS_TIMESTAMP (1 << 5)
00244 #define CS_UPDATABLE (1 << 6)
00245 #define CS_UPDATECOL (1 << 7)
00246 #define CS_RETURN (1 << 8)
00247
00248
00249
00250
00251
00252 #define CS_NULLDATA (-1)
00253
00254
00255 #define CS_CONSTAT_CONNECTED 0x01
00256 #define CS_CONSTAT_DEAD 0x02
00257
00258
00259
00260
00261
00262 #define CS_CURSOR_DECLARE 1
00263 #define CS_CURSOR_OPEN 2
00264 #define CS_CURSOR_ROWS 3
00265 #define CS_CURSOR_OPTION 4
00266 #define CS_CURSOR_UPDATE 5
00267 #define CS_CURSOR_DELETE 6
00268 #define CS_CURSOR_DEALLOC 7
00269 #define CS_IMPLICIT_CURSOR 8
00270 #define CS_CURSOR_CLOSE 9
00271
00272 #define CS_FOR_UPDATE TDS_STATIC_CAST(CS_INT, 0x1)
00273 #define CS_READ_ONLY TDS_STATIC_CAST(CS_INT, 0x2)
00274 #define CS_RESTORE_OPEN TDS_STATIC_CAST(CS_INT, 0x8)
00275
00276
00277 #define CS_CURSTAT_NONE TDS_STATIC_CAST(CS_INT, 0x0)
00278 #define CS_CURSTAT_DECLARED TDS_STATIC_CAST(CS_INT, 0x1)
00279 #define CS_CURSTAT_OPEN TDS_STATIC_CAST(CS_INT, 0x2)
00280 #define CS_CURSTAT_CLOSED TDS_STATIC_CAST(CS_INT, 0x4)
00281 #define CS_CURSTAT_RDONLY TDS_STATIC_CAST(CS_INT, 0x8)
00282 #define CS_CURSTAT_UPDATABLE TDS_STATIC_CAST(CS_INT, 0x10)
00283 #define CS_CURSTAT_ROWCOUNT TDS_STATIC_CAST(CS_INT, 0x20)
00284 #define CS_CURSTAT_DEALLOC TDS_STATIC_CAST(CS_INT, 0x40)
00285
00286 #define CS_CUR_STATUS TDS_STATIC_CAST(CS_INT, 9126)
00287 #define CS_CUR_ID TDS_STATIC_CAST(CS_INT, 9127)
00288 #define CS_CUR_NAME TDS_STATIC_CAST(CS_INT, 9128)
00289 #define CS_CUR_ROWCOUNT TDS_STATIC_CAST(CS_INT, 9129)
00290
00291
00292 #define CS_OPT_ANSINULL 1
00293 #define CS_OPT_ANSIPERM 2
00294 #define CS_OPT_ARITHABORT 3
00295 #define CS_OPT_ARITHIGNORE 4
00296 #define CS_OPT_AUTHOFF 5
00297 #define CS_OPT_AUTHON 6
00298 #define CS_OPT_CHAINXACTS 7
00299 #define CS_OPT_CURCLOSEONXACT 8
00300 #define CS_OPT_CURREAD 9
00301 #define CS_OPT_CURWRITE 10
00302 #define CS_OPT_DATEFIRST 11
00303 #define CS_OPT_DATEFORMAT 12
00304 #define CS_OPT_FIPSFLAG 13
00305 #define CS_OPT_FORCEPLAN 14
00306 #define CS_OPT_FORMATONLY 15
00307 #define CS_OPT_GETDATA 16
00308 #define CS_OPT_IDENTITYOFF 17
00309 #define CS_OPT_IDENTITYON 18
00310 #define CS_OPT_ISOLATION 19
00311 #define CS_OPT_NOCOUNT 20
00312 #define CS_OPT_NOEXEC 21
00313 #define CS_OPT_PARSEONLY 22
00314 #define CS_OPT_QUOTED_IDENT 23
00315 #define CS_OPT_RESTREES 24
00316 #define CS_OPT_ROWCOUNT 25
00317 #define CS_OPT_SHOWPLAN 26
00318 #define CS_OPT_STATS_IO 27
00319 #define CS_OPT_STATS_TIME 28
00320 #define CS_OPT_STR_RTRUNC 29
00321 #define CS_OPT_TEXTSIZE 30
00322 #define CS_OPT_TRUNCIGNORE 31
00323
00324
00325 enum ct_command_options
00326 {
00327 CS_MORE,
00328 CS_END,
00329 CS_UNUSED,
00330 CS_RECOMPILE,
00331 CS_NO_RECOMPILE,
00332 CS_COLUMN_DATA,
00333 CS_BULK_DATA,
00334 CS_BULK_INIT,
00335 CS_BULK_CONT
00336 };
00337
00338
00339
00340
00341
00342
00343 enum
00344 {
00345 CS_FMT_UNUSED = 0,
00346 #define CS_FMT_UNUSED CS_FMT_UNUSED
00347 CS_FMT_NULLTERM = 1,
00348 #define CS_FMT_NULLTERM CS_FMT_NULLTERM
00349 CS_FMT_PADNULL = 2,
00350 #define CS_FMT_PADBLANK CS_FMT_PADBLANK
00351 CS_FMT_PADBLANK = 4
00352 #define CS_FMT_PADNULL CS_FMT_PADNULL
00353 };
00354
00355
00356 #define CS_COMPLETION_CB 1
00357 #define CS_SERVERMSG_CB 2
00358 #define CS_CLIENTMSG_CB 3
00359 #define CS_NOTIF_CB 4
00360 #define CS_ENCRYPT_CB 5
00361 #define CS_CHALLENGE_CB 6
00362 #define CS_DS_LOOKUP_CB 7
00363 #define CS_SECSESSION_CB 8
00364 #define CS_SIGNAL_CB 100
00365 #define CS_MESSAGE_CB 9119
00366
00367
00368 #define CS_NULLTERM -9
00369 #define CS_WILDCARD -99
00370 #define CS_NO_LIMIT -9999
00371 #define CS_UNUSED -99999
00372
00373
00374 #define CS_CLEAR 3
00375 #define CS_SET 4
00376 #define CS_LANG_CMD 7
00377 #define CS_ROW_FAIL 9
00378 #define CS_END_DATA 10
00379 #define CS_END_ITEM 11
00380 #define CS_CMD_SUCCEED 4047
00381 #define CS_CMD_FAIL 4048
00382 #define CS_CMD_DONE 4046
00383 #define CS_END_RESULTS 15
00384 #define CS_VERSION_100 16
00385 #define CS_FORCE_EXIT 17
00386 #define CS_VERSION_110 18
00387 #define CS_GET 25
00388 #define CS_CON_STATUS 26
00389 #define CS_FORCE_CLOSE 27
00390 #define CS_SYNC_IO 29
00391 #define CS_ASYNC_IO 30
00392 #define CS_DEFER_IO 31
00393 #define CS_LC_ALL 37
00394 #define CS_SYB_LANG 38
00395 #define CS_SYB_CHARSET 39
00396 #define CS_BULK_LOGIN 42
00397 #define BLK_VERSION_100 CS_VERSION_100
00398 #define BLK_VERSION_110 CS_VERSION_100
00399 #define CS_BLK_IN 43
00400 #define CS_BLK_OUT 44
00401 #define CS_BLK_BATCH 45
00402 #define CS_BLK_ALL 46
00403 #define CS_BLK_CANCEL 47
00404 #define CS_CANCEL_ALL 48
00405 #define CS_NUMDATA 49
00406 #define CS_CANCEL_ATTN 50
00407 #define CS_PARENT_HANDLE 51
00408 #define CS_COMP_ID 52
00409 #define CS_BYLIST_LEN 53
00410 #define CS_COMP_BYLIST 54
00411 #define CS_COMP_OP 55
00412 #define CS_COMP_COLID 56
00413 #define CS_NO_COUNT -1
00414 #define CS_ROW_COUNT 59
00415 #define CS_OP_SUM 60
00416 #define CS_OP_AVG 61
00417 #define CS_OP_MIN 62
00418 #define CS_OP_MAX 63
00419 #define CS_OP_COUNT 64
00420 #define CS_CANCEL_CURRENT 67
00421 #define CS_CAPREQUEST 73
00422 #define CS_EED_CMD 77
00423 #define CS_LOGIN_TIMEOUT 78
00424 #define CS_CAP_REQUEST 79
00425 #define CS_DESCRIBE_INPUT 80
00426 #define CS_DESCRIBE_OUTPUT 134
00427 #define CS_PREPARE 81
00428 #define CS_EXECUTE 82
00429 #define CS_DEALLOC 83
00430 #define CS_CAP_RESPONSE 84
00431 #define CS_RPC_CMD 85
00432
00433 #define CS_SEND_BULK_CMD 0xFFFF
00434 #define CS_INPUTVALUE 86
00435 #define CS_GOODDATA 87
00436
00437 #define CS_CMD_NUMBER 89
00438 #define CS_BROWSE_INFO 90
00439 #define CS_NUMORDERCOLS 91
00440 #define CS_NUM_COMPUTES 92
00441 #define CS_NODATA 96
00442 #define CS_DESCIN 98
00443 #define CS_DESCOUT 99
00444
00445 #define CS_NODEFAULT 102
00446 #define CS_FMT_JUSTIFY_RT 106
00447 #define CS_TRANS_STATE 107
00448 #define CS_TRAN_IN_PROGRESS 108
00449 #define CS_TRAN_COMPLETED 109
00450 #define CS_TRAN_STMT_FAIL 110
00451 #define CS_TRAN_FAIL 111
00452 #define CS_TRAN_UNDEFINED 112
00453 #define CS_TIMEOUT 115
00454 #define CS_NO_RECOMPILE 117
00455 #define CS_COLUMN_DATA 118
00456 #define CS_SEND_DATA_CMD 119
00457 #define CS_SUPPORTED 120
00458 #define CS_EXPOSE_FMTS 121
00459 #define CS_DYNAMIC_CMD 122
00460 #define CS_MSGTYPE 123
00461 #define CS_VERSION 9114
00462 #define CS_EXTRA_INF 9121
00463 #define CS_CUR_CMD 133
00464
00465
00466
00467 #define CS_DISABLE_POLL 9133
00468 #define CS_MAX_CONNECT 9118
00469 #define CS_TEXTLIMIT 9112
00470 #define CS_HIDDEN_KEYS 9113
00471 #define CS_STICKY_BINDS 9151
00472 #define CS_DIAG_TIMEOUT 9132
00473 #define CS_LOGIN_STATUS 9104
00474 #define CS_BLK_ARRAY_MAXLEN 0x1000
00475 #define CS_DEF_PREC 18
00476
00477
00478 #define CS_SV_INFORM TDS_STATIC_CAST(CS_INT, 0)
00479 #define CS_SV_API_FAIL TDS_STATIC_CAST(CS_INT, 1)
00480 #define CS_SV_RETRY_FAIL TDS_STATIC_CAST(CS_INT, 2)
00481 #define CS_SV_RESOURCE_FAIL TDS_STATIC_CAST(CS_INT, 3)
00482 #define CS_SV_CONFIG_FAIL TDS_STATIC_CAST(CS_INT, 4)
00483 #define CS_SV_COMM_FAIL TDS_STATIC_CAST(CS_INT, 5)
00484 #define CS_SV_INTERNAL_FAIL TDS_STATIC_CAST(CS_INT, 6)
00485 #define CS_SV_FATAL TDS_STATIC_CAST(CS_INT, 7)
00486
00487
00488 #define CS_COMPUTE_RESULT 4045
00489 #define CS_CURSOR_RESULT 4041
00490 #define CS_PARAM_RESULT 4042
00491 #define CS_ROW_RESULT 4040
00492 #define CS_STATUS_RESULT 4043
00493 #define CS_COMPUTEFMT_RESULT 4050
00494 #define CS_ROWFMT_RESULT 4049
00495 #define CS_MSG_RESULT 4044
00496 #define CS_DESCRIBE_RESULT 4051
00497
00498
00499 #define CS_ILLEGAL_TYPE TDS_STATIC_CAST(CS_INT, -1)
00500 #define CS_CHAR_TYPE TDS_STATIC_CAST(CS_INT, 0)
00501 #define CS_BINARY_TYPE TDS_STATIC_CAST(CS_INT, 1)
00502 #define CS_LONGCHAR_TYPE TDS_STATIC_CAST(CS_INT, 2)
00503 #define CS_LONGBINARY_TYPE TDS_STATIC_CAST(CS_INT, 3)
00504 #define CS_TEXT_TYPE TDS_STATIC_CAST(CS_INT, 4)
00505 #define CS_IMAGE_TYPE TDS_STATIC_CAST(CS_INT, 5)
00506 #define CS_TINYINT_TYPE TDS_STATIC_CAST(CS_INT, 6)
00507 #define CS_SMALLINT_TYPE TDS_STATIC_CAST(CS_INT, 7)
00508 #define CS_INT_TYPE TDS_STATIC_CAST(CS_INT, 8)
00509 #define CS_REAL_TYPE TDS_STATIC_CAST(CS_INT, 9)
00510 #define CS_FLOAT_TYPE TDS_STATIC_CAST(CS_INT, 10)
00511 #define CS_BIT_TYPE TDS_STATIC_CAST(CS_INT, 11)
00512 #define CS_DATETIME_TYPE TDS_STATIC_CAST(CS_INT, 12)
00513 #define CS_DATETIME4_TYPE TDS_STATIC_CAST(CS_INT, 13)
00514 #define CS_MONEY_TYPE TDS_STATIC_CAST(CS_INT, 14)
00515 #define CS_MONEY4_TYPE TDS_STATIC_CAST(CS_INT, 15)
00516 #define CS_NUMERIC_TYPE TDS_STATIC_CAST(CS_INT, 16)
00517 #define CS_DECIMAL_TYPE TDS_STATIC_CAST(CS_INT, 17)
00518 #define CS_VARCHAR_TYPE TDS_STATIC_CAST(CS_INT, 18)
00519 #define CS_VARBINARY_TYPE TDS_STATIC_CAST(CS_INT, 19)
00520 #define CS_LONG_TYPE TDS_STATIC_CAST(CS_INT, 20)
00521 #define CS_SENSITIVITY_TYPE TDS_STATIC_CAST(CS_INT, 21)
00522 #define CS_BOUNDARY_TYPE TDS_STATIC_CAST(CS_INT, 22)
00523 #define CS_VOID_TYPE TDS_STATIC_CAST(CS_INT, 23)
00524 #define CS_USHORT_TYPE TDS_STATIC_CAST(CS_INT, 24)
00525 #define CS_UNIQUE_TYPE TDS_STATIC_CAST(CS_INT, 25)
00526 #define CS_UNICHAR_TYPE TDS_STATIC_CAST(CS_INT, 26)
00527
00528 #define CS_USER_TYPE TDS_STATIC_CAST(CS_INT, 100)
00529
00530 enum
00531 {
00532 CS_MONTH = 1,
00533 #define CS_MONTH CS_MONTH
00534 CS_SHORTMONTH,
00535 #define CS_SHORTMONTH CS_SHORTMONTH
00536 CS_DAYNAME,
00537 #define CS_DAYNAME CS_DAYNAME
00538 CS_DATEORDER,
00539 #define CS_DATEORDER CS_DATEORDER
00540 CS_12HOUR,
00541 #define CS_12HOUR CS_12HOUR
00542 CS_DT_CONVFMT
00543 #define CS_DT_CONVFMT CS_DT_CONVFMT
00544 };
00545
00546
00547 enum
00548 {
00549 CS_DATES_HMS = 1,
00550 #define CS_DATES_HMS CS_DATES_HMS
00551 CS_DATES_SHORT,
00552 #define CS_DATES_SHORT CS_DATES_SHORT
00553 CS_DATES_LONG,
00554 #define CS_DATES_LONG CS_DATES_LONG
00555 CS_DATES_MDY1,
00556 #define CS_DATES_MDY1 CS_DATES_MDY1
00557 CS_DATES_MYD1,
00558 #define CS_DATES_MYD1 CS_DATES_MYD1
00559 CS_DATES_DMY1,
00560 #define CS_DATES_DMY1 CS_DATES_DMY1
00561 CS_DATES_DYM1,
00562 #define CS_DATES_DYM1 CS_DATES_DYM1
00563 CS_DATES_YDM1,
00564 #define CS_DATES_YDM1 CS_DATES_YDM1
00565 CS_DATES_YMD2,
00566 #define CS_DATES_YMD2 CS_DATES_YMD2
00567 CS_DATES_MDY1_YYYY,
00568 #define CS_DATES_MDY1_YYYY CS_DATES_MDY1_YYYY
00569 CS_DATES_DMY1_YYYY,
00570 #define CS_DATES_DMY1_YYYY CS_DATES_DMY1_YYYY
00571 CS_DATES_YMD2_YYYY,
00572 #define CS_DATES_YMD2_YYYY CS_DATES_YMD2_YYYY
00573 CS_DATES_DMY2,
00574 #define CS_DATES_DMY2 CS_DATES_DMY2
00575 CS_DATES_YMD1,
00576 #define CS_DATES_YMD1 CS_DATES_YMD1
00577 CS_DATES_DMY2_YYYY,
00578 #define CS_DATES_DMY2_YYYY CS_DATES_DMY2_YYYY
00579 CS_DATES_YMD1_YYYY,
00580 #define CS_DATES_YMD1_YYYY CS_DATES_YMD1_YYYY
00581 CS_DATES_DMY4,
00582 #define CS_DATES_DMY4 CS_DATES_DMY4
00583 CS_DATES_DMY4_YYYY,
00584 #define CS_DATES_DMY4_YYYY CS_DATES_DMY4_YYYY
00585 CS_DATES_MDY2,
00586 #define CS_DATES_MDY2 CS_DATES_MDY2
00587 CS_DATES_MDY2_YYYY,
00588 #define CS_DATES_MDY2_YYYY CS_DATES_MDY2_YYYY
00589 CS_DATES_DMY3,
00590 #define CS_DATES_DMY3 CS_DATES_DMY3
00591 CS_DATES_MDY3,
00592 #define CS_DATES_MDY3 CS_DATES_MDY3
00593 CS_DATES_DMY3_YYYY,
00594 #define CS_DATES_DMY3_YYYY CS_DATES_DMY3_YYYY
00595 CS_DATES_MDY3_YYYY,
00596 #define CS_DATES_MDY3_YYYY CS_DATES_MDY3_YYYY
00597 CS_DATES_YMD3,
00598 #define CS_DATES_YMD3 CS_DATES_YMD3
00599 CS_DATES_YMD3_YYYY
00600 #define CS_DATES_YMD3_YYYY CS_DATES_YMD3_YYYY
00601 };
00602
00603 typedef CS_RETCODE(*CS_CONV_FUNC) (CS_CONTEXT * context, CS_DATAFMT * srcfmt, CS_VOID * src, CS_DATAFMT * detsfmt, CS_VOID * dest,
00604 CS_INT * destlen);
00605
00606 typedef struct _cs_objname
00607 {
00608 CS_BOOL thinkexists;
00609 CS_INT object_type;
00610 CS_CHAR last_name[CS_MAX_NAME];
00611 CS_INT lnlen;
00612 CS_CHAR first_name[CS_MAX_NAME];
00613 CS_INT fnlen;
00614 CS_VOID *scope;
00615 CS_INT scopelen;
00616 CS_VOID *thread;
00617 CS_INT threadlen;
00618 } CS_OBJNAME;
00619
00620 typedef struct _cs_objdata
00621 {
00622 CS_BOOL actuallyexists;
00623 CS_CONNECTION *connection;
00624 CS_COMMAND *command;
00625 CS_VOID *buffer;
00626 CS_INT buflen;
00627 } CS_OBJDATA;
00628
00629
00630 enum
00631 {
00632 CS_OPT_SUNDAY,
00633 CS_OPT_MONDAY,
00634 CS_OPT_TUESDAY,
00635 CS_OPT_WEDNESDAY,
00636 CS_OPT_THURSDAY,
00637 CS_OPT_FRIDAY,
00638 CS_OPT_SATURDAY
00639 };
00640 enum
00641 {
00642 CS_OPT_FMTMDY,
00643 CS_OPT_FMTDMY,
00644 CS_OPT_FMTYMD,
00645 CS_OPT_FMTYDM,
00646 CS_OPT_FMTMYD,
00647 CS_OPT_FMTDYM
00648 };
00649 enum
00650 {
00651 CS_OPT_LEVEL0,
00652 CS_OPT_LEVEL1,
00653 CS_OPT_LEVEL3
00654 };
00655
00656 #define CS_FALSE 0
00657 #define CS_TRUE 1
00658
00659 #define SRV_PROC CS_VOID
00660
00661
00662 #define CS_INIT 36
00663 #define CS_STATUS 37
00664 #define CS_MSGLIMIT 38
00665 #define CS_CLIENTMSG_TYPE 4700
00666 #define CS_SERVERMSG_TYPE 4701
00667 #define CS_ALLMSG_TYPE 4702
00668
00669 CS_RETCODE cs_convert(CS_CONTEXT * ctx, CS_DATAFMT * srcfmt, CS_VOID * srcdata, CS_DATAFMT * destfmt, CS_VOID * destdata,
00670 CS_INT * resultlen);
00671 CS_RETCODE cs_ctx_alloc(CS_INT version, CS_CONTEXT ** ctx);
00672 CS_RETCODE cs_ctx_global(CS_INT version, CS_CONTEXT ** ctx);
00673 CS_RETCODE cs_ctx_drop(CS_CONTEXT * ctx);
00674 CS_RETCODE cs_config(CS_CONTEXT * ctx, CS_INT action, CS_INT property, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen);
00675 CS_RETCODE cs_strbuild(CS_CONTEXT * ctx, CS_CHAR * buffer, CS_INT buflen, CS_INT * resultlen, CS_CHAR * text, CS_INT textlen,
00676 CS_CHAR * formats, CS_INT formatlen, ...);
00677 CS_RETCODE cs_dt_crack(CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, CS_DATEREC * daterec);
00678 CS_RETCODE cs_loc_alloc(CS_CONTEXT * ctx, CS_LOCALE ** locptr);
00679 CS_RETCODE cs_loc_drop(CS_CONTEXT * ctx, CS_LOCALE * locale);
00680 CS_RETCODE cs_locale(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_VOID * buffer, CS_INT buflen,
00681 CS_INT * outlen);
00682 CS_RETCODE cs_dt_info(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_INT item, CS_VOID * buffer,
00683 CS_INT buflen, CS_INT * outlen);
00684
00685 CS_RETCODE cs_calc(CS_CONTEXT * ctx, CS_INT op, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_VOID * dest);
00686 CS_RETCODE cs_cmp(CS_CONTEXT * ctx, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_INT * result);
00687 CS_RETCODE cs_conv_mult(CS_CONTEXT * ctx, CS_LOCALE * srcloc, CS_LOCALE * destloc, CS_INT * conv_multiplier);
00688 CS_RETCODE cs_diag(CS_CONTEXT * ctx, CS_INT operation, CS_INT type, CS_INT idx, CS_VOID * buffer);
00689 CS_RETCODE cs_manage_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_CHAR * srcname, CS_INT srcnamelen, CS_INT desttype,
00690 CS_CHAR * destname, CS_INT destnamelen, CS_INT * conv_multiplier, CS_CONV_FUNC * func);
00691 CS_RETCODE cs_objects(CS_CONTEXT * ctx, CS_INT action, CS_OBJNAME * objname, CS_OBJDATA * objdata);
00692 CS_RETCODE cs_set_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_INT desttype, CS_CONV_FUNC * func);
00693 CS_RETCODE cs_setnull(CS_CONTEXT * ctx, CS_DATAFMT * datafmt, CS_VOID * buffer, CS_INT buflen);
00694 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,
00695 CS_INT * result);
00696 CS_RETCODE cs_time(CS_CONTEXT * ctx, CS_LOCALE * locale, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen, CS_DATEREC * daterec);
00697 CS_RETCODE cs_will_convert(CS_CONTEXT * ctx, CS_INT srctype, CS_INT desttype, CS_BOOL * result);
00698
00699 #ifdef __cplusplus
00700 #if 0
00701 {
00702 #endif
00703 }
00704 #endif
00705
00706 #endif