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