view src/auth/db-mysql.h @ 2359:0d76dd47fbf4 HEAD

db_port and db_client_flags weren't integers. Reconnects now immediately if mysql_query() failed because connection was lost.
author Timo Sirainen <tss@iki.fi>
date Fri, 23 Jul 2004 21:50:18 +0300
parents cc64f8bb4716
children 189a6de6b166
line wrap: on
line source

#ifndef __DB_MYSQL_H
#define __DB_MYSQL_H

#ifdef HAVE_MYSQL_MYSQL_H
#  include <mysql/mysql.h>
#  include <mysql/errmsg.h>
#else
#  include <mysql.h>
#  include <errmsg.h>
#endif

struct mysql_connection;
struct mysql_request;

typedef void mysql_query_callback_t(struct mysql_connection *conn,
				    struct mysql_request *request,
				    MYSQL_RES *res);

struct mysql_settings {
	const char *db_host;
	unsigned int db_port;
	const char *db_unix_socket;
	const char *db;
	const char *db_user;
	const char *db_passwd;
	unsigned int db_client_flags;
	const char *password_query;
	const char *user_query;
	const char *default_pass_scheme;
};

struct mysql_connection {
	struct mysql_connection *next;

	pool_t pool;
	int refcount;

	char *config_path;
	struct mysql_settings set;

	MYSQL *mysql;

	unsigned int connected:1;
};

struct mysql_request {
	mysql_query_callback_t *callback;
	void *context;
};

void db_mysql_query(struct mysql_connection *conn, const char *query,
		    struct mysql_request *request);

struct mysql_connection *db_mysql_init(const char *config_path);
void db_mysql_unref(struct mysql_connection *conn);

#endif