
When we test idiag on 3.4 kernel, we always get ERANGE. This is because libnl has its own copy for SK_MEMINFO_*, which is actually newer than 3.4, where SK_MEMINFO_VARS is larger than kernel's. We add a copy from latest kernel, so on older kernel libnl should still compile. Note, for kernel < 3.6 we don't have SK_MEMINFO_BACKLOG, we have to relax the minlen. 'sock_diag.h' comes from v3.17 kernel sources (bfe01a5ba2490f299e1d2d5508cbbbadd897bbe9), file 'include/uapi/linux/sock_diag.h'. Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Thomas Haller <thaller@redhat.com>
26 lines
427 B
C
26 lines
427 B
C
#ifndef _UAPI__SOCK_DIAG_H__
|
|
#define _UAPI__SOCK_DIAG_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define SOCK_DIAG_BY_FAMILY 20
|
|
|
|
struct sock_diag_req {
|
|
__u8 sdiag_family;
|
|
__u8 sdiag_protocol;
|
|
};
|
|
|
|
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_BACKLOG,
|
|
|
|
SK_MEMINFO_VARS,
|
|
};
|
|
|
|
#endif /* _UAPI__SOCK_DIAG_H__ */
|