1 /* Based on ipsvd utilities written by Gerrit Pape <pape@smarden.org>
2  * which are released into public domain by the author.
3  * Homepage: http://smarden.sunsite.dk/ipsvd/
4  *
5  * Copyright (C) 2007 Denys Vlasenko.
6  *
7  * Licensed under GPLv2, see file LICENSE in this source tree.
8  */
9 
10 PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
11 
12 struct hcc {
13 	char *ip;
14 	int pid;
15 };
16 
17 struct hcc* FAST_FUNC ipsvd_perhost_init(unsigned);
18 
19 /* Returns number of already opened connects to this ips, including this one.
20  * ip should be a malloc'ed ptr.
21  * If return value is <= maxconn, ip is inserted into the table
22  * and pointer to table entry if stored in *hccpp
23  * (useful for storing pid later).
24  * Else ip is NOT inserted (you must take care of it - free() etc) */
25 unsigned FAST_FUNC ipsvd_perhost_add(struct hcc *cc, char *ip, unsigned maxconn, struct hcc **hccpp);
26 
27 /* Finds and frees element with pid */
28 void FAST_FUNC ipsvd_perhost_remove(struct hcc *cc, int pid);
29 
30 //unsigned ipsvd_perhost_setpid(int pid);
31 //void ipsvd_perhost_free(struct hcc *cc);
32 
33 POP_SAVED_FUNCTION_VISIBILITY
34