ax25.h
001:
002:
003:
004:
005:
006: #ifndef AX25_KERNEL_H
007: #define AX25_KERNEL_H
008:
009: #include <linux/socket.h>
010:
011: #define AX25_MTU 256
012: #define AX25_MAX_DIGIS 8
013:
014: #define AX25_WINDOW 1
015: #define AX25_T1 2
016: #define AX25_N2 3
017: #define AX25_T3 4
018: #define AX25_T2 5
019: #define AX25_BACKOFF 6
020: #define AX25_EXTSEQ 7
021: #define AX25_PIDINCL 8
022: #define AX25_IDLE 9
023: #define AX25_PACLEN 10
024: #define AX25_IAMDIGI 12
025:
026: #define AX25_KILL 99
027:
028: #define SIOCAX25GETUID (SIOCPROTOPRIVATE+0)
029: #define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1)
030: #define SIOCAX25DELUID (SIOCPROTOPRIVATE+2)
031: #define SIOCAX25NOUID (SIOCPROTOPRIVATE+3)
032: #define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7)
033: #define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8)
034: #define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9)
035: #define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10)
036: #define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11)
037: #define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12)
038: #define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13)
039:
040: #define AX25_SET_RT_IPMODE 2
041:
042: #define AX25_NOUID_DEFAULT 0
043: #define AX25_NOUID_BLOCK 1
044:
045: typedef struct {
046: char ax25_call[7];
047: } ax25_address;
048:
049: struct sockaddr_ax25 {
050: __kernel_sa_family_t sax25_family;
051: ax25_address sax25_call;
052: int sax25_ndigis;
053:
054: };
055:
056: #define sax25_uid sax25_ndigis
057:
058: struct full_sockaddr_ax25 {
059: struct sockaddr_ax25 fsa_ax25;
060: ax25_address fsa_digipeater[AX25_MAX_DIGIS];
061: };
062:
063: struct ax25_routes_struct {
064: ax25_address port_addr;
065: ax25_address dest_addr;
066: unsigned char digi_count;
067: ax25_address digi_addr[AX25_MAX_DIGIS];
068: };
069:
070: struct ax25_route_opt_struct {
071: ax25_address port_addr;
072: ax25_address dest_addr;
073: int cmd;
074: int arg;
075: };
076:
077: struct ax25_ctl_struct {
078: ax25_address port_addr;
079: ax25_address source_addr;
080: ax25_address dest_addr;
081: unsigned int cmd;
082: unsigned long arg;
083: unsigned char digi_count;
084: ax25_address digi_addr[AX25_MAX_DIGIS];
085: };
086:
087:
088: struct ax25_info_struct_deprecated {
089: unsigned int n2, n2count;
090: unsigned int t1, t1timer;
091: unsigned int t2, t2timer;
092: unsigned int t3, t3timer;
093: unsigned int idle, idletimer;
094: unsigned int state;
095: unsigned int rcv_q, snd_q;
096: };
097:
098: struct ax25_info_struct {
099: 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
117:
© Andrew Scott 2006 -
2025,
All Rights Reserved