Allow building WITHOUT_STATS
[freeradius.git] / src / include / radiusd.h
index 4bffd70..0c625b0 100644 (file)
@@ -89,6 +89,8 @@ typedef struct auth_req REQUEST;
 #ifndef WITHOUT_COMMAND_SOCKET
 #ifdef HAVE_SYS_UN_H
 #define WITH_COMMAND_SOCKET (1)
+#else
+#define WITHOUT_COMMAND_SOCKET (1)
 #endif
 #endif
 
@@ -140,6 +142,7 @@ typedef struct radclient {
        time_t                  created;
        time_t                  last_new_client;
        char                    *client_server;
+       int                     rate_limit;
 #endif
 
 #ifdef WITH_COA
@@ -215,7 +218,7 @@ struct auth_req {
        pthread_t               child_pid;
 #endif
        time_t                  timestamp;
-       int                     number; /* internal server number */
+       unsigned int            number; /* internal server number */
 
        rad_listen_t            *listener;
 #ifdef WITH_PROXY
@@ -304,7 +307,7 @@ typedef struct pair_list {
 
 typedef int (*rad_listen_recv_t)(rad_listen_t *, RAD_REQUEST_FUNP *, REQUEST **);
 typedef int (*rad_listen_send_t)(rad_listen_t *, REQUEST *);
-typedef int (*rad_listen_print_t)(rad_listen_t *, char *, size_t);
+typedef int (*rad_listen_print_t)(const rad_listen_t *, char *, size_t);
 typedef int (*rad_listen_encode_t)(rad_listen_t *, REQUEST *);
 typedef int (*rad_listen_decode_t)(rad_listen_t *, REQUEST *);
 
@@ -345,9 +348,7 @@ typedef struct listen_socket_t {
        fr_ipaddr_t     my_ipaddr;
        int             my_port;
 
-#ifdef SO_BINDTODEVICE
-       const char              *interface;
-#endif
+       const char      *interface;
 #ifdef SO_BROADCAST
        int             broadcast;
 #endif
@@ -401,7 +402,9 @@ typedef struct main_config_t {
        int             log_auth_goodpass;
        int             allow_core_dumps;
        int             debug_level;
+#ifdef WITH_PROXY
        int             proxy_requests;
+#endif
        int             reject_delay;
        int             status_server;
        int             max_request_time;
@@ -628,7 +631,7 @@ int radius_callback_compare(REQUEST *req, VALUE_PAIR *request,
                            VALUE_PAIR **reply_pairs);
 int radius_find_compare(int attribute);
 VALUE_PAIR     *radius_paircreate(REQUEST *request, VALUE_PAIR **vps,
-                                 int attribute, int type);
+                                  int attribute, int vendor, int type);
 VALUE_PAIR *radius_pairmake(REQUEST *request, VALUE_PAIR **vps,
                            const char *attribute, const char *value,
                            int operator);
@@ -680,8 +683,8 @@ RADCLIENT *client_listener_find(const rad_listen_t *listener,
 #ifdef WITH_STATS
 RADCLIENT_LIST *listener_find_client_list(const fr_ipaddr_t *ipaddr,
                                          int port);
-rad_listen_t *listener_find_byipaddr(const fr_ipaddr_t *ipaddr, int port);
 #endif
+rad_listen_t *listener_find_byipaddr(const fr_ipaddr_t *ipaddr, int port);
 
 /* event.c */
 int radius_event_init(CONF_SECTION *cs, int spawn_flag);
@@ -692,7 +695,7 @@ int received_request(rad_listen_t *listener,
                     RADIUS_PACKET *packet, REQUEST **prequest,
                     RADCLIENT *client);
 REQUEST *received_proxy_response(RADIUS_PACKET *packet);
-void event_new_fd(rad_listen_t *listener);
+int event_new_fd(rad_listen_t *listener);
 
 /* evaluate.c */
 int radius_evaluate_condition(REQUEST *request, int modreturn, int depth,