xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/atm_tcp.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /* atm_tcp.h - Driver-specific declarations of the ATMTCP driver (for use by
2*53ee8cc1Swenshuai.xi 	       driver-specific utilities) */
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi /* Written 1997-2000 by Werner Almesberger, EPFL LRC/ICA */
5*53ee8cc1Swenshuai.xi 
6*53ee8cc1Swenshuai.xi 
7*53ee8cc1Swenshuai.xi #ifndef LINUX_ATM_TCP_H
8*53ee8cc1Swenshuai.xi #define LINUX_ATM_TCP_H
9*53ee8cc1Swenshuai.xi 
10*53ee8cc1Swenshuai.xi #include <linux/atmapi.h>
11*53ee8cc1Swenshuai.xi #include <linux/atm.h>
12*53ee8cc1Swenshuai.xi #include <linux/atmioc.h>
13*53ee8cc1Swenshuai.xi #include <linux/types.h>
14*53ee8cc1Swenshuai.xi 
15*53ee8cc1Swenshuai.xi 
16*53ee8cc1Swenshuai.xi /*
17*53ee8cc1Swenshuai.xi  * All values in struct atmtcp_hdr are in network byte order
18*53ee8cc1Swenshuai.xi  */
19*53ee8cc1Swenshuai.xi 
20*53ee8cc1Swenshuai.xi struct atmtcp_hdr {
21*53ee8cc1Swenshuai.xi 	__u16	vpi;
22*53ee8cc1Swenshuai.xi 	__u16	vci;
23*53ee8cc1Swenshuai.xi 	__u32	length;		/* ... of data part */
24*53ee8cc1Swenshuai.xi };
25*53ee8cc1Swenshuai.xi 
26*53ee8cc1Swenshuai.xi /*
27*53ee8cc1Swenshuai.xi  * All values in struct atmtcp_command are in host byte order
28*53ee8cc1Swenshuai.xi  */
29*53ee8cc1Swenshuai.xi 
30*53ee8cc1Swenshuai.xi #define ATMTCP_HDR_MAGIC	(~0)	/* this length indicates a command */
31*53ee8cc1Swenshuai.xi #define ATMTCP_CTRL_OPEN	1	/* request/reply */
32*53ee8cc1Swenshuai.xi #define ATMTCP_CTRL_CLOSE	2	/* request/reply */
33*53ee8cc1Swenshuai.xi 
34*53ee8cc1Swenshuai.xi struct atmtcp_control {
35*53ee8cc1Swenshuai.xi 	struct atmtcp_hdr hdr;	/* must be first */
36*53ee8cc1Swenshuai.xi 	int type;		/* message type; both directions */
37*53ee8cc1Swenshuai.xi 	atm_kptr_t vcc;		/* both directions */
38*53ee8cc1Swenshuai.xi 	struct sockaddr_atmpvc addr; /* suggested value from kernel */
39*53ee8cc1Swenshuai.xi 	struct atm_qos	qos;	/* both directions */
40*53ee8cc1Swenshuai.xi 	int result;		/* to kernel only */
41*53ee8cc1Swenshuai.xi } __ATM_API_ALIGN;
42*53ee8cc1Swenshuai.xi 
43*53ee8cc1Swenshuai.xi /*
44*53ee8cc1Swenshuai.xi  * Field usage:
45*53ee8cc1Swenshuai.xi  * Messge type	dir.	hdr.v?i	type	addr	qos	vcc	result
46*53ee8cc1Swenshuai.xi  * -----------  ----	------- ----	----	---	---	------
47*53ee8cc1Swenshuai.xi  * OPEN		K->D	Y	Y	Y	Y	Y	0
48*53ee8cc1Swenshuai.xi  * OPEN		D->K	-	Y	Y	Y	Y	Y
49*53ee8cc1Swenshuai.xi  * CLOSE	K->D	-	-	Y	-	Y	0
50*53ee8cc1Swenshuai.xi  * CLOSE	D->K	-	-	-	-	Y	Y
51*53ee8cc1Swenshuai.xi  */
52*53ee8cc1Swenshuai.xi 
53*53ee8cc1Swenshuai.xi #define SIOCSIFATMTCP	_IO('a',ATMIOC_ITF)	/* set ATMTCP mode */
54*53ee8cc1Swenshuai.xi #define ATMTCP_CREATE	_IO('a',ATMIOC_ITF+14)	/* create persistent ATMTCP
55*53ee8cc1Swenshuai.xi 						   interface */
56*53ee8cc1Swenshuai.xi #define ATMTCP_REMOVE	_IO('a',ATMIOC_ITF+15)	/* destroy persistent ATMTCP
57*53ee8cc1Swenshuai.xi 						   interface */
58*53ee8cc1Swenshuai.xi 
59*53ee8cc1Swenshuai.xi 
60*53ee8cc1Swenshuai.xi 
61*53ee8cc1Swenshuai.xi #endif
62