diff options
Diffstat (limited to 'include/uapi/linux/ax25.h')
| -rw-r--r-- | include/uapi/linux/ax25.h | 116 | 
1 files changed, 116 insertions, 0 deletions
diff --git a/include/uapi/linux/ax25.h b/include/uapi/linux/ax25.h new file mode 100644 index 00000000000..74c89a41732 --- /dev/null +++ b/include/uapi/linux/ax25.h @@ -0,0 +1,116 @@ +/* + * These are the public elements of the Linux kernel AX.25 code. A similar + * file netrom.h exists for the NET/ROM protocol. + */ + +#ifndef	AX25_KERNEL_H +#define	AX25_KERNEL_H + +#include <linux/socket.h> + +#define AX25_MTU	256 +#define AX25_MAX_DIGIS  8 + +#define AX25_WINDOW	1 +#define AX25_T1		2 +#define AX25_N2		3 +#define AX25_T3		4 +#define AX25_T2		5 +#define	AX25_BACKOFF	6 +#define	AX25_EXTSEQ	7 +#define	AX25_PIDINCL	8 +#define AX25_IDLE	9 +#define AX25_PACLEN	10 +#define AX25_IAMDIGI	12 + +#define AX25_KILL	99 + +#define SIOCAX25GETUID		(SIOCPROTOPRIVATE+0) +#define SIOCAX25ADDUID		(SIOCPROTOPRIVATE+1) +#define SIOCAX25DELUID		(SIOCPROTOPRIVATE+2) +#define SIOCAX25NOUID		(SIOCPROTOPRIVATE+3) +#define SIOCAX25OPTRT		(SIOCPROTOPRIVATE+7) +#define SIOCAX25CTLCON		(SIOCPROTOPRIVATE+8) +#define SIOCAX25GETINFOOLD	(SIOCPROTOPRIVATE+9) +#define SIOCAX25ADDFWD		(SIOCPROTOPRIVATE+10) +#define SIOCAX25DELFWD		(SIOCPROTOPRIVATE+11) +#define SIOCAX25DEVCTL          (SIOCPROTOPRIVATE+12) +#define SIOCAX25GETINFO         (SIOCPROTOPRIVATE+13) + +#define AX25_SET_RT_IPMODE	2 + +#define AX25_NOUID_DEFAULT	0 +#define AX25_NOUID_BLOCK	1 + +typedef struct { +	char		ax25_call[7];	/* 6 call + SSID (shifted ascii!) */ +} ax25_address; + +struct sockaddr_ax25 { +	__kernel_sa_family_t sax25_family; +	ax25_address	sax25_call; +	int		sax25_ndigis; +	/* Digipeater ax25_address sets follow */ +}; + +#define sax25_uid	sax25_ndigis + +struct full_sockaddr_ax25 { +	struct sockaddr_ax25 fsa_ax25; +	ax25_address	fsa_digipeater[AX25_MAX_DIGIS]; +}; + +struct ax25_routes_struct { +	ax25_address	port_addr; +	ax25_address	dest_addr; +	unsigned char	digi_count; +	ax25_address	digi_addr[AX25_MAX_DIGIS]; +}; + +struct ax25_route_opt_struct { +	ax25_address	port_addr; +	ax25_address	dest_addr; +	int		cmd; +	int		arg; +}; + +struct ax25_ctl_struct { +        ax25_address            port_addr; +        ax25_address            source_addr; +        ax25_address            dest_addr; +        unsigned int            cmd; +        unsigned long           arg; +        unsigned char           digi_count; +        ax25_address            digi_addr[AX25_MAX_DIGIS]; +}; + +/* this will go away. Please do not export to user land */ +struct ax25_info_struct_deprecated { +	unsigned int	n2, n2count; +	unsigned int	t1, t1timer; +	unsigned int	t2, t2timer; +	unsigned int	t3, t3timer; +	unsigned int	idle, idletimer; +	unsigned int	state; +	unsigned int	rcv_q, snd_q; +}; + +struct ax25_info_struct { +	unsigned int	n2, n2count; +	unsigned int	t1, t1timer; +	unsigned int	t2, t2timer; +	unsigned int	t3, t3timer; +	unsigned int	idle, idletimer; +	unsigned int	state; +	unsigned int	rcv_q, snd_q; +	unsigned int	vs, vr, va, vs_max; +	unsigned int	paclen; +	unsigned int	window; +}; + +struct ax25_fwd_struct { +	ax25_address	port_from; +	ax25_address	port_to; +}; + +#endif  |