162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 262306a36Sopenharmony_ci#ifndef __UNIX_DIAG_H__ 362306a36Sopenharmony_ci#define __UNIX_DIAG_H__ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/types.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistruct unix_diag_req { 862306a36Sopenharmony_ci __u8 sdiag_family; 962306a36Sopenharmony_ci __u8 sdiag_protocol; 1062306a36Sopenharmony_ci __u16 pad; 1162306a36Sopenharmony_ci __u32 udiag_states; 1262306a36Sopenharmony_ci __u32 udiag_ino; 1362306a36Sopenharmony_ci __u32 udiag_show; 1462306a36Sopenharmony_ci __u32 udiag_cookie[2]; 1562306a36Sopenharmony_ci}; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define UDIAG_SHOW_NAME 0x00000001 /* show name (not path) */ 1862306a36Sopenharmony_ci#define UDIAG_SHOW_VFS 0x00000002 /* show VFS inode info */ 1962306a36Sopenharmony_ci#define UDIAG_SHOW_PEER 0x00000004 /* show peer socket info */ 2062306a36Sopenharmony_ci#define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */ 2162306a36Sopenharmony_ci#define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */ 2262306a36Sopenharmony_ci#define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */ 2362306a36Sopenharmony_ci#define UDIAG_SHOW_UID 0x00000040 /* show socket's UID */ 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_cistruct unix_diag_msg { 2662306a36Sopenharmony_ci __u8 udiag_family; 2762306a36Sopenharmony_ci __u8 udiag_type; 2862306a36Sopenharmony_ci __u8 udiag_state; 2962306a36Sopenharmony_ci __u8 pad; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci __u32 udiag_ino; 3262306a36Sopenharmony_ci __u32 udiag_cookie[2]; 3362306a36Sopenharmony_ci}; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_cienum { 3662306a36Sopenharmony_ci /* UNIX_DIAG_NONE, standard nl API requires this attribute! */ 3762306a36Sopenharmony_ci UNIX_DIAG_NAME, 3862306a36Sopenharmony_ci UNIX_DIAG_VFS, 3962306a36Sopenharmony_ci UNIX_DIAG_PEER, 4062306a36Sopenharmony_ci UNIX_DIAG_ICONS, 4162306a36Sopenharmony_ci UNIX_DIAG_RQLEN, 4262306a36Sopenharmony_ci UNIX_DIAG_MEMINFO, 4362306a36Sopenharmony_ci UNIX_DIAG_SHUTDOWN, 4462306a36Sopenharmony_ci UNIX_DIAG_UID, 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci __UNIX_DIAG_MAX, 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci#define UNIX_DIAG_MAX (__UNIX_DIAG_MAX - 1) 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_cistruct unix_diag_vfs { 5262306a36Sopenharmony_ci __u32 udiag_vfs_ino; 5362306a36Sopenharmony_ci __u32 udiag_vfs_dev; 5462306a36Sopenharmony_ci}; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_cistruct unix_diag_rqlen { 5762306a36Sopenharmony_ci __u32 udiag_rqueue; 5862306a36Sopenharmony_ci __u32 udiag_wqueue; 5962306a36Sopenharmony_ci}; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci#endif 62