FreeTDS API
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
tdsconvert.h
1
/* FreeTDS - Library of routines accessing Sybase and Microsoft databases
2
* Copyright (C) 1998-1999 Brian Bruns
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Library General Public
6
* License as published by the Free Software Foundation; either
7
* version 2 of the License, or (at your option) any later version.
8
*
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Library General Public License for more details.
13
*
14
* You should have received a copy of the GNU Library General Public
15
* License along with this library; if not, write to the
16
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17
* Boston, MA 02111-1307, USA.
18
*/
19
20
#ifndef _tdsconvert_h_
21
#define _tdsconvert_h_
22
23
#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(__MINGW32__)
24
#pragma GCC visibility push(hidden)
25
#endif
26
27
#ifdef __cplusplus
28
extern
"C"
29
{
30
#if 0
31
}
32
#endif
33
#endif
34
35
/* $Id: tdsconvert.h,v 1.26 2010-01-25 23:05:58 freddy77 Exp $ */
36
37
typedef
union
conv_result
38
{
39
TDS_TINYINT ti;
40
TDS_SMALLINT si;
41
TDS_INT i;
42
TDS_INT8 bi;
43
TDS_FLOAT f;
44
TDS_REAL r;
45
TDS_CHAR *c;
46
TDS_MONEY
m;
47
TDS_MONEY4
m4;
48
TDS_DATETIME
dt;
49
TDS_DATETIME4
dt4;
50
TDS_NUMERIC
n;
51
TDS_CHAR *ib;
52
TDS_UNIQUE
u;
53
/* sizef types */
54
struct
cc_t
{
55
TDS_CHAR *c;
56
TDS_UINT len;
57
} cc;
58
struct
cb_t
{
59
TDS_CHAR *ib;
60
TDS_UINT len;
61
} cb;
62
}
63
CONV_RESULT
;
64
65
/*
66
* Failure return codes for tds_convert()
67
*/
68
#define TDS_CONVERT_FAIL -1
/* unspecified failure */
69
#define TDS_CONVERT_NOAVAIL -2
/* conversion does not exist */
70
#define TDS_CONVERT_SYNTAX -3
/* syntax error in source field */
71
#define TDS_CONVERT_NOMEM -4
/* insufficient memory */
72
#define TDS_CONVERT_OVERFLOW -5
/* result too large */
73
74
/* sized types */
75
#define TDS_CONVERT_CHAR 256
76
#define TDS_CONVERT_BINARY 257
77
78
struct
tds_time
79
{
80
int
tm_year
;
81
int
tm_mon
;
82
int
tm_mday
;
83
int
tm_hour
;
84
int
tm_min
;
85
int
tm_sec
;
86
int
tm_ms
;
87
};
88
89
unsigned
char
tds_willconvert
(
int
srctype,
int
desttype);
90
91
TDS_INT
tds_get_null_type
(
int
srctype);
92
TDS_INT tds_char2hex(TDS_CHAR *dest, TDS_UINT destlen,
const
TDS_CHAR * src, TDS_UINT srclen);
93
TDS_INT
tds_convert
(
const
TDSCONTEXT
* context,
int
srctype,
const
TDS_CHAR * src, TDS_UINT srclen,
int
desttype,
CONV_RESULT
* cr);
94
95
size_t
tds_strftime
(
char
*buf,
size_t
maxsize,
const
char
*format,
const
TDSDATEREC
* timeptr);
96
97
#ifdef __cplusplus
98
#if 0
99
{
100
#endif
101
}
102
#endif
103
104
#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(__MINGW32__)
105
#pragma GCC visibility pop
106
#endif
107
108
#endif
/* _tdsconvert_h_ */
Generated on Wed Mar 11 2015 23:36:36 for FreeTDS API by
1.8.2