1 /***************************************************************************
2 * sql_module.h rlm_sql - FreeRADIUS SQL Module *
4 * MySQL headers for rlm_sql *
6 * Mike Machado <mike@innercite.com> *
7 ***************************************************************************/
8 #include <mysql/mysql.h>
11 typedef MYSQL_ROW SQL_ROW;
13 typedef struct sql_config {
19 char *sql_authcheck_table;
20 char *sql_authreply_table;
21 char *sql_groupcheck_table;
22 char *sql_groupreply_table;
23 char *sql_usergroup_table;
24 char *sql_realm_table;
25 char *sql_realmgroup_table;
28 int sensitiveusername;
30 int deletestalesessions;
34 typedef struct sql_socket {
45 SQLSOCK *socks[MAX_SQL_SOCKS];
49 SQLSOCK *sql_create_socket(void);
50 int sql_checksocket(const char *facility);
51 int sql_query(SQLSOCK *socket, char *querystr);
52 int sql_select_query(SQLSOCK *socket, char *querystr);
53 int sql_store_result(SQLSOCK *socket);
54 int sql_num_fields(SQLSOCK *socket);
55 int sql_num_rows(SQLSOCK *socket);
56 SQL_ROW sql_fetch_row(SQLSOCK *socket);
57 void sql_free_result(SQLSOCK *socket);
58 char *sql_error(SQLSOCK *socket);
59 void sql_close(SQLSOCK *socket);
60 void sql_finish_query(SQLSOCK *socket);
61 void sql_finish_select_query(SQLSOCK *socket);
62 int sql_affected_rows(SQLSOCK *socket);
63 int sql_escape_string(char *to, char *from, int length);