X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Finclude%2Frealms.h;h=0b00a1b78f9c8b303b8e54f70c08d7695e4eff2f;hb=e2eaf9194b16fdd15ebf274aafd05edc9fefb4bb;hp=206be2f72079a9d3de3f745a80f74a1af1703d90;hpb=78bf3a9bc1aa4f8245367bd042ab49808fa6d2a6;p=freeradius.git diff --git a/src/include/realms.h b/src/include/realms.h index 206be2f..0b00a1b 100644 --- a/src/include/realms.h +++ b/src/include/realms.h @@ -12,6 +12,10 @@ #include RCSIDH(realms_h, "$Id$") +#ifdef __cplusplus +extern "C" { +#endif + #define HOME_TYPE_INVALID (0) #define HOME_TYPE_AUTH (1) #define HOME_TYPE_ACCT (2) @@ -38,6 +42,13 @@ typedef struct home_server { int port; int type; /* auth/acct */ + int proto; + int max_connections; + int num_connections; /* protected by proxy mutex */ + int max_requests; /* for one connection */ + int lifetime; + int idle_timeout; + /* * Maybe also have list of source IP/ports, && socket? */ @@ -48,9 +59,12 @@ typedef struct home_server { struct timeval when; int response_window; + int no_response_fail; int max_outstanding; /* don't overload it */ int currently_outstanding; + int message_authenticator; + time_t last_packet; struct timeval revive_time; struct timeval zombie_period_start; int zombie_period; /* unresponsive for T, mark it dead */ @@ -77,6 +91,8 @@ typedef struct home_server { #ifdef WITH_STATS int number; + fr_ipaddr_t src_ipaddr; /* preferred source IP address */ + fr_stats_t stats; fr_stats_ema_t ema; @@ -125,13 +141,17 @@ REALM *realm_find(const char *name); /* name is from a packet */ REALM *realm_find2(const char *name); /* ... with name taken from realm_find */ home_server *home_server_ldb(const char *realmname, home_pool_t *pool, REQUEST *request); -home_server *home_server_find(fr_ipaddr_t *ipaddr, int port); +home_server *home_server_find(fr_ipaddr_t *ipaddr, int port, int proto); #ifdef WITH_COA -home_server *home_server_byname(const char *name); +home_server *home_server_byname(const char *name, int type); #endif #ifdef WITH_STATS home_server *home_server_bynumber(int number); #endif home_pool_t *home_pool_byname(const char *name, int type); +#ifdef __cplusplus +} +#endif + #endif /* REALMS_H */