libnl  3.2.24-rc1
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 #ifdef __cplusplus
47 }
48 #endif /* __cplusplus */
49 
50 #endif /* NETLINK_IDIAGNL_REQ_H_ */