linux-headers (unknown)

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