GNUnet  0.19.5
abd.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet
3  Copyright (C) 2012-2013 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
25 #ifndef ABD_H
26 #define ABD_H
27 
28 #include "gnunet_abd_service.h"
29 
31 
36 {
41 
46 
51 
56 
60  uint16_t resolution_algo;
61 
65  uint32_t id GNUNET_PACKED;
66 
67  /* Followed by the zero-terminated attribute */
68 };
69 
70 
75 {
80 
85 
90 
94  uint32_t d_count;
95 
100 
104  uint16_t resolution_algo;
105 
109  uint32_t id GNUNET_PACKED;
110 
111  /* Followed by the zero-terminated attribute and credentials to look up */
112 };
113 
114 
119 {
124 
128  uint32_t id GNUNET_PACKED;
129 
134 
139 
144 
145  /* followed by ad_count GNUNET_ABD_RecordData structs*/
146 };
147 
152 {
157 
161  uint32_t id GNUNET_PACKED;
162 
164 
165  uint32_t size GNUNET_PACKED;
166 };
167 
169 {
174 
179 };
180 
181 
183 {
188 
193 
198 
203 };
204 
205 
207 {
212 
217 
222 
227 
232 
237 
242 
246 };
247 
248 
250 
251 #endif
API to the Credential service.
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
uint32_t issuer_attribute_len
Issuer attributes.
Definition: abd.h:197
uint32_t subject_attribute_len
Subject attributes.
Definition: abd.h:202
struct GNUNET_IDENTITY_PublicKey subject_key
Subject key.
Definition: abd.h:192
struct GNUNET_IDENTITY_PublicKey issuer_key
Issuer key.
Definition: abd.h:187
Message from client to Credential service to collect credentials.
Definition: abd.h:36
struct GNUNET_IDENTITY_PublicKey issuer_key
Trust anchor.
Definition: abd.h:50
uint16_t resolution_algo
Direction of the resolution algo.
Definition: abd.h:60
uint16_t issuer_attribute_len
Length of the issuer attribute.
Definition: abd.h:55
struct GNUNET_IDENTITY_PrivateKey subject_key
Subject public key.
Definition: abd.h:45
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_VERIFY.
Definition: abd.h:40
uint32_t issuer_attribute_len
Issuer subject attribute length.
Definition: abd.h:236
struct GNUNET_CRYPTO_EccSignaturePurpose purpose
Signature meta.
Definition: abd.h:216
struct GNUNET_IDENTITY_PublicKey issuer_key
Public key of the issuer.
Definition: abd.h:221
uint64_t expiration
Expiration time of this credential.
Definition: abd.h:231
uint32_t subject_attribute_len
Issuer attribute length.
Definition: abd.h:241
struct GNUNET_IDENTITY_Signature signature
The signature for this credential by the issuer.
Definition: abd.h:211
struct GNUNET_IDENTITY_PublicKey subject_key
Public key of the subject this credential was issued to.
Definition: abd.h:226
Message from ABD service to client: new results.
Definition: abd.h:152
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_INTERMEDIATE_RESULT.
Definition: abd.h:156
Message from ABD service to client: new results.
Definition: abd.h:119
uint32_t del_found
Indicates if credential has been found at all.
Definition: abd.h:133
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_VERIFY_RESULT.
Definition: abd.h:123
uint32_t d_count
The number of delegations in the response.
Definition: abd.h:138
uint32_t c_count
The number of credentials in the response.
Definition: abd.h:143
struct GNUNET_IDENTITY_PublicKey subject_key
Subject key.
Definition: abd.h:173
uint32_t subject_attribute_len
Subject attributes.
Definition: abd.h:178
header of what an ECC signature signs this must be followed by "size - 8" bytes of the actual signed ...
A private key for an identity as per LSD0001.
An identity key as per LSD0001.
An identity signature as per LSD0001.
Header for all communications.
Message from client to Credential service to verify attributes.
Definition: abd.h:75
struct GNUNET_IDENTITY_PublicKey issuer_key
Trust anchor.
Definition: abd.h:89
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_VERIFY.
Definition: abd.h:79
uint16_t resolution_algo
Direction of the resolution algo.
Definition: abd.h:104
struct GNUNET_IDENTITY_PublicKey subject_key
Subject public key.
Definition: abd.h:84
uint32_t d_count
Number of delegates.
Definition: abd.h:94
uint16_t issuer_attribute_len
Length of the issuer attribute.
Definition: abd.h:99