diff options
Diffstat (limited to 'src/include/gnu_name_system_service_ports.h')
-rw-r--r-- | src/include/gnu_name_system_service_ports.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/include/gnu_name_system_service_ports.h b/src/include/gnu_name_system_service_ports.h new file mode 100644 index 000000000..040e598b6 --- /dev/null +++ b/src/include/gnu_name_system_service_ports.h | |||
@@ -0,0 +1,104 @@ | |||
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_SERVICE_PORTS_H | ||
21 | #define GNUNET_GNS_SERVICE_PORTS_H | ||
22 | |||
23 | /** | ||
24 | * WARNING: | ||
25 | * This header is generated! | ||
26 | * In order to add GNS service ports, you must register | ||
27 | * them in GANA, and then use the header generation script | ||
28 | * to create an update of this file. You may then replace this | ||
29 | * file with the update. | ||
30 | */ | ||
31 | |||
32 | #ifdef __cplusplus | ||
33 | extern "C" { | ||
34 | #if 0 /* keep Emacsens' auto-indent happy */ | ||
35 | } | ||
36 | #endif | ||
37 | #endif | ||
38 | |||
39 | struct GNUNET_GNS_ServicePort | ||
40 | { | ||
41 | const char *name; | ||
42 | |||
43 | uint16_t port; | ||
44 | }; | ||
45 | |||
46 | struct GNUNET_GNS_ServicePort GNUNET_GNS_ServicePorts[] = { | ||
47 | /** | ||
48 | * Used by Trust Scheme Authorities to publish information about Trust Schemes (LIGHTest) | ||
49 | */ | ||
50 | { | ||
51 | .name = "scheme", | ||
52 | .port = 49152 | ||
53 | }, | ||
54 | |||
55 | /** | ||
56 | * Used Trust Translation Authorities to publish information about Trust Translations (LIGHTest) | ||
57 | */ | ||
58 | { | ||
59 | .name = "translation", | ||
60 | .port = 49153 | ||
61 | }, | ||
62 | |||
63 | { | ||
64 | .name = NULL, | ||
65 | .port = 0 | ||
66 | } | ||
67 | }; | ||
68 | |||
69 | uint16_t | ||
70 | GNUNET_GNS_service_port_name_to_number (const char *name) | ||
71 | { | ||
72 | int i = 0; | ||
73 | while (NULL != GNUNET_GNS_ServicePorts[i].name) | ||
74 | { | ||
75 | if (0 == strcmp (name, GNUNET_GNS_ServicePorts[i].name)) | ||
76 | return GNUNET_GNS_ServicePorts[i].port; | ||
77 | i++; | ||
78 | } | ||
79 | return 0; | ||
80 | } | ||
81 | |||
82 | |||
83 | const char* | ||
84 | GNUNET_GNS_service_port_number_to_name (uint16_t port) | ||
85 | { | ||
86 | int i = 0; | ||
87 | while (NULL != GNUNET_GNS_ServicePorts[i].name) | ||
88 | { | ||
89 | if (port == GNUNET_GNS_ServicePorts[i].port) | ||
90 | return GNUNET_GNS_ServicePorts[i].name; | ||
91 | i++; | ||
92 | } | ||
93 | return NULL; | ||
94 | } | ||
95 | |||
96 | |||
97 | #if 0 /* keep Emacsens' auto-indent happy */ | ||
98 | { | ||
99 | #endif | ||
100 | #ifdef __cplusplus | ||
101 | } | ||
102 | #endif | ||
103 | |||
104 | #endif | ||