xref: /linux/include/uapi/linux/atm_zatm.h (revision 5f8f8574c7f5585b09a9623f0f13462e4eb67b4d)
1*c2e75634SJakub Kicinski /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*c2e75634SJakub Kicinski /* atm_zatm.h - Driver-specific declarations of the ZATM driver (for use by
3*c2e75634SJakub Kicinski 		driver-specific utilities) */
4*c2e75634SJakub Kicinski 
5*c2e75634SJakub Kicinski /* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
6*c2e75634SJakub Kicinski 
7*c2e75634SJakub Kicinski 
8*c2e75634SJakub Kicinski #ifndef LINUX_ATM_ZATM_H
9*c2e75634SJakub Kicinski #define LINUX_ATM_ZATM_H
10*c2e75634SJakub Kicinski 
11*c2e75634SJakub Kicinski /*
12*c2e75634SJakub Kicinski  * Note: non-kernel programs including this file must also include
13*c2e75634SJakub Kicinski  * sys/types.h for struct timeval
14*c2e75634SJakub Kicinski  */
15*c2e75634SJakub Kicinski 
16*c2e75634SJakub Kicinski #include <linux/atmapi.h>
17*c2e75634SJakub Kicinski #include <linux/atmioc.h>
18*c2e75634SJakub Kicinski 
19*c2e75634SJakub Kicinski #define ZATM_GETPOOL	_IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc)
20*c2e75634SJakub Kicinski 						/* get pool statistics */
21*c2e75634SJakub Kicinski #define ZATM_GETPOOLZ	_IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
22*c2e75634SJakub Kicinski 						/* get statistics and zero */
23*c2e75634SJakub Kicinski #define ZATM_SETPOOL	_IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc)
24*c2e75634SJakub Kicinski 						/* set pool parameters */
25*c2e75634SJakub Kicinski 
26*c2e75634SJakub Kicinski struct zatm_pool_info {
27*c2e75634SJakub Kicinski 	int ref_count;			/* free buffer pool usage counters */
28*c2e75634SJakub Kicinski 	int low_water,high_water;	/* refill parameters */
29*c2e75634SJakub Kicinski 	int rqa_count,rqu_count;	/* queue condition counters */
30*c2e75634SJakub Kicinski 	int offset,next_off;		/* alignment optimizations: offset */
31*c2e75634SJakub Kicinski 	int next_cnt,next_thres;	/* repetition counter and threshold */
32*c2e75634SJakub Kicinski };
33*c2e75634SJakub Kicinski 
34*c2e75634SJakub Kicinski struct zatm_pool_req {
35*c2e75634SJakub Kicinski 	int pool_num;			/* pool number */
36*c2e75634SJakub Kicinski 	struct zatm_pool_info info;	/* actual information */
37*c2e75634SJakub Kicinski };
38*c2e75634SJakub Kicinski 
39*c2e75634SJakub Kicinski #define ZATM_OAM_POOL		0	/* free buffer pool for OAM cells */
40*c2e75634SJakub Kicinski #define ZATM_AAL0_POOL		1	/* free buffer pool for AAL0 cells */
41*c2e75634SJakub Kicinski #define ZATM_AAL5_POOL_BASE	2	/* first AAL5 free buffer pool */
42*c2e75634SJakub Kicinski #define ZATM_LAST_POOL	ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */
43*c2e75634SJakub Kicinski 
44*c2e75634SJakub Kicinski #define ZATM_TIMER_HISTORY_SIZE	16	/* number of timer adjustments to
45*c2e75634SJakub Kicinski 					   record; must be 2^n */
46*c2e75634SJakub Kicinski 
47*c2e75634SJakub Kicinski #endif
48