aboutsummaryrefslogtreecommitdiff
path: root/src/mysql/ngx_mysql.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mysql/ngx_mysql.h')
-rw-r--r--src/mysql/ngx_mysql.h64
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_ */