login-proxy-state.h revision 6303191abcb37164f435ccdc56e9dbddf1288851
a8c5a86d183db25a57bf193c06b41e092ec2e151Timo Sirainen#ifndef LOGIN_PROXY_STATE_H
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#define LOGIN_PROXY_STATE_H
08d6658a4e2ec8104cd1307f6baa75fdb07a24f8Mark Washenberger
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen#include <sys/time.h>
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
bdd36cfdba3ff66d25570a9ff568d69e1eb543cfTimo Sirainenstruct login_proxy_record {
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen struct ip_addr ip;
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen unsigned int port;
be5c76fabc7439fd33bc799bc3ab3f570799977bTimo Sirainen unsigned int num_waiting_connections;
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
b0e9375a1ff97c9c7d40655922af5ccc73ecaa76Timo Sirainen struct timeval last_failure;
f93c833d644ecff0b0f80bee4f1cdde3e697b5c8Timo Sirainen struct timeval last_success;
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen};
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainenstruct login_proxy_state *login_proxy_state_init(const char *notify_path);
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainenvoid login_proxy_state_deinit(struct login_proxy_state **state);
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainenstruct login_proxy_record *
c0757c70cfd2c9b44de3504b753a4d2f38690ef0Timo Sirainenlogin_proxy_state_get(struct login_proxy_state *state,
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen const struct ip_addr *ip, unsigned int port);
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
b624773984e35dd894db8dff976c1a2114c70782Timo Sirainenvoid login_proxy_state_notify(struct login_proxy_state *state,
5afc76d0215c5f7631dec06ef864d59f0686a0a8Timo Sirainen const char *user);
b624773984e35dd894db8dff976c1a2114c70782Timo Sirainen
12d38e76ba7f70d6219c89ec7416fea0d5de7e02Timo Sirainen#endif
b624773984e35dd894db8dff976c1a2114c70782Timo Sirainen