unix_diag.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef __UNIX_DIAG_H__
  2. #define __UNIX_DIAG_H__
  3. #include <linux/types.h>
  4. struct unix_diag_req {
  5. __u8 sdiag_family;
  6. __u8 sdiag_protocol;
  7. __u16 pad;
  8. __u32 udiag_states;
  9. __u32 udiag_ino;
  10. __u32 udiag_show;
  11. __u32 udiag_cookie[2];
  12. };
  13. #define UDIAG_SHOW_NAME 0x00000001 /* show name (not path) */
  14. #define UDIAG_SHOW_VFS 0x00000002 /* show VFS inode info */
  15. #define UDIAG_SHOW_PEER 0x00000004 /* show peer socket info */
  16. #define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */
  17. #define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */
  18. #define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */
  19. struct unix_diag_msg {
  20. __u8 udiag_family;
  21. __u8 udiag_type;
  22. __u8 udiag_state;
  23. __u8 pad;
  24. __u32 udiag_ino;
  25. __u32 udiag_cookie[2];
  26. };
  27. enum {
  28. /* UNIX_DIAG_NONE, standard nl API requires this attribute! */
  29. UNIX_DIAG_NAME,
  30. UNIX_DIAG_VFS,
  31. UNIX_DIAG_PEER,
  32. UNIX_DIAG_ICONS,
  33. UNIX_DIAG_RQLEN,
  34. UNIX_DIAG_MEMINFO,
  35. UNIX_DIAG_SHUTDOWN,
  36. __UNIX_DIAG_MAX,
  37. };
  38. #define UNIX_DIAG_MAX (__UNIX_DIAG_MAX - 1)
  39. struct unix_diag_vfs {
  40. __u32 udiag_vfs_ino;
  41. __u32 udiag_vfs_dev;
  42. };
  43. struct unix_diag_rqlen {
  44. __u32 udiag_rqueue;
  45. __u32 udiag_wqueue;
  46. };
  47. #endif