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