client_manager: add API for async operations
[oweals/gnunet.git] / src / include / gnunet_gnsrecord_lib.h
index 5efaa64b7ca9a1923514210ab375ef3b0441178f..b5c548e5034ba2ffc9ce103ae65987d6ecab4dc1 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet
-     (C) 2012, 2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2012, 2013 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
@@ -104,10 +104,10 @@ enum GNUNET_GNSRECORD_Flags
   GNUNET_GNSRECORD_RF_PRIVATE = 2,
 
   /**
-   * This record was added automatically by the system
-   * and is pending user confimation.
+   * This flag is currently unused; former RF_PENDING flag
+   *
+   * GNUNET_GNSRECORD_RF_UNUSED = 4,
    */
-  GNUNET_GNSRECORD_RF_PENDING = 4,
 
   /**
    * This expiration time of the record is a relative
@@ -173,9 +173,31 @@ struct GNUNET_GNSRECORD_Data
 };
 
 
-
 GNUNET_NETWORK_STRUCT_BEGIN
 
+/**
+ * Data stored in a PLACE record.
+ */
+struct GNUNET_GNSRECORD_PlaceData
+{
+  /**
+   * Public key of the place.
+   */
+  struct GNUNET_CRYPTO_EddsaPublicKey place_key;
+
+  /**
+   * Peer identity of the origin.
+   */
+  struct GNUNET_PeerIdentity origin;
+
+  /**
+   * Number of relays that follow.
+   */
+  uint32_t relay_count GNUNET_PACKED;
+
+  /* Followed by struct GNUNET_PeerIdentity relays[relay_count] */
+};
+
 
 /**
  * Information we have in an encrypted block with record data (i.e. in the DHT).