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