tdsconvert.h
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:3k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: tdsconvert.h,v $
  4.  * PRODUCTION Revision 1000.1  2003/11/17 22:11:42  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [ORIGINAL] Dev-tree R1.2
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* FreeTDS - Library of routines accessing Sybase and Microsoft databases
  10.  * Copyright (C) 1998-1999  Brian Bruns
  11.  *
  12.  * This library is free software; you can redistribute it and/or
  13.  * modify it under the terms of the GNU Library General Public
  14.  * License as published by the Free Software Foundation; either
  15.  * version 2 of the License, or (at your option) any later version.
  16.  *
  17.  * This library is distributed in the hope that it will be useful,
  18.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.  * Library General Public License for more details.
  21.  *
  22.  * You should have received a copy of the GNU Library General Public
  23.  * License along with this library; if not, write to the
  24.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  25.  * Boston, MA 02111-1307, USA.
  26.  */
  27. #ifndef TDSCONVERT_h
  28. #define TDSCONVERT_h
  29. static char  rcsid_tdsconvert_h [ ] =
  30.          "$Id: tdsconvert.h,v 1000.1 2003/11/17 22:11:42 gouriano Exp $";
  31. static void *no_unused_tdsconvert_h_warn[]={rcsid_tdsconvert_h, 
  32.                                          no_unused_tdsconvert_h_warn};
  33. typedef union conv_result
  34. {
  35. TDS_TINYINT ti;
  36. TDS_SMALLINT si;
  37. TDS_INT i;
  38. TDS_INT8 bi;
  39. TDS_FLOAT f;
  40. TDS_REAL r;
  41. TDS_CHAR *c;
  42. TDS_MONEY m;
  43. TDS_MONEY4 m4;
  44. TDS_DATETIME dt;
  45. TDS_DATETIME4 dt4;
  46. TDS_NUMERIC n;
  47. TDS_CHAR *ib;
  48. TDS_UNIQUE u;
  49. }
  50. CONV_RESULT;
  51. /*
  52.  * Failure return codes for tds_convert()
  53.  */
  54. #define TDS_CONVERT_FAIL -1 /* unspecified failure */
  55. #define TDS_CONVERT_NOAVAIL -2 /* conversion does not exist */
  56. #define TDS_CONVERT_SYNTAX -3 /* syntax error in source field */
  57. #define TDS_CONVERT_NOMEM -4 /* insufficient memory */
  58. #define TDS_CONVERT_OVERFLOW -5 /* result too large */
  59. struct tds_time
  60. {
  61. int tm_year;
  62. int tm_mon;
  63. int tm_mday;
  64. int tm_hour;
  65. int tm_min;
  66. int tm_sec;
  67. int tm_ms;
  68. };
  69. struct tds_tm
  70. {
  71. struct tm tm;
  72. int milliseconds;
  73. };
  74. unsigned char tds_willconvert(int srctype, int desttype);
  75. TDS_INT tds_get_null_type(int srctype);
  76. int tds_get_conversion_type(int srctype, int colsize);
  77. TDS_INT tds_convert(TDSCONTEXT * context, int srctype, const TDS_CHAR * src, TDS_UINT srclen, int desttype, CONV_RESULT * cr);
  78. size_t tds_strftime(char *buf, size_t maxsize, const char *format, const TDSDATEREC * timeptr);
  79. #ifdef __cplusplus
  80. #if 0
  81. {
  82. #endif
  83. }
  84. #endif
  85. #endif /* _tdsconvert_h_ */