1/*
2 * netlink/idiag/meminfo.h		Inetdiag Netlink Memory Info
3 *
4 *	This library is free software; you can redistribute it and/or
5 *	modify it under the terms of the GNU Lesser General Public
6 *	License as published by the Free Software Foundation version 2.1
7 *	of the License.
8 *
9 * Copyright (c) 2013 Sassano Systems LLC <joe@sassanosystems.com>
10 */
11
12#ifndef NETLINK_IDIAGNL_MEMINFO_H_
13#define NETLINK_IDIAGNL_MEMINFO_H_
14
15#include <netlink/netlink.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif /* __cplusplus */
20
21extern struct nl_object_ops	idiagnl_meminfo_obj_ops;
22
23extern struct idiagnl_meminfo *idiagnl_meminfo_alloc(void);
24extern void idiagnl_meminfo_get(struct idiagnl_meminfo *);
25extern void idiagnl_meminfo_put(struct idiagnl_meminfo *);
26
27extern uint32_t	  idiagnl_meminfo_get_rmem(const struct idiagnl_meminfo *);
28extern uint32_t   idiagnl_meminfo_get_wmem(const struct idiagnl_meminfo *);
29extern uint32_t   idiagnl_meminfo_get_fmem(const struct idiagnl_meminfo *);
30extern uint32_t   idiagnl_meminfo_get_tmem(const struct idiagnl_meminfo *);
31
32extern void	  idiagnl_meminfo_set_rmem(struct idiagnl_meminfo *, uint32_t);
33extern void	  idiagnl_meminfo_set_wmem(struct idiagnl_meminfo *, uint32_t);
34extern void	  idiagnl_meminfo_set_fmem(struct idiagnl_meminfo *, uint32_t);
35extern void	  idiagnl_meminfo_set_tmem(struct idiagnl_meminfo *, uint32_t);
36
37#ifdef __cplusplus
38}
39#endif /* __cplusplus */
40
41#endif /* NETLINK_IDIAGNL_MEMINFO_H_ */
42