• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_ */
51