atm_zatm.h 1.6 KB

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