gnu_name_system_service_ports.h (2479B)
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 uint16_t 73 GNUNET_GNS_service_port_name_to_number (const char *name) 74 { 75 int i = 0; 76 while (NULL != GNUNET_GNS_ServicePorts[i].name) 77 { 78 if (0 == strcmp (name, GNUNET_GNS_ServicePorts[i].name)) 79 return GNUNET_GNS_ServicePorts[i].port; 80 i++; 81 } 82 return 0; 83 } 84 85 const char* 86 GNUNET_GNS_service_port_number_to_name (uint16_t port); 87 88 const char* 89 GNUNET_GNS_service_port_number_to_name (uint16_t port) 90 { 91 int i = 0; 92 while (NULL != GNUNET_GNS_ServicePorts[i].name) 93 { 94 if (port == GNUNET_GNS_ServicePorts[i].port) 95 return GNUNET_GNS_ServicePorts[i].name; 96 i++; 97 } 98 return NULL; 99 } 100 101 102 #if 0 /* keep Emacsens' auto-indent happy */ 103 { 104 #endif 105 #ifdef __cplusplus 106 } 107 #endif 108 109 #endif