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