blob: 3e5757678bb6685f7d5b5971474f60c39176c0d9 [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 *
Denys Vlasenko0ef64bd2010-08-16 20:14:46 +02007 * Licensed under GPLv2, see file LICENSE in this source tree.
Denis Vlasenko57a426b2007-04-01 10:59:33 +00008 */
9
Denis Vlasenkof81e8db2009-04-09 12:35:13 +000010PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
Denis Vlasenko98636eb2008-05-09 17:59:34 +000011
Denis Vlasenko2856dab2007-04-01 01:18:20 +000012struct hcc {
Denis Vlasenko4b924f32007-05-30 00:29:55 +000013 char *ip;
14 int pid;
Denis Vlasenko2856dab2007-04-01 01:18:20 +000015};
16
17void ipsvd_perhost_init(unsigned);
Denis Vlasenko729bd9e2007-04-02 12:37:28 +000018
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) */
25unsigned ipsvd_perhost_add(char *ip, unsigned maxconn, struct hcc **hccpp);
26
27/* Finds and frees element with pid */
Denis Vlasenko2856dab2007-04-01 01:18:20 +000028void ipsvd_perhost_remove(int pid);
Denis Vlasenko729bd9e2007-04-02 12:37:28 +000029
Denis Vlasenko2856dab2007-04-01 01:18:20 +000030//unsigned ipsvd_perhost_setpid(int pid);
31//void ipsvd_perhost_free(void);
Denis Vlasenko98636eb2008-05-09 17:59:34 +000032
Denis Vlasenkof81e8db2009-04-09 12:35:13 +000033POP_SAVED_FUNCTION_VISIBILITY