blob: 3e5757678bb6685f7d5b5971474f60c39176c0d9
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 | void 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 ipsvd_perhost_add(char *ip, unsigned maxconn, struct hcc **hccpp); |
26 | |
27 | /* Finds and frees element with pid */ |
28 | void ipsvd_perhost_remove(int pid); |
29 | |
30 | //unsigned ipsvd_perhost_setpid(int pid); |
31 | //void ipsvd_perhost_free(void); |
32 | |
33 | POP_SAVED_FUNCTION_VISIBILITY |
34 |