35 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/* AF_VSOCK sock_diag(7) interface for querying open sockets */3 4#ifndef _UAPI__VM_SOCKETS_DIAG_H__5#define _UAPI__VM_SOCKETS_DIAG_H__6 7#include <linux/types.h>8 9/* Request */10struct vsock_diag_req {11 __u8 sdiag_family; /* must be AF_VSOCK */12 __u8 sdiag_protocol; /* must be 0 */13 __u16 pad; /* must be 0 */14 __u32 vdiag_states; /* query bitmap (e.g. 1 << TCP_LISTEN) */15 __u32 vdiag_ino; /* must be 0 (reserved) */16 __u32 vdiag_show; /* must be 0 (reserved) */17 __u32 vdiag_cookie[2];18};19 20/* Response */21struct vsock_diag_msg {22 __u8 vdiag_family; /* AF_VSOCK */23 __u8 vdiag_type; /* SOCK_STREAM or SOCK_DGRAM */24 __u8 vdiag_state; /* sk_state (e.g. TCP_LISTEN) */25 __u8 vdiag_shutdown; /* local RCV_SHUTDOWN | SEND_SHUTDOWN */26 __u32 vdiag_src_cid;27 __u32 vdiag_src_port;28 __u32 vdiag_dst_cid;29 __u32 vdiag_dst_port;30 __u32 vdiag_ino;31 __u32 vdiag_cookie[2];32};33 34#endif /* _UAPI__VM_SOCKETS_DIAG_H__ */35