aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/atm_tcp.h
blob: 54e92addaddcd63c7637db2e9701fdfd71c9b173 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 
/* atm_tcp.h - Driver-specific declarations of the ATMTCP driver (for use by 
	       driver-specific utilities) */ 
 
/* Written 1997-2000 by Werner Almesberger, EPFL LRC/ICA */ 
 
 
#ifndef LINUX_ATM_TCP_H 
#define LINUX_ATM_TCP_H 
 
#include <linux/atmapi.h> 
#include <linux/atm.h> 
#include <linux/atmioc.h> 
#include <linux/types.h> 
 
 
/* 
 * All values in struct atmtcp_hdr are in network byte order 
 */ 
 
struct atmtcp_hdr { 
	__u16	vpi; 
	__u16	vci; 
	__u32	length;		/* ... of data part */ 
}; 
 
/* 
 * All values in struct atmtcp_command are in host byte order 
 */ 
 
#define ATMTCP_HDR_MAGIC	(~0)	/* this length indicates a command */ 
#define ATMTCP_CTRL_OPEN	1	/* request/reply */ 
#define ATMTCP_CTRL_CLOSE	2	/* request/reply */ 
 
struct atmtcp_control { 
	struct atmtcp_hdr hdr;	/* must be first */ 
	int type;		/* message type; both directions */ 
	atm_kptr_t vcc;		/* both directions */ 
	struct sockaddr_atmpvc addr; /* suggested value from kernel */ 
	struct atm_qos	qos;	/* both directions */ 
	int result;		/* to kernel only */ 
} __ATM_API_ALIGN; 
 
/* 
 * Field usage: 
 * Messge type	dir.	hdr.v?i	type	addr	qos	vcc	result 
 * -----------  ----	------- ----	----	---	---	------ 
 * OPEN		K->D	Y	Y	Y	Y	Y	0 
 * OPEN		D->K	-	Y	Y	Y	Y	Y 
 * CLOSE	K->D	-	-	Y	-	Y	0 
 * CLOSE	D->K	-	-	-	-	Y	Y 
 */ 
 
#define SIOCSIFATMTCP	_IO('a',ATMIOC_ITF)	/* set ATMTCP mode */ 
#define ATMTCP_CREATE	_IO('a',ATMIOC_ITF+14)	/* create persistent ATMTCP 
						   interface */ 
#define ATMTCP_REMOVE	_IO('a',ATMIOC_ITF+15)	/* destroy persistent ATMTCP 
						   interface */ 
 
 
 
#endif /* LINUX_ATM_TCP_H */