X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_gnsrecord_lib.h;h=985ae1f7ab0d5489d6ffbc3b00644787bf119990;hb=7a7ec54a324da4820202582126795a8ac6bbe94d;hp=a2c97a826afa4c3ba9467565f6037e94d2b80f18;hpb=f27338992f0a5915ee974faea05f764c2df6f584;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_gnsrecord_lib.h b/src/include/gnunet_gnsrecord_lib.h index a2c97a826..985ae1f7a 100644 --- a/src/include/gnunet_gnsrecord_lib.h +++ b/src/include/gnunet_gnsrecord_lib.h @@ -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 @@ -19,9 +19,17 @@ */ /** - * @file include/gnunet_gnsrecord_lib.h - * @brief API that can be used to manipulate GNS record data * @author Christian Grothoff + * + * @file + * API that can be used to manipulate GNS record data + * + * @defgroup gnsrecord GNS Record library + * Manipulate GNS record data + * + * @see [Documentation](https://gnunet.org/gns-plugins) + * + * @{ */ #ifndef GNUNET_GNSRECORD_LIB_H #define GNUNET_GNSRECORD_LIB_H @@ -85,6 +93,25 @@ extern "C" */ #define GNUNET_GNSRECORD_TYPE_PHONE 65543 +/** + * Record type for identity attributes (of IDENTITY). + */ +#define GNUNET_GNSRECORD_TYPE_ID_ATTR 65544 + +/** + * Record type for an identity token (of IDENTITY-TOKEN). + */ +#define GNUNET_GNSRECORD_TYPE_ID_TOKEN 65545 + +/** + * Record type for the private metadata of an identity token (of IDENTITY-TOKEN). + */ +#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. @@ -183,7 +210,7 @@ struct GNUNET_GNSRECORD_PlaceData /** * Public key of the place. */ - struct GNUNET_CRYPTO_EddsaPublicKey place_key; + struct GNUNET_CRYPTO_EddsaPublicKey place_pub_key; /** * Peer identity of the origin. @@ -263,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 @@ -544,7 +592,6 @@ GNUNET_GNSRECORD_record_get_expiration_time (unsigned int rd_count, const struct GNUNET_GNSRECORD_Data *rd); - #if 0 /* keep Emacsens' auto-indent happy */ { #endif @@ -553,3 +600,5 @@ GNUNET_GNSRECORD_record_get_expiration_time (unsigned int rd_count, #endif #endif + +/** @} */ /* end of group */