From 5f9f9cae1714eb33e0ee9c824f3d88e6aab8cf63 Mon Sep 17 00:00:00 2001 From: "Schanzenbach, Martin" Date: Fri, 7 Feb 2020 15:51:56 +0100 Subject: consolidate reclaim attribute lib --- src/reclaim/reclaim_attribute.h | 102 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 src/reclaim/reclaim_attribute.h (limited to 'src/reclaim/reclaim_attribute.h') diff --git a/src/reclaim/reclaim_attribute.h b/src/reclaim/reclaim_attribute.h new file mode 100644 index 000000000..e54b210b9 --- /dev/null +++ b/src/reclaim/reclaim_attribute.h @@ -0,0 +1,102 @@ +/* + This file is part of GNUnet. + Copyright (C) 2012-2015 GNUnet e.V. + + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + GNUnet is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + SPDX-License-Identifier: AGPL3.0-or-later + */ +/** + * @author Martin Schanzenbach + * @file reclaim-attribute/reclaim_attribute.h + * @brief GNUnet reclaim identity attributes + * + */ +#ifndef RECLAIM_ATTRIBUTE_H +#define RECLAIM_ATTRIBUTE_H + +#include "gnunet_reclaim_service.h" + +/** + * Serialized claim + */ +struct Attribute +{ + /** + * Attribute type + */ + uint32_t attribute_type; + + /** + * Attribute flag + */ + uint32_t attribute_flag; + + /** + * Attribute ID + */ + struct GNUNET_RECLAIM_Identifier attribute_id; + + /** + * Attestation ID + */ + struct GNUNET_RECLAIM_Identifier attestation_id; + + /** + * Name length + */ + uint32_t name_len; + + /** + * Data size + */ + uint32_t data_size; + + // followed by data_size Attribute value data +}; + +/** + * Serialized attestation claim + */ +struct Attestation +{ + /** + * Attestation type + */ + uint32_t attestation_type; + + /** + * Attestation flag + */ + uint32_t attestation_flag; + + /** + * Attestation ID + */ + struct GNUNET_RECLAIM_Identifier attestation_id; + + /** + * Name length + */ + uint32_t name_len; + + /** + * Data size + */ + uint32_t data_size; + + // followed by data_size Attestation value data +}; + +#endif -- cgit v1.2.3