]> git.proxmox.com Git - mirror_frr.git/blob - lib/iso.h
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / lib / iso.h
1 /*
2 * ISO Network definition - iso_net.h
3 *
4 * Author: Olivier Dugeon <olivier.dugeon@orange.com>
5 *
6 * Copyright (C) 2023 Orange http://www.orange.com
7 *
8 * This file is part of Free Range Routing (FRR).
9 *
10 * FRR is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the
12 * Free Software Foundation; either version 2, or (at your option) any
13 * later version.
14 *
15 * FRR is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License along
21 * with this program; see the file COPYING; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 */
24
25 #ifndef LIB_ISO_H_
26 #define LIB_ISO_H_
27
28 #include "compiler.h"
29
30 /* len of "xx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xx" + '\0' */
31 #define ISO_ADDR_STRLEN 51
32 #define ISO_ADDR_MIN 8
33 #define ISO_ADDR_SIZE 20
34 struct iso_address {
35 uint8_t addr_len;
36 uint8_t area_addr[ISO_ADDR_SIZE];
37 };
38
39 /* len of "xxxx.xxxx.xxxx.xx-xx" + '\0' */
40 #define ISO_SYSID_STRLEN 21
41
42 #ifdef _FRR_ATTRIBUTE_PRINTFRR
43 #pragma FRR printfrr_ext "%pSY" (uint8_t *)
44 #pragma FRR printfrr_ext "%pPN" (uint8_t *)
45 #pragma FRR printfrr_ext "%pLS" (uint8_t *)
46 #pragma FRR printfrr_ext "%pIS" (struct iso_address *)
47 #endif
48
49 #endif /* LIB_ISO_H_ */