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