import from HEAD
[freeradius.git] / src / include / request_list.h
1 #ifndef _REQUEST_LIST_H
2 #define _REQUEST_LIST_H
3 /*
4  * request_list.h       Hide the handling of the REQUEST list from
5  *                      the main server.
6  *
7  * Version:     $Id$
8  *
9  */
10
11 extern int rl_init(void);
12 extern void rl_delete(REQUEST *request);
13 extern void rl_add(REQUEST *request);
14 extern REQUEST *rl_find(RADIUS_PACKET *packet);
15 extern int rl_add_proxy(REQUEST *request);
16 extern REQUEST *rl_find_proxy(RADIUS_PACKET *packet);
17 extern REQUEST *rl_next(REQUEST *request);
18 extern int rl_num_requests(void);
19
20 #define RL_WALK_CONTINUE (0)
21 #define RL_WALK_STOP     (-1)
22
23 typedef int (*RL_WALK_FUNC)(REQUEST *, void *);
24
25 extern int rl_walk(RL_WALK_FUNC walker, void *data);
26 extern struct timeval *rl_clean_list(time_t now);
27
28 #endif /* _REQUEST_LIST_H */