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 #define ZATM_GETTHIST _IOW('a',ATMIOC_SARPRV+4,struct atmif_sioc) 25 /* get a history of timer 26 differences */ 27 28 struct zatm_pool_info { 29 int ref_count; /* free buffer pool usage counters */ 30 int low_water,high_water; /* refill parameters */ 31 int rqa_count,rqu_count; /* queue condition counters */ 32 int offset,next_off; /* alignment optimizations: offset */ 33 int next_cnt,next_thres; /* repetition counter and threshold */ 34 }; 35 36 struct zatm_pool_req { 37 int pool_num; /* pool number */ 38 struct zatm_pool_info info; /* actual information */ 39 }; 40 41 struct zatm_t_hist { 42 struct timeval real; /* real (wall-clock) time */ 43 struct timeval expected; /* expected real time */ 44 }; 45 46 47 #define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */ 48 #define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */ 49 #define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */ 50 #define ZATM_LAST_POOL ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */ 51 52 #define ZATM_TIMER_HISTORY_SIZE 16 /* number of timer adjustments to 53 record; must be 2^n */ 54 55 #endif 56