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