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 e618487578677c04b2e37140c4c54a2ada0f1ca3..c76f9bba3099d543bdd16b367e3019dbeeeac2bc 100644 (file)
  * @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"
 
 
+
 GNUNET_NETWORK_STRUCT_BEGIN
 
 /**
- * Message requesting a listing of all known peers,
- * possibly restricted to the specified peer identity.
+ * Message requesting a listing of peers,
+ * restricted to the specified peer identity.
  */
 struct ListPeerMessage
 {
 
   /**
-   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_GET or
-   * GNUNET_MESSAGE_TYPE_PEERINFO_GET_ALL.
+   * 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;
 
   /**
    * Restrict to peers with this identity (optional
@@ -56,6 +60,42 @@ struct ListPeerMessage
 
 };
 
+/**
+ * Message requesting a listing of all peers,
+ * restricted to the specified peer identity.
+ */
+struct ListAllPeersMessage
+{
+  /**
+   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_GET_ALL
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Include friend only HELLOs and peers in callbacks
+   */
+  uint32_t include_friend_only GNUNET_PACKED;
+
+};
+
+
+/**
+ * Header for all communications.
+ */
+struct NotifyMessage
+{
+  /**
+   * Type will be GNUNET_MESSAGE_TYPE_PEERINFO_NOTIFY
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Include friend only HELLOs and peers in callbacks
+   */
+  uint32_t include_friend_only GNUNET_PACKED;
+
+};
+
 
 /**
  * Message used to inform the client about
@@ -85,4 +125,6 @@ struct InfoMessage
 };
 GNUNET_NETWORK_STRUCT_END
 
+/*#ifndef PEERINFO_H*/
+#endif
 /* end of peerinfo.h */