#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <stdarg.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <apr.h>
#include <apr_general.h>
#include <apr_strings.h>
#include <apr_lib.h>
#include <apr_pools.h>
#include <apr_buckets.h>
#include <apr_hash.h>
#include <apr_file_io.h>
#include <apr_portable.h>
#include <apr_time.h>
#include <apr_sdbm.h>
#include <apr_md5.h>
#include <apr_base64.h>
#include <apreq_param.h>
#include <apreq_cookie.h>
#include <apreq_module_apache2.h>
#include <http_request.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <libpq-fe.h>
#include <mysql.h>
Go to the source code of this file.
Data Structures | |
struct | rxv_spin_data |
Data structure. More... | |
struct | rxv_spin_context |
Context structure. More... | |
struct | rxv_spin_conn |
Connection structure. More... | |
struct | rxv_spin_cpool |
Connection pool structure. More... | |
struct | rxv_spin_db_result |
Database result structure. More... | |
Defines | |
#define | RXV_SPIN_DATA_SGL 0x01 |
#define | RXV_SPIN_DATA_RWS 0x02 |
#define | RXV_SPIN_DATA_MTA 0xFF |
#define | RXV_SPIN_TRIM_LEFT 0x01 |
#define | RXV_SPIN_TRIM_RIGHT 0x02 |
#define | rxv_spin_single_trimboth(s) rxv_spin_single_trim((s),(RXV_SPIN_TRIM_LEFT|RXV_SPIN_TRIM_RIGHT)) |
#define | rxv_spin_single_trimleft(s) rxv_spin_single_trim((s),(RXV_SPIN_TRIM_LEFT)) |
#define | rxv_spin_single_trimright(s) rxv_spin_single_trim((s),(RXV_SPIN_TRIM_RIGHT)) |
#define | rxv_spin_column_del(rows, key) rxv_spin_column_set((rows),(key),NULL) |
#define | rxv_spin_str_trimboth(s) rxv_spin_str_trim((s),(RXV_SPIN_TRIM_LEFT|RXV_SPIN_TRIM_RIGHT)) |
#define | rxv_spin_str_trimleft(s) rxv_spin_str_trim((s),(RXV_SPIN_TRIM_LEFT)) |
#define | rxv_spin_str_trimright(s) rxv_spin_str_trim((s),(RXV_SPIN_TRIM_RIGHT)) |
#define | rxv_spin_ctx_strget(ctx, key) rxv_spin_single_get(rxv_spin_ctx_get((ctx),(key))) |
#define | rxv_spin_ctx_strset(ctx, key, val) rxv_spin_ctx_set((ctx),(key),rxv_spin_single((ctx)->pool,(val))) |
#define | rxv_spin_ctx_del(ctx, key) rxv_spin_ctx_set((ctx),(key),NULL) |
#define | rxv_spin_app_strget(ctx, key) rxv_spin_single_get(rxv_spin_app_get((ctx),(key))) |
#define | rxv_spin_app_strset(ctx, key, val) rxv_spin_app_set((ctx),(key),rxv_spin_single((ctx)->pool,(val))) |
#define | rxv_spin_ses_strget(ctx, key) rxv_spin_single_get(rxv_spin_ses_get((ctx),(key))) |
#define | rxv_spin_ses_strset(ctx, key, val) rxv_spin_ses_set((ctx),(key),rxv_spin_single((ctx)->pool,(val))) |
#define | RXV_SPIN_CONN_PGSQL 0x01 |
#define | RXV_SPIN_CONN_MYSQL 0x02 |
#define | RXV_SPIN_CONN_MINID 0x01 |
#define | RXV_SPIN_CONN_MAXID 0x3F |
#define | RXV_SPIN_CONN_FOREIGN 0x40 |
#define | RXV_SPIN_CONN_POOLED 0x80 |
#define | RXV_SPIN_CONN_IS_PGSQL(c) ((((c)->type)&RXV_SPIN_CONN_MAXID)==RXV_SPIN_CONN_PGSQL) |
#define | RXV_SPIN_CONN_IS_MYSQL(c) ((((c)->type)&RXV_SPIN_CONN_MAXID)==RXV_SPIN_CONN_MYSQL) |
#define | RXV_SPIN_CONN_IS_FOREIGN(c) (((c)->type)&RXV_SPIN_CONN_FOREIGN) |
#define | RXV_SPIN_CONN_IS_POOLED(c) (((c)->type)&RXV_SPIN_CONN_POOLED) |
#define | RXV_SPIN_DB_INFO_DB 0x01 |
#define | RXV_SPIN_DB_INFO_USER 0x02 |
#define | RXV_SPIN_DB_INFO_PASS 0x03 |
#define | RXV_SPIN_DB_INFO_HOST 0x04 |
#define | RXV_SPIN_DB_INFO_PORT 0x05 |
#define | RXV_SPIN_DB_INFO_TTY 0x06 |
#define | RXV_SPIN_DB_INFO_OPTIONS 0x07 |
#define | RXV_SPIN_DB_INFO_ERROR 0x08 |
#define | rxv_spin_db_db(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_DB) |
#define | rxv_spin_db_user(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_USER) |
#define | rxv_spin_db_pass(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_PASS) |
#define | rxv_spin_db_host(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_HOST) |
#define | rxv_spin_db_port(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_PORT) |
#define | rxv_spin_db_tty(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_TTY) |
#define | rxv_spin_db_options(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_OPTIONS) |
#define | rxv_spin_db_error(conn) rxv_spin_db_info((conn),RXV_SPIN_DB_INFO_ERROR) |
Typedefs | |
typedef struct rxv_spin_data | rxv_spin_data_t |
typedef struct rxv_spin_context | rxv_spin_context_t |
typedef rxv_spin_context_t | rxv_spin_ctx_t |
typedef struct rxv_spin_conn | rxv_spin_conn_t |
typedef struct rxv_spin_cpool | rxv_spin_cpool_t |
typedef struct rxv_spin_db_result | rxv_spin_db_result_t |
typedef int(* | rxv_spin_service_t )(rxv_spin_context_t *context) |
Functions | |
rxv_spin_data_t * | rxv_spin_single (apr_pool_t *pool, const char *str) |
char * | rxv_spin_single_get (rxv_spin_data_t *single) |
rxv_spin_data_t * | rxv_spin_single_set (rxv_spin_data_t *single, const char *str) |
rxv_spin_data_t * | rxv_spin_single_mem (apr_pool_t *pool, const char *str, size_t size) |
rxv_spin_data_t * | rxv_spin_single_memset (rxv_spin_data_t *single, const char *str, size_t size) |
rxv_spin_data_t * | rxv_spin_single_tolower (rxv_spin_data_t *single) |
rxv_spin_data_t * | rxv_spin_single_toupper (rxv_spin_data_t *single) |
rxv_spin_data_t * | rxv_spin_single_trim (rxv_spin_data_t *single, unsigned char what) |
rxv_spin_data_t * | rxv_spin_meta (apr_pool_t *pool,...) |
rxv_spin_data_t * | rxv_spin_meta_vstr (apr_pool_t *pool,...) |
rxv_spin_data_t * | rxv_spin_meta_parse (apr_pool_t *pool, char *str, const char *sep) |
rxv_spin_data_t * | rxv_spin_meta_empty (apr_pool_t *pool, size_t size) |
apr_hash_t * | rxv_spin_meta_hash (apr_pool_t *pool, rxv_spin_data_t *data) |
rxv_spin_data_t * | rxv_spin_meta_mark (rxv_spin_data_t *data, size_t element) |
rxv_spin_data_t * | rxv_spin_meta_markeach (rxv_spin_data_t *data, size_t off, size_t step) |
rxv_spin_data_t * | rxv_spin_meta_select (rxv_spin_data_t *data, rxv_spin_data_t *select, apr_hash_t *hash) |
rxv_spin_data_t * | rxv_spin_rows (apr_pool_t *pool,...) |
apr_hash_t * | rxv_spin_rows_hash (apr_pool_t *pool, rxv_spin_data_t *rows, const char *column) |
rxv_spin_data_t * | rxv_spin_rows_mark (rxv_spin_data_t *rows, const char *column, size_t element) |
rxv_spin_data_t * | rxv_spin_rows_markeach (rxv_spin_data_t *rows, const char *column, size_t off, size_t step) |
rxv_spin_data_t * | rxv_spin_rows_select (rxv_spin_data_t *rows, rxv_spin_data_t *select, const char *column, const char *marker, apr_hash_t *hash) |
rxv_spin_data_t * | rxv_spin_column_get (apr_pool_t *pool, rxv_spin_data_t *rows, const char *key) |
rxv_spin_data_t * | rxv_spin_column_set (rxv_spin_data_t *rows, const char *key, rxv_spin_data_t *column) |
rxv_spin_data_t * | rxv_spin_resize (apr_pool_t *pool, rxv_spin_data_t *data, size_t size) |
rxv_spin_data_t * | rxv_spin_copy (apr_pool_t *pool, rxv_spin_data_t *data) |
char * | rxv_spin_str_tolower (const char *str) |
char * | rxv_spin_str_toupper (const char *str) |
char * | rxv_spin_str_trim (char *str, unsigned char what) |
rxv_spin_data_t * | rxv_spin_ctx_get (rxv_spin_context_t *ctx, const char *key) |
rxv_spin_data_t * | rxv_spin_ctx_set (rxv_spin_context_t *ctx, const char *key, rxv_spin_data_t *value) |
rxv_spin_data_t * | rxv_spin_app_get (rxv_spin_context_t *ctx, const char *key) |
rxv_spin_data_t * | rxv_spin_app_set (rxv_spin_context_t *ctx, const char *key, rxv_spin_data_t *val) |
apr_status_t | rxv_spin_app_del (rxv_spin_context_t *ctx, const char *key) |
rxv_spin_data_t * | rxv_spin_ses_get (rxv_spin_context_t *ctx, const char *key) |
rxv_spin_data_t * | rxv_spin_ses_set (rxv_spin_context_t *ctx, const char *key, rxv_spin_data_t *val) |
apr_status_t | rxv_spin_ses_del (rxv_spin_context_t *ctx, const char *key) |
char * | rxv_spin_ses_idget (rxv_spin_context_t *ctx) |
int | rxv_spin_ses_valid (rxv_spin_context_t *ctx) |
rxv_spin_conn_t * | rxv_spin_db_connect (apr_pool_t *pool, rxv_spin_cpool_t *cpool, const char *conninfo, unsigned char type) |
rxv_spin_db_result_t * | rxv_spin_db_exec (apr_pool_t *pool, rxv_spin_conn_t *conn, const char *query) |
char * | rxv_spin_db_info (rxv_spin_conn_t *conn, unsigned char what) |
apr_status_t | rxv_spin_db_status (rxv_spin_conn_t *conn) |
char * | rxv_spin_db_escape (apr_pool_t *pool, rxv_spin_conn_t *conn, const char *str) |
apr_status_t | rxv_spin_db_reset (rxv_spin_conn_t *conn) |
rxv_spin_cpool_t * | rxv_spin_cpool_create (apr_pool_t *pool) |
rxv_spin_conn_t * | rxv_spin_cpool_get (apr_pool_t *pool, rxv_spin_cpool_t *cpool, const char *conninfo) |
rxv_spin_conn_t * | rxv_spin_cpool_set (rxv_spin_cpool_t *cpool, const char *conninfo, void *conn, apr_status_t(*cleanup)(void *data)) |
apr_status_t | rxv_spin_conn_close (rxv_spin_conn_t *conn) |