12 #include <netlink-private/netlink.h>
13 #include <netlink/idiag/meminfo.h>
23 struct idiagnl_meminfo *idiagnl_meminfo_alloc(
void)
25 return (
struct idiagnl_meminfo *)
nl_object_alloc(&idiagnl_meminfo_obj_ops);
28 void idiagnl_meminfo_get(
struct idiagnl_meminfo *minfo)
33 void idiagnl_meminfo_put(
struct idiagnl_meminfo *minfo)
42 uint32_t idiagnl_meminfo_get_rmem(
const struct idiagnl_meminfo *minfo)
44 return minfo->idiag_rmem;
47 void idiagnl_meminfo_set_rmem(
struct idiagnl_meminfo *minfo, uint32_t rmem)
49 minfo->idiag_rmem = rmem;
52 uint32_t idiagnl_meminfo_get_wmem(
const struct idiagnl_meminfo *minfo)
54 return minfo->idiag_wmem;
57 void idiagnl_meminfo_set_wmem(
struct idiagnl_meminfo *minfo, uint32_t wmem)
59 minfo->idiag_wmem = wmem;
62 uint32_t idiagnl_meminfo_get_fmem(
const struct idiagnl_meminfo *minfo)
64 return minfo->idiag_fmem;
67 void idiagnl_meminfo_set_fmem(
struct idiagnl_meminfo *minfo, uint32_t fmem)
69 minfo->idiag_fmem = fmem;
72 uint32_t idiagnl_meminfo_get_tmem(
const struct idiagnl_meminfo *minfo)
74 return minfo->idiag_tmem;
77 void idiagnl_meminfo_set_tmem(
struct idiagnl_meminfo *minfo, uint32_t tmem)
79 minfo->idiag_tmem = tmem;
83 static int idiagnl_meminfo_clone(
struct nl_object *_dst,
struct nl_object *_src)
85 struct idiagnl_meminfo *dst = (
struct idiagnl_meminfo *) _dst;
86 struct idiagnl_meminfo *src = (
struct idiagnl_meminfo *) _src;
88 memcpy(dst, src,
sizeof(
struct idiagnl_meminfo));
94 struct nl_object_ops idiagnl_meminfo_obj_ops = {
95 .oo_name =
"idiag/idiag_meminfo",
96 .oo_size =
sizeof(
struct idiagnl_meminfo),
97 .oo_clone = idiagnl_meminfo_clone,