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