1 #ifndef _SQLTYPES_H
2 #define _SQLTYPES_H
3 #define SQL_API __stdcall
4 #pragma pack(push,1)
5 
6 /* Portable SQL types */
7 typedef void* PVOID;
8 typedef signed char SCHAR;
9 typedef unsigned char UCHAR;
10 typedef long int SDWORD;
11 typedef short int SWORD;
12 typedef unsigned long int UDWORD;
13 typedef unsigned short int UWORD;
14 typedef unsigned short USHORT;
15 typedef unsigned long ULONG;
16 typedef signed long SLONG;
17 typedef short SSHORT;
18 typedef double SDOUBLE;
19 typedef double LDOUBLE;
20 typedef float SFLOAT;
21 
22 typedef PVOID PTR;
23 typedef PVOID HENV;
24 typedef PVOID HDBC;
25 typedef PVOID HSTMT;
26 
27 
28 
29 typedef signed short RETCODE;
30 typedef UCHAR SQLCHAR;
31 typedef SCHAR SQLSCHAR;
32 typedef SDWORD SQLINTEGER;
33 typedef SWORD SQLSMALLINT;
34 typedef UDWORD SQLUINTEGER;
35 typedef UWORD SQLUSMALLINT;
36 typedef PVOID SQLPOINTER;
37 typedef HENV SQLHENV;
38 typedef HDBC SQLHDBC;
39 typedef HSTMT SQLHSTMT;
40 typedef SQLSMALLINT SQLRETURN;
41 typedef HWND SQLHWND;
42 typedef unsigned long int BOOKMARK;
43 
44 
45 #ifdef _WCHAR_T_DEFINED
46 	typedef wchar_t SQLWCHAR;
47 #else
48 	typedef unsigned short SQLWCHAR;
49 #endif
50 
51 
52 #ifdef UNICODE
53 	typedef SQLWCHAR SQLTCHAR;
54 #else
55 	typedef SQLCHAR SQLTCHAR;
56 #endif
57 
58 
59 typedef struct tagDATE_STRUCT {
60 	SQLSMALLINT year;
61 	SQLUSMALLINT month;
62 	SQLUSMALLINT day;
63 } DATE_STRUCT;
64 
65 typedef struct tagTIME_STRUCT {
66 	SQLUSMALLINT hour;
67 	SQLUSMALLINT minute;
68 	SQLUSMALLINT second;
69 } TIME_STRUCT;
70 
71 typedef struct tagTIMESTAMP_STRUCT {
72 	SQLSMALLINT year;
73 	SQLUSMALLINT month;
74 	SQLUSMALLINT day;
75 	SQLUSMALLINT hour;
76 	SQLUSMALLINT minute;
77 	SQLUSMALLINT second;
78 	SQLUINTEGER fraction;
79 } TIMESTAMP_STRUCT;
80 
81 typedef void* SQLHANDLE;
82 typedef SQLHANDLE SQLHDESC;
83 #pragma pack(pop)
84 #endif
85