WIP commit of scalar product 2.0. It is unfinished and does not yet pass tests. This...
[oweals/gnunet.git] / src / peerinfo / peerinfo.h
index 607aad4db5a84b0010c8b4abf01d737c71d440d5..c76f9bba3099d543bdd16b367e3019dbeeeac2bc 100644 (file)
@@ -1,10 +1,10 @@
 /*
      This file is part of GNUnet.
-     (C) 2009 Christian Grothoff (and other contributing authors)
+     (C) 2009, 2010 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
  * @brief common internal definitions for peerinfo service
  * @author Christian Grothoff
  */
+
+#ifndef PEERINFO_H
+#define PEERINFO_H
+
 #include "gnunet_crypto_lib.h"
 #include "gnunet_time_lib.h"
 #include "gnunet_peerinfo_service.h"
 
-#define DEBUG_PEERINFO GNUNET_NO
+
+
+GNUNET_NETWORK_STRUCT_BEGIN
 
 /**
- * Add the given peer to the list.  This message
- * is always followed by a verified HELLO message.
+ * Message requesting a listing of peers,
+ * restricted to the specified peer identity.
  */
-struct PeerAddMessage
+struct ListPeerMessage
 {
 
   /**
-   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_ADD
+   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_GET
    */
   struct GNUNET_MessageHeader header;
 
   /**
-   * Always zero.
+   * Include friend only HELLOs and peers in callbacks
    */
-  uint32_t reserved GNUNET_PACKED;
+  uint32_t include_friend_only GNUNET_PACKED;
 
   /**
-   * For which peer do we provide a HELLO message here?
+   * Restrict to peers with this identity (optional
+   * field, check header.size!).
    */
   struct GNUNET_PeerIdentity peer;
 
 };
 
-
 /**
- * Message requesting a listing of all known peers,
- * possibly modified by the specified trust value
- * and restricted to the specified peer identity.
+ * Message requesting a listing of all peers,
+ * restricted to the specified peer identity.
  */
-struct ListPeerMessage
+struct ListAllPeersMessage
 {
-
   /**
-   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_GET
+   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_GET_ALL
    */
   struct GNUNET_MessageHeader header;
 
   /**
-   * How much to change the trust in each returned peer,
-   * in network byte order.
+   * Include friend only HELLOs and peers in callbacks
    */
-  int32_t trust_change GNUNET_PACKED;
-
-  /**
-   * Restrict to peers with this identity (optional
-   * field, check header.size!).
-   */
-  struct GNUNET_PeerIdentity peer;
+  uint32_t include_friend_only GNUNET_PACKED;
 
 };
 
 
 /**
- * Message requesting a listing of all known peers,
- * possibly modified by the specified trust value
- * and restricted to the specified peer identity.
+ * Header for all communications.
  */
-struct ListAllPeersMessage
+struct NotifyMessage
 {
-
   /**
-   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_GET
+   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_NOTIFY
    */
   struct GNUNET_MessageHeader header;
 
   /**
-   * How much to change the trust in each returned peer,
-   * in network byte order.
+   * Include friend only HELLOs and peers in callbacks
    */
-  int32_t trust_change GNUNET_PACKED;
+  uint32_t include_friend_only GNUNET_PACKED;
 
 };
 
@@ -120,10 +113,9 @@ struct InfoMessage
   struct GNUNET_MessageHeader header;
 
   /**
-   * Amount of trust we now have in the peer,
-   * in network byte order.
+   * Always zero.
    */
-  uint32_t trust GNUNET_PACKED;
+  uint32_t reserved GNUNET_PACKED;
 
   /**
    * About which peer are we talking here?
@@ -131,6 +123,8 @@ struct InfoMessage
   struct GNUNET_PeerIdentity peer;
 
 };
+GNUNET_NETWORK_STRUCT_END
 
-
+/*#ifndef PEERINFO_H*/
+#endif
 /* end of peerinfo.h */