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