Blame view

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