Subversion Repositories shark

Rev

Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed

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