]> jfr.im git - irc/quakenet/newserv.git/blobdiff - dbapi2/dbapi2.h
DBAPI2: add support for stored procedures
[irc/quakenet/newserv.git] / dbapi2 / dbapi2.h
index bea15a62eaea1dc68bcfa23b9b3dcc40710d1d4f..b7b71878c41fb5ec5501242561fb63949112bdfa 100644 (file)
@@ -31,17 +31,20 @@ typedef void (*DBAPIQueryCallback)(const struct DBAPIResult *, void *);
 
 typedef void (*DBAPIQuery)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, ...) __attribute__ ((format (printf, 4, 5)));
 typedef void (*DBAPISimpleQuery)(const struct DBAPIConn *, const char *, ...) __attribute__ ((format (printf, 2, 3)));
-typedef void (*DBAPIQueryV)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, va_list);
+typedef void (*DBAPIQueryV)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *);
+typedef void (*DBAPICallV)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, const char *);
 typedef void (*DBAPICreateTable)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, ...) __attribute__ ((format (printf, 4, 5)));
+typedef void (*DBAPICreateTableV)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *);
 typedef void (*DBAPILoadTable)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIQueryCallback, DBAPIQueryCallback, DBAPIUserData, const char *);
 
 typedef void (*DBAPISafeQuery)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, const char *, ...);
-typedef void (*DBAPISafeQueryV)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, const char *, va_list);
 typedef void (*DBAPISafeSimpleQuery)(const struct DBAPIConn *, const char *, const char *, ...);
-typedef void (*DBAPISafeCreateTable)(const struct DBAPIConn *, const char *, ...) __attribute__ ((format (printf, 2, 3)));
+typedef void (*DBAPISafeCreateTable)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, const char *, ...);
 
 typedef void (*DBAPIEscapeString)(const struct DBAPIConn *, char *, const char *, size_t);
 typedef int (*DBAPIQuoteString)(const struct DBAPIConn *, char *, size_t, const char *, size_t);
+typedef void (*DBAPICall)(const struct DBAPIConn *, DBAPIQueryCallback, DBAPIUserData, const char *, const char *, const char *, ...);
+typedef void (*DBAPISimpleCall)(const struct DBAPIConn *, const char *, const char *, const char *, ...);
 
 typedef char *(*DBAPITableName)(const struct DBAPIConn *, const char *);
 
@@ -52,19 +55,14 @@ typedef struct DBAPIProvider {
   DBAPIClose close;
 
   DBAPIQueryV query;
-  DBAPICreateTable createtable;
+  DBAPICreateTableV createtable;
   DBAPILoadTable loadtable;
 
   DBAPITableName tablename;
 
-/*
-  DBAPISafeQuery safequery;
-  DBAPISafeSimpleQuery safesimplequery;
-  DBAPISafeCreateTable safecreatetable;
-*/
-
   DBAPIEscapeString escapestring;
   DBAPIQuoteString quotestring;
+  DBAPICallV call;
 
 /* private members */
   struct DBAPIProviderData *__providerdata;
@@ -73,13 +71,20 @@ typedef struct DBAPIProvider {
 typedef struct DBAPIConn {
   DBAPIClose close;
 
-  DBAPIQuery query;
-  DBAPISimpleQuery squery;
-  DBAPICreateTable createtable;
+  DBAPIQuery unsafequery;
+  DBAPISimpleQuery unsafesquery;
+  DBAPICreateTable unsafecreatetable;
   DBAPILoadTable loadtable;
   DBAPIEscapeString escapestring; /* deprecated */
   DBAPITableName tablename;
 
+  DBAPISafeQuery query;
+  DBAPISafeSimpleQuery squery;
+  DBAPISafeCreateTable createtable;
+
+  DBAPICall call;
+  DBAPISimpleCall scall;
+
   char name[DBNAME_LEN+1];
 
   void *handle;
@@ -88,6 +93,9 @@ typedef struct DBAPIConn {
   DBAPIClose __close;
   DBAPIQuoteString __quotestring;
   DBAPIQueryV __query;
+  DBAPICreateTableV __createtable;
+  DBAPILoadTable __loadtable;
+  DBAPICallV __call;
 } DBAPIConn;
 
 typedef char *(*DBAPIResultGet)(const struct DBAPIResult *, unsigned int);
@@ -108,6 +116,4 @@ int registerdbprovider(const char *, DBAPIProvider *);
 void deregisterdbprovider(int);
 DBAPIConn *dbapi2open(const char *, const char *);
 
-void dbsnprintf(const DBAPIConn *, char *, size_t, const char *, const char *, ...);
-
 #endif