GNUnet  0.11.x
identity.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 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  */
20 
28 #ifndef IDENTITY_H
29 #define IDENTITY_H
30 
31 #include "gnunet_common.h"
32 
33 
35 
36 
43 {
48 
54 
55  /* followed by 0-terminated error message (on error) */
56 };
57 
58 
62 struct LookupMessage
63 {
68  struct GNUNET_MessageHeader header;
69 
70  /* followed by 0-terminated ego name */
71 };
72 
73 
78 {
82  struct GNUNET_MessageHeader header;
83 
88  uint16_t name_len GNUNET_PACKED;
89 
93  uint16_t end_of_list GNUNET_PACKED;
94 
98  struct GNUNET_CRYPTO_EcdsaPrivateKey private_key;
99 
100  /* followed by 0-terminated ego name */
101 };
102 
103 
109 {
113  struct GNUNET_MessageHeader header;
114 
118  uint16_t name_len GNUNET_PACKED;
119 
124 
125 
126  /* followed by 0-terminated service name */
127 };
128 
129 
135 {
139  struct GNUNET_MessageHeader header;
140 
144  uint16_t name_len GNUNET_PACKED;
145 
150 
154  struct GNUNET_CRYPTO_EcdsaPrivateKey private_key;
155 
156  /* followed by 0-terminated service name */
157 };
158 
159 
165 {
169  struct GNUNET_MessageHeader header;
170 
174  uint16_t name_len GNUNET_PACKED;
175 
180 
184  struct GNUNET_CRYPTO_EcdsaPrivateKey private_key;
185 
186  /* followed by 0-terminated identity name */
187 };
188 
189 
195 {
199  struct GNUNET_MessageHeader header;
200 
204  uint16_t old_name_len GNUNET_PACKED;
205 
209  uint16_t new_name_len GNUNET_PACKED;
210 
211  /* followed by 0-terminated old name */
212  /* followed by 0-terminated new name */
213 };
214 
215 
221 {
225  struct GNUNET_MessageHeader header;
226 
230  uint16_t name_len GNUNET_PACKED;
231 
236 
237  /* followed by 0-terminated name */
238 };
239 
241 
246 {
251 
256 
262 
266  char *name;
267 
271  void *ctx;
272 
277 };
278 
279 
280 #endif
Message from client to GNS service to lookup records.
Definition: gns.h:36
Used from service to client as a result to the GET_DEFAULT message, used from client to service to SE...
Definition: identity.h:134
struct GNUNET_CRYPTO_EcdsaPrivateKey pk
Private key from command line option, or NULL.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_IDENTITY_RESULT_CODE.
Definition: identity.h:47
Client requests renaming of an identity.
Definition: identity.h:194
static struct GNUNET_IDENTITY_Handle * id
Handle to identity service.
Private ECC key encoded for transmission.
char * name
Current name associated with this ego.
Definition: identity.h:266
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32.
Handle for an ego.
Definition: identity.h:245
Client requests creation of an identity.
Definition: identity.h:164
A 512-bit hashcode.
Client requests deletion of an identity.
Definition: identity.h:220
void * ctx
Client context associated with this ego.
Definition: identity.h:271
uint32_t result_code
Status code for the last operation, in NBO.
Definition: identity.h:53
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
static struct GNUNET_CRYPTO_EddsaPublicKey pub
Definition: gnunet-scrypt.c:39
Public ECC key (always for Curve25519) encoded in a format suitable for network transmission and ECDS...
bool pub_initialized
Set to true once pub was initialized.
Definition: identity.h:276
Header for all communications.
Client requests knowledge about default identity for a subsystem from identity service.
Definition: identity.h:108
commonly used definitions; globals in this file are exempt from the rule that the module name ("commo...
static unsigned long long reserved
How much space have we currently reserved?
Answer from service to client about last operation; GET_DEFAULT maybe answered with this message on f...
Definition: identity.h:42
Service informs client about status of a pseudonym.
Definition: identity.h:77