1 | /* Copyright (C) 1997-2022 Free Software Foundation, Inc. |
2 | This file is part of the GNU C Library. |
3 | |
4 | The GNU C Library is free software; you can redistribute it and/or |
5 | modify it under the terms of the GNU Lesser General Public |
6 | License as published by the Free Software Foundation; either |
7 | version 2.1 of the License, or (at your option) any later version. |
8 | |
9 | The GNU C Library is distributed in the hope that it will be useful, |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | Lesser General Public License for more details. |
13 | |
14 | You should have received a copy of the GNU Lesser General Public |
15 | License along with the GNU C Library; if not, see |
16 | <https://www.gnu.org/licenses/>. */ |
17 | |
18 | #ifndef _NETROM_NETROM_H |
19 | #define _NETROM_NETROM_H 1 |
20 | |
21 | #include <netax25/ax25.h> |
22 | |
23 | /* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx. */ |
24 | #define SOL_NETROM 259 |
25 | |
26 | /* NetRom control values: */ |
27 | #define NETROM_T1 1 |
28 | #define NETROM_T2 2 |
29 | #define NETROM_N2 3 |
30 | #define NETROM_PACLEN 5 |
31 | #define NETROM_T4 6 |
32 | #define NETROM_IDLE 7 |
33 | |
34 | #define NETROM_KILL 99 |
35 | |
36 | /* Type of route: */ |
37 | #define NETROM_NEIGH 0 |
38 | #define NETROM_NODE 1 |
39 | |
40 | struct nr_route_struct |
41 | { |
42 | int type; |
43 | ax25_address callsign; |
44 | char device[16]; |
45 | unsigned int quality; |
46 | char mnemonic[7]; |
47 | ax25_address neighbour; |
48 | unsigned int obs_count; |
49 | unsigned int ndigis; |
50 | ax25_address digipeaters[AX25_MAX_DIGIS]; |
51 | }; |
52 | |
53 | /* NetRom socket ioctls: */ |
54 | #define SIOCNRGETPARMS (SIOCPROTOPRIVATE+0) |
55 | #define SIOCNRSETPARMS (SIOCPROTOPRIVATE+1) |
56 | #define SIOCNRDECOBS (SIOCPROTOPRIVATE+2) |
57 | #define SIOCNRRTCTL (SIOCPROTOPRIVATE+3) |
58 | #define SIOCNRCTLCON (SIOCPROTOPRIVATE+4) |
59 | |
60 | /* NetRom parameter structure: */ |
61 | struct nr_parms_struct |
62 | { |
63 | unsigned int quality; |
64 | unsigned int obs_count; |
65 | unsigned int ttl; |
66 | unsigned int timeout; |
67 | unsigned int ack_delay; |
68 | unsigned int busy_delay; |
69 | unsigned int tries; |
70 | unsigned int window; |
71 | unsigned int paclen; |
72 | }; |
73 | |
74 | /* NetRom control structure: */ |
75 | struct nr_ctl_struct |
76 | { |
77 | unsigned char index; |
78 | unsigned char id; |
79 | unsigned int cmd; |
80 | unsigned long arg; |
81 | }; |
82 | |
83 | #endif /* netrom/netrom.h */ |
84 | |