xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/rose.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /*
2*53ee8cc1Swenshuai.xi  * These are the public elements of the Linux kernel Rose implementation.
3*53ee8cc1Swenshuai.xi  * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the
4*53ee8cc1Swenshuai.xi  * definition of the ax25_address structure.
5*53ee8cc1Swenshuai.xi  */
6*53ee8cc1Swenshuai.xi 
7*53ee8cc1Swenshuai.xi #ifndef	ROSE_KERNEL_H
8*53ee8cc1Swenshuai.xi #define	ROSE_KERNEL_H
9*53ee8cc1Swenshuai.xi 
10*53ee8cc1Swenshuai.xi #define ROSE_MTU	251
11*53ee8cc1Swenshuai.xi 
12*53ee8cc1Swenshuai.xi #define ROSE_MAX_DIGIS 6
13*53ee8cc1Swenshuai.xi 
14*53ee8cc1Swenshuai.xi #define	ROSE_DEFER	1
15*53ee8cc1Swenshuai.xi #define ROSE_T1		2
16*53ee8cc1Swenshuai.xi #define	ROSE_T2		3
17*53ee8cc1Swenshuai.xi #define	ROSE_T3		4
18*53ee8cc1Swenshuai.xi #define	ROSE_IDLE	5
19*53ee8cc1Swenshuai.xi #define	ROSE_QBITINCL	6
20*53ee8cc1Swenshuai.xi #define	ROSE_HOLDBACK	7
21*53ee8cc1Swenshuai.xi 
22*53ee8cc1Swenshuai.xi #define	SIOCRSGCAUSE		(SIOCPROTOPRIVATE+0)
23*53ee8cc1Swenshuai.xi #define	SIOCRSSCAUSE		(SIOCPROTOPRIVATE+1)
24*53ee8cc1Swenshuai.xi #define	SIOCRSL2CALL		(SIOCPROTOPRIVATE+2)
25*53ee8cc1Swenshuai.xi #define	SIOCRSSL2CALL		(SIOCPROTOPRIVATE+2)
26*53ee8cc1Swenshuai.xi #define	SIOCRSACCEPT		(SIOCPROTOPRIVATE+3)
27*53ee8cc1Swenshuai.xi #define	SIOCRSCLRRT		(SIOCPROTOPRIVATE+4)
28*53ee8cc1Swenshuai.xi #define	SIOCRSGL2CALL		(SIOCPROTOPRIVATE+5)
29*53ee8cc1Swenshuai.xi #define	SIOCRSGFACILITIES	(SIOCPROTOPRIVATE+6)
30*53ee8cc1Swenshuai.xi 
31*53ee8cc1Swenshuai.xi #define	ROSE_DTE_ORIGINATED	0x00
32*53ee8cc1Swenshuai.xi #define	ROSE_NUMBER_BUSY	0x01
33*53ee8cc1Swenshuai.xi #define	ROSE_INVALID_FACILITY	0x03
34*53ee8cc1Swenshuai.xi #define	ROSE_NETWORK_CONGESTION	0x05
35*53ee8cc1Swenshuai.xi #define	ROSE_OUT_OF_ORDER	0x09
36*53ee8cc1Swenshuai.xi #define	ROSE_ACCESS_BARRED	0x0B
37*53ee8cc1Swenshuai.xi #define	ROSE_NOT_OBTAINABLE	0x0D
38*53ee8cc1Swenshuai.xi #define	ROSE_REMOTE_PROCEDURE	0x11
39*53ee8cc1Swenshuai.xi #define	ROSE_LOCAL_PROCEDURE	0x13
40*53ee8cc1Swenshuai.xi #define	ROSE_SHIP_ABSENT	0x39
41*53ee8cc1Swenshuai.xi 
42*53ee8cc1Swenshuai.xi typedef struct {
43*53ee8cc1Swenshuai.xi 	char		rose_addr[5];
44*53ee8cc1Swenshuai.xi } rose_address;
45*53ee8cc1Swenshuai.xi 
46*53ee8cc1Swenshuai.xi struct sockaddr_rose {
47*53ee8cc1Swenshuai.xi 	sa_family_t	srose_family;
48*53ee8cc1Swenshuai.xi 	rose_address	srose_addr;
49*53ee8cc1Swenshuai.xi 	ax25_address	srose_call;
50*53ee8cc1Swenshuai.xi 	int		srose_ndigis;
51*53ee8cc1Swenshuai.xi 	ax25_address	srose_digi;
52*53ee8cc1Swenshuai.xi };
53*53ee8cc1Swenshuai.xi 
54*53ee8cc1Swenshuai.xi struct full_sockaddr_rose {
55*53ee8cc1Swenshuai.xi 	sa_family_t	srose_family;
56*53ee8cc1Swenshuai.xi 	rose_address	srose_addr;
57*53ee8cc1Swenshuai.xi 	ax25_address	srose_call;
58*53ee8cc1Swenshuai.xi 	unsigned int	srose_ndigis;
59*53ee8cc1Swenshuai.xi 	ax25_address	srose_digis[ROSE_MAX_DIGIS];
60*53ee8cc1Swenshuai.xi };
61*53ee8cc1Swenshuai.xi 
62*53ee8cc1Swenshuai.xi struct rose_route_struct {
63*53ee8cc1Swenshuai.xi 	rose_address	address;
64*53ee8cc1Swenshuai.xi 	unsigned short	mask;
65*53ee8cc1Swenshuai.xi 	ax25_address	neighbour;
66*53ee8cc1Swenshuai.xi 	char		device[16];
67*53ee8cc1Swenshuai.xi 	unsigned char	ndigis;
68*53ee8cc1Swenshuai.xi 	ax25_address	digipeaters[AX25_MAX_DIGIS];
69*53ee8cc1Swenshuai.xi };
70*53ee8cc1Swenshuai.xi 
71*53ee8cc1Swenshuai.xi struct rose_cause_struct {
72*53ee8cc1Swenshuai.xi 	unsigned char	cause;
73*53ee8cc1Swenshuai.xi 	unsigned char	diagnostic;
74*53ee8cc1Swenshuai.xi };
75*53ee8cc1Swenshuai.xi 
76*53ee8cc1Swenshuai.xi struct rose_facilities_struct {
77*53ee8cc1Swenshuai.xi 	rose_address	source_addr,   dest_addr;
78*53ee8cc1Swenshuai.xi 	ax25_address	source_call,   dest_call;
79*53ee8cc1Swenshuai.xi 	unsigned char	source_ndigis, dest_ndigis;
80*53ee8cc1Swenshuai.xi 	ax25_address	source_digis[ROSE_MAX_DIGIS];
81*53ee8cc1Swenshuai.xi 	ax25_address	dest_digis[ROSE_MAX_DIGIS];
82*53ee8cc1Swenshuai.xi 	unsigned int	rand;
83*53ee8cc1Swenshuai.xi 	rose_address	fail_addr;
84*53ee8cc1Swenshuai.xi 	ax25_address	fail_call;
85*53ee8cc1Swenshuai.xi };
86*53ee8cc1Swenshuai.xi 
87*53ee8cc1Swenshuai.xi #endif
88