atm_zatm.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

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