libnl 3.5.0

req.h
1 /*
2 * netlink/idiag/req.h Inetdiag Netlink Request
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_REQ_H_
13 #define NETLINK_IDIAGNL_REQ_H_
14
15 #include <netlink/netlink.h>
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif /* __cplusplus */
20
21 struct idiagnl_req;
22 extern struct nl_object_ops idiagnl_req_obj_ops;
23
24 extern struct idiagnl_req * idiagnl_req_alloc(void);
25 extern void idiagnl_req_get(struct idiagnl_req *);
26 extern void idiagnl_req_put(struct idiagnl_req *);
27 extern uint8_t idiagnl_req_get_family(const struct idiagnl_req *);
28 extern void idiagnl_req_set_family(struct idiagnl_req *,
29 uint8_t);
30 extern uint8_t idiagnl_req_get_ext(const struct idiagnl_req *);
31 extern void idiagnl_req_set_ext(struct idiagnl_req *, uint8_t);
32 extern uint32_t idiagnl_req_get_ifindex(const struct idiagnl_req *);
33 extern void idiagnl_req_set_ifindex(struct idiagnl_req *,
34 uint32_t);
35 extern uint32_t idiagnl_req_get_states(const struct idiagnl_req *);
36 extern void idiagnl_req_set_states(struct idiagnl_req *,
37 uint32_t);
38 extern uint32_t idiagnl_req_get_dbs(const struct idiagnl_req *);
39 extern void idiagnl_req_set_dbs(struct idiagnl_req *, uint32_t);
40 extern struct nl_addr * idiagnl_req_get_src(const struct idiagnl_req *);
41 extern int idiagnl_req_set_src(struct idiagnl_req *,
42 struct nl_addr *);
43 extern struct nl_addr * idiagnl_req_get_dst(const struct idiagnl_req *);
44 extern int idiagnl_req_set_dst(struct idiagnl_req *,
45 struct nl_addr *);
46
47 extern int idiagnl_req_parse(struct nlmsghdr *nlh,
48 struct idiagnl_req **result);
49
50 #ifdef __cplusplus
51 }
52 #endif /* __cplusplus */
53
54 #endif /* NETLINK_IDIAGNL_REQ_H_ */