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 25struct 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 33struct zatm_pool_req { 34 int pool_num; /* pool number */ 35 struct zatm_pool_info info; /* actual information */ 36}; 37 38struct 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