|
#define | TDS_INVALID_TYPE ((TDS_SERVER_TYPE) 0) |
|
#define | TDS_NO_MORE_RESULTS ((TDSRET)1) |
|
#define | TDS_SUCCESS ((TDSRET)0) |
|
#define | TDS_FAIL ((TDSRET)-1) |
|
#define | TDS_CANCELLED ((TDSRET)-2) |
|
#define | TDS_FAILED(rc) ((rc)<0) |
|
#define | TDS_SUCCEED(rc) ((rc)>=0) |
|
#define | TDS_INT_CONTINUE 1 |
|
#define | TDS_INT_CANCEL 2 |
|
#define | TDS_INT_TIMEOUT 3 |
|
#define | TDS_NO_COUNT -1 |
|
#define | TDS_ROW_RESULT 4040 |
|
#define | TDS_PARAM_RESULT 4042 |
|
#define | TDS_STATUS_RESULT 4043 |
|
#define | TDS_MSG_RESULT 4044 |
|
#define | TDS_COMPUTE_RESULT 4045 |
|
#define | TDS_CMD_DONE 4046 |
|
#define | TDS_CMD_SUCCEED 4047 |
|
#define | TDS_CMD_FAIL 4048 |
|
#define | TDS_ROWFMT_RESULT 4049 |
|
#define | TDS_COMPUTEFMT_RESULT 4050 |
|
#define | TDS_DESCRIBE_RESULT 4051 |
|
#define | TDS_DONE_RESULT 4052 |
|
#define | TDS_DONEPROC_RESULT 4053 |
|
#define | TDS_DONEINPROC_RESULT 4054 |
|
#define | TDS_OTHERS_RESULT 4055 |
|
#define | TDS_TOKEN_FLAG(flag) TDS_RETURN_##flag = (1 << (TDS_TOKEN_RES_##flag*2)), TDS_STOPAT_##flag = (2 << (TDS_TOKEN_RES_##flag*2)) |
|
#define | TDS_NULLTERM -9 |
|
#define | TDS_ZERO_FREE(x) do {free((x)); (x) = NULL;} while(0) |
|
#define | TDS_VECTOR_SIZE(x) (sizeof(x)/sizeof(x[0])) |
|
#define | TDS_OFFSET(str, field) (((char*)&((str*)0)->field)-((char*)0)) |
|
#define | TDS_LIKELY(x) (x) |
|
#define | TDS_UNLIKELY(x) (x) |
|
#define | TDS_COMPILE_CHECK(name, check) extern int disabled_check_##name |
|
#define | TDS_EXTRA_CHECK(stmt) |
|
#define | TDS_WUR |
|
#define | TDS_BYTE_SWAP16(value) |
|
#define | TDS_BYTE_SWAP32(value) |
|
#define | is_end_token(x) |
|
#define | is_fixed_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_FIXED) != 0) |
|
#define | is_nullable_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_NULLABLE) != 0) |
|
#define | is_variable_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_VARIABLE) != 0) |
|
#define | is_blob_type(x) ((x)==SYBTEXT || (x)==SYBIMAGE || (x)==SYBNTEXT) |
|
#define | is_blob_col(x) |
|
#define | is_numeric_type(x) ((x)==SYBNUMERIC || (x)==SYBDECIMAL) |
|
#define | is_datetime_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_DATETIME) != 0) |
| return true if type is a datetime (but not date or time) More...
|
|
#define | is_unicode_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_UNICODE) != 0) |
|
#define | is_collate_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_COLLATE) != 0) |
|
#define | is_ascii_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_ASCII) != 0) |
|
#define | is_char_type(x) ((tds_type_flags_ms[x] & (TDS_TYPEFLAG_ASCII|TDS_TYPEFLAG_UNICODE)) != 0) |
|
#define | is_similar_type(x, y) (is_char_type(x) && is_char_type(y)) |
|
#define | TDS_MAX_CAPABILITY 32 |
|
#define | MAXPRECISION 77 |
|
#define | TDS_MAX_CONN 4096 |
|
#define | TDS_MAX_DYNID_LEN 30 |
|
#define | TDS_DEF_SERVER "SYBASE" |
|
#define | TDS_DEF_BLKSZ 512 |
|
#define | TDS_DEF_CHARSET "iso_1" |
|
#define | TDS_DEF_LANG "us_english" |
|
#define | TDS_DEFAULT_VERSION 0x000 |
|
#define | TDS_DEF_PORT 1433 |
|
#define | TDS_STR_VERSION "tds version" |
|
#define | TDS_STR_BLKSZ "initial block size" |
|
#define | TDS_STR_SWAPDT "swap broken dates" |
|
#define | TDS_STR_DUMPFILE "dump file" |
|
#define | TDS_STR_DEBUGLVL "debug level" |
|
#define | TDS_STR_DEBUGFLAGS "debug flags" |
|
#define | TDS_STR_TIMEOUT "timeout" |
|
#define | TDS_STR_QUERY_TIMEOUT "query timeout" |
|
#define | TDS_STR_CONNTIMEOUT "connect timeout" |
|
#define | TDS_STR_HOSTNAME "hostname" |
|
#define | TDS_STR_HOST "host" |
|
#define | TDS_STR_PORT "port" |
|
#define | TDS_STR_TEXTSZ "text size" |
|
#define | TDS_STR_EMUL_LE "emulate little endian" |
|
#define | TDS_STR_CHARSET "charset" |
|
#define | TDS_STR_CLCHARSET "client charset" |
|
#define | TDS_STR_USE_UTF_16 "use utf-16" |
|
#define | TDS_STR_LANGUAGE "language" |
|
#define | TDS_STR_APPENDMODE "dump file append" |
|
#define | TDS_STR_DATEFMT "date format" |
|
#define | TDS_STR_INSTANCE "instance" |
|
#define | TDS_STR_ASA_DATABASE "asa database" |
|
#define | TDS_STR_DATABASE "database" |
|
#define | TDS_STR_ENCRYPTION "encryption" |
|
#define | TDS_STR_USENTLMV2 "use ntlmv2" |
|
#define | TDS_STR_USELANMAN "use lanman" |
|
#define | TDS_STR_ENCRYPTION_OFF "off" |
|
#define | TDS_STR_ENCRYPTION_REQUEST "request" |
|
#define | TDS_STR_ENCRYPTION_REQUIRE "require" |
|
#define | TDS_GSSAPI_DELEGATION "enable gssapi delegation" |
|
#define | TDS_STR_REALM "realm" |
|
#define | TDS_STR_SPN "spn" |
|
#define | TDS_STR_CAFILE "ca file" |
|
#define | TDS_STR_CRLFILE "crl file" |
|
#define | TDS_STR_CHECKSSLHOSTNAME "check certificate hostname" |
|
#define | TDS_STR_DBFILENAME "database filename" |
|
#define | TDS_STR_READONLY_INTENT "read-only intent" |
|
#define | TLS_STR_OPENSSL_CIPHERS "openssl ciphers" |
|
#define | TDS_ALIGN_SIZE sizeof(tds_align_struct) |
|
#define | TDS_MAX_LOGIN_STR_SZ 128 |
|
#define | TDS_DBG_LOGIN __FILE__, ((__LINE__ << 4) | 11) |
|
#define | TDS_DBG_HEADER __FILE__, ((__LINE__ << 4) | 10) |
|
#define | TDS_DBG_FUNC __FILE__, ((__LINE__ << 4) | 7) |
|
#define | TDS_DBG_INFO2 __FILE__, ((__LINE__ << 4) | 6) |
|
#define | TDS_DBG_INFO1 __FILE__, ((__LINE__ << 4) | 5) |
|
#define | TDS_DBG_NETWORK __FILE__, ((__LINE__ << 4) | 4) |
|
#define | TDS_DBG_WARN __FILE__, ((__LINE__ << 4) | 3) |
|
#define | TDS_DBG_ERROR __FILE__, ((__LINE__ << 4) | 2) |
|
#define | TDS_DBG_SEVERE __FILE__, ((__LINE__ << 4) | 1) |
|
#define | TDS_DBGFLAG_FUNC 0x80 |
|
#define | TDS_DBGFLAG_INFO2 0x40 |
|
#define | TDS_DBGFLAG_INFO1 0x20 |
|
#define | TDS_DBGFLAG_NETWORK 0x10 |
|
#define | TDS_DBGFLAG_WARN 0x08 |
|
#define | TDS_DBGFLAG_ERROR 0x04 |
|
#define | TDS_DBGFLAG_SEVERE 0x02 |
|
#define | TDS_DBGFLAG_ALL 0xfff |
|
#define | TDS_DBGFLAG_LOGIN 0x0800 |
|
#define | TDS_DBGFLAG_HEADER 0x0400 |
|
#define | TDS_DBGFLAG_PID 0x1000 |
|
#define | TDS_DBGFLAG_TIME 0x2000 |
|
#define | TDS_DBGFLAG_SOURCE 0x4000 |
|
#define | TDS_DBGFLAG_THREAD 0x8000 |
|
#define | tds_get_ctx(tds) ((tds)->conn->tds_ctx) |
|
#define | tds_set_ctx(tds, val) do { ((tds)->conn->tds_ctx) = (val); } while(0) |
|
#define | tds_get_parent(tds) ((tds)->parent) |
|
#define | tds_set_parent(tds, val) do { ((tds)->parent) = (val); } while(0) |
|
#define | tds_get_s(tds) ((tds)->conn->s) |
|
#define | tds_set_s(tds, val) do { ((tds)->conn->s) = (val); } while(0) |
|
#define | TDS_RESIZE(p, n_elem) tds_realloc((void **) &(p), sizeof(*(p)) * (size_t) (n_elem)) |
|
#define | tds_new(type, n) ((type *) malloc(sizeof(type) * (n))) |
|
#define | tds_new0(type, n) ((type *) calloc(n, sizeof(type))) |
|
#define | tds_convert_string_free(original, converted) do { if (original != converted) free((char*) converted); } while(0) |
|
#define | tds_put_tinyint(tds, ti) tds_put_byte(tds,ti) |
| Output a tinyint value. More...
|
|
#define | tds_get_smallint(tds) ((TDS_SMALLINT) tds_get_usmallint(tds)) |
|
#define | tds_get_int(tds) ((TDS_INT) tds_get_uint(tds)) |
|
#define | tds_get_int8(tds) ((TDS_INT8) tds_get_uint8(tds)) |
|
#define | TDSDUMP_LOG_FAST if (TDS_UNLIKELY(tds_write_dump && !tdsdump_elided)) tdsdump_do_log |
|
#define | tdsdump_log TDSDUMP_LOG_FAST |
|
#define | TDSDUMP_BUF_FAST if (TDS_UNLIKELY(tds_write_dump && !tdsdump_elided)) tdsdump_do_dump_buf |
|
#define | tdsdump_dump_buf TDSDUMP_BUF_FAST |
|
#define | TDSSELREAD POLLIN |
|
#define | TDSSELWRITE POLLOUT |
|
#define | tds_capability_has_req(conn, cap) tds_capability_enabled(&conn->capabilities.types[0], cap) |
|
#define | IS_TDS42(x) (x->tds_version==0x402) |
|
#define | IS_TDS46(x) (x->tds_version==0x406) |
|
#define | IS_TDS50(x) (x->tds_version==0x500) |
|
#define | IS_TDS70(x) (x->tds_version==0x700) |
|
#define | IS_TDS71(x) (x->tds_version==0x701) |
|
#define | IS_TDS72(x) (x->tds_version==0x702) |
|
#define | IS_TDS73(x) (x->tds_version==0x703) |
|
#define | IS_TDS50_PLUS(x) ((x)->tds_version>=0x500) |
|
#define | IS_TDS7_PLUS(x) ((x)->tds_version>=0x700) |
|
#define | IS_TDS71_PLUS(x) ((x)->tds_version>=0x701) |
|
#define | IS_TDS72_PLUS(x) ((x)->tds_version>=0x702) |
|
#define | IS_TDS73_PLUS(x) ((x)->tds_version>=0x703) |
|
#define | IS_TDS74_PLUS(x) ((x)->tds_version>=0x704) |
|
#define | TDS_MAJOR(x) ((x)->tds_version >> 8) |
|
#define | TDS_MINOR(x) ((x)->tds_version & 0xff) |
|
#define | IS_TDSDEAD(x) (((x) == NULL) || (x)->state == TDS_DEAD) |
|
#define | TDS_IS_SYBASE(x) (!((x)->conn->product_version & 0x80000000u)) |
| Check if product is Sybase (such as Adaptive Server Enterrprice). More...
|
|
#define | TDS_IS_MSSQL(x) (((x)->conn->product_version & 0x80000000u)!=0) |
| Check if product is Microsft SQL Server. More...
|
|
#define | TDS_MS_VER(maj, min, x) (0x80000000u|((maj)<<24)|((min)<<16)|(x)) |
| Calc a version number for mssql. More...
|
|
#define | TDS_SYB_VER(maj, min, x) (((maj)<<24)|((min)<<16)|(x)<<8) |
| Calc a version number for Sybase. More...
|
|
#define | TDS_PUT_INT(tds, v) tds_put_int((tds), ((TDS_INT)(v))) |
|
#define | TDS_PUT_SMALLINT(tds, v) tds_put_smallint((tds), ((TDS_SMALLINT)(v))) |
|
#define | TDS_PUT_BYTE(tds, v) tds_put_byte((tds), ((unsigned char)(v))) |
|
|
enum | tds_token_results {
TDS_TOKEN_RES_OTHERS
, TDS_TOKEN_RES_ROWFMT
, TDS_TOKEN_RES_COMPUTEFMT
, TDS_TOKEN_RES_PARAMFMT
,
TDS_TOKEN_RES_DONE
, TDS_TOKEN_RES_ROW
, TDS_TOKEN_RES_COMPUTE
, TDS_TOKEN_RES_PROC
,
TDS_TOKEN_RES_MSG
, TDS_TOKEN_RES_ENV
, TDS_TOKEN_RES_OTHERS
, TDS_TOKEN_RES_ROWFMT
,
TDS_TOKEN_RES_COMPUTEFMT
, TDS_TOKEN_RES_PARAMFMT
, TDS_TOKEN_RES_DONE
, TDS_TOKEN_RES_ROW
,
TDS_TOKEN_RES_COMPUTE
, TDS_TOKEN_RES_PROC
, TDS_TOKEN_RES_MSG
, TDS_TOKEN_RES_ENV
} |
|
enum | tds_token_flags {
TDS_HANDLE_ALL = 0
, TDS_RETURN_OTHERS = (1 << (TDS_TOKEN_RES_OTHERS *2))
, TDS_STOPAT_OTHERS = (2 << (TDS_TOKEN_RES_OTHERS *2))
, TDS_RETURN_ROWFMT = (1 << (TDS_TOKEN_RES_ROWFMT *2))
,
TDS_STOPAT_ROWFMT = (2 << (TDS_TOKEN_RES_ROWFMT *2))
, TDS_RETURN_COMPUTEFMT = (1 << (TDS_TOKEN_RES_COMPUTEFMT *2))
, TDS_STOPAT_COMPUTEFMT = (2 << (TDS_TOKEN_RES_COMPUTEFMT *2))
, TDS_RETURN_PARAMFMT = (1 << (TDS_TOKEN_RES_PARAMFMT *2))
,
TDS_STOPAT_PARAMFMT = (2 << (TDS_TOKEN_RES_PARAMFMT *2))
, TDS_RETURN_DONE = (1 << (TDS_TOKEN_RES_DONE *2))
, TDS_STOPAT_DONE = (2 << (TDS_TOKEN_RES_DONE *2))
, TDS_RETURN_ROW = (1 << (TDS_TOKEN_RES_ROW *2))
,
TDS_STOPAT_ROW = (2 << (TDS_TOKEN_RES_ROW *2))
, TDS_RETURN_COMPUTE = (1 << (TDS_TOKEN_RES_COMPUTE *2))
, TDS_STOPAT_COMPUTE = (2 << (TDS_TOKEN_RES_COMPUTE *2))
, TDS_RETURN_PROC = (1 << (TDS_TOKEN_RES_PROC *2))
,
TDS_STOPAT_PROC = (2 << (TDS_TOKEN_RES_PROC *2))
, TDS_RETURN_MSG = (1 << (TDS_TOKEN_RES_MSG *2))
, TDS_STOPAT_MSG = (2 << (TDS_TOKEN_RES_MSG *2))
, TDS_RETURN_ENV = (1 << (TDS_TOKEN_RES_ENV *2))
,
TDS_STOPAT_ENV = (2 << (TDS_TOKEN_RES_ENV *2))
, TDS_TOKEN_RESULTS = TDS_RETURN_ROWFMT|TDS_RETURN_COMPUTEFMT|TDS_RETURN_DONE|TDS_STOPAT_ROW|TDS_STOPAT_COMPUTE|TDS_RETURN_PROC
, TDS_TOKEN_TRAILING = TDS_STOPAT_ROWFMT|TDS_STOPAT_COMPUTEFMT|TDS_STOPAT_ROW|TDS_STOPAT_COMPUTE|TDS_STOPAT_MSG|TDS_STOPAT_OTHERS
, TDS_HANDLE_ALL = 0
,
TDS_RETURN_OTHERS = (1 << (TDS_TOKEN_RES_OTHERS *2))
, TDS_STOPAT_OTHERS = (2 << (TDS_TOKEN_RES_OTHERS *2))
, TDS_RETURN_ROWFMT = (1 << (TDS_TOKEN_RES_ROWFMT *2))
, TDS_STOPAT_ROWFMT = (2 << (TDS_TOKEN_RES_ROWFMT *2))
,
TDS_RETURN_COMPUTEFMT = (1 << (TDS_TOKEN_RES_COMPUTEFMT *2))
, TDS_STOPAT_COMPUTEFMT = (2 << (TDS_TOKEN_RES_COMPUTEFMT *2))
, TDS_RETURN_PARAMFMT = (1 << (TDS_TOKEN_RES_PARAMFMT *2))
, TDS_STOPAT_PARAMFMT = (2 << (TDS_TOKEN_RES_PARAMFMT *2))
,
TDS_RETURN_DONE = (1 << (TDS_TOKEN_RES_DONE *2))
, TDS_STOPAT_DONE = (2 << (TDS_TOKEN_RES_DONE *2))
, TDS_RETURN_ROW = (1 << (TDS_TOKEN_RES_ROW *2))
, TDS_STOPAT_ROW = (2 << (TDS_TOKEN_RES_ROW *2))
,
TDS_RETURN_COMPUTE = (1 << (TDS_TOKEN_RES_COMPUTE *2))
, TDS_STOPAT_COMPUTE = (2 << (TDS_TOKEN_RES_COMPUTE *2))
, TDS_RETURN_PROC = (1 << (TDS_TOKEN_RES_PROC *2))
, TDS_STOPAT_PROC = (2 << (TDS_TOKEN_RES_PROC *2))
,
TDS_RETURN_MSG = (1 << (TDS_TOKEN_RES_MSG *2))
, TDS_STOPAT_MSG = (2 << (TDS_TOKEN_RES_MSG *2))
, TDS_RETURN_ENV = (1 << (TDS_TOKEN_RES_ENV *2))
, TDS_STOPAT_ENV = (2 << (TDS_TOKEN_RES_ENV *2))
,
TDS_TOKEN_RESULTS = TDS_RETURN_ROWFMT|TDS_RETURN_COMPUTEFMT|TDS_RETURN_DONE|TDS_STOPAT_ROW|TDS_STOPAT_COMPUTE|TDS_RETURN_PROC
, TDS_TOKEN_TRAILING = TDS_STOPAT_ROWFMT|TDS_STOPAT_COMPUTEFMT|TDS_STOPAT_ROW|TDS_STOPAT_COMPUTE|TDS_STOPAT_MSG|TDS_STOPAT_OTHERS
} |
|
enum | tds_end {
TDS_DONE_FINAL = 0x00
, TDS_DONE_MORE_RESULTS = 0x01
, TDS_DONE_ERROR = 0x02
, TDS_DONE_INXACT = 0x04
,
TDS_DONE_PROC = 0x08
, TDS_DONE_COUNT = 0x10
, TDS_DONE_CANCELLED = 0x20
, TDS_DONE_EVENT = 0x40
,
TDS_DONE_SRVERROR = 0x100
, TDS_DONE_NO_TRAN = 0
, TDS_DONE_TRAN_SUCCEED = 1
, TDS_DONE_TRAN_PROGRESS = 2
,
TDS_DONE_STMT_ABORT = 3
, TDS_DONE_TRAN_ABORT = 4
, TDS_DONE_FINAL = 0x00
, TDS_DONE_MORE_RESULTS = 0x01
,
TDS_DONE_ERROR = 0x02
, TDS_DONE_INXACT = 0x04
, TDS_DONE_PROC = 0x08
, TDS_DONE_COUNT = 0x10
,
TDS_DONE_CANCELLED = 0x20
, TDS_DONE_EVENT = 0x40
, TDS_DONE_SRVERROR = 0x100
, TDS_DONE_NO_TRAN = 0
,
TDS_DONE_TRAN_SUCCEED = 1
, TDS_DONE_TRAN_PROGRESS = 2
, TDS_DONE_STMT_ABORT = 3
, TDS_DONE_TRAN_ABORT = 4
} |
| Flags returned in TDS_DONE token. More...
|
|
enum | TDSERRNO {
TDSEOK = ((TDSRET)0)
, TDSEVERDOWN = 100
, TDSEICONVIU = 2400
, TDSEICONVAVAIL = 2401
,
TDSEICONVO = 2402
, TDSEICONVI = 2403
, TDSEICONV2BIG = 2404
, TDSEPORTINSTANCE = 2500
,
TDSESYNC = 20001
, TDSEFCON = 20002
, TDSETIME = 20003
, TDSEREAD = 20004
,
TDSEWRIT = 20006
, TDSESOCK = 20008
, TDSECONN = 20009
, TDSEMEM = 20010
,
TDSEINTF = 20012
, TDSEUHST = 20013
, TDSEPWD = 20014
, TDSESEOF = 20017
,
TDSERPND = 20019
, TDSEBTOK = 20020
, TDSEOOB = 20022
, TDSECLOS = 20056
,
TDSEUSCT = 20058
, TDSEUTDS = 20146
, TDSEEUNR = 20185
, TDSECAP = 20203
,
TDSENEG = 20210
, TDSEUMSG = 20212
, TDSECAPTYP = 20213
, TDSECONF = 20214
,
TDSEBPROBADTYP = 20250
, TDSECLOSEIN = 20292
, TDSEOK = ((TDSRET)0)
, TDSEVERDOWN = 100
,
TDSEINPROGRESS
, TDSEICONVIU = 2400
, TDSEICONVAVAIL = 2401
, TDSEICONVO = 2402
,
TDSEICONVI = 2403
, TDSEICONV2BIG = 2404
, TDSEPORTINSTANCE = 2500
, TDSESYNC = 20001
,
TDSEFCON = 20002
, TDSETIME = 20003
, TDSEREAD = 20004
, TDSEWRIT = 20006
,
TDSESOCK = 20008
, TDSECONN = 20009
, TDSEMEM = 20010
, TDSEINTF = 20012
,
TDSEUHST = 20013
, TDSEPWD = 20014
, TDSESEOF = 20017
, TDSERPND = 20019
,
TDSEBTOK = 20020
, TDSEOOB = 20022
, TDSECLOS = 20056
, TDSEUSCT = 20058
,
TDSEUTDS = 20146
, TDSEEUNR = 20185
, TDSECAP = 20203
, TDSENEG = 20210
,
TDSEUMSG = 20212
, TDSECAPTYP = 20213
, TDSECONF = 20214
, TDSEBPROBADTYP = 20250
,
TDSECLOSEIN = 20292
} |
|
enum | {
TDS_CUR_ISTAT_UNUSED = 0x00
, TDS_CUR_ISTAT_DECLARED = 0x01
, TDS_CUR_ISTAT_OPEN = 0x02
, TDS_CUR_ISTAT_CLOSED = 0x04
,
TDS_CUR_ISTAT_RDONLY = 0x08
, TDS_CUR_ISTAT_UPDATABLE = 0x10
, TDS_CUR_ISTAT_ROWCNT = 0x20
, TDS_CUR_ISTAT_DEALLOC = 0x40
} |
|
enum | tds_encryption_level {
TDS_ENCRYPTION_OFF
, TDS_ENCRYPTION_REQUEST
, TDS_ENCRYPTION_REQUIRE
, TDS_ENCRYPTION_DEFAULT
,
TDS_ENCRYPTION_OFF
, TDS_ENCRYPTION_REQUEST
, TDS_ENCRYPTION_REQUIRE
} |
|
enum | {
TDS_TYPEFLAG_INVALID = 0
, TDS_TYPEFLAG_NULLABLE = 1
, TDS_TYPEFLAG_FIXED = 2
, TDS_TYPEFLAG_VARIABLE = 4
,
TDS_TYPEFLAG_COLLATE = 8
, TDS_TYPEFLAG_ASCII = 16
, TDS_TYPEFLAG_UNICODE = 32
, TDS_TYPEFLAG_NUMERIC = 64
,
TDS_TYPEFLAG_DATETIME = 128
} |
|
enum | tds_states {
TDS_IDLE
, TDS_WRITING
, TDS_SENDING
, TDS_PENDING
,
TDS_READING
, TDS_DEAD
, TDS_IDLE
, TDS_WRITING
,
TDS_SENDING
, TDS_PENDING
, TDS_READING
, TDS_DEAD
} |
| values for tds->state More...
|
|
enum | tds_operations {
TDS_OP_NONE = 0
, TDS_OP_CURSOR = TDS_SP_CURSOR
, TDS_OP_CURSOROPEN = TDS_SP_CURSOROPEN
, TDS_OP_CURSORPREPARE = TDS_SP_CURSORPREPARE
,
TDS_OP_CURSOREXECUTE = TDS_SP_CURSOREXECUTE
, TDS_OP_CURSORPREPEXEC = TDS_SP_CURSORPREPEXEC
, TDS_OP_CURSORUNPREPARE = TDS_SP_CURSORUNPREPARE
, TDS_OP_CURSORFETCH = TDS_SP_CURSORFETCH
,
TDS_OP_CURSOROPTION = TDS_SP_CURSOROPTION
, TDS_OP_CURSORCLOSE = TDS_SP_CURSORCLOSE
, TDS_OP_EXECUTESQL = TDS_SP_EXECUTESQL
, TDS_OP_PREPARE = TDS_SP_PREPARE
,
TDS_OP_EXECUTE = TDS_SP_EXECUTE
, TDS_OP_PREPEXEC = TDS_SP_PREPEXEC
, TDS_OP_PREPEXECRPC = TDS_SP_PREPEXECRPC
, TDS_OP_UNPREPARE = TDS_SP_UNPREPARE
,
TDS_OP_DYN_DEALLOC = 100
, TDS_OP_NONE = 0
, TDS_OP_CURSOR = TDS_SP_CURSOR
, TDS_OP_CURSOROPEN = TDS_SP_CURSOROPEN
,
TDS_OP_CURSORPREPARE = TDS_SP_CURSORPREPARE
, TDS_OP_CURSOREXECUTE = TDS_SP_CURSOREXECUTE
, TDS_OP_CURSORPREPEXEC = TDS_SP_CURSORPREPEXEC
, TDS_OP_CURSORUNPREPARE = TDS_SP_CURSORUNPREPARE
,
TDS_OP_CURSORFETCH = TDS_SP_CURSORFETCH
, TDS_OP_CURSOROPTION = TDS_SP_CURSOROPTION
, TDS_OP_CURSORCLOSE = TDS_SP_CURSORCLOSE
, TDS_OP_EXECUTESQL = TDS_SP_EXECUTESQL
,
TDS_OP_PREPARE = TDS_SP_PREPARE
, TDS_OP_EXECUTE = TDS_SP_EXECUTE
, TDS_OP_PREPEXEC = TDS_SP_PREPEXEC
, TDS_OP_PREPEXECRPC = TDS_SP_PREPEXECRPC
,
TDS_OP_UNPREPARE = TDS_SP_UNPREPARE
, TDS_OP_DYN_DEALLOC = 100
} |
|
enum | TDS_CURSOR_STATE {
TDS_CURSOR_STATE_UNACTIONED = 0
, TDS_CURSOR_STATE_REQUESTED = 1
, TDS_CURSOR_STATE_SENT = 2
, TDS_CURSOR_STATE_ACTIONED = 3
,
TDS_CURSOR_STATE_UNACTIONED = 0
, TDS_CURSOR_STATE_REQUESTED = 1
, TDS_CURSOR_STATE_SENT = 2
, TDS_CURSOR_STATE_ACTIONED = 3
} |
|
enum | tds_cursor_operation {
TDS_CURSOR_POSITION = 0
, TDS_CURSOR_UPDATE = 1
, TDS_CURSOR_DELETE = 2
, TDS_CURSOR_INSERT = 4
,
TDS_CURSOR_POSITION = 0
, TDS_CURSOR_UPDATE = 1
, TDS_CURSOR_DELETE = 2
, TDS_CURSOR_INSERT = 4
} |
|
enum | tds_cursor_fetch {
TDS_CURSOR_FETCH_NEXT = 1
, TDS_CURSOR_FETCH_PREV
, TDS_CURSOR_FETCH_FIRST
, TDS_CURSOR_FETCH_LAST
,
TDS_CURSOR_FETCH_ABSOLUTE
, TDS_CURSOR_FETCH_RELATIVE
, TDS_CURSOR_FETCH_NEXT = 1
, TDS_CURSOR_FETCH_PREV
,
TDS_CURSOR_FETCH_FIRST
, TDS_CURSOR_FETCH_LAST
, TDS_CURSOR_FETCH_ABSOLUTE
, TDS_CURSOR_FETCH_RELATIVE
} |
|
enum | TDS_MULTIPLE_TYPE {
TDS_MULTIPLE_QUERY
, TDS_MULTIPLE_EXECUTE
, TDS_MULTIPLE_RPC
, TDS_MULTIPLE_QUERY
,
TDS_MULTIPLE_EXECUTE
, TDS_MULTIPLE_RPC
} |
|
enum | TDS_ICONV_ENTRY {
client2ucs2
, client2server_chardata
, initial_char_conv_count
, client2ucs2
,
client2server_chardata
, initial_char_conv_count
} |
|
enum | tds_bcp_directions {
TDS_BCP_IN = 1
, TDS_BCP_OUT = 2
, TDS_BCP_QUERYOUT = 3
, TDS_BCP_IN = 1
,
TDS_BCP_OUT = 2
, TDS_BCP_QUERYOUT = 3
} |
| bcp direction More...
|
|
|
static bool | is_tds_type_valid (int type) |
|
const TDS_COMPILETIME_SETTINGS * | tds_get_compiletime_settings (void) |
| Return a structure capturing the compile-time settings provided to the configure script. More...
|
|
int | tds_read_conf_section (FILE *in, const char *section, TDSCONFPARSE tds_conf_parse, void *parse_param) |
| Read a section of configuration file (INI style file) More...
|
|
int | tds_read_conf_file (TDSLOGIN *login, const char *server) |
| Read configuration info for given server return 0 on error. More...
|
|
void | tds_parse_conf_section (const char *option, const char *value, void *param) |
|
TDSLOGIN * | tds_read_config_info (TDSSOCKET *tds, TDSLOGIN *login, TDSLOCALE *locale) |
| tds_read_config_info() will fill the tds connection structure based on configuration information gathered in the following order: 1) Program specified in TDSLOGIN structure 2) The environment variables TDSVER, TDSDUMP, TDSPORT, TDSQUERY, TDSHOST 3) A config file with the following search order: a) a readable file specified by environment variable FREETDSCONF b) a readable file in ~/.freetds.conf c) a readable file in $prefix/etc/freetds.conf 3) ~/.interfaces if exists 4) $SYBASE/interfaces if exists 5) TDS_DEF_* default values More...
|
|
void | tds_fix_login (TDSLOGIN *login) |
| Fix configuration after reading it. More...
|
|
TDS_USMALLINT * | tds_config_verstr (const char *tdsver, TDSLOGIN *login) |
| Set TDS version from given string. More...
|
|
struct addrinfo * | tds_lookup_host (const char *servername) |
| Get the IP address for a hostname. More...
|
|
TDSRET | tds_lookup_host_set (const char *servername, struct addrinfo **addr) |
|
const char * | tds_addrinfo2str (struct addrinfo *addr, char *name, int namemax) |
|
TDSRET | tds_set_interfaces_file_loc (const char *interfloc) |
| Set the full name of interface file. More...
|
|
int | tds_parse_boolean (const char *value, int default_value) |
|
int | tds_config_boolean (const char *option, const char *value, TDSLOGIN *login) |
|
TDSLOCALE * | tds_get_locale (void) |
| Get locale information. More...
|
|
TDSRET | tds_alloc_row (TDSRESULTINFO *res_info) |
| Allocate space for row store return NULL on out of memory. More...
|
|
TDSRET | tds_alloc_compute_row (TDSCOMPUTEINFO *res_info) |
|
BCPCOLDATA * | tds_alloc_bcp_column_data (unsigned int column_size) |
|
TDSDYNAMIC * | tds_lookup_dynamic (TDSCONNECTION *conn, const char *id) |
| Finds a dynamic given string id. More...
|
|
const char * | tds_prtype (int token) |
| Returns string representation of the given type. More...
|
|
int | tds_get_varint_size (TDSCONNECTION *conn, int datatype) |
| tds_get_varint_size() returns the size of a variable length integer returned in a TDS 7.0 result string More...
|
|
TDS_SERVER_TYPE | tds_get_cardinal_type (TDS_SERVER_TYPE datatype, int usertype) |
|
TDSRET | tds_iconv_open (TDSCONNECTION *conn, const char *charset, int use_utf16) |
|
void | tds_iconv_close (TDSCONNECTION *conn) |
|
void | tds_srv_charset_changed (TDSCONNECTION *conn, const char *charset) |
|
void | tds7_srv_charset_changed (TDSCONNECTION *conn, int sql_collate, int lcid) |
|
int | tds_iconv_alloc (TDSCONNECTION *conn) |
| Allocate iconv stuff. More...
|
|
void | tds_iconv_free (TDSCONNECTION *conn) |
|
TDSICONV * | tds_iconv_from_collate (TDSCONNECTION *conn, TDS_UCHAR collate[5]) |
| Get iconv information from a LCID (to support different column encoding under MSSQL2K) More...
|
|
char * | tds_timestamp_str (char *str, int maxlen) |
|
struct tm * | tds_localtime_r (const time_t *timep, struct tm *result) |
|
struct hostent * | tds_gethostbyname_r (const char *servername, struct hostent *result, char *buffer, int buflen, int *h_errnop) |
|
int | tds_getservice (const char *name) |
| Return service port given the name. More...
|
|
char * | tds_get_homedir (void) |
| Get user home directory. More...
|
|
void | tds_free_socket (TDSSOCKET *tds) |
|
void | tds_free_all_results (TDSSOCKET *tds) |
|
void | tds_free_results (TDSRESULTINFO *res_info) |
|
void | tds_free_param_results (TDSPARAMINFO *param_info) |
|
void | tds_free_param_result (TDSPARAMINFO *param_info) |
| Delete latest parameter. More...
|
|
void | tds_free_msg (TDSMESSAGE *message) |
|
void | tds_cursor_deallocated (TDSCONNECTION *conn, TDSCURSOR *cursor) |
|
void | tds_release_cursor (TDSCURSOR **pcursor) |
|
void | tds_free_bcp_column_data (BCPCOLDATA *coldata) |
|
TDSRESULTINFO * | tds_alloc_results (TDS_USMALLINT num_cols) |
|
TDSCOMPUTEINFO ** | tds_alloc_compute_results (TDSSOCKET *tds, TDS_USMALLINT num_cols, TDS_USMALLINT by_cols) |
|
TDSCONTEXT * | tds_alloc_context (void *parent) |
|
void | tds_free_context (TDSCONTEXT *locale) |
|
TDSPARAMINFO * | tds_alloc_param_result (TDSPARAMINFO *old_param) |
| Adds a output parameter to TDSPARAMINFO. More...
|
|
void | tds_free_input_params (TDSDYNAMIC *dyn) |
| Frees all allocated input parameters of a dynamic statement. More...
|
|
void | tds_release_dynamic (TDSDYNAMIC **dyn) |
| Frees dynamic statement. More...
|
|
static void | tds_release_cur_dyn (TDSSOCKET *tds) |
|
void | tds_dynamic_deallocated (TDSCONNECTION *conn, TDSDYNAMIC *dyn) |
|
void | tds_set_cur_dyn (TDSSOCKET *tds, TDSDYNAMIC *dyn) |
| Set current dynamic. More...
|
|
TDSSOCKET * | tds_realloc_socket (TDSSOCKET *tds, unsigned int bufsize) |
|
char * | tds_alloc_client_sqlstate (int msgno) |
|
char * | tds_alloc_lookup_sqlstate (TDSSOCKET *tds, int msgno) |
|
TDSLOGIN * | tds_alloc_login (int use_environment) |
|
TDSDYNAMIC * | tds_alloc_dynamic (TDSCONNECTION *conn, const char *id) |
| Allocate a dynamic statement. More...
|
|
void | tds_free_login (TDSLOGIN *login) |
|
TDSLOGIN * | tds_init_login (TDSLOGIN *login, TDSLOCALE *locale) |
| Initialize login structure with locale information and other stuff for connection. More...
|
|
TDSLOCALE * | tds_alloc_locale (void) |
|
void * | tds_alloc_param_data (TDSCOLUMN *curparam) |
| Allocate data for a parameter. More...
|
|
void | tds_free_locale (TDSLOCALE *locale) |
|
TDSCURSOR * | tds_alloc_cursor (TDSSOCKET *tds, const char *name, size_t namelen, const char *query, size_t querylen) |
|
void | tds_free_row (TDSRESULTINFO *res_info, unsigned char *row) |
|
TDSSOCKET * | tds_alloc_socket (TDSCONTEXT *context, unsigned int bufsize) |
|
TDSSOCKET * | tds_alloc_additional_socket (TDSCONNECTION *conn) |
|
void | tds_set_current_results (TDSSOCKET *tds, TDSRESULTINFO *info) |
|
void | tds_detach_results (TDSRESULTINFO *info) |
| Detach result info from it current socket. More...
|
|
void * | tds_realloc (void **pp, size_t new_size) |
| Reallocate a pointer and update it if success. More...
|
|
TDSPACKET * | tds_alloc_packet (void *buf, unsigned len) |
|
TDSPACKET * | tds_realloc_packet (TDSPACKET *packet, unsigned len) |
|
void | tds_free_packets (TDSPACKET *packet) |
|
TDSBCPINFO * | tds_alloc_bcpinfo (void) |
|
void | tds_free_bcpinfo (TDSBCPINFO *bcpinfo) |
|
void | tds_deinit_bcpinfo (TDSBCPINFO *bcpinfo) |
|
void | tds_set_packet (TDSLOGIN *tds_login, int packet_size) |
|
void | tds_set_port (TDSLOGIN *tds_login, int port) |
|
bool | tds_set_passwd (TDSLOGIN *tds_login, const char *password) |
|
void | tds_set_bulk (TDSLOGIN *tds_login, TDS_TINYINT enabled) |
|
bool | tds_set_user (TDSLOGIN *tds_login, const char *username) |
|
bool | tds_set_app (TDSLOGIN *tds_login, const char *application) |
|
bool | tds_set_host (TDSLOGIN *tds_login, const char *hostname) |
|
bool | tds_set_library (TDSLOGIN *tds_login, const char *library) |
|
bool | tds_set_server (TDSLOGIN *tds_login, const char *server) |
| Set the servername in a TDSLOGIN structure. More...
|
|
bool | tds_set_client_charset (TDSLOGIN *tds_login, const char *charset) |
|
bool | tds_set_language (TDSLOGIN *tds_login, const char *language) |
|
void | tds_set_version (TDSLOGIN *tds_login, TDS_TINYINT major_ver, TDS_TINYINT minor_ver) |
|
int | tds_connect_and_login (TDSSOCKET *tds, TDSLOGIN *login) |
|
void | tds_start_query (TDSSOCKET *tds, unsigned char packet_type) |
| Start query packet of a given type \tds. More...
|
|
TDSRET | tds_submit_query (TDSSOCKET *tds, const char *query) |
| Sends a language string to the database server for processing. More...
|
|
TDSRET | tds_submit_query_params (TDSSOCKET *tds, const char *query, TDSPARAMINFO *params, TDSHEADERS *head) |
| Sends a language string to the database server for processing. More...
|
|
TDSRET | tds_submit_queryf (TDSSOCKET *tds, const char *queryf,...) |
| Format and submit a query \tds. More...
|
|
TDSRET | tds_submit_prepare (TDSSOCKET *tds, const char *query, const char *id, TDSDYNAMIC **dyn_out, TDSPARAMINFO *params) |
| Creates a temporary stored procedure in the server. More...
|
|
TDSRET | tds_submit_execdirect (TDSSOCKET *tds, const char *query, TDSPARAMINFO *params, TDSHEADERS *head) |
| Submit a prepared query with parameters. More...
|
|
TDSRET | tds71_submit_prepexec (TDSSOCKET *tds, const char *query, const char *id, TDSDYNAMIC **dyn_out, TDSPARAMINFO *params) |
| Creates a temporary stored procedure in the server and execute it. More...
|
|
TDSRET | tds_submit_execute (TDSSOCKET *tds, TDSDYNAMIC *dyn) |
| Sends a previously prepared dynamic statement to the server. More...
|
|
TDSRET | tds_send_cancel (TDSSOCKET *tds) |
| tds_send_cancel() sends an empty packet (8 byte header only) tds_process_cancel should be called directly after this. More...
|
|
const char * | tds_next_placeholder (const char *start) |
| Get position of next placeholder. More...
|
|
int | tds_count_placeholders (const char *query) |
| Count the number of placeholders ('?') in a query. More...
|
|
int | tds_needs_unprepare (TDSCONNECTION *conn, TDSDYNAMIC *dyn) |
| Check if dynamic request must be unprepared. More...
|
|
TDSRET | tds_deferred_unprepare (TDSCONNECTION *conn, TDSDYNAMIC *dyn) |
| Unprepare dynamic on idle. More...
|
|
TDSRET | tds_submit_unprepare (TDSSOCKET *tds, TDSDYNAMIC *dyn) |
| Send a unprepare request for a prepared query. More...
|
|
TDSRET | tds_submit_rpc (TDSSOCKET *tds, const char *rpc_name, TDSPARAMINFO *params, TDSHEADERS *head) |
| Calls a RPC from server. More...
|
|
TDSRET | tds_submit_optioncmd (TDSSOCKET *tds, TDS_OPTION_CMD command, TDS_OPTION option, TDS_OPTION_ARG *param, TDS_INT param_size) |
| Send option commands to server. More...
|
|
TDSRET | tds_submit_begin_tran (TDSSOCKET *tds) |
| Send a rollback request. More...
|
|
TDSRET | tds_submit_rollback (TDSSOCKET *tds, int cont) |
| Send a rollback request. More...
|
|
TDSRET | tds_submit_commit (TDSSOCKET *tds, int cont) |
| Send a commit request. More...
|
|
TDSRET | tds_disconnect (TDSSOCKET *tds) |
|
size_t | tds_quote_id (TDSSOCKET *tds, char *buffer, const char *id, ssize_t idlen) |
| Quote an id. More...
|
|
size_t | tds_quote_string (TDSSOCKET *tds, char *buffer, const char *str, ssize_t len) |
| Quote a string. More...
|
|
const char * | tds_skip_comment (const char *s) |
| Skip a comment in a query. More...
|
|
const char * | tds_skip_quoted (const char *s) |
| Skip quoting string (like 'sfsf', "dflkdj" or [dfkjd]) More...
|
|
size_t | tds_fix_column_size (TDSSOCKET *tds, TDSCOLUMN *curcol) |
| Get column size for wire. More...
|
|
const char * | tds_convert_string (TDSSOCKET *tds, TDSICONV *char_conv, const char *s, ssize_t len, size_t *out_len) |
| Convert a string in an allocated buffer. More...
|
|
void | tds_convert_string_free (const char *original, const char *converted) |
|
TDSRET | tds_get_column_declaration (TDSSOCKET *tds, TDSCOLUMN *curcol, char *out) |
| Return declaration for column (like "varchar(20)"). More...
|
|
TDSRET | tds_cursor_declare (TDSSOCKET *tds, TDSCURSOR *cursor, TDSPARAMINFO *params, int *send) |
|
TDSRET | tds_cursor_setrows (TDSSOCKET *tds, TDSCURSOR *cursor, int *send) |
|
TDSRET | tds_cursor_open (TDSSOCKET *tds, TDSCURSOR *cursor, TDSPARAMINFO *params, int *send) |
|
TDSRET | tds_cursor_fetch (TDSSOCKET *tds, TDSCURSOR *cursor, TDS_CURSOR_FETCH fetch_type, TDS_INT i_row) |
|
TDSRET | tds_cursor_get_cursor_info (TDSSOCKET *tds, TDSCURSOR *cursor, TDS_UINT *row_number, TDS_UINT *row_count) |
|
TDSRET | tds_cursor_close (TDSSOCKET *tds, TDSCURSOR *cursor) |
|
TDSRET | tds_cursor_dealloc (TDSSOCKET *tds, TDSCURSOR *cursor) |
| Send a deallocation request to server. More...
|
|
TDSRET | tds_deferred_cursor_dealloc (TDSCONNECTION *conn, TDSCURSOR *cursor) |
| Deallocate cursor on idle. More...
|
|
TDSRET | tds_cursor_update (TDSSOCKET *tds, TDSCURSOR *cursor, TDS_CURSOR_OPERATION op, TDS_INT i_row, TDSPARAMINFO *params) |
|
TDSRET | tds_cursor_setname (TDSSOCKET *tds, TDSCURSOR *cursor) |
|
TDSRET | tds_multiple_init (TDSSOCKET *tds, TDSMULTIPLE *multiple, TDS_MULTIPLE_TYPE type, TDSHEADERS *head) |
|
TDSRET | tds_multiple_done (TDSSOCKET *tds, TDSMULTIPLE *multiple) |
|
TDSRET | tds_multiple_query (TDSSOCKET *tds, TDSMULTIPLE *multiple, const char *query, TDSPARAMINFO *params) |
|
TDSRET | tds_multiple_execute (TDSSOCKET *tds, TDSMULTIPLE *multiple, TDSDYNAMIC *dyn) |
|
TDSRET | tds_process_cancel (TDSSOCKET *tds) |
|
int | tds_get_token_size (int marker) |
| tds_get_token_size() returns the size of a fixed length token used by tds_process_cancel() to determine how to read past a token More...
|
|
TDSRET | tds_process_login_tokens (TDSSOCKET *tds) |
| tds_process_login_tokens() is called after sending the login packet to the server. More...
|
|
TDSRET | tds_process_simple_query (TDSSOCKET *tds) |
| Process results for simple query as "SET TEXTSIZE" or "USE dbname" If the statement returns results, beware they are discarded. More...
|
|
int | tds5_send_optioncmd (TDSSOCKET *tds, TDS_OPTION_CMD tds_command, TDS_OPTION tds_option, TDS_OPTION_ARG *tds_argument, TDS_INT *tds_argsize) |
|
TDSRET | tds_process_tokens (TDSSOCKET *tds, TDS_INT *result_type, int *done_flags, unsigned flag) |
| process all streams. More...
|
|
int | determine_adjusted_size (const TDSICONV *char_conv, int size) |
| Allow for maximum possible size of converted data, while being careful about integer division truncation. More...
|
|
void | tds_set_param_type (TDSCONNECTION *conn, TDSCOLUMN *curcol, TDS_SERVER_TYPE type) |
| Set type of column initializing all dependency. More...
|
|
void | tds_set_column_type (TDSCONNECTION *conn, TDSCOLUMN *curcol, TDS_SERVER_TYPE type) |
| Set type of column initializing all dependency. More...
|
|
TDSRET | tds_datecrack (TDS_INT datetype, const void *di, TDSDATEREC *dr) |
| Convert from db date format to a structured date format. More...
|
|
TDS_SERVER_TYPE | tds_get_conversion_type (TDS_SERVER_TYPE srctype, int colsize) |
| Return type suitable for conversions (convert all nullable types to fixed type) More...
|
|
int | tds_init_write_buf (TDSSOCKET *tds) |
|
int | tds_put_n (TDSSOCKET *tds, const void *buf, size_t n) |
|
int | tds_put_string (TDSSOCKET *tds, const char *buf, int len) |
| Output a string to wire automatic translate string to unicode if needed. More...
|
|
int | tds_put_int (TDSSOCKET *tds, TDS_INT i) |
|
int | tds_put_int8 (TDSSOCKET *tds, TDS_INT8 i) |
|
int | tds_put_smallint (TDSSOCKET *tds, TDS_SMALLINT si) |
|
int | tds_put_byte (TDSSOCKET *tds, unsigned char c) |
|
TDSRET | tds_flush_packet (TDSSOCKET *tds) |
| Flush packet to server. More...
|
|
int | tds_put_buf (TDSSOCKET *tds, const unsigned char *buf, int dsize, int ssize) |
|
unsigned char | tds_get_byte (TDSSOCKET *tds) |
| Return a single byte from the input buffer \tds. More...
|
|
void | tds_unget_byte (TDSSOCKET *tds) |
| Unget will always work as long as you don't call it twice in a row. More...
|
|
unsigned char | tds_peek (TDSSOCKET *tds) |
| Reads a byte from the TDS stream without removing it \tds. More...
|
|
TDS_USMALLINT | tds_get_usmallint (TDSSOCKET *tds) |
| Get an int16 from the server. More...
|
|
TDS_UINT | tds_get_uint (TDSSOCKET *tds) |
| Get an int32 from the server. More...
|
|
TDS_UINT8 | tds_get_uint8 (TDSSOCKET *tds) |
| Get an uint64 from the server. More...
|
|
size_t | tds_get_string (TDSSOCKET *tds, size_t string_len, char *dest, size_t dest_size) |
| Fetch a string from the wire. More...
|
|
TDSRET | tds_get_char_data (TDSSOCKET *tds, char *dest, size_t wire_size, TDSCOLUMN *curcol) |
| Fetch character data the wire. More...
|
|
void * | tds_get_n (TDSSOCKET *tds, void *dest, size_t n) |
| Get N bytes from the buffer and return them in the already allocated space given to us. More...
|
|
int | tds_get_size_by_type (TDS_SERVER_TYPE servertype) |
| Return the number of bytes needed by specified type. More...
|
|
DSTR * | tds_dstr_get (TDSSOCKET *tds, DSTR *s, size_t len) |
| Reads a string from wire and put in a DSTR. More...
|
|
int | tdserror (const TDSCONTEXT *tds_ctx, TDSSOCKET *tds, int msgno, int errnum) |
| Call the client library's error handler (for library-generated errors only) More...
|
|
TDS_STATE | tds_set_state (TDSSOCKET *tds, TDS_STATE state) |
| Set state of TDS connection, with logging and checking. More...
|
|
void | tds_swap_bytes (void *buf, int bytes) |
|
char * | tds_strndup (const void *s, TDS_INTPTR len) |
| Copy a string of length len to a new allocated buffer This function does not read more than len bytes Please note that some system implementation of strndup do not assure they don't read past len bytes as they use still strlen to check length to copy limiting after strlen to size passed Also this function is different from strndup as it assume that len bytes are valid String returned is NUL terminated. More...
|
|
void | tdsdump_off (void) |
| Temporarily turn off logging. More...
|
|
void | tdsdump_on (void) |
| Turn logging back on. More...
|
|
int | tdsdump_state (void) |
| Get the logging state. More...
|
|
int | tdsdump_isopen (void) |
|
int | tdsdump_open (const char *filename) |
| Create and truncate a human readable dump file for the TDS traffic. More...
|
|
void | tdsdump_close (void) |
| Close the TDS dump log file. More...
|
|
void | tdsdump_do_dump_buf (const char *file, unsigned int level_line, const char *msg, const void *buf, size_t length) |
| Dump the contents of data into the log file in a human readable format. More...
|
|
void | tdsdump_col (const TDSCOLUMN *col) |
| Write a column value to the debug log. More...
|
|
void | tdsdump_do_log (const char *file, unsigned int level_line, const char *fmt,...) |
| Write a message to the debug log. More...
|
|
TDSERRNO | tds_open_socket (TDSSOCKET *tds, struct addrinfo *ipaddr, unsigned int port, int timeout, int *p_oserr) |
|
void | tds_close_socket (TDSSOCKET *tds) |
| Close current socket. More...
|
|
int | tds7_get_instance_ports (FILE *output, struct addrinfo *addr) |
| Get port of all instances. More...
|
|
int | tds7_get_instance_port (struct addrinfo *addr, const char *instance) |
| Get port of given instance. More...
|
|
char * | tds_prwsaerror (int erc) |
|
void | tds_prwsaerror_free (char *s) |
|
ssize_t | tds_connection_read (TDSSOCKET *tds, unsigned char *buf, size_t buflen) |
|
ssize_t | tds_connection_write (TDSSOCKET *tds, const unsigned char *buf, size_t buflen, int final) |
|
int | tds_select (TDSSOCKET *tds, unsigned tds_sel, int timeout_seconds) |
| Select on a socket until it's available or the timeout expires. More...
|
|
void | tds_connection_close (TDSCONNECTION *conn) |
|
ssize_t | tds_goodread (TDSSOCKET *tds, unsigned char *buf, size_t buflen) |
| Loops until we have received some characters return -1 on failure. More...
|
|
ssize_t | tds_goodwrite (TDSSOCKET *tds, const unsigned char *buffer, size_t buflen) |
|
void | tds_socket_flush (TDS_SYS_SOCKET sock) |
|
int | tds_socket_set_nonblocking (TDS_SYS_SOCKET sock) |
| Set socket to non-blocking. More...
|
|
int | tds_wakeup_init (TDSPOLLWAKEUP *wakeup) |
|
void | tds_wakeup_close (TDSPOLLWAKEUP *wakeup) |
|
void | tds_wakeup_send (TDSPOLLWAKEUP *wakeup, char cancel) |
|
static TDS_SYS_SOCKET | tds_wakeup_get_fd (const TDSPOLLWAKEUP *wakeup) |
|
int | tds_read_packet (TDSSOCKET *tds) |
| Read in one 'packet' from the server. More...
|
|
TDSRET | tds_write_packet (TDSSOCKET *tds, unsigned char final) |
|
int | tds_put_cancel (TDSSOCKET *tds) |
|
TDSRET | tds_vstrbuild (char *buffer, int buflen, int *resultlen, const char *text, int textlen, const char *formats, int formatlen, va_list ap) |
|
char * | tds_money_to_string (const TDS_MONEY *money, char *s) |
|
TDS_INT | tds_numeric_to_string (const TDS_NUMERIC *numeric, char *s) |
|
TDS_INT | tds_numeric_change_prec_scale (TDS_NUMERIC *numeric, unsigned char new_prec, unsigned char new_scale) |
|
void | tds_getmac (TDS_SYS_SOCKET s, unsigned char mac[6]) |
|
TDSAUTHENTICATION * | tds_ntlm_get_auth (TDSSOCKET *tds) |
| Build a NTLMSPP packet to send to server. More...
|
|
TDSAUTHENTICATION * | tds_gss_get_auth (TDSSOCKET *tds) |
|
void | tds_random_buffer (unsigned char *out, int len) |
|
TDSAUTHENTICATION * | tds5_negotiate_get_auth (TDSSOCKET *tds) |
|
void | tds5_negotiate_set_msg_type (TDSSOCKET *tds, TDSAUTHENTICATION *auth, unsigned msg_type) |
|
TDSRET | tds_bcp_init (TDSSOCKET *tds, TDSBCPINFO *bcpinfo) |
| Initialize BCP information. More...
|
|
TDSRET | tds_bcp_send_record (TDSSOCKET *tds, TDSBCPINFO *bcpinfo, tds_bcp_get_col_data get_col_data, tds_bcp_null_error null_error, int offset) |
| Send one row of data to server \tds. More...
|
|
TDSRET | tds_bcp_done (TDSSOCKET *tds, int *rows_copied) |
| Tell we finished sending BCP data to server \tds. More...
|
|
TDSRET | tds_bcp_start (TDSSOCKET *tds, TDSBCPINFO *bcpinfo) |
| Start sending BCP data to server. More...
|
|
TDSRET | tds_bcp_start_copy_in (TDSSOCKET *tds, TDSBCPINFO *bcpinfo) |
| Start bulk copy to server \tds. More...
|
|
TDSRET | tds_bcp_fread (TDSSOCKET *tds, TDSICONV *conv, FILE *stream, const char *terminator, size_t term_len, char **outbuf, size_t *outbytes) |
| Read a data file, passing the data through iconv(). More...
|
|
TDSRET | tds_writetext_start (TDSSOCKET *tds, const char *objname, const char *textptr, const char *timestamp, int with_log, TDS_UINT size) |
| Start writing writetext request. More...
|
|
TDSRET | tds_writetext_continue (TDSSOCKET *tds, const TDS_UCHAR *text, TDS_UINT size) |
| Send some data in the writetext request started by tds_writetext_start. More...
|
|
TDSRET | tds_writetext_end (TDSSOCKET *tds) |
| Finish sending writetext data. More...
|
|
static bool | tds_capability_enabled (const TDS_CAPABILITY_TYPE *cap, unsigned cap_num) |
|