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