massive changes to enable smarter configure script, so that it
[freeradius.git] / src / include / radius_snmp.h
1 #ifndef _RADIUS_SNMP_H
2 #define _RADIUS_SNMP_H
3
4 /*
5  * Version:     $Id$
6  */
7
8 #if HAVE_ASN1_H
9 #include        <asn1.h>
10 #elif HAVE_UCD_SNMP_ASN1_H
11 #include        <ucd-snmp/asn1.h>
12 #endif
13
14 #if HAVE_SNMP_H
15 #include        <snmp.h>
16 #elif HAVE_UCD_SNMP_SNMP_H
17 #include        <ucd-snmp/snmp.h>
18 #endif
19
20 #if HAVE_SNMP_IMPL_H
21 #include        <snmp_impl.h>
22 #elif HAVE_UCD_SNMP_SNMP_IMPL_H
23 #include        <ucd-snmp/snmp_impl.h>
24 #endif
25
26 #include        "smux.h"
27
28 extern void radius_snmp_init(void);
29 extern int smux_connect(void);
30 extern int smux_read(void);
31
32 /*
33  *      The RADIUS server snmp data structures.
34  */
35 typedef struct rad_snmp_server_t {
36         const char      *ident;
37         time_t          start_time;
38         int32_t         uptime; /* in hundredths of a second */
39
40         time_t          last_reset_time;
41         int32_t         reset_time;
42         int32_t         config_reset;
43         int32_t         total_requests;
44         int32_t         total_invalid_requests;
45         int32_t         total_dup_requests;
46         int32_t         total_responses;
47         int32_t         total_access_accepts;
48         int32_t         total_access_rejects;
49         int32_t         total_access_challenges;
50         int32_t         total_malformed_requests;
51         int32_t         total_bad_authenticators;
52         int32_t         total_packets_dropped;
53         int32_t         total_no_records;
54         int32_t         total_unknown_types;
55 } rad_snmp_server_t;
56
57 typedef struct rad_snmp_t {
58         rad_snmp_server_t auth;
59         rad_snmp_server_t acct;
60         smux_event_t      smux_event;
61         const char        *smux_password;
62         int               snmp_write_access;
63         int               smux_fd;
64 } rad_snmp_t;
65
66 extern rad_snmp_t       rad_snmp;
67
68 #endif /* _RADIUS_SNMP_H */