2 * sql_module.h - MySQL header for FreeRADIUS SQL module
4 * Mike Machado <mike@innercite.com>
7 #include <mysql/mysql.h>
10 typedef MYSQL_ROW SQL_ROW;
12 typedef struct sql_config {
15 char sql_password[20];
17 char sql_acct_table[MAX_TABLE_LEN];
18 char sql_authcheck_table[MAX_TABLE_LEN];
19 char sql_authreply_table[MAX_TABLE_LEN];
20 char sql_groupcheck_table[MAX_TABLE_LEN];
21 char sql_groupreply_table[MAX_TABLE_LEN];
22 char sql_usergroup_table[MAX_TABLE_LEN];
23 char sql_realm_table[MAX_TABLE_LEN];
24 char sql_realmgroup_table[MAX_TABLE_LEN];
25 char sql_nas_table[MAX_TABLE_LEN];
26 char sql_dict_table[MAX_TABLE_LEN];
27 int sensitiveusername;
29 int deletestalesessions;
33 typedef struct sql_socket {
44 SQLSOCK *socks[MAX_SQL_SOCKS];
48 SQLSOCK *sql_create_socket(void);
49 int sql_checksocket(const char *facility);
50 int sql_query(SQLSOCK *socket, char *querystr);
51 int sql_select_query(SQLSOCK *socket, char *querystr);
52 int sql_store_result(SQLSOCK *socket);
53 int sql_num_fields(SQLSOCK *socket);
54 int sql_num_rows(SQLSOCK *socket);
55 SQL_ROW sql_fetch_row(SQLSOCK *socket);
56 void sql_free_result(SQLSOCK *socket);
57 char *sql_error(SQLSOCK *socket);
58 void sql_close(SQLSOCK *socket);
59 void sql_finish_query(SQLSOCK *socket);
60 void sql_finish_select_query(SQLSOCK *socket);
61 int sql_affected_rows(SQLSOCK *socket);
62 int sql_escape_string(char *to, char *from, int length);