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 28struct 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 36struct zatm_pool_req { 37 int pool_num; /* pool number */ 38 struct zatm_pool_info info; /* actual information */ 39}; 40 41struct 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