Home | History | Annotate | Download | only in idiag
      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 (at) 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