📄 sybdb.h
字号:
/* * =========================================================================== * PRODUCTION $Log: sybdb.h,v $ * PRODUCTION Revision 1000.1 2003/11/17 22:11:32 gouriano * PRODUCTION PRODUCTION: UPGRADED [ORIGINAL] Dev-tree R1.2 * PRODUCTION * =========================================================================== *//* FreeTDS - Library of routines accessing Sybase and Microsoft databases * Copyright (C) 1998-1999 Brian Bruns * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#ifndef _sybdb_h_#define _sybdb_h_#include "tds.h"#ifdef __cplusplusextern "C" {#if 0}#endif#endifstatic char rcsid_sybdb_h [ ] ="$Id: sybdb.h,v 1000.1 2003/11/17 22:11:32 gouriano Exp $";static void *no_unused_sybdb_h_warn[]={rcsid_sybdb_h, no_unused_sybdb_h_warn};#ifdef FALSE#undef FALSE#endif#ifdef TRUE#undef TRUE#endif#define FALSE 0#define TRUE 1#define DBSAVE 1#define DBNOSAVE 0#define DBNOERR -1#define INT_EXIT 0#define INT_CONTINUE 1#define INT_CANCEL 2#define INT_TIMEOUT 3/* serverity levels, gleaned from google */#define EXINFO 1#define EXUSER 2#define EXNONFATAL 3#define EXCONVERSION 4#define EXSERVER 5#define EXTIME 6#define EXPROGRAM 7#define EXRESOURCE 8#define EXCOMM 9#define DBMAXNUMLEN 33#define MAXNAME 30#define DBVERSION_UNKNOWN 0#define DBVERSION_46 1#define DBVERSION_100 2#define DBVERSION_42 3#define DBVERSION_70 4#define DBVERSION_80 5#define SYBAOPCNT 0x4b#define SYBAOPCNTU 0x4c#define SYBAOPSUM 0x4d#define SYBAOPSUMU 0x4e#define SYBAOPAVG 0x4f#define SYBAOPAVGU 0x50#define SYBAOPMIN 0x51#define SYBAOPMAX 0x52#define DBTXPLEN 16#define BCPMAXERRS 1#define BCPFIRST 2#define BCPLAST 3#define BCPBATCH 4#define BCPLABELED 5#define BCPHINTS 6typedef int RETCODE;typedef void DBCURSOR;typedef void DBXLATE;typedef void DBSORTORDER;typedef void DBLOGINFO;typedef void *DBVOIDPTR;typedef short SHORT;typedef unsigned short USHORT;typedef int (*INTFUNCPTR)();#ifndef __INCvxWorksh/* VxWorks already defines STATUS and BOOL. Compiler gets mad if you ** redefine them. *//* __INCvxWorksh will get #defined by std. include files included from tds.h*/#ifdef STATUS/* On DU4.0d we get a conflicting STATUS definition from arpa/nameser.h when _REENTRANT is defined.*/#undef STATUS#endiftypedef int STATUS;typedef unsigned char BOOL ;#endiftypedef unsigned char DBBOOL ;typedef TDS_CHAR DBCHAR ;typedef unsigned char DBTINYINT ;typedef TDS_SMALLINT DBSMALLINT ;typedef TDS_INT DBINT ;typedef unsigned char DBBINARY ;typedef TDS_REAL DBREAL ;typedef TDS_FLOAT DBFLT8 ;typedef unsigned short DBUSMALLINT ;typedef TDS_NUMERIC DBNUMERIC ;typedef TDS_MONEY DBMONEY ;typedef TDS_MONEY4 DBMONEY4 ;typedef TDS_DATETIME DBDATETIME ;typedef TDS_DATETIME4 DBDATETIME4 ;#ifdef MSDBLIB#define SQLCHAR SYBCHAR#endiftypedef struct {void *tds_login ;} LOGINREC;typedef unsigned char BYTE;typedef struct dbtypeinfo{ DBINT precision; DBINT scale;} DBTYPEINFO;typedef struct tag_DBPROC_ROWBUF{ int buffering_on; /* (boolean) is row buffering turned on? */ int first_in_buf; /* result set row number of first row in buf */ int next_row; /* result set row number of next row */ int newest; /* index of most recent item in queue */ int oldest; /* index of least recent item in queue */ int elcount; /* max element count that buffer can hold */ int element_size; /* size in bytes of each element in queue */ int rows_in_buf; /* # of rows currently in buffer */#ifdef NCBI_FTDS int rows_offset;#endif void *rows; /* pointer to the row storage */} DBPROC_ROWBUF;typedef struct { int host_column; void *host_var; int datatype; int prefix_len; DBINT column_len; BYTE *terminator; int term_len; int tab_colnum;} BCP_HOSTCOLINFO;typedef struct { int tab_colnum; char db_name[256]; /* column name */ TDS_SMALLINT db_minlen; TDS_SMALLINT db_maxlen; TDS_SMALLINT db_colcnt; /* I dont know what this does */ TDS_TINYINT db_type; TDS_TINYINT db_type_save; TDS_SMALLINT db_usertype; TDS_TINYINT db_varint_size; TDS_INT db_length; /* size of field according to database */ TDS_TINYINT db_nullable; TDS_TINYINT db_status; TDS_SMALLINT db_offset; TDS_TINYINT db_default; TDS_TINYINT db_prec; TDS_TINYINT db_scale; TDS_SMALLINT db_flags; TDS_INT db_size; TDS_TINYINT db_unicodedata; char db_collate[5]; long data_size; BYTE *data; int txptr_offset;} BCP_COLINFO;typedef struct { TDSSOCKET *tds_socket ; DBPROC_ROWBUF row_buf; int noautofree; int more_results; /* boolean. Are we expecting results? */ BYTE *user_data; /* see dbsetuserdata() and dbgetuserdata() */ unsigned char *dbbuf; /* is dynamic! */ int dbbufsz; int empty_res_hack; TDS_INT text_size; TDS_INT text_sent; TDS_CHAR *bcp_hostfile; TDS_CHAR *bcp_errorfile; TDS_CHAR *bcp_tablename; TDS_CHAR *bcp_insert_stmt; TDS_INT bcp_direction; TDS_INT bcp_colcount; TDS_INT host_colcount; BCP_COLINFO **bcp_columns; BCP_HOSTCOLINFO **host_columns; TDS_INT firstrow; TDS_INT lastrow; TDS_INT maxerrs; TDS_INT bcpbatch; TDS_INT sendrow_init; TDS_INT var_cols;#ifdef NCBI_FTDS TDS_INT curr_text_col;#endif DBTYPEINFO typeinfo; unsigned char avail_flag;#ifdef NCBI_FTDS char* bcp_hint;#endif} DBPROCESS;typedef struct dbdaterec{#ifndef MSDBLIB DBINT dateyear; DBINT datemonth; DBINT datedmonth; DBINT datedyear; DBINT datedweek; DBINT datehour; DBINT dateminute; DBINT datesecond; DBINT datemsecond; DBINT datetzone;#else DBINT year; DBINT month; DBINT day; DBINT dayofyear; DBINT weekday; DBINT hour; DBINT minute; DBINT second; DBINT millisecond; DBINT tzone;#endif} DBDATEREC;typedef int (*EHANDLEFUNC) (DBPROCESS *dbproc, int severity, int dberr, int oserr, char *dberrstr, char *oserrstr);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -