vm_sockets_diag.h 915 B

123456789101112131415161718192021222324252627282930313233
  1. /* AF_VSOCK sock_diag(7) interface for querying open sockets */
  2. #ifndef _UAPI__VM_SOCKETS_DIAG_H__
  3. #define _UAPI__VM_SOCKETS_DIAG_H__
  4. #include <linux/types.h>
  5. /* Request */
  6. struct vsock_diag_req {
  7. __u8 sdiag_family; /* must be AF_VSOCK */
  8. __u8 sdiag_protocol; /* must be 0 */
  9. __u16 pad; /* must be 0 */
  10. __u32 vdiag_states; /* query bitmap (e.g. 1 << TCP_LISTEN) */
  11. __u32 vdiag_ino; /* must be 0 (reserved) */
  12. __u32 vdiag_show; /* must be 0 (reserved) */
  13. __u32 vdiag_cookie[2];
  14. };
  15. /* Response */
  16. struct vsock_diag_msg {
  17. __u8 vdiag_family; /* AF_VSOCK */
  18. __u8 vdiag_type; /* SOCK_STREAM or SOCK_DGRAM */
  19. __u8 vdiag_state; /* sk_state (e.g. TCP_LISTEN) */
  20. __u8 vdiag_shutdown; /* local RCV_SHUTDOWN | SEND_SHUTDOWN */
  21. __u32 vdiag_src_cid;
  22. __u32 vdiag_src_port;
  23. __u32 vdiag_dst_cid;
  24. __u32 vdiag_dst_port;
  25. __u32 vdiag_ino;
  26. __u32 vdiag_cookie[2];
  27. };
  28. #endif /* _UAPI__VM_SOCKETS_DIAG_H__ */