blob: cf08000e0dbac202f5f05dc7530504462cd183f2 [file] [log] [blame]
Denis Vlasenko57a426b2007-04-01 10:59:33 +00001/* 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 Denis Vlasenko.
6 *
7 * Licensed under GPLv2, see file LICENSE in this tarball for details.
8 */
9
Denis Vlasenko2856dab2007-04-01 01:18:20 +000010struct hcc {
Denis Vlasenko729bd9e2007-04-02 12:37:28 +000011 char *ip;
Denis Vlasenko2856dab2007-04-01 01:18:20 +000012 int pid;
13};
14
15void ipsvd_perhost_init(unsigned);
Denis Vlasenko729bd9e2007-04-02 12:37:28 +000016
17/* Returns number of already opened connects to this ips, including this one.
18 * ip should be a malloc'ed ptr.
19 * If return value is <= maxconn, ip is inserted into the table
20 * and pointer to table entry if stored in *hccpp
21 * (useful for storing pid later).
22 * Else ip is NOT inserted (you must take care of it - free() etc) */
23unsigned ipsvd_perhost_add(char *ip, unsigned maxconn, struct hcc **hccpp);
24
25/* Finds and frees element with pid */
Denis Vlasenko2856dab2007-04-01 01:18:20 +000026void ipsvd_perhost_remove(int pid);
Denis Vlasenko729bd9e2007-04-02 12:37:28 +000027
Denis Vlasenko2856dab2007-04-01 01:18:20 +000028//unsigned ipsvd_perhost_setpid(int pid);
29//void ipsvd_perhost_free(void);