ax25.h (2824B)
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2/* 3 * These are the public elements of the Linux kernel AX.25 code. A similar 4 * file netrom.h exists for the NET/ROM protocol. 5 */ 6 7#ifndef AX25_KERNEL_H 8#define AX25_KERNEL_H 9 10#include <linux/socket.h> 11 12#define AX25_MTU 256 13#define AX25_MAX_DIGIS 8 14 15#define AX25_WINDOW 1 16#define AX25_T1 2 17#define AX25_N2 3 18#define AX25_T3 4 19#define AX25_T2 5 20#define AX25_BACKOFF 6 21#define AX25_EXTSEQ 7 22#define AX25_PIDINCL 8 23#define AX25_IDLE 9 24#define AX25_PACLEN 10 25#define AX25_IAMDIGI 12 26 27#define AX25_KILL 99 28 29#define SIOCAX25GETUID (SIOCPROTOPRIVATE+0) 30#define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1) 31#define SIOCAX25DELUID (SIOCPROTOPRIVATE+2) 32#define SIOCAX25NOUID (SIOCPROTOPRIVATE+3) 33#define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7) 34#define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8) 35#define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9) 36#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10) 37#define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11) 38#define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12) 39#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13) 40 41#define AX25_SET_RT_IPMODE 2 42 43#define AX25_NOUID_DEFAULT 0 44#define AX25_NOUID_BLOCK 1 45 46typedef struct { 47 char ax25_call[7]; /* 6 call + SSID (shifted ascii!) */ 48} ax25_address; 49 50struct sockaddr_ax25 { 51 __kernel_sa_family_t sax25_family; 52 ax25_address sax25_call; 53 int sax25_ndigis; 54 /* Digipeater ax25_address sets follow */ 55}; 56 57#define sax25_uid sax25_ndigis 58 59struct full_sockaddr_ax25 { 60 struct sockaddr_ax25 fsa_ax25; 61 ax25_address fsa_digipeater[AX25_MAX_DIGIS]; 62}; 63 64struct ax25_routes_struct { 65 ax25_address port_addr; 66 ax25_address dest_addr; 67 unsigned char digi_count; 68 ax25_address digi_addr[AX25_MAX_DIGIS]; 69}; 70 71struct ax25_route_opt_struct { 72 ax25_address port_addr; 73 ax25_address dest_addr; 74 int cmd; 75 int arg; 76}; 77 78struct ax25_ctl_struct { 79 ax25_address port_addr; 80 ax25_address source_addr; 81 ax25_address dest_addr; 82 unsigned int cmd; 83 unsigned long arg; 84 unsigned char digi_count; 85 ax25_address digi_addr[AX25_MAX_DIGIS]; 86}; 87 88/* this will go away. Please do not export to user land */ 89struct ax25_info_struct_deprecated { 90 unsigned int n2, n2count; 91 unsigned int t1, t1timer; 92 unsigned int t2, t2timer; 93 unsigned int t3, t3timer; 94 unsigned int idle, idletimer; 95 unsigned int state; 96 unsigned int rcv_q, snd_q; 97}; 98 99struct ax25_info_struct { 100 unsigned int n2, n2count; 101 unsigned int t1, t1timer; 102 unsigned int t2, t2timer; 103 unsigned int t3, t3timer; 104 unsigned int idle, idletimer; 105 unsigned int state; 106 unsigned int rcv_q, snd_q; 107 unsigned int vs, vr, va, vs_max; 108 unsigned int paclen; 109 unsigned int window; 110}; 111 112struct ax25_fwd_struct { 113 ax25_address port_from; 114 ax25_address port_to; 115}; 116 117#endif