2 This file is part of GNUnet
3 Copyright (C) 2012-2013 GNUnet e.V.
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU 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.
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.
17 * @brief IPC messages between GNS API and GNS service
18 * @author Martin Schanzenbach
23 #include "gnunet_gns_service.h"
26 * Name of the GNS TLD.
28 #define GNUNET_GNS_TLD "gnu"
31 * Name of the zone key TLD.
33 #define GNUNET_GNS_TLD_ZKEY "zkey"
36 * TLD name used to indicate relative names.
38 #define GNUNET_GNS_TLD_PLUS "+"
41 GNUNET_NETWORK_STRUCT_BEGIN
44 * Message from client to GNS service to lookup records.
49 * Header of type #GNUNET_MESSAGE_TYPE_GNS_LOOKUP
51 struct GNUNET_MessageHeader header;
54 * Unique identifier for this request (for key collisions).
56 uint32_t id GNUNET_PACKED;
59 * Zone that is to be used for lookup
61 struct GNUNET_CRYPTO_EcdsaPublicKey zone;
64 * Local options for where to look for results
65 * (an `enum GNUNET_GNS_LocalOptions` in NBO).
67 int16_t options GNUNET_PACKED;
72 int16_t reserved GNUNET_PACKED;
75 * the type of record to look up
77 int32_t type GNUNET_PACKED;
79 /* Followed by the zero-terminated name to look up */
84 * Message from GNS service to client: new results.
86 struct LookupResultMessage
89 * Header of type #GNUNET_MESSAGE_TYPE_GNS_LOOKUP_RESULT
91 struct GNUNET_MessageHeader header;
94 * Unique identifier for this request (for key collisions).
96 uint32_t id GNUNET_PACKED;
99 * The number of records contained in response
101 uint32_t rd_count GNUNET_PACKED;
103 /* followed by rd_count GNUNET_GNSRECORD_Data structs*/
108 GNUNET_NETWORK_STRUCT_END