0001
0002
0003
0004
0005
0006
0007 #ifndef AX25_KERNEL_H
0008 #define AX25_KERNEL_H
0009
0010 #include <linux/socket.h>
0011
0012 #define AX25_MTU 256
0013 #define AX25_MAX_DIGIS 8
0014
0015 #define AX25_WINDOW 1
0016 #define AX25_T1 2
0017 #define AX25_N2 3
0018 #define AX25_T3 4
0019 #define AX25_T2 5
0020 #define AX25_BACKOFF 6
0021 #define AX25_EXTSEQ 7
0022 #define AX25_PIDINCL 8
0023 #define AX25_IDLE 9
0024 #define AX25_PACLEN 10
0025 #define AX25_IAMDIGI 12
0026
0027 #define AX25_KILL 99
0028
0029 #define SIOCAX25GETUID (SIOCPROTOPRIVATE+0)
0030 #define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1)
0031 #define SIOCAX25DELUID (SIOCPROTOPRIVATE+2)
0032 #define SIOCAX25NOUID (SIOCPROTOPRIVATE+3)
0033 #define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7)
0034 #define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8)
0035 #define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9)
0036 #define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10)
0037 #define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11)
0038 #define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12)
0039 #define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13)
0040
0041 #define AX25_SET_RT_IPMODE 2
0042
0043 #define AX25_NOUID_DEFAULT 0
0044 #define AX25_NOUID_BLOCK 1
0045
0046 typedef struct {
0047 char ax25_call[7];
0048 } ax25_address;
0049
0050 struct sockaddr_ax25 {
0051 __kernel_sa_family_t sax25_family;
0052 ax25_address sax25_call;
0053 int sax25_ndigis;
0054
0055 };
0056
0057 #define sax25_uid sax25_ndigis
0058
0059 struct full_sockaddr_ax25 {
0060 struct sockaddr_ax25 fsa_ax25;
0061 ax25_address fsa_digipeater[AX25_MAX_DIGIS];
0062 };
0063
0064 struct ax25_routes_struct {
0065 ax25_address port_addr;
0066 ax25_address dest_addr;
0067 unsigned char digi_count;
0068 ax25_address digi_addr[AX25_MAX_DIGIS];
0069 };
0070
0071 struct ax25_route_opt_struct {
0072 ax25_address port_addr;
0073 ax25_address dest_addr;
0074 int cmd;
0075 int arg;
0076 };
0077
0078 struct ax25_ctl_struct {
0079 ax25_address port_addr;
0080 ax25_address source_addr;
0081 ax25_address dest_addr;
0082 unsigned int cmd;
0083 unsigned long arg;
0084 unsigned char digi_count;
0085 ax25_address digi_addr[AX25_MAX_DIGIS];
0086 };
0087
0088
0089 struct ax25_info_struct_deprecated {
0090 unsigned int n2, n2count;
0091 unsigned int t1, t1timer;
0092 unsigned int t2, t2timer;
0093 unsigned int t3, t3timer;
0094 unsigned int idle, idletimer;
0095 unsigned int state;
0096 unsigned int rcv_q, snd_q;
0097 };
0098
0099 struct ax25_info_struct {
0100 unsigned int n2, n2count;
0101 unsigned int t1, t1timer;
0102 unsigned int t2, t2timer;
0103 unsigned int t3, t3timer;
0104 unsigned int idle, idletimer;
0105 unsigned int state;
0106 unsigned int rcv_q, snd_q;
0107 unsigned int vs, vr, va, vs_max;
0108 unsigned int paclen;
0109 unsigned int window;
0110 };
0111
0112 struct ax25_fwd_struct {
0113 ax25_address port_from;
0114 ax25_address port_to;
0115 };
0116
0117 #endif