diff --git a/include/unix_diag.h b/include/unix_diag.h index 09274d6f4..7d8979bcd 100644 --- a/include/unix_diag.h +++ b/include/unix_diag.h @@ -18,6 +18,7 @@ struct unix_diag_req { #define UDIAG_SHOW_PEER 0x00000004 /* show peer socket info */ #define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */ #define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */ +#define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */ struct unix_diag_msg { u8 udiag_family; @@ -29,12 +30,25 @@ struct unix_diag_msg { u32 udiag_cookie[2]; }; +enum { + SK_MEMINFO_RMEM_ALLOC, + SK_MEMINFO_RCVBUF, + SK_MEMINFO_WMEM_ALLOC, + SK_MEMINFO_SNDBUF, + SK_MEMINFO_FWD_ALLOC, + SK_MEMINFO_WMEM_QUEUED, + SK_MEMINFO_OPTMEM, + + SK_MEMINFO_VARS, +}; + enum { UNIX_DIAG_NAME, UNIX_DIAG_VFS, UNIX_DIAG_PEER, UNIX_DIAG_ICONS, UNIX_DIAG_RQLEN, + UNIX_DIAG_MEMINFO, UNIX_DIAG_MAX, }; @@ -44,4 +58,9 @@ struct unix_diag_vfs { u32 udiag_vfs_dev; }; +struct unix_diag_rqlen { + u32 udiag_rqueue; + u32 udiag_wqueue; +}; + #endif /* UNIX_DIAG_H__ */