blob: 9fc8cee6133f89d3f58cc2bfc0e58ad1a5f6a910 [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 *
Denis Vlasenkod18f52b2008-03-02 12:53:15 +00005 * Copyright (C) 2007 Denys Vlasenko.
Denis Vlasenko57a426b2007-04-01 10:59:33 +00006 *
7 * Licensed under GPLv2, see file LICENSE in this tarball for details.
8 */
9
Denis Vlasenko2856dab2007-04-01 01:18:20 +000010struct hcc {
Denis Vlasenko4b924f32007-05-30 00:29:55 +000011 char *ip;
12 int pid;
Denis Vlasenko2856dab2007-04-01 01:18:20 +000013};
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);