GNUnet 0.21.1
gnu_name_system_protocols.h
Go to the documentation of this file.
1/*
2 This file is part of GNUnet
3 Copyright (C) 2012-2023 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#ifndef GNUNET_GNS_PROTOCOLS_H
21#define GNUNET_GNS_PROTOCOLS_H
22
32#ifdef __cplusplus
33extern "C" {
34#if 0 /* keep Emacsens' auto-indent happy */
35}
36#endif
37#endif
38
40{
41 const char *name;
42
43 uint16_t number;
44};
45
50 {
51 .name = "trust",
52 .number = 49152
53 },
54
55 {
56 .name = NULL,
57 .number = 0
58 }
59};
60
61uint16_t
63{
64 int i = 0;
65 while (NULL != GNUNET_GNS_Protocols[i].name)
66 {
67 if (0 == strcmp (name, GNUNET_GNS_Protocols[i].name))
69 i++;
70 }
71 return 0;
72}
73
74
75const char*
77{
78 int i = 0;
79 while (NULL != GNUNET_GNS_Protocols[i].name)
80 {
82 return GNUNET_GNS_Protocols[i].name;
83 i++;
84 }
85 return NULL;
86}
87
88
89#if 0 /* keep Emacsens' auto-indent happy */
90{
91#endif
92#ifdef __cplusplus
93}
94#endif
95
96#endif
static char * name
Name (label) of the records to list.
uint32_t number
struct GNUNET_GNS_Protocol GNUNET_GNS_Protocols[]
const char * GNUNET_GNS_protocol_number_to_name(uint16_t number)
uint16_t GNUNET_GNS_protocol_name_to_number(const char *name)
WARNING: This header is generated! In order to add GNS service ports, you must register them in GANA,...