diff options
Diffstat (limited to 'mod_log_sql.h')
| -rw-r--r-- | mod_log_sql.h | 103 |
1 files changed, 4 insertions, 99 deletions
diff --git a/mod_log_sql.h b/mod_log_sql.h index 56aa2c3..f54ab54 100644 --- a/mod_log_sql.h +++ b/mod_log_sql.h | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | /* $Id$ */ | 1 | /* $Header: /home/cvs/mod_log_sql/mod_log_sql.h,v 1.3 2004/01/22 05:26:56 urkle Exp $ */ |
| 2 | |||
| 3 | #ifndef MOD_LOG_SQL_H | 2 | #ifndef MOD_LOG_SQL_H |
| 4 | #define MOD_LOG_SQL_H | 3 | #define MOD_LOG_SQL_H |
| 5 | 4 | ||
| @@ -24,104 +23,10 @@ | |||
| 24 | #define LOGSQL_DECLARE_DATA __declspec(dllimport) | 23 | #define LOGSQL_DECLARE_DATA __declspec(dllimport) |
| 25 | #endif | 24 | #endif |
| 26 | 25 | ||
| 27 | /* Registration function for extract functions */ | 26 | typedef const char *log_sql_item_func(request_rec *r, char *a); |
| 28 | |||
| 29 | typedef const char *logsql_item_func(request_rec *r, char *a); | ||
| 30 | 27 | ||
| 28 | /* Registration Function for extract functions */ | ||
| 31 | LOGSQL_DECLARE(void) log_sql_register_item(server_rec *s, apr_pool_t *p, | 29 | LOGSQL_DECLARE(void) log_sql_register_item(server_rec *s, apr_pool_t *p, |
| 32 | char key, logsql_item_func *func, const char *sql_field_name, | 30 | char key, log_sql_item_func *func, const char *sql_field_name, |
| 33 | int want_orig_default, int string_contents); | 31 | int want_orig_default, int string_contents); |
| 34 | |||
| 35 | /* DB Connection structure holds connection handle */ | ||
| 36 | typedef struct { | ||
| 37 | int connected; /* Are we connected to the DB */ | ||
| 38 | void *handle; /* DB specific connection pointer */ | ||
| 39 | apr_table_t *parms; /* DB connection parameters */ | ||
| 40 | } logsql_dbconnection; | ||
| 41 | |||
| 42 | /* open db handle return values*/ | ||
| 43 | typedef enum { | ||
| 44 | LOGSQL_OPENDB_FAIL = 0, | ||
| 45 | LOGSQL_OPENDB_SUCCESS, | ||
| 46 | LOGSQL_OPENDB_ALREADY, | ||
| 47 | LOGSQL_OPENDB_PRESERVE | ||
| 48 | } logsql_opendb_ret; | ||
| 49 | |||
| 50 | typedef enum { | ||
| 51 | LOGSQL_QUERY_SUCCESS = 0, | ||
| 52 | LOGSQL_QUERY_FAIL, | ||
| 53 | LOGSQL_QUERY_NOLINK, | ||
| 54 | LOGSQL_QUERY_NOTABLE, | ||
| 55 | LOGSQL_QUERY_PRESERVED | ||
| 56 | } logsql_query_ret; | ||
| 57 | |||
| 58 | typedef enum { | ||
| 59 | LOGSQL_TABLE_SUCCESS = 0, | ||
| 60 | LOGSQL_TABLE_FAIL | ||
| 61 | } logsql_table_ret; | ||
| 62 | |||
| 63 | /* Table type to create/log to */ | ||
| 64 | typedef enum { | ||
| 65 | LOGSQL_TABLE_ACCESS = 0, | ||
| 66 | LOGSQL_TABLE_NOTES, | ||
| 67 | LOGSQL_TABLE_HEADERSOUT, | ||
| 68 | LOGSQL_TABLE_HEADERSIN, | ||
| 69 | LOGSQL_TABLE_COOKIES | ||
| 70 | } logsql_tabletype; | ||
| 71 | |||
| 72 | /* All Tables */ | ||
| 73 | #define LOGSQL_TABLE_ALL LOGSQL_TABLE_ACCESS | LOGSQL_TABLE_NOTES | \ | ||
| 74 | LOGSQL_TABLE_HEADERSIN | LOGSQL_TABLE_HEADERSOUT | LOGSQL_TABLE_COOKIES | ||
| 75 | |||
| 76 | /* MySQL module calls */ | ||
| 77 | |||
| 78 | /* Registration function for database drivers */ | ||
| 79 | |||
| 80 | typedef struct { | ||
| 81 | /* NULL terminated list of drivers strings */ | ||
| 82 | char **provided_drivers; | ||
| 83 | /* create a connection to the underlying database layer */ | ||
| 84 | logsql_opendb_ret (*connect)(server_rec *s, logsql_dbconnection *db); | ||
| 85 | /* disconnect from the underlying database layer */ | ||
| 86 | void (*disconnect)(logsql_dbconnection *db); | ||
| 87 | /* escape the SQL statement according to database rules */ | ||
| 88 | const char *(*escape)(const char *from_str, apr_pool_t *p, | ||
| 89 | logsql_dbconnection *db); | ||
| 90 | /* insert a SQL query statement */ | ||
| 91 | logsql_query_ret (*insert)(request_rec *r,logsql_dbconnection *db, | ||
| 92 | const char *query); | ||
| 93 | /* create a SQL table named table_name of table_type */ | ||
| 94 | logsql_table_ret (*create_table)(request_rec *r, logsql_dbconnection *db, | ||
| 95 | logsql_tabletype table_type, const char *table_name); | ||
| 96 | } logsql_dbdriver; | ||
| 97 | |||
| 98 | LOGSQL_DECLARE(void) log_sql_register_driver(apr_pool_t *p, | ||
| 99 | logsql_dbdriver *driver); | ||
| 100 | |||
| 101 | /* Module initialization Macros */ | ||
| 102 | #if defined(WITH_APACHE20) | ||
| 103 | # define LOGSQL_REGISTER(driver) \ | ||
| 104 | static int post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s); \ | ||
| 105 | static void register_hooks(apr_pool_t *p) { \ | ||
| 106 | ap_hook_post_config(post_config, NULL, NULL, APR_HOOK_REALLY_FIRST); \ | ||
| 107 | } \ | ||
| 108 | \ | ||
| 109 | module AP_MODULE_DECLARE_DATA log_sql_##driver##_module = { \ | ||
| 110 | STANDARD20_MODULE_STUFF, \ | ||
| 111 | NULL, NULL, NULL, NULL, NULL, register_hooks }; \ | ||
| 112 | static int post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) | ||
| 113 | #elif defined(WITH_APACHE13) | ||
| 114 | # define LOGSQL_REGISTER(driver) \ | ||
| 115 | static void module_init(server_rec *s, apr_pool_t *p); \ | ||
| 116 | module MODULE_VAR_EXPORT log_sql_##driver##_module = { \ | ||
| 117 | STANDARD_MODULE_STUFF, module_init }; \ | ||
| 118 | static void module_init(server_rec *s, apr_pool_t *p) | ||
| 119 | #endif | ||
| 120 | |||
| 121 | #if defined(WITH_APACHE20) | ||
| 122 | #define LOGSQL_REGISTER_RETURN return OK; | ||
| 123 | #elif defined(WITH_APACHE13) | ||
| 124 | #define LOGSQL_REGISTER_RETURN | ||
| 125 | #endif | ||
| 126 | |||
| 127 | #endif /* MOD_LOG_SQL_H */ | 32 | #endif /* MOD_LOG_SQL_H */ |
