diff options
Diffstat (limited to 'src/mysql/ngx_mysql.h')
-rw-r--r-- | src/mysql/ngx_mysql.h | 64 |
1 files changed, 56 insertions, 8 deletions
diff --git a/src/mysql/ngx_mysql.h b/src/mysql/ngx_mysql.h index 99f10396b..17cb1afba 100644 --- a/src/mysql/ngx_mysql.h +++ b/src/mysql/ngx_mysql.h @@ -11,26 +11,74 @@ #include <ngx_config.h> #include <ngx_core.h> #include <ngx_event.h> +#include <ngx_event_connect.h> -typedef struct { +typedef struct ngx_mysql_s ngx_mysql_t; + +typedef void (*ngx_mysql_handler_pt)(ngx_mysql_t *m); + + +struct ngx_mysql_s { ngx_peer_connection_t peer; -} ngx_mysql_t; + + ngx_buf_t *buf; + ngx_pool_t *pool; + + ngx_str_t *login; + ngx_str_t *passwd; + ngx_str_t *database; + + ngx_str_t query; + + ngx_uint_t pktn; + + ngx_mysql_handler_pt handler; + void *data; + ngx_int_t state; + +}; + + +#define NGX_MYSQL_CMDPKT_LEN 5 #if (NGX_HAVE_LITTLE_ENDIAN && NGX_HAVE_NONALIGNED && 0) -#define ngx_m16toh(n) (*(uint32_t *) n & 0x0000ffff) -#define ngx_m24toh(n) (*(uint32_t *) n & 0x00ffffff) -#define ngx_m32toh(n) *(uint32_t *) n +#define ngx_m16toh(n) (*(uint32_t *) n & 0x0000ffff) +#define ngx_m24toh(n) (*(uint32_t *) n & 0x00ffffff) +#define ngx_m32toh(n) *(uint32_t *) n + +#define ngx_htom16(n, m) *(uint16_t *) n = (uint16_t) ((m) & 0xffff) + +#define ngx_htom24(n, m) (n)[0] = (u_char) ((m) & 0xff); \ + (n)[1] = (u_char) (((m) >> 8) & 0xff); \ + (n)[2] = (u_char) (((m) >> 16) & 0xff) + +#define ngx_htom32(n, m) *(uint32_t *) (n) = (m) #else -#define ngx_m16toh(n) (n[0] | n[1] << 8) -#define ngx_m24toh(n) (n[0] | n[1] << 8 | n[2] << 16) -#define ngx_m32toh(n) (n[0] | n[1] << 8 | n[2] << 16 | n[3] << 24) +#define ngx_m16toh(n) (n[0] | n[1] << 8) +#define ngx_m24toh(n) (n[0] | n[1] << 8 | n[2] << 16) +#define ngx_m32toh(n) (n[0] | n[1] << 8 | n[2] << 16 | n[3] << 24) + +#define ngx_htom16(n, m) (n)[0] = (u_char) (m); (n)[1] = (u_char) ((m) >> 8) + +#define ngx_htom24(n, m) (n)[0] = (u_char) ((m) & 0xff); \ + (n)[1] = (u_char) (((m) >> 8) & 0xff); \ + (n)[2] = (u_char) (((m) >> 16) & 0xff) + +#define ngx_htom32(n, m) (n)[0] = (u_char) ((m) & 0xff); \ + (n)[1] = (u_char) (((m) >> 8) & 0xff); \ + (n)[2] = (u_char) (((m) >> 16) & 0xff); \ + (n)[3] = (u_char) (((m) >> 24) & 0xff) #endif +ngx_int_t ngx_mysql_connect(ngx_mysql_t *m); +ngx_int_t ngx_mysql_query(ngx_mysql_t *m); + + #endif /* _NGX_MYSQL_H_INCLUDED_ */ |