8 #define DBAPI2_DEFAULT NULL
16 #define DBAPI2_HANDLE void
19 #ifndef DBAPI2_RESULT_HANDLE
20 #define DBAPI2_RESULT_HANDLE void
23 typedef void *DBAPIUserData
;
27 typedef DBAPI2_HANDLE
*(*DBAPINew
)(const struct DBAPIConn
*);
28 typedef void (*DBAPIClose
)(struct DBAPIConn
*);
30 typedef void (*DBAPIQueryCallback
)(const struct DBAPIResult
*, void *);
32 typedef void (*DBAPIQuery
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *, ...) __attribute__ ((format (printf
, 4, 5)));
33 typedef void (*DBAPISimpleQuery
)(const struct DBAPIConn
*, const char *, ...) __attribute__ ((format (printf
, 2, 3)));
34 typedef void (*DBAPIQueryV
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *);
35 typedef void (*DBAPICallV
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *, const char *);
36 typedef void (*DBAPICreateTable
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *, ...) __attribute__ ((format (printf
, 4, 5)));
37 typedef void (*DBAPICreateTableV
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *);
38 typedef void (*DBAPILoadTable
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIQueryCallback
, DBAPIQueryCallback
, DBAPIUserData
, const char *);
40 typedef void (*DBAPISafeQuery
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *, const char *, ...);
41 typedef void (*DBAPISafeSimpleQuery
)(const struct DBAPIConn
*, const char *, const char *, ...);
42 typedef void (*DBAPISafeCreateTable
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *, const char *, ...);
44 typedef void (*DBAPIEscapeString
)(const struct DBAPIConn
*, char *, const char *, size_t);
45 typedef int (*DBAPIQuoteString
)(const struct DBAPIConn
*, char *, size_t, const char *, size_t);
46 typedef void (*DBAPICall
)(const struct DBAPIConn
*, DBAPIQueryCallback
, DBAPIUserData
, const char *, const char *, const char *, ...);
47 typedef void (*DBAPISimpleCall
)(const struct DBAPIConn
*, const char *, const char *, const char *, ...);
49 typedef char *(*DBAPITableName
)(const struct DBAPIConn
*, const char *);
51 struct DBAPIProviderData
;
53 typedef struct DBAPIProvider
{
58 DBAPICreateTableV createtable
;
59 DBAPILoadTable loadtable
;
61 DBAPITableName tablename
;
63 DBAPIEscapeString escapestring
;
64 DBAPIQuoteString quotestring
;
68 struct DBAPIProviderData
*__providerdata
;
71 typedef struct DBAPIConn
{
74 DBAPIQuery unsafequery
;
75 DBAPISimpleQuery unsafesquery
;
76 DBAPICreateTable unsafecreatetable
;
77 DBAPILoadTable loadtable
;
78 DBAPIEscapeString escapestring
; /* deprecated */
79 DBAPITableName tablename
;
82 DBAPISafeSimpleQuery squery
;
83 DBAPISafeCreateTable createtable
;
86 DBAPISimpleCall scall
;
88 char name
[DBNAME_LEN
+1];
94 DBAPIQuoteString __quotestring
;
96 DBAPICreateTableV __createtable
;
97 DBAPILoadTable __loadtable
;
101 typedef char *(*DBAPIResultGet
)(const struct DBAPIResult
*, unsigned int);
102 typedef int (*DBAPIResultNext
)(const struct DBAPIResult
*);
103 typedef void (*DBAPIResultClear
)(const struct DBAPIResult
*);
105 typedef struct DBAPIResult
{
106 DBAPI2_RESULT_HANDLE
*handle
;
108 unsigned short success
, fields
;
111 DBAPIResultNext next
;
112 DBAPIResultClear clear
;
115 int registerdbprovider(const char *, DBAPIProvider
*);
116 void deregisterdbprovider(int);
117 DBAPIConn
*dbapi2open(const char *, const char *);