1 #ifndef __UNIX_DIAG_H__ 2 #define __UNIX_DIAG_H__ 3 4 #include <linux/types.h> 5 6 struct 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 23 struct 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 33 enum { 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 UNIX_DIAG_SHUTDOWN, 41 42 UNIX_DIAG_MAX, 43 }; 44 45 struct unix_diag_vfs { 46 __u32 udiag_vfs_ino; 47 __u32 udiag_vfs_dev; 48 }; 49 50 struct unix_diag_rqlen { 51 __u32 udiag_rqueue; 52 __u32 udiag_wqueue; 53 }; 54 55 #endif 56