Compiles with new ICRADIUS code, but BADLY BROKEN. DO NOT USE YET :)
[freeradius.git] / src / modules / rlm_sql / rlm_sql.h
1 /* freeradius sql module
2 *          Mike Machado
3 *          InnerCite
4 *          mike@innercite.com
5 */
6
7 #include "sql_module.h"
8
9 #define PW_VP_USERDATA          1
10 #define PW_VP_GROUPDATA         2
11 #define PW_VP_REALMDATA         3
12
13 typedef struct sqlrec {
14         char            AcctSessionId[SQLBIGREC];
15         char            UserName[SQLBIGREC];
16         char            Realm[SQLBIGREC];
17         char            NASIPAddress[SQLLILREC];
18         unsigned long   NASPortId;
19         char            NASPortType[SQLBIGREC];
20         char            AcctStatusType[SQLBIGREC];
21         unsigned int    AcctStatusTypeId;
22         char            AcctTimeStamp[20];
23         unsigned long   AcctSessionTime;
24         char            AcctAuthentic[SQLBIGREC];
25         char            ConnectInfo[SQLBIGREC];
26         unsigned long   AcctInputOctets;
27         unsigned long   AcctOutputOctets;
28         char            CalledStationId[SQLLILREC];
29         char            CallingStationId[SQLLILREC];
30         char            AcctTerminateCause[SQLBIGREC];
31         char            ServiceType[SQLBIGREC];
32         char            FramedProtocol[SQLBIGREC];
33         char            FramedIPAddress[SQLLILREC];
34         unsigned long   AcctDelayTime;
35 } SQLACCTREC; 
36
37 int             sql_init(int reload);
38 int             sql_init_socket(int reload);
39 int             sql_close_socket(SQLSOCK *socket);
40 SQLSOCK         *sql_get_socket(void);
41 int             sql_release_socket(SQLSOCK *socket);
42 int             sql_save_acct(SQLSOCK *socket, SQLACCTREC *sqlrecord);
43 int             sql_userparse(VALUE_PAIR **first_pair, SQL_ROW row, int mode);
44 int             sql_read_realms(SQLSOCK *socket);
45 int             sql_getvpdata(SQLSOCK *socket, char *table, VALUE_PAIR **vp, char *user, int mode);
46 int             sql_check_multi(SQLSOCK *socket, char *name, VALUE_PAIR *request, int maxsimul);
47 int             sql_read_naslist(SQLSOCK *socket);
48 int             sql_read_clients(SQLSOCK *socket);
49 int             sql_dict_init(SQLSOCK *socket);
50
51 SQL *sql;
52