Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

hsep.h

Go to the documentation of this file.
00001 /*
00002  * $Id: hsep.h,v 1.10 2005/09/10 08:17:28 daichik Exp $
00003  *
00004  * Copyright (c) 2004, Thomas Schuerger & Jeroen Asselman
00005  *
00006  *----------------------------------------------------------------------
00007  * This file is part of gtk-gnutella.
00008  *
00009  *  gtk-gnutella is free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version.
00013  *
00014  *  gtk-gnutella is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  *  GNU General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU General Public License
00020  *  along with gtk-gnutella; if not, write to the Free Software
00021  *  Foundation, Inc.:
00022  *      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023  *----------------------------------------------------------------------
00024  */
00025 
00037 #ifndef _core_hsep_h_
00038 #define _core_hsep_h_
00039 
00040 #include "lib/event.h"      /* For frequency_t */
00041 #include "if/core/hsep.h"
00042 
00043 #define HSEP_VERSION_MAJOR 0
00044 #define HSEP_VERSION_MINOR 2
00045 
00050 #define HSEP_MSG_INTERVAL 30
00051 
00056 #define HSEP_MSG_SKEW 10
00057 
00058 /*
00059  * Public interface.
00060  */
00061 
00062 typedef void (*hsep_global_listener_t) (hsep_triple *table, guint32 triples);
00063 
00064 void hsep_init(void);
00065 void hsep_reset(void);
00066 void hsep_close(void);
00067 void hsep_connection_init(struct gnutella_node *n);
00068 void hsep_connection_close(struct gnutella_node *n);
00069 void hsep_send_msg(struct gnutella_node *, time_t now);
00070 void hsep_process_msg(struct gnutella_node *, time_t now);
00071 void hsep_timer(time_t now);
00072 void hsep_notify_shared(guint64 ownfiles, guint64 ownkibibytes);
00073 unsigned int hsep_get_global_table(hsep_triple *buffer,
00074     unsigned int maxtriples);
00075 unsigned int hsep_get_connection_table(const struct gnutella_node *n,
00076     hsep_triple *buffer, unsigned int maxtriples);
00077 const gchar *hsep_get_static_str(gint row, gint column);
00078 
00079 #endif /* _core_hsep_h_ */
00080 
00081 /* vi: set ts=4 sw=4 cindent: */

Generated on Sun Feb 12 10:49:56 2006 for Gtk-Gnutella by doxygen 1.3.6