| Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 uid=1(daemon) gid=1(daemon) grupos=1(daemon) Safe-mode: OFF (not secure) /opt/lampp/share/doc/freetds-0.91/reference/   drwxr-xr-x | |
| Viewing file: Select action/file-type: /home/jklowden/releases/freetds-0.91/include/cspublic.h00001 /* FreeTDS - Library of routines accessing Sybase and Microsoft databases 00002 * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Brian Bruns 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Library General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public 00015 * License along with this library; if not, write to the 00016 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 * Boston, MA 02111-1307, USA. 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.61 2008/09/08 17:50:25 jklowden 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 #define CS_SUCCEED 1 00044 #define CS_FAIL 0 00045 #define CS_MEM_ERROR -1 00046 #define CS_PENDING -2 00047 #define CS_QUIET -3 00048 #define CS_BUSY -4 00049 #define CS_INTERRUPT -5 00050 #define CS_BLK_HAS_TEXT -6 00051 #define CS_CONTINUE -7 00052 #define CS_FATAL -8 00053 #define CS_RET_HAFAILOVER -9 00054 #define CS_UNSUPPORTED -10 00055 00056 #define CS_CANCELED -202 00057 #define CS_ROW_FAIL -203 00058 #define CS_END_DATA -204 00059 #define CS_END_RESULTS -205 00060 #define CS_END_ITEM -206 00061 #define CS_NOMSG -207 00062 #define CS_TIMED_OUT -208 00063 00064 #define CS_SIZEOF(x) sizeof(x) 00065 00066 #define CS_LAYER(x) (((x) >> 24) & 0xFF) 00067 #define CS_ORIGIN(x) (((x) >> 16) & 0xFF) 00068 #define CS_SEVERITY(x) (((x) >> 8) & 0xFF) 00069 #define CS_NUMBER(x) ((x) & 0xFF) 00070 00071 /* forward declarations */ 00072 typedef CS_RETCODE(*CS_CSLIBMSG_FUNC) (CS_CONTEXT *, CS_CLIENTMSG *); 00073 typedef CS_RETCODE(*CS_CLIENTMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_CLIENTMSG *); 00074 typedef CS_RETCODE(*CS_SERVERMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_SERVERMSG *); 00075 00076 00077 #define CS_IODATA TDS_STATIC_CAST(CS_INT, 1600) 00078 #define CS_SRC_VALUE -2562 00079 00080 00081 00082 /* status bits for CS_SERVERMSG */ 00083 #define CS_HASEED 0x01 00084 00085 typedef struct _cs_blkdesc CS_BLKDESC; 00086 00087 /* CS_CAP_REQUEST values */ 00088 #define CS_REQ_LANG 1 00089 #define CS_REQ_RPC 2 00090 #define CS_REQ_NOTIF 3 00091 #define CS_REQ_MSTMT 4 00092 #define CS_REQ_BCP 5 00093 #define CS_REQ_CURSOR 6 00094 #define CS_REQ_DYN 7 00095 #define CS_REQ_MSG 8 00096 #define CS_REQ_PARAM 9 00097 #define CS_DATA_INT1 10 00098 #define CS_DATA_INT2 11 00099 #define CS_DATA_INT4 12 00100 #define CS_DATA_BIT 13 00101 #define CS_DATA_CHAR 14 00102 #define CS_DATA_VCHAR 15 00103 #define CS_DATA_BIN 16 00104 #define CS_DATA_VBIN 17 00105 #define CS_DATA_MNY8 18 00106 #define CS_DATA_MNY4 19 00107 #define CS_DATA_DATE8 20 00108 #define CS_DATA_DATE4 21 00109 #define CS_DATA_FLT4 22 00110 #define CS_DATA_FLT8 23 00111 #define CS_DATA_NUM 24 00112 #define CS_DATA_TEXT 25 00113 #define CS_DATA_IMAGE 26 00114 #define CS_DATA_DEC 27 00115 #define CS_DATA_LCHAR 28 00116 #define CS_DATA_LBIN 29 00117 #define CS_DATA_INTN 30 00118 #define CS_DATA_DATETIMEN 31 00119 #define CS_DATA_MONEYN 32 00120 #define CS_CSR_PREV 33 00121 #define CS_CSR_FIRST 34 00122 #define CS_CSR_LAST 35 00123 #define CS_CSR_ABS 36 00124 #define CS_CSR_REL 37 00125 #define CS_CSR_MULTI 38 00126 #define CS_CON_OOB 39 00127 #define CS_CON_INBAND 40 00128 #define CS_CON_LOGICAL 41 00129 #define CS_PROTO_TEXT 42 00130 #define CS_PROTO_BULK 43 00131 #define CS_REQ_URGNOTIF 44 00132 #define CS_DATA_SENSITIVITY 45 00133 #define CS_DATA_BOUNDARY 46 00134 #define CS_PROTO_DYNAMIC 47 00135 #define CS_PROTO_DYNPROC 48 00136 #define CS_DATA_FLTN 49 00137 #define CS_DATA_BITN 50 00138 #define CS_OPTION_GET 51 00139 #define CS_DATA_INT8 52 00140 #define CS_DATA_VOID 53 00141 00142 /* CS_CAP_RESPONSE values */ 00143 #define CS_RES_NOMSG 1 00144 #define CS_RES_NOEED 2 00145 #define CS_RES_NOPARAM 3 00146 #define CS_DATA_NOINT1 4 00147 #define CS_DATA_NOINT2 5 00148 #define CS_DATA_NOINT4 6 00149 #define CS_DATA_NOBIT 7 00150 #define CS_DATA_NOCHAR 8 00151 #define CS_DATA_NOVCHAR 9 00152 #define CS_DATA_NOBIN 10 00153 #define CS_DATA_NOVBIN 11 00154 #define CS_DATA_NOMNY8 12 00155 #define CS_DATA_NOMNY4 13 00156 #define CS_DATA_NODATE8 14 00157 #define CS_DATA_NODATE4 15 00158 #define CS_DATA_NOFLT4 16 00159 #define CS_DATA_NOFLT8 17 00160 #define CS_DATA_NONUM 18 00161 #define CS_DATA_NOTEXT 19 00162 #define CS_DATA_NOIMAGE 20 00163 #define CS_DATA_NODEC 21 00164 #define CS_DATA_NOLCHAR 22 00165 #define CS_DATA_NOLBIN 23 00166 #define CS_DATA_NOINTN 24 00167 #define CS_DATA_NODATETIMEN 25 00168 #define CS_DATA_NOMONEYN 26 00169 #define CS_CON_NOOOB 27 00170 #define CS_CON_NOINBAND 28 00171 #define CS_PROTO_NOTEXT 29 00172 #define CS_PROTO_NOBULK 30 00173 #define CS_DATA_NOSENSITIVITY 31 00174 #define CS_DATA_NOBOUNDARY 32 00175 #define CS_RES_NOTDSDEBUG 33 00176 #define CS_RES_NOSTRIPBLANKS 34 00177 #define CS_DATA_NOINT8 35 00178 00179 /* Properties */ 00180 enum 00181 { 00182 /* 00183 * These defines looks weird but programs can test support for defines, 00184 * compiler can check enum and there are no define side effecs 00185 */ 00186 CS_USERNAME = 9100, 00187 #define CS_USERNAME CS_USERNAME 00188 CS_PASSWORD = 9101, 00189 #define CS_PASSWORD CS_PASSWORD 00190 CS_APPNAME = 9102, 00191 #define CS_APPNAME CS_APPNAME 00192 CS_HOSTNAME = 9103, 00193 #define CS_HOSTNAME CS_HOSTNAME 00194 CS_LOGIN_STATUS = 9104, 00195 #define CS_LOGIN_STATUS CS_LOGIN_STATUS 00196 CS_TDS_VERSION = 9105, 00197 #define CS_TDS_VERSION CS_TDS_VERSION 00198 CS_CHARSETCNV = 9106, 00199 #define CS_CHARSETCNV CS_CHARSETCNV 00200 CS_PACKETSIZE = 9107, 00201 #define CS_PACKETSIZE CS_PACKETSIZE 00202 CS_USERDATA = 9108, 00203 #define CS_USERDATA CS_USERDATA 00204 CS_NETIO = 9110, 00205 #define CS_NETIO CS_NETIO 00206 CS_TEXTLIMIT = 9112, 00207 #define CS_TEXTLIMIT CS_TEXTLIMIT 00208 CS_HIDDEN_KEYS = 9113, 00209 #define CS_HIDDEN_KEYS CS_HIDDEN_KEYS 00210 CS_VERSION = 9114, 00211 #define CS_VERSION CS_VERSION 00212 CS_IFILE = 9115, 00213 #define CS_IFILE CS_IFILE 00214 CS_LOGIN_TIMEOUT = 9116, 00215 #define CS_LOGIN_TIMEOUT CS_LOGIN_TIMEOUT 00216 CS_TIMEOUT = 9117, 00217 #define CS_TIMEOUT CS_TIMEOUT 00218 CS_MAX_CONNECT = 9118, 00219 #define CS_MAX_CONNECT CS_MAX_CONNECT 00220 CS_EXPOSE_FMTS = 9120, 00221 #define CS_EXPOSE_FMTS CS_EXPOSE_FMTS 00222 CS_EXTRA_INF = 9121, 00223 #define CS_EXTRA_INF CS_EXTRA_INF 00224 CS_ANSI_BINDS = 9123, 00225 #define CS_ANSI_BINDS CS_ANSI_BINDS 00226 CS_BULK_LOGIN = 9124, 00227 #define CS_BULK_LOGIN CS_BULK_LOGIN 00228 CS_LOC_PROP = 9125, 00229 #define CS_LOC_PROP CS_LOC_PROP 00230 CS_PARENT_HANDLE = 9130, 00231 #define CS_PARENT_HANDLE CS_PARENT_HANDLE 00232 CS_EED_CMD = 9131, 00233 #define CS_EED_CMD CS_EED_CMD 00234 CS_DIAG_TIMEOUT = 9132, 00235 #define CS_DIAG_TIMEOUT CS_DIAG_TIMEOUT 00236 CS_DISABLE_POLL = 9133, 00237 #define CS_DISABLE_POLL CS_DISABLE_POLL 00238 CS_SEC_ENCRYPTION = 9135, 00239 #define CS_SEC_ENCRYPTION CS_SEC_ENCRYPTION 00240 CS_SEC_CHALLENGE = 9136, 00241 #define CS_SEC_CHALLENGE CS_SEC_CHALLENGE 00242 CS_SEC_NEGOTIATE = 9137, 00243 #define CS_SEC_NEGOTIATE CS_SEC_NEGOTIATE 00244 CS_CON_STATUS = 9143, 00245 #define CS_CON_STATUS CS_CON_STATUS 00246 CS_VER_STRING = 9144, 00247 #define CS_VER_STRING CS_VER_STRING 00248 CS_SERVERNAME = 9146, 00249 #define CS_SERVERNAME CS_SERVERNAME 00250 CS_SEC_APPDEFINED = 9149, 00251 #define CS_SEC_APPDEFINED CS_SEC_APPDEFINED 00252 CS_STICKY_BINDS = 9151, 00253 #define CS_STICKY_BINDS CS_STICKY_BINDS 00254 CS_SERVERADDR = 9206, 00255 #define CS_SERVERADDR CS_SERVERADDR 00256 CS_PORT = 9300 00257 #define CS_PORT CS_PORT 00258 }; 00259 00260 /* Arbitrary precision math operators */ 00261 enum 00262 { 00263 CS_ADD = 1, 00264 CS_SUB, 00265 CS_MULT, 00266 CS_DIV 00267 }; 00268 00269 enum 00270 { 00271 CS_TDS_40 = 7360, 00272 CS_TDS_42, 00273 CS_TDS_46, 00274 CS_TDS_495, 00275 CS_TDS_50, 00276 CS_TDS_70, 00277 CS_TDS_80 00278 }; 00279 00280 /* bit mask values used by CS_DATAFMT.status */ 00281 #define CS_HIDDEN (1 << 0) 00282 #define CS_KEY (1 << 1) 00283 #define CS_VERSION_KEY (1 << 2) 00284 #define CS_NODATA (1 << 3) 00285 #define CS_UPDATABLE (1 << 4) 00286 #define CS_CANBENULL (1 << 5) 00287 #define CS_DESCIN (1 << 6) 00288 #define CS_DESCOUT (1 << 7) 00289 #define CS_INPUTVALUE (1 << 8) 00290 #define CS_UPDATECOL (1 << 9) 00291 #define CS_RETURN (1 << 10) 00292 #define CS_TIMESTAMP (1 << 13) 00293 #define CS_NODEFAULT (1 << 14) 00294 #define CS_IDENTITY (1 << 15) 00295 00296 /* 00297 * DBD::Sybase compares indicator to CS_NULLDATA so this is -1 00298 * (the documentation states -1) 00299 */ 00300 #define CS_GOODDATA 0 00301 #define CS_NULLDATA (-1) 00302 00303 /* CS_CON_STATUS read-only property bit mask values */ 00304 #define CS_CONSTAT_CONNECTED 0x01 00305 #define CS_CONSTAT_DEAD 0x02 00306 00307 /* 00308 * Code added for CURSOR support 00309 * types accepted by ct_cursor 00310 */ 00311 #define CS_CURSOR_DECLARE 700 00312 #define CS_CURSOR_OPEN 701 00313 #define CS_CURSOR_ROWS 703 00314 #define CS_CURSOR_UPDATE 704 00315 #define CS_CURSOR_DELETE 705 00316 #define CS_CURSOR_CLOSE 706 00317 #define CS_CURSOR_DEALLOC 707 00318 #define CS_CURSOR_OPTION 725 00319 00320 #define CS_FOR_UPDATE TDS_STATIC_CAST(CS_INT, 0x1) 00321 #define CS_READ_ONLY TDS_STATIC_CAST(CS_INT, 0x2) 00322 #define CS_RESTORE_OPEN TDS_STATIC_CAST(CS_INT, 0x8) 00323 #define CS_IMPLICIT_CURSOR TDS_STATIC_CAST(CS_INT, 0x40) 00324 00325 00326 #define CS_CURSTAT_NONE TDS_STATIC_CAST(CS_INT, 0x0) 00327 #define CS_CURSTAT_DECLARED TDS_STATIC_CAST(CS_INT, 0x1) 00328 #define CS_CURSTAT_OPEN TDS_STATIC_CAST(CS_INT, 0x2) 00329 #define CS_CURSTAT_CLOSED TDS_STATIC_CAST(CS_INT, 0x4) 00330 #define CS_CURSTAT_RDONLY TDS_STATIC_CAST(CS_INT, 0x8) 00331 #define CS_CURSTAT_UPDATABLE TDS_STATIC_CAST(CS_INT, 0x10) 00332 #define CS_CURSTAT_ROWCOUNT TDS_STATIC_CAST(CS_INT, 0x20) 00333 #define CS_CURSTAT_DEALLOC TDS_STATIC_CAST(CS_INT, 0x40) 00334 00335 #define CS_CUR_STATUS TDS_STATIC_CAST(CS_INT, 9126) 00336 #define CS_CUR_ID TDS_STATIC_CAST(CS_INT, 9127) 00337 #define CS_CUR_NAME TDS_STATIC_CAST(CS_INT, 9128) 00338 #define CS_CUR_ROWCOUNT TDS_STATIC_CAST(CS_INT, 9129) 00339 00340 /* options accepted by ct_options() */ 00341 #define CS_OPT_DATEFIRST 5001 00342 #define CS_OPT_TEXTSIZE 5002 00343 #define CS_OPT_STATS_TIME 5003 00344 #define CS_OPT_STATS_IO 5004 00345 #define CS_OPT_ROWCOUNT 5005 00346 #define CS_OPT_DATEFORMAT 5007 00347 #define CS_OPT_ISOLATION 5008 00348 #define CS_OPT_AUTHON 5009 00349 #define CS_OPT_SHOWPLAN 5013 00350 #define CS_OPT_NOEXEC 5014 00351 #define CS_OPT_ARITHIGNORE 5015 00352 #define CS_OPT_TRUNCIGNORE 5016 00353 #define CS_OPT_ARITHABORT 5017 00354 #define CS_OPT_PARSEONLY 5018 00355 #define CS_OPT_GETDATA 5020 00356 #define CS_OPT_NOCOUNT 5021 00357 #define CS_OPT_FORCEPLAN 5023 00358 #define CS_OPT_FORMATONLY 5024 00359 #define CS_OPT_CHAINXACTS 5025 00360 #define CS_OPT_CURCLOSEONXACT 5026 00361 #define CS_OPT_FIPSFLAG 5027 00362 #define CS_OPT_RESTREES 5028 00363 #define CS_OPT_IDENTITYON 5029 00364 #define CS_OPT_CURREAD 5030 00365 #define CS_OPT_CURWRITE 5031 00366 #define CS_OPT_IDENTITYOFF 5032 00367 #define CS_OPT_AUTHOFF 5033 00368 #define CS_OPT_ANSINULL 5034 00369 #define CS_OPT_QUOTED_IDENT 5035 00370 #define CS_OPT_ANSIPERM 5036 00371 #define CS_OPT_STR_RTRUNC 5037 00372 00373 /* options accepted by ct_command() */ 00374 enum ct_command_options 00375 { 00376 CS_MORE = 16, 00377 CS_END = 32, 00378 CS_RECOMPILE = 188, 00379 CS_NO_RECOMPILE, 00380 CS_BULK_INIT, 00381 CS_BULK_CONT, 00382 CS_BULK_DATA, 00383 CS_COLUMN_DATA 00384 }; 00385 00386 00387 /* 00388 * bind formats, should be mapped to TDS types 00389 * can be a combination of bit 00390 */ 00391 enum 00392 { 00393 CS_FMT_UNUSED = 0, 00394 #define CS_FMT_UNUSED CS_FMT_UNUSED 00395 CS_FMT_NULLTERM = 1, 00396 #define CS_FMT_NULLTERM CS_FMT_NULLTERM 00397 CS_FMT_PADNULL = 2, 00398 #define CS_FMT_PADBLANK CS_FMT_PADBLANK 00399 CS_FMT_PADBLANK = 4, 00400 #define CS_FMT_PADNULL CS_FMT_PADNULL 00401 CS_FMT_JUSTIFY_RT = 8 00402 #define CS_FMT_JUSTIFY_RT CS_FMT_JUSTIFY_RT 00403 }; 00404 00405 /* callbacks */ 00406 #define CS_COMPLETION_CB 1 00407 #define CS_SERVERMSG_CB 2 00408 #define CS_CLIENTMSG_CB 3 00409 #define CS_NOTIF_CB 4 00410 #define CS_ENCRYPT_CB 5 00411 #define CS_CHALLENGE_CB 6 00412 #define CS_DS_LOOKUP_CB 7 00413 #define CS_SECSESSION_CB 8 00414 #define CS_SIGNAL_CB 100 00415 #define CS_MESSAGE_CB 9119 00416 00417 /* string types */ 00418 #define CS_NULLTERM -9 00419 #define CS_WILDCARD -99 00420 #define CS_NO_LIMIT -9999 00421 #define CS_UNUSED -99999 00422 00423 /* other */ 00424 #define CS_GET 33 00425 #define CS_SET 34 00426 #define CS_CLEAR 35 00427 #define CS_INIT 36 00428 #define CS_STATUS 37 00429 #define CS_MSGLIMIT 38 00430 #define CS_SUPPORTED 40 00431 00432 #define CS_CMD_DONE 4046 00433 #define CS_CMD_SUCCEED 4047 00434 #define CS_CMD_FAIL 4048 00435 00436 /* commands */ 00437 #define CS_LANG_CMD 148 00438 #define CS_RPC_CMD 149 00439 #define CS_SEND_DATA_CMD 151 00440 #define CS_SEND_BULK_CMD 153 00441 00442 #define CS_VERSION_100 112 00443 #define CS_VERSION_110 1100 00444 #define CS_VERSION_120 1100 00445 #define CS_VERSION_125 12500 00446 #define CS_VERSION_150 15000 00447 00448 #define BLK_VERSION_100 CS_VERSION_100 00449 #define BLK_VERSION_110 CS_VERSION_110 00450 #define BLK_VERSION_120 CS_VERSION_120 00451 #define BLK_VERSION_125 CS_VERSION_125 00452 #define BLK_VERSION_150 CS_VERSION_150 00453 00454 #define CS_FORCE_EXIT 300 00455 #define CS_FORCE_CLOSE 301 00456 00457 #define CS_SYNC_IO 8111 00458 #define CS_ASYNC_IO 8112 00459 #define CS_DEFER_IO 8113 00460 00461 #define CS_CANCEL_CURRENT 6000 00462 #define CS_CANCEL_ALL 6001 00463 #define CS_CANCEL_ATTN 6002 00464 00465 #define CS_ROW_COUNT 800 00466 #define CS_CMD_NUMBER 801 00467 #define CS_NUM_COMPUTES 802 00468 #define CS_NUMDATA 803 00469 #define CS_NUMORDERCOLS 805 00470 #define CS_MSGTYPE 806 00471 #define CS_BROWSE_INFO 807 00472 #define CS_TRANS_STATE 808 00473 00474 #define CS_TRAN_UNDEFINED 0 00475 #define CS_TRAN_IN_PROGRESS 1 00476 #define CS_TRAN_COMPLETED 2 00477 #define CS_TRAN_FAIL 3 00478 #define CS_TRAN_STMT_FAIL 4 00479 00480 #define CS_COMP_OP 5350 00481 #define CS_COMP_ID 5351 00482 #define CS_COMP_COLID 5352 00483 #define CS_COMP_BYLIST 5353 00484 #define CS_BYLIST_LEN 5354 00485 00486 #define CS_NO_COUNT -1 00487 00488 #define CS_OP_SUM 5370 00489 #define CS_OP_AVG 5371 00490 #define CS_OP_COUNT 5372 00491 #define CS_OP_MIN 5373 00492 #define CS_OP_MAX 5374 00493 00494 #define CS_CAP_REQUEST 1 00495 #define CS_CAP_RESPONSE 2 00496 00497 #define CS_PREPARE 717 00498 #define CS_EXECUTE 718 00499 #define CS_DESCRIBE_INPUT 720 00500 #define CS_DESCRIBE_OUTPUT 721 00501 00502 #define CS_DEALLOC 711 00503 00504 #define CS_LC_ALL 7 00505 #define CS_SYB_LANG 8 00506 #define CS_SYB_CHARSET 9 00507 #define CS_SYB_SORTORDER 10 00508 #define CS_SYB_COLLATE CS_SYB_SORTORDER 00509 #define CS_SYB_LANG_CHARSET 11 00510 00511 #define CS_BLK_IN 1 00512 #define CS_BLK_OUT 2 00513 00514 #define CS_BLK_BATCH 1 00515 #define CS_BLK_ALL 2 00516 #define CS_BLK_CANCEL 3 00517 00518 /* to do support these */ 00519 00520 #define CS_BLK_ARRAY_MAXLEN 0x1000 00521 #define CS_DEF_PREC 18 00522 00523 /* Error Severities */ 00524 #define CS_SV_INFORM TDS_STATIC_CAST(CS_INT, 0) 00525 #define CS_SV_API_FAIL TDS_STATIC_CAST(CS_INT, 1) 00526 #define CS_SV_RETRY_FAIL TDS_STATIC_CAST(CS_INT, 2) 00527 #define CS_SV_RESOURCE_FAIL TDS_STATIC_CAST(CS_INT, 3) 00528 #define CS_SV_CONFIG_FAIL TDS_STATIC_CAST(CS_INT, 4) 00529 #define CS_SV_COMM_FAIL TDS_STATIC_CAST(CS_INT, 5) 00530 #define CS_SV_INTERNAL_FAIL TDS_STATIC_CAST(CS_INT, 6) 00531 #define CS_SV_FATAL TDS_STATIC_CAST(CS_INT, 7) 00532 00533 /* result_types */ 00534 #define CS_COMPUTE_RESULT 4045 00535 #define CS_CURSOR_RESULT 4041 00536 #define CS_PARAM_RESULT 4042 00537 #define CS_ROW_RESULT 4040 00538 #define CS_STATUS_RESULT 4043 00539 #define CS_COMPUTEFMT_RESULT 4050 00540 #define CS_ROWFMT_RESULT 4049 00541 #define CS_MSG_RESULT 4044 00542 #define CS_DESCRIBE_RESULT 4051 00543 00544 /* bind types */ 00545 #define CS_ILLEGAL_TYPE TDS_STATIC_CAST(CS_INT, -1) 00546 #define CS_CHAR_TYPE TDS_STATIC_CAST(CS_INT, 0) 00547 #define CS_BINARY_TYPE TDS_STATIC_CAST(CS_INT, 1) 00548 #define CS_LONGCHAR_TYPE TDS_STATIC_CAST(CS_INT, 2) 00549 #define CS_LONGBINARY_TYPE TDS_STATIC_CAST(CS_INT, 3) 00550 #define CS_TEXT_TYPE TDS_STATIC_CAST(CS_INT, 4) 00551 #define CS_IMAGE_TYPE TDS_STATIC_CAST(CS_INT, 5) 00552 #define CS_TINYINT_TYPE TDS_STATIC_CAST(CS_INT, 6) 00553 #define CS_SMALLINT_TYPE TDS_STATIC_CAST(CS_INT, 7) 00554 #define CS_INT_TYPE TDS_STATIC_CAST(CS_INT, 8) 00555 #define CS_REAL_TYPE TDS_STATIC_CAST(CS_INT, 9) 00556 #define CS_FLOAT_TYPE TDS_STATIC_CAST(CS_INT, 10) 00557 #define CS_BIT_TYPE TDS_STATIC_CAST(CS_INT, 11) 00558 #define CS_DATETIME_TYPE TDS_STATIC_CAST(CS_INT, 12) 00559 #define CS_DATETIME4_TYPE TDS_STATIC_CAST(CS_INT, 13) 00560 #define CS_MONEY_TYPE TDS_STATIC_CAST(CS_INT, 14) 00561 #define CS_MONEY4_TYPE TDS_STATIC_CAST(CS_INT, 15) 00562 #define CS_NUMERIC_TYPE TDS_STATIC_CAST(CS_INT, 16) 00563 #define CS_DECIMAL_TYPE TDS_STATIC_CAST(CS_INT, 17) 00564 #define CS_VARCHAR_TYPE TDS_STATIC_CAST(CS_INT, 18) 00565 #define CS_VARBINARY_TYPE TDS_STATIC_CAST(CS_INT, 19) 00566 #define CS_LONG_TYPE TDS_STATIC_CAST(CS_INT, 20) 00567 #define CS_SENSITIVITY_TYPE TDS_STATIC_CAST(CS_INT, 21) 00568 #define CS_BOUNDARY_TYPE TDS_STATIC_CAST(CS_INT, 22) 00569 #define CS_VOID_TYPE TDS_STATIC_CAST(CS_INT, 23) 00570 #define CS_USHORT_TYPE TDS_STATIC_CAST(CS_INT, 24) 00571 #define CS_UNICHAR_TYPE TDS_STATIC_CAST(CS_INT, 25) 00572 #define CS_BLOB_TYPE TDS_STATIC_CAST(CS_INT, 26) 00573 #define CS_DATE_TYPE TDS_STATIC_CAST(CS_INT, 27) 00574 #define CS_TIME_TYPE TDS_STATIC_CAST(CS_INT, 28) 00575 #define CS_UNITEXT_TYPE TDS_STATIC_CAST(CS_INT, 29) 00576 #define CS_BIGINT_TYPE TDS_STATIC_CAST(CS_INT, 30) 00577 #define CS_USMALLINT_TYPE TDS_STATIC_CAST(CS_INT, 31) 00578 #define CS_UINT_TYPE TDS_STATIC_CAST(CS_INT, 32) 00579 #define CS_UBIGINT_TYPE TDS_STATIC_CAST(CS_INT, 33) 00580 #define CS_XML_TYPE TDS_STATIC_CAST(CS_INT, 34) 00581 #define CS_UNIQUE_TYPE TDS_STATIC_CAST(CS_INT, 40) 00582 00583 #define CS_USER_TYPE TDS_STATIC_CAST(CS_INT, 100) 00584 /* cs_dt_info type values */ 00585 enum 00586 { 00587 CS_MONTH = 7340, 00588 #define CS_MONTH CS_MONTH 00589 CS_SHORTMONTH, 00590 #define CS_SHORTMONTH CS_SHORTMONTH 00591 CS_DAYNAME, 00592 #define CS_DAYNAME CS_DAYNAME 00593 CS_DATEORDER, 00594 #define CS_DATEORDER CS_DATEORDER 00595 CS_12HOUR, 00596 #define CS_12HOUR CS_12HOUR 00597 CS_DT_CONVFMT 00598 #define CS_DT_CONVFMT CS_DT_CONVFMT 00599 }; 00600 00601 /* DT_CONVFMT types */ 00602 enum 00603 { 00604 CS_DATES_SHORT = 0, 00605 #define CS_DATES_SHORT CS_DATES_SHORT 00606 CS_DATES_MDY1, 00607 #define CS_DATES_MDY1 CS_DATES_MDY1 00608 CS_DATES_YMD1, 00609 #define CS_DATES_YMD1 CS_DATES_YMD1 00610 CS_DATES_DMY1, 00611 #define CS_DATES_DMY1 CS_DATES_DMY1 00612 CS_DATES_DMY2, 00613 #define CS_DATES_DMY2 CS_DATES_DMY2 00614 CS_DATES_DMY3, 00615 #define CS_DATES_DMY3 CS_DATES_DMY3 00616 CS_DATES_DMY4, 00617 #define CS_DATES_DMY4 CS_DATES_DMY4 00618 CS_DATES_MDY2, 00619 #define CS_DATES_MDY2 CS_DATES_MDY2 00620 CS_DATES_HMS, 00621 #define CS_DATES_HMS CS_DATES_HMS 00622 CS_DATES_LONG, 00623 #define CS_DATES_LONG CS_DATES_LONG 00624 CS_DATES_MDY3, 00625 #define CS_DATES_MDY3 CS_DATES_MDY3 00626 CS_DATES_YMD2, 00627 #define CS_DATES_YMD2 CS_DATES_YMD2 00628 CS_DATES_YMD3, 00629 #define CS_DATES_YMD3 CS_DATES_YMD3 00630 CS_DATES_YDM1, 00631 #define CS_DATES_YDM1 CS_DATES_YDM1 00632 CS_DATES_MYD1, 00633 #define CS_DATES_MYD1 CS_DATES_MYD1 00634 CS_DATES_DYM1, 00635 #define CS_DATES_DYM1 CS_DATES_DYM1 00636 CS_DATES_MDY1_YYYY = 101, 00637 #define CS_DATES_MDY1_YYYY CS_DATES_MDY1_YYYY 00638 CS_DATES_YMD1_YYYY, 00639 #define CS_DATES_YMD1_YYYY CS_DATES_YMD1_YYYY 00640 CS_DATES_DMY1_YYYY, 00641 #define CS_DATES_DMY1_YYYY CS_DATES_DMY1_YYYY 00642 CS_DATES_DMY2_YYYY, 00643 #define CS_DATES_DMY2_YYYY CS_DATES_DMY2_YYYY 00644 CS_DATES_DMY3_YYYY, 00645 #define CS_DATES_DMY3_YYYY CS_DATES_DMY3_YYYY 00646 CS_DATES_DMY4_YYYY, 00647 #define CS_DATES_DMY4_YYYY CS_DATES_DMY4_YYYY 00648 CS_DATES_MDY2_YYYY, 00649 #define CS_DATES_MDY2_YYYY CS_DATES_MDY2_YYYY 00650 CS_DATES_MDY3_YYYY = 110, 00651 #define CS_DATES_MDY3_YYYY CS_DATES_MDY3_YYYY 00652 CS_DATES_YMD2_YYYY, 00653 #define CS_DATES_YMD2_YYYY CS_DATES_YMD2_YYYY 00654 CS_DATES_YMD3_YYYY 00655 #define CS_DATES_YMD3_YYYY CS_DATES_YMD3_YYYY 00656 }; 00657 00658 typedef CS_RETCODE(*CS_CONV_FUNC) (CS_CONTEXT * context, CS_DATAFMT * srcfmt, CS_VOID * src, CS_DATAFMT * detsfmt, CS_VOID * dest, 00659 CS_INT * destlen); 00660 00661 typedef struct _cs_objname 00662 { 00663 CS_BOOL thinkexists; 00664 CS_INT object_type; 00665 CS_CHAR last_name[CS_MAX_NAME]; 00666 CS_INT lnlen; 00667 CS_CHAR first_name[CS_MAX_NAME]; 00668 CS_INT fnlen; 00669 CS_VOID *scope; 00670 CS_INT scopelen; 00671 CS_VOID *thread; 00672 CS_INT threadlen; 00673 } CS_OBJNAME; 00674 00675 typedef struct _cs_objdata 00676 { 00677 CS_BOOL actuallyexists; 00678 CS_CONNECTION *connection; 00679 CS_COMMAND *command; 00680 CS_VOID *buffer; 00681 CS_INT buflen; 00682 } CS_OBJDATA; 00683 00684 /* Eventually, these should be in terms of TDS values */ 00685 enum 00686 { 00687 CS_OPT_MONDAY = 1, 00688 CS_OPT_TUESDAY, 00689 CS_OPT_WEDNESDAY, 00690 CS_OPT_THURSDAY, 00691 CS_OPT_FRIDAY, 00692 CS_OPT_SATURDAY, 00693 CS_OPT_SUNDAY 00694 }; 00695 enum 00696 { 00697 CS_OPT_FMTMDY = 1, 00698 CS_OPT_FMTDMY, 00699 CS_OPT_FMTYMD, 00700 CS_OPT_FMTYDM, 00701 CS_OPT_FMTMYD, 00702 CS_OPT_FMTDYM 00703 }; 00704 enum 00705 { 00706 CS_OPT_LEVEL0 = 0, 00707 CS_OPT_LEVEL1, 00708 CS_OPT_LEVEL2, 00709 CS_OPT_LEVEL3 00710 }; 00711 00712 #define CS_FALSE 0 00713 #define CS_TRUE 1 00714 00715 #define SRV_PROC CS_VOID 00716 00717 /* constants required for ct_diag (not jet implemented) */ 00718 #define CS_CLIENTMSG_TYPE 4700 00719 #define CS_SERVERMSG_TYPE 4701 00720 #define CS_ALLMSG_TYPE 4702 00721 00722 CS_RETCODE cs_convert(CS_CONTEXT * ctx, CS_DATAFMT * srcfmt, CS_VOID * srcdata, CS_DATAFMT * destfmt, CS_VOID * destdata, 00723 CS_INT * resultlen); 00724 CS_RETCODE cs_ctx_alloc(CS_INT version, CS_CONTEXT ** ctx); 00725 CS_RETCODE cs_ctx_global(CS_INT version, CS_CONTEXT ** ctx); 00726 CS_RETCODE cs_ctx_drop(CS_CONTEXT * ctx); 00727 CS_RETCODE cs_config(CS_CONTEXT * ctx, CS_INT action, CS_INT property, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen); 00728 CS_RETCODE cs_strbuild(CS_CONTEXT * ctx, CS_CHAR * buffer, CS_INT buflen, CS_INT * resultlen, CS_CHAR * text, CS_INT textlen, 00729 CS_CHAR * formats, CS_INT formatlen, ...); 00730 CS_RETCODE cs_dt_crack(CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, CS_DATEREC * daterec); 00731 CS_RETCODE cs_loc_alloc(CS_CONTEXT * ctx, CS_LOCALE ** locptr); 00732 CS_RETCODE cs_loc_drop(CS_CONTEXT * ctx, CS_LOCALE * locale); 00733 CS_RETCODE cs_locale(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_VOID * buffer, CS_INT buflen, 00734 CS_INT * outlen); 00735 CS_RETCODE cs_dt_info(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_INT item, CS_VOID * buffer, 00736 CS_INT buflen, CS_INT * outlen); 00737 00738 CS_RETCODE cs_calc(CS_CONTEXT * ctx, CS_INT op, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_VOID * dest); 00739 CS_RETCODE cs_cmp(CS_CONTEXT * ctx, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_INT * result); 00740 CS_RETCODE cs_conv_mult(CS_CONTEXT * ctx, CS_LOCALE * srcloc, CS_LOCALE * destloc, CS_INT * conv_multiplier); 00741 CS_RETCODE cs_diag(CS_CONTEXT * ctx, CS_INT operation, CS_INT type, CS_INT idx, CS_VOID * buffer); 00742 CS_RETCODE cs_manage_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_CHAR * srcname, CS_INT srcnamelen, CS_INT desttype, 00743 CS_CHAR * destname, CS_INT destnamelen, CS_INT * conv_multiplier, CS_CONV_FUNC * func); 00744 CS_RETCODE cs_objects(CS_CONTEXT * ctx, CS_INT action, CS_OBJNAME * objname, CS_OBJDATA * objdata); 00745 CS_RETCODE cs_set_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_INT desttype, CS_CONV_FUNC * func); 00746 CS_RETCODE cs_setnull(CS_CONTEXT * ctx, CS_DATAFMT * datafmt, CS_VOID * buffer, CS_INT buflen); 00747 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, 00748 CS_INT * result); 00749 CS_RETCODE cs_time(CS_CONTEXT * ctx, CS_LOCALE * locale, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen, CS_DATEREC * daterec); 00750 CS_RETCODE cs_will_convert(CS_CONTEXT * ctx, CS_INT srctype, CS_INT desttype, CS_BOOL * result); 00751 00752 const char * cs_prretcode(int retcode); 00753 00754 #ifdef __cplusplus 00755 #if 0 00756 { 00757 #endif 00758 } 00759 #endif 00760 00761 #endif Generated on Wed Aug 17 22:22:30 2011 for FreeTDS API by  1.6.3 | 
| :: Command execute :: | |
| --[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.9564 ]-- |