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

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* atmsvc.h - ATM signaling kernel-demon interface definitions */
  2.  
  3. /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
  4.  
  5. #ifndef _LINUX_ATMSVC_H
  6. #define _LINUX_ATMSVC_H
  7. #include <linux/atmapi.h>
  8. #include <linux/atm.h>
  9. #include <linux/atmioc.h>
  10. #define ATMSIGD_CTRL _IO('a',ATMIOC_SPECIAL)
  11. /* become ATM signaling demon control socket */
  12. enum atmsvc_msg_type { as_catch_null,as_bind,as_connect,as_accept,as_reject,
  13.   as_listen,as_okay,as_error,as_indicate,as_close,as_itf_notify,
  14.   as_modify,as_identify,as_terminate };
  15. struct atmsvc_msg {
  16. enum atmsvc_msg_type type;
  17. atm_kptr_t vcc;
  18. atm_kptr_t listen_vcc; /* indicate */
  19. int reply; /* for okay and close:    */
  20. /*   < 0: error before active    */
  21. /*        (sigd has discarded ctx) */
  22. /*   ==0: success    */
  23.         /*   > 0: error when active (still */
  24. /*        need to close)    */
  25. struct sockaddr_atmpvc pvc; /* indicate, okay (connect) */
  26. struct sockaddr_atmsvc local; /* local SVC address */
  27. struct atm_qos qos; /* QOS parameters */
  28. struct atm_sap sap; /* SAP */
  29. unsigned int session; /* for p2pm */
  30. struct sockaddr_atmsvc svc; /* SVC address */
  31. } __ATM_API_ALIGN;
  32. /*
  33.  * Message contents: see ftp://icaftp.epfl.ch/pub/linux/atm/docs/isp-*.tar.gz
  34.  */
  35. /*
  36.  * Some policy stuff for atmsigd and for net/atm/svc.c. Both have to agree on
  37.  * what PCR is used to request bandwidth from the device driver. net/atm/svc.c
  38.  * tries to do better than that, but only if there's no routing decision (i.e.
  39.  * if signaling only uses one ATM interface).
  40.  */
  41. #define SELECT_TOP_PCR(tp) ((tp).pcr ? (tp).pcr : 
  42.   (tp).max_pcr && (tp).max_pcr != ATM_MAX_PCR ? (tp).max_pcr : 
  43.   (tp).min_pcr ? (tp).min_pcr : ATM_MAX_PCR)
  44. #endif