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.
 /*
      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
 
      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
      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
  */
  * @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"
 
 #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;
 
   /**
    */
   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;
 
 };
 
    */
   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;
 
   /**
    */
   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;
 
   /**
    */
   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;
 
   /**
   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?
 
   /**
    * About which peer are we talking here?
@@ -131,6 +123,8 @@ struct InfoMessage
   struct GNUNET_PeerIdentity peer;
 
 };
   struct GNUNET_PeerIdentity peer;
 
 };
+GNUNET_NETWORK_STRUCT_END
 
 
-
+/*#ifndef PEERINFO_H*/
+#endif
 /* end of peerinfo.h */
 /* end of peerinfo.h */