2 This file is part of GNUnet.
3 (C) 2009 Christian Grothoff (and other contributing authors)
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 3, or (at your
8 option) any later version.
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 General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
22 * @file namestore/namestore.h
23 * @brief common internal definitions for namestore service
24 * @author Matthias Wachs
30 * Collect message types here, move to protocols later
32 #define GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME 431
33 #define GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME_RESPONSE 432
34 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_PUT 433
35 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_PUT_RESPONSE 434
37 GNUNET_NETWORK_STRUCT_BEGIN
39 * Connect to namestore service
45 * Type will be GNUNET_MESSAGE_TYPE_NAMESTORE_START
47 struct GNUNET_MessageHeader header;
50 GNUNET_NETWORK_STRUCT_END
53 GNUNET_NETWORK_STRUCT_BEGIN
55 * Generic namestore message with op id
60 * Type will be GNUNET_MESSAGE_TYPE_NAMESTORE_*
62 struct GNUNET_MessageHeader header;
69 GNUNET_NETWORK_STRUCT_END
73 * Connect to namestore service
75 GNUNET_NETWORK_STRUCT_BEGIN
76 struct LookupNameMessage
79 * Type will be GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME
81 struct GNUNET_MessageHeader header;
91 /* Requested record type */
94 /* Requested record type */
97 GNUNET_NETWORK_STRUCT_END
103 * [struct LookupNameResponseMessage][struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded][char *name][rc_count * struct GNUNET_NAMESTORE_RecordData][struct GNUNET_CRYPTO_RsaSignature]
105 GNUNET_NETWORK_STRUCT_BEGIN
106 struct LookupNameResponseMessage
109 * Type will be GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME_RESPONSE
111 struct GNUNET_MessageHeader header;
114 * Operation ID in NBO
118 struct GNUNET_TIME_AbsoluteNBO expire;
122 uint16_t contains_sig;
124 /* Requested record type */
127 GNUNET_NETWORK_STRUCT_END
131 * Put a record to the namestore
133 * [struct RecordPutMessage][struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded][char *name][rc_count * struct GNUNET_NAMESTORE_RecordData]
135 GNUNET_NETWORK_STRUCT_BEGIN
136 struct RecordPutMessage
139 * Type will be GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_RECORD_PUT
141 struct GNUNET_MessageHeader header;
144 * Operation ID in NBO
148 /* Contenct starts here */
153 /* Requested record type */
156 struct GNUNET_TIME_AbsoluteNBO expire;
158 struct GNUNET_CRYPTO_RsaSignature signature;
160 GNUNET_NETWORK_STRUCT_END
163 * Put a record to the namestore
165 * [struct RecordPutMessage][struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded][char *name][rc_count * struct GNUNET_NAMESTORE_RecordData]
167 GNUNET_NETWORK_STRUCT_BEGIN
168 struct RecordPutResponseMessage
171 * Type will be GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_PUT_RESPONSE
173 struct GNUNET_MessageHeader header;
176 * Operation ID in NBO
180 /* Contenct starts here */
183 * name length: GNUNET_NO (0) on error, GNUNET_OK (1) on success
187 GNUNET_NETWORK_STRUCT_END
191 /* end of namestore.h */