linux/include/uapi/linux/atmdev.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/* atmdev.h - ATM device driver declarations and various related items */
 
/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
 

#ifndef _UAPILINUX_ATMDEV_H
#define _UAPILINUX_ATMDEV_H


#include <linux/atmapi.h>
#include <linux/atm.h>
#include <linux/atmioc.h>


#define ESI_LEN

#define ATM_OC3_PCR
			/* OC3 link rate:  155520000 bps
			   SONET overhead: /270*260 (9 section, 1 path)
			   bits per cell:  /8/53
			   max cell rate:  353207.547 cells/sec */
#define ATM_25_PCR
			/* 25 Mbps ATM cell rate (59111) */
#define ATM_OC12_PCR
			/* OC12 link rate: 622080000 bps
			   SONET overhead: /1080*1040
			   bits per cell:  /8/53
			   max cell rate:  1412830.188 cells/sec */
#define ATM_DS3_PCR
			/* DS3: 12 cells in a 125 usec time slot */


#define __AAL_STAT_ITEMS

struct atm_aal_stats {};


struct atm_dev_stats {} __ATM_API_ALIGN;


#define ATM_GETLINKRATE
					/* get link rate */
#define ATM_GETNAMES
					/* get interface names (numbers) */
#define ATM_GETTYPE
					/* get interface type name */
#define ATM_GETESI
					/* get interface ESI */
#define ATM_GETADDR
					/* get itf's local ATM addr. list */
#define ATM_RSTADDR
					/* reset itf's ATM address list */
#define ATM_ADDADDR
					/* add a local ATM address */
#define ATM_DELADDR
					/* remove a local ATM address */
#define ATM_GETCIRANGE
					/* get connection identifier range */
#define ATM_SETCIRANGE
					/* set connection identifier range */
#define ATM_SETESI
					/* set interface ESI */
#define ATM_SETESIF
					/* force interface ESI */
#define ATM_ADDLECSADDR
					/* register a LECS address */
#define ATM_DELLECSADDR
					/* unregister a LECS address */
#define ATM_GETLECSADDR
					/* retrieve LECS address(es) */

#define ATM_GETSTAT
					/* get AAL layer statistics */
#define ATM_GETSTATZ
					/* get AAL layer statistics and zero */
#define ATM_GETLOOP
					/* get loopback mode */
#define ATM_SETLOOP
					/* set loopback mode */
#define ATM_QUERYLOOP
					/* query supported loopback modes */
#define ATM_SETSC
					/* enable or disable single-copy */
#define ATM_SETBACKEND
					/* set backend handler */
#define ATM_NEWBACKENDIF
					/* use backend to make new if */
#define ATM_ADDPARTY
 					/* add party to p2mp call */
#define ATM_DROPPARTY
					/* drop party from p2mp call */

/*
 * These are backend handkers that can be set via the ATM_SETBACKEND call
 * above.  In the future we may support dynamic loading of these - for now,
 * they're just being used to share the ATMIOC_BACKEND ioctls
 */
#define ATM_BACKEND_RAW	
#define ATM_BACKEND_PPP
#define ATM_BACKEND_BR2684

/* for ATM_GETTYPE */
#define ATM_ITFTYP_LEN

/*
 * Loopback modes for ATM_{PHY,SAR}_{GET,SET}LOOP
 */

/* Point of loopback				CPU-->SAR-->PHY-->line--> ... */
#define __ATM_LM_NONE
#define __ATM_LM_AAL
#define __ATM_LM_ATM
/* RESERVED		4	loop back on PHY side  ---'		      */
#define __ATM_LM_PHY
#define __ATM_LM_ANALOG

/* Direction of loopback */
#define __ATM_LM_MKLOC(n)
#define __ATM_LM_MKRMT(n)

#define __ATM_LM_XTLOC(n)
#define __ATM_LM_XTRMT(n)

#define ATM_LM_NONE

#define ATM_LM_LOC_AAL
#define ATM_LM_LOC_ATM
#define ATM_LM_LOC_PHY
#define ATM_LM_LOC_ANALOG

#define ATM_LM_RMT_AAL
#define ATM_LM_RMT_ATM
#define ATM_LM_RMT_PHY
#define ATM_LM_RMT_ANALOG

/*
 * Note: ATM_LM_LOC_* and ATM_LM_RMT_* can be combined, provided that
 * __ATM_LM_XTLOC(x) <= __ATM_LM_XTRMT(x)
 */


struct atm_iobuf {};

/* for ATM_GETCIRANGE / ATM_SETCIRANGE */

#define ATM_CI_MAX
 
struct atm_cirange {};

/* for ATM_SETSC; actually taken from the ATM_VF number space */

#define ATM_SC_RX
#define ATM_SC_TX

#define ATM_BACKLOG_DEFAULT

/* MF: change_qos (Modify) flags */

#define ATM_MF_IMMED
#define ATM_MF_INC_RSV
#define ATM_MF_INC_SHP
#define ATM_MF_DEC_RSV
#define ATM_MF_DEC_SHP
#define ATM_MF_BWD

#define ATM_MF_SET

/*
 * ATM_VS_* are used to express VC state in a human-friendly way.
 */

#define ATM_VS_IDLE
#define ATM_VS_CONNECTED
#define ATM_VS_CLOSING
#define ATM_VS_LISTEN
#define ATM_VS_INUSE
#define ATM_VS_BOUND

#define ATM_VS2TXT_MAP

#define ATM_VF2TXT_MAP



#endif /* _UAPILINUX_ATMDEV_H */