Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef __UNIX_DIAG_H__
0003 #define __UNIX_DIAG_H__
0004 
0005 #include <linux/types.h>
0006 
0007 struct unix_diag_req {
0008     __u8    sdiag_family;
0009     __u8    sdiag_protocol;
0010     __u16   pad;
0011     __u32   udiag_states;
0012     __u32   udiag_ino;
0013     __u32   udiag_show;
0014     __u32   udiag_cookie[2];
0015 };
0016 
0017 #define UDIAG_SHOW_NAME     0x00000001  /* show name (not path) */
0018 #define UDIAG_SHOW_VFS      0x00000002  /* show VFS inode info */
0019 #define UDIAG_SHOW_PEER     0x00000004  /* show peer socket info */
0020 #define UDIAG_SHOW_ICONS    0x00000008  /* show pending connections */
0021 #define UDIAG_SHOW_RQLEN    0x00000010  /* show skb receive queue len */
0022 #define UDIAG_SHOW_MEMINFO  0x00000020  /* show memory info of a socket */
0023 #define UDIAG_SHOW_UID      0x00000040  /* show socket's UID */
0024 
0025 struct unix_diag_msg {
0026     __u8    udiag_family;
0027     __u8    udiag_type;
0028     __u8    udiag_state;
0029     __u8    pad;
0030 
0031     __u32   udiag_ino;
0032     __u32   udiag_cookie[2];
0033 };
0034 
0035 enum {
0036     /* UNIX_DIAG_NONE, standard nl API requires this attribute!  */
0037     UNIX_DIAG_NAME,
0038     UNIX_DIAG_VFS,
0039     UNIX_DIAG_PEER,
0040     UNIX_DIAG_ICONS,
0041     UNIX_DIAG_RQLEN,
0042     UNIX_DIAG_MEMINFO,
0043     UNIX_DIAG_SHUTDOWN,
0044     UNIX_DIAG_UID,
0045 
0046     __UNIX_DIAG_MAX,
0047 };
0048 
0049 #define UNIX_DIAG_MAX (__UNIX_DIAG_MAX - 1)
0050 
0051 struct unix_diag_vfs {
0052     __u32   udiag_vfs_ino;
0053     __u32   udiag_vfs_dev;
0054 };
0055 
0056 struct unix_diag_rqlen {
0057     __u32   udiag_rqueue;
0058     __u32   udiag_wqueue;
0059 };
0060 
0061 #endif