00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _cstypes_h_
00021 #define _cstypes_h_
00022
00023 #include "tds_sysdep_public.h"
00024
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #if 0
00029 }
00030 #endif
00031 #endif
00032
00033 static const char rcsid_cstypes_h[] = "$Id: cstypes.h,v 1.6.4.1 2008/05/06 03:23:45 jklowden Exp $";
00034 static const void *const no_unused_cstypes_h_warn[] = { rcsid_cstypes_h, no_unused_cstypes_h_warn };
00035
00036 typedef tds_sysdep_int32_type CS_INT;
00037 typedef unsigned tds_sysdep_int32_type CS_UINT;
00038 typedef tds_sysdep_int64_type CS_BIGINT;
00039 typedef unsigned tds_sysdep_int64_type CS_UBIGINT;
00040 typedef tds_sysdep_int16_type CS_SMALLINT;
00041 typedef unsigned tds_sysdep_int16_type CS_USMALLINT;
00042 typedef unsigned char CS_TINYINT;
00043 typedef char CS_CHAR;
00044 typedef unsigned char CS_BYTE;
00045 typedef tds_sysdep_real32_type CS_REAL;
00046 typedef tds_sysdep_real64_type CS_FLOAT;
00047 typedef tds_sysdep_int32_type CS_BOOL;
00048 typedef void CS_VOID;
00049 typedef unsigned char CS_IMAGE;
00050 typedef unsigned char CS_TEXT;
00051 typedef unsigned char CS_LONGBINARY;
00052 typedef unsigned char CS_LONGCHAR;
00053 typedef long CS_LONG;
00054 typedef unsigned char CS_BINARY;
00055 typedef unsigned tds_sysdep_int16_type CS_USHORT;
00056 typedef unsigned char CS_BIT;
00057
00058 typedef CS_INT CS_RETCODE;
00059
00060 #define CS_MAX_NAME 132
00061 #define CS_MAX_SCALE 77
00062 #define CS_MAX_PREC 77
00063 #define CS_MAX_NUMLEN 33
00064 #define CS_MAX_MSG 1024
00065 #define CS_SQLSTATE_SIZE 8
00066 #define CS_OBJ_NAME 400
00067 #define CS_TP_SIZE 16
00068 #define CS_TS_SIZE 8
00069
00070
00071 typedef struct _cs_numeric
00072 {
00073 unsigned char precision;
00074 unsigned char scale;
00075 unsigned char array[CS_MAX_NUMLEN];
00076 } CS_NUMERIC;
00077
00078 typedef CS_NUMERIC CS_DECIMAL;
00079
00080 typedef struct _cs_varbinary
00081 {
00082 CS_SMALLINT len;
00083 CS_CHAR array[256];
00084 } CS_VARBINARY;
00085
00086 typedef struct _cs_varchar
00087 {
00088 CS_SMALLINT len;
00089 CS_CHAR str[256];
00090 } CS_VARCHAR;
00091
00092 typedef struct _cs_config CS_CONFIG;
00093 typedef struct _cs_context CS_CONTEXT;
00094 typedef struct _cs_connection CS_CONNECTION;
00095 typedef struct _cs_locale CS_LOCALE;
00096 typedef struct _cs_command CS_COMMAND;
00097 typedef struct _cs_blk_row CS_BLK_ROW;
00098
00099 typedef struct _cs_iodesc
00100 {
00101 CS_INT iotype;
00102 CS_INT datatype;
00103 CS_LOCALE *locale;
00104 CS_INT usertype;
00105 CS_INT total_txtlen;
00106 CS_INT offset;
00107 CS_BOOL log_on_update;
00108 CS_CHAR name[CS_OBJ_NAME];
00109 CS_INT namelen;
00110 CS_BYTE timestamp[CS_TS_SIZE];
00111 CS_INT timestamplen;
00112 CS_BYTE textptr[CS_TP_SIZE];
00113 CS_INT textptrlen;
00114 } CS_IODESC;
00115
00116 typedef struct _cs_datafmt
00117 {
00118 CS_CHAR name[CS_MAX_NAME];
00119 CS_INT namelen;
00120 CS_INT datatype;
00121 CS_INT format;
00122 CS_INT maxlength;
00123 CS_INT scale;
00124 CS_INT precision;
00125 CS_INT status;
00126 CS_INT count;
00127 CS_INT usertype;
00128 CS_LOCALE *locale;
00129 } CS_DATAFMT;
00130
00131 typedef struct _cs_money
00132 {
00133 CS_INT mnyhigh;
00134 CS_UINT mnylow;
00135 } CS_MONEY;
00136
00137 typedef struct _cs_money4
00138 {
00139 CS_INT mny4;
00140 } CS_MONEY4;
00141
00142 typedef CS_INT CS_DATE;
00143
00144 typedef CS_INT CS_TIME;
00145
00146 typedef struct _cs_datetime
00147 {
00148 CS_INT dtdays;
00149 CS_INT dttime;
00150 } CS_DATETIME;
00151
00152 typedef struct _cs_datetime4
00153 {
00154 CS_USHORT days;
00155 CS_USHORT minutes;
00156 } CS_DATETIME4;
00157
00158 typedef struct _cs_daterec
00159 {
00160 CS_INT dateyear;
00161 CS_INT datemonth;
00162 CS_INT datedmonth;
00163 CS_INT datedyear;
00164 CS_INT datedweek;
00165 CS_INT datehour;
00166 CS_INT dateminute;
00167 CS_INT datesecond;
00168 CS_INT datemsecond;
00169 CS_INT datetzone;
00170 } CS_DATEREC;
00171
00172 typedef CS_INT CS_MSGNUM;
00173
00174 typedef struct _cs_clientmsg
00175 {
00176 CS_INT severity;
00177 CS_MSGNUM msgnumber;
00178 CS_CHAR msgstring[CS_MAX_MSG];
00179 CS_INT msgstringlen;
00180 CS_INT osnumber;
00181 CS_CHAR osstring[CS_MAX_MSG];
00182 CS_INT osstringlen;
00183 CS_INT status;
00184 CS_BYTE sqlstate[CS_SQLSTATE_SIZE];
00185 CS_INT sqlstatelen;
00186 } CS_CLIENTMSG;
00187
00188 typedef struct _cs_servermsg
00189 {
00190 CS_MSGNUM msgnumber;
00191 CS_INT state;
00192 CS_INT severity;
00193 CS_CHAR text[CS_MAX_MSG];
00194 CS_INT textlen;
00195 CS_CHAR svrname[CS_MAX_NAME];
00196 CS_INT svrnlen;
00197 CS_CHAR proc[CS_MAX_NAME];
00198 CS_INT proclen;
00199 CS_INT line;
00200 CS_INT status;
00201 CS_BYTE sqlstate[CS_SQLSTATE_SIZE];
00202 CS_INT sqlstatelen;
00203 } CS_SERVERMSG;
00204
00205 #ifdef __cplusplus
00206 #if 0
00207 {
00208 #endif
00209 }
00210 #endif
00211
00212 #endif