fix related to #4909/12605: force desirability of path if path is in use
[oweals/gnunet.git] / src / namestore / namestore.h
index d633f7393ed1c19286d04b7a82bd10aaff359ea5..ec7f2870401b8a78acc83b483c03d7d1d4a0a29b 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2011-2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2011-2013 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.
 */
 
 /**
@@ -52,99 +52,6 @@ struct GNUNET_NAMESTORE_Header
 };
 
 
-/**
- * Lookup a block in the namestore
- */
-struct LookupBlockMessage
-{
-  /**
-   * Type will be #GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_BLOCK
-   */
-  struct GNUNET_NAMESTORE_Header gns_header;
-
-  /**
-   * The query.
-   */
-  struct GNUNET_HashCode query GNUNET_PACKED;
-
-};
-
-
-/**
- * Lookup response
- */
-struct LookupBlockResponseMessage
-{
-  /**
-   * Type will be #GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_BLOCK_RESPONSE
-   */
-  struct GNUNET_NAMESTORE_Header gns_header;
-
-  /**
-   * Expiration time
-   */
-  struct GNUNET_TIME_AbsoluteNBO expire;
-
-  /**
-   * Signature.
-   */
-  struct GNUNET_CRYPTO_EcdsaSignature signature;
-
-  /**
-   * Derived public key.
-   */
-  struct GNUNET_CRYPTO_EcdsaPublicKey derived_key;
-
-  /* followed by encrypted block data */
-};
-
-
-/**
- * Cache a record in the namestore.
- */
-struct BlockCacheMessage
-{
-  /**
-   * Type will be #GNUNET_MESSAGE_TYPE_NAMESTORE_BLOCK_CACHE
-   */
-  struct GNUNET_NAMESTORE_Header gns_header;
-
-  /**
-   * Expiration time
-   */
-  struct GNUNET_TIME_AbsoluteNBO expire;
-
-  /**
-   * Signature.
-   */
-  struct GNUNET_CRYPTO_EcdsaSignature signature;
-
-  /**
-   * Derived public key.
-   */
-  struct GNUNET_CRYPTO_EcdsaPublicKey derived_key;
-
-  /* follwed by encrypted block data */
-};
-
-
-/**
- * Response to a request to cache a block.
- */
-struct BlockCacheResponseMessage
-{
-  /**
-   * Type will be #GNUNET_MESSAGE_TYPE_NAMESTORE_BLOCK_CACHE_RESPONSE
-   */
-  struct GNUNET_NAMESTORE_Header gns_header;
-
-  /**
-   * #GNUNET_OK on success, #GNUNET_SYSERR error
-   */
-  int32_t op_result GNUNET_PACKED;
-};
-
-
 /**
  * Store a record to the namestore (as authority).
  */
@@ -235,6 +142,48 @@ struct LabelLookupMessage
 };
 
 
+/**
+ * Lookup a label
+ */
+struct LabelLookupResponseMessage
+{
+  /**
+   * Type will be #GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP_RESPONSE
+   */
+  struct GNUNET_NAMESTORE_Header gns_header;
+
+  /**
+   * Name length
+   */
+  uint16_t name_len GNUNET_PACKED;
+
+  /**
+   * Length of serialized record data
+   */
+  uint16_t rd_len GNUNET_PACKED;
+
+  /**
+   * Number of records contained
+   */
+  uint16_t rd_count GNUNET_PACKED;
+
+  /**
+   * Was the label found in the database??
+   * GNUNET_YES or GNUNET_NO
+   */
+  uint16_t found GNUNET_PACKED;
+
+  /**
+   * The private key of the authority.
+   */
+  struct GNUNET_CRYPTO_EcdsaPrivateKey private_key;
+
+  /* followed by:
+   * name with length name_len
+   * serialized record data with rd_count records
+   */
+};
+
 
 
 /**