1 /* freeradius sql module
7 #include "sql_module.h"
9 #define PW_VP_USERDATA 1
10 #define PW_VP_GROUPDATA 2
11 #define PW_VP_REALMDATA 3
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;
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);