unix_diag.h 1.2 KB

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