[transport] Fix EBADF in select()
[oweals/gnunet.git] / src / transport / gnunet-service-transport_validation.h
index a14937022fb70c7237b45165eb767250c2b4391d..53528437aedcc01e6acf8ca3557ae3baf33a7e34 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2010,2011 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2010,2011 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
@@ -61,36 +61,6 @@ GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address,
                                 int in_use);
 
 
-/**
- * Function called to notify transport users that a neighbour peer changed its
- * active address.
- *
- * @param cls closure
- * @param address address (never NULL)
- * @param last_validation point in time when last validation was performed
- * @param valid_until point in time how long address is valid
- * @param next_validation point in time when next validation will be performed
- * @param state state of validation notification
- */
-typedef void
-(*GST_ValidationChangedCallback) (void *cls,
-                                  const struct GNUNET_HELLO_Address *address,
-                                  struct GNUNET_TIME_Absolute last_validation,
-                                  struct GNUNET_TIME_Absolute valid_until,
-                                  struct GNUNET_TIME_Absolute next_validation,
-                                  enum GNUNET_TRANSPORT_ValidationState state);
-
-
-/**
- * Iterate over all iteration entries
- *
- * @param cb function to call
- * @param cb_cls closure for @a cb
- */
-void
-GST_validation_iterate (GST_ValidationChangedCallback cb, void *cb_cls);
-
-
 /**
  * We've received a PING.  If appropriate, generate a PONG.
  *
@@ -104,7 +74,7 @@ int
 GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender,
                             const struct GNUNET_MessageHeader *hdr,
                             const struct GNUNET_HELLO_Address *sender_address,
-                            struct Session *session);
+                            struct GNUNET_ATS_Session *session);
 
 
 /**
@@ -131,6 +101,15 @@ int
 GST_validation_handle_hello (const struct GNUNET_MessageHeader *hello);
 
 
+/**
+ * Validate an individual address.
+ *
+ * @param address address we should try to validate
+ */
+void
+GST_validation_handle_address (const struct GNUNET_HELLO_Address *address);
+
+
 /**
  * Function called for each address (or address status change) that
  * the validation module is aware of (for the given target).