fix zombie-fest
[oweals/gnunet.git] / src / include / gnunet_gnsrecord_lib.h
index 6902c415623fbee0cc495b53c4da575f3439a494..985ae1f7ab0d5489d6ffbc3b00644787bf119990 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet
-     Copyright (C) 2012, 2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2012, 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
  * @file
  * API that can be used to manipulate GNS record data
  *
- * @defgroup gns-record  GNS Record library
+ * @defgroup gnsrecord  GNS Record library
  * Manipulate GNS record data
+ *
+ * @see [Documentation](https://gnunet.org/gns-plugins)
+ *
  * @{
  */
 #ifndef GNUNET_GNSRECORD_LIB_H
@@ -105,6 +108,10 @@ extern "C"
  */
 #define GNUNET_GNSRECORD_TYPE_ID_TOKEN_METADATA 65546
 
+/**
+ * Record type for reverse lookups
+ */
+#define GNUNET_GNSRECORD_TYPE_REVERSE 65548
 
 /**
  * Flags that can be set for a record.
@@ -283,6 +290,27 @@ struct GNUNET_GNSRECORD_BoxRecord
 
 };
 
+/**
+ * Record type used internally to keep track of reverse mappings into a
+ * namespace.
+ * The record contains data related to PKEY delegations from other namespaces to
+ * the namespace the record belongs to.
+ * It is exclusively found under the label ``+''.
+ */
+struct GNUNET_GNSRECORD_ReverseRecord
+{
+  /**
+   * The public key of the namespace the is delegating to our namespace
+   */
+  struct GNUNET_CRYPTO_EcdsaPublicKey pkey;
+
+  /**
+   * The expiration time of the delegation
+   */
+  struct GNUNET_TIME_Absolute expiration;
+
+  /* followed by the name the delegator uses to refer to our namespace */
+};
 
 GNUNET_NETWORK_STRUCT_END