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