00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _tdsconvert_h_
00021 #define _tdsconvert_h_
00022
00023 #ifdef __cplusplus
00024 extern "C"
00025 {
00026 #if 0
00027 }
00028 #endif
00029 #endif
00030
00031 static char rcsid_tdsconvert_h[] = "$Id: tdsconvert.h,v 1.17 2003/02/02 09:27:05 freddy77 Exp $";
00032 static void *no_unused_tdsconvert_h_warn[] = { rcsid_tdsconvert_h, no_unused_tdsconvert_h_warn };
00033
00034 typedef union conv_result
00035 {
00036 TDS_TINYINT ti;
00037 TDS_SMALLINT si;
00038 TDS_INT i;
00039 TDS_INT8 bi;
00040 TDS_FLOAT f;
00041 TDS_REAL r;
00042 TDS_CHAR *c;
00043 TDS_MONEY m;
00044 TDS_MONEY4 m4;
00045 TDS_DATETIME dt;
00046 TDS_DATETIME4 dt4;
00047 TDS_NUMERIC n;
00048 TDS_CHAR *ib;
00049 TDS_UNIQUE u;
00050 }
00051 CONV_RESULT;
00052
00053
00054
00055
00056 #define TDS_CONVERT_FAIL -1
00057 #define TDS_CONVERT_NOAVAIL -2
00058 #define TDS_CONVERT_SYNTAX -3
00059 #define TDS_CONVERT_NOMEM -4
00060 #define TDS_CONVERT_OVERFLOW -5
00061
00062 struct tds_time
00063 {
00064 int tm_year;
00065 int tm_mon;
00066 int tm_mday;
00067 int tm_hour;
00068 int tm_min;
00069 int tm_sec;
00070 int tm_ms;
00071 };
00072
00073 struct tds_tm
00074 {
00075 struct tm tm;
00076 int milliseconds;
00077 };
00078
00079 unsigned char tds_willconvert(int srctype, int desttype);
00080
00081 TDS_INT tds_get_null_type(int srctype);
00082 int tds_get_conversion_type(int srctype, int colsize);
00083 TDS_INT tds_convert(TDSCONTEXT * context, int srctype, const TDS_CHAR * src, TDS_UINT srclen, int desttype, CONV_RESULT * cr);
00084
00085 size_t tds_strftime(char *buf, size_t maxsize, const char *format, const TDSDATEREC * timeptr);
00086
00087 #ifdef __cplusplus
00088 #if 0
00089 {
00090 #endif
00091 }
00092 #endif
00093
00094 #endif