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