ax25.h
001: 
002: 
003: 
004: 
005: 
006: 
007: 
008: 
009: 
010: 
011: 
012: 
013: 
014: 
015: 
016: 
017: 
018: 
019: #ifndef _NETAX25_AX25_H
020: #define _NETAX25_AX25_H 1
021: 
022: #include <features.h>
023: #include <bits/sockaddr.h>
024: 
025: 
026: #define SOL_AX25        257
027: 
028: 
029: #define AX25_WINDOW     1
030: #define AX25_T1         2
031: #define AX25_T2         5
032: #define AX25_T3         4
033: #define AX25_N2         3
034: #define AX25_BACKOFF    6
035: #define AX25_EXTSEQ     7
036: #define AX25_PIDINCL    8
037: #define AX25_IDLE       9
038: #define AX25_PACLEN     10
039: #define AX25_IPMAXQUEUE 11
040: #define AX25_IAMDIGI    12
041: #define AX25_KILL       99
042: 
043: 
044: #define SIOCAX25GETUID          (SIOCPROTOPRIVATE)
045: #define SIOCAX25ADDUID          (SIOCPROTOPRIVATE+1)
046: #define SIOCAX25DELUID          (SIOCPROTOPRIVATE+2)
047: #define SIOCAX25NOUID           (SIOCPROTOPRIVATE+3)
048: #define SIOCAX25BPQADDR         (SIOCPROTOPRIVATE+4)
049: #define SIOCAX25GETPARMS        (SIOCPROTOPRIVATE+5)
050: #define SIOCAX25SETPARMS        (SIOCPROTOPRIVATE+6)
051: #define SIOCAX25OPTRT           (SIOCPROTOPRIVATE+7)
052: #define SIOCAX25CTLCON          (SIOCPROTOPRIVATE+8)
053: #define SIOCAX25GETINFO         (SIOCPROTOPRIVATE+9)
054: #define SIOCAX25ADDFWD          (SIOCPROTOPRIVATE+10)
055: #define SIOCAX25DELFWD          (SIOCPROTOPRIVATE+11)
056: 
057: 
058: #define AX25_NOUID_DEFAULT      0
059: #define AX25_NOUID_BLOCK        1
060: #define AX25_SET_RT_IPMODE      2
061: 
062: 
063: #define AX25_DIGI_INBAND        0x01    
064: #define AX25_DIGI_XBAND         0x02    
065: 
066: 
067: #define AX25_MAX_DIGIS 8
068: 
069: 
070: typedef struct
071:   {
072:     char ax25_call[7];          
073:   }
074: ax25_address;
075: 
076: struct sockaddr_ax25
077:   {
078:     sa_family_t sax25_family;
079:     ax25_address sax25_call;
080:     int sax25_ndigis;
081:   };
082: 
083: 
084: 
085: 
086: struct full_sockaddr_ax25
087:   {
088:     struct sockaddr_ax25 fsa_ax25;
089:     ax25_address fsa_digipeater[AX25_MAX_DIGIS];
090:   };
091: #define sax25_uid       sax25_ndigis
092: 
093: struct ax25_routes_struct
094:   {
095:     ax25_address port_addr;
096:     ax25_address dest_addr;
097:     unsigned char digi_count;
098:     ax25_address digi_addr[AX25_MAX_DIGIS];
099:   };
100: 
101: 
102: struct ax25_ctl_struct
103:   {
104:     ax25_address port_addr;
105:     ax25_address source_addr;
106:     ax25_address dest_addr;
107:     unsigned int cmd;
108:     unsigned long arg;
109:     unsigned char digi_count;
110:     ax25_address digi_addr[AX25_MAX_DIGIS];
111:   };
112: 
113: struct ax25_info_struct
114:   {
115:     unsigned int  n2, n2count;
116:     unsigned int t1, t1timer;
117:     unsigned int t2, t2timer;
118:     unsigned int t3, t3timer;
119:     unsigned int idle, idletimer;
120:     unsigned int state;
121:     unsigned int rcv_q, snd_q;
122:   };
123: 
124: struct ax25_fwd_struct
125:   {
126:     ax25_address port_from;
127:     ax25_address port_to;
128:   };
129: 
130: 
131: struct ax25_route_opt_struct
132:   {
133:     ax25_address port_addr;
134:     ax25_address dest_addr;
135:     int cmd;
136:     int arg;
137:   };
138: 
139: 
140: struct ax25_bpqaddr_struct
141:   {
142:     char dev[16];
143:     ax25_address addr;
144:   };
145: 
146: 
147: #define AX25_VALUES_IPDEFMODE   0       
148: #define AX25_VALUES_AXDEFMODE   1       
149: #define AX25_VALUES_NETROM      2       
150: #define AX25_VALUES_TEXT        3       
151: #define AX25_VALUES_BACKOFF     4       
152: #define AX25_VALUES_CONMODE     5       
153: #define AX25_VALUES_WINDOW      6       
154: #define AX25_VALUES_EWINDOW     7       
155: #define AX25_VALUES_T1          8       
156: #define AX25_VALUES_T2          9       
157: #define AX25_VALUES_T3          10      
158: #define AX25_VALUES_N2          11      
159: #define AX25_VALUES_DIGI        12      
160: #define AX25_VALUES_IDLE        13      
161: #define AX25_VALUES_PACLEN      14      
162: #define AX25_VALUES_IPMAXQUEUE  15      
163: #define AX25_MAX_VALUES         20
164: 
165: struct ax25_parms_struct
166:   {
167:     ax25_address port_addr;
168:     unsigned short values[AX25_MAX_VALUES];
169:   };
170: 
171: #endif 
172: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved