1*4dc78e53SAndroid Build Coastguard Worker /* SPDX-License-Identifier: LGPL-2.1-only */ 2*4dc78e53SAndroid Build Coastguard Worker /* 3*4dc78e53SAndroid Build Coastguard Worker * Copyright (c) 2013 Sassano Systems LLC <[email protected]> 4*4dc78e53SAndroid Build Coastguard Worker */ 5*4dc78e53SAndroid Build Coastguard Worker 6*4dc78e53SAndroid Build Coastguard Worker #ifndef NETLINK_IDIAGNL_REQ_H_ 7*4dc78e53SAndroid Build Coastguard Worker #define NETLINK_IDIAGNL_REQ_H_ 8*4dc78e53SAndroid Build Coastguard Worker 9*4dc78e53SAndroid Build Coastguard Worker #include <netlink/netlink.h> 10*4dc78e53SAndroid Build Coastguard Worker 11*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 12*4dc78e53SAndroid Build Coastguard Worker extern "C" { 13*4dc78e53SAndroid Build Coastguard Worker #endif /* __cplusplus */ 14*4dc78e53SAndroid Build Coastguard Worker 15*4dc78e53SAndroid Build Coastguard Worker struct idiagnl_req; 16*4dc78e53SAndroid Build Coastguard Worker extern struct nl_object_ops idiagnl_req_obj_ops; 17*4dc78e53SAndroid Build Coastguard Worker 18*4dc78e53SAndroid Build Coastguard Worker extern struct idiagnl_req * idiagnl_req_alloc(void); 19*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_get(struct idiagnl_req *); 20*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_put(struct idiagnl_req *); 21*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_req_get_family(const struct idiagnl_req *); 22*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_set_family(struct idiagnl_req *, 23*4dc78e53SAndroid Build Coastguard Worker uint8_t); 24*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_req_get_ext(const struct idiagnl_req *); 25*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_set_ext(struct idiagnl_req *, uint8_t); 26*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_req_get_ifindex(const struct idiagnl_req *); 27*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_set_ifindex(struct idiagnl_req *, 28*4dc78e53SAndroid Build Coastguard Worker uint32_t); 29*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_req_get_states(const struct idiagnl_req *); 30*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_set_states(struct idiagnl_req *, 31*4dc78e53SAndroid Build Coastguard Worker uint32_t); 32*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_req_get_dbs(const struct idiagnl_req *); 33*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_req_set_dbs(struct idiagnl_req *, uint32_t); 34*4dc78e53SAndroid Build Coastguard Worker extern struct nl_addr * idiagnl_req_get_src(const struct idiagnl_req *); 35*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_req_set_src(struct idiagnl_req *, 36*4dc78e53SAndroid Build Coastguard Worker struct nl_addr *); 37*4dc78e53SAndroid Build Coastguard Worker extern struct nl_addr * idiagnl_req_get_dst(const struct idiagnl_req *); 38*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_req_set_dst(struct idiagnl_req *, 39*4dc78e53SAndroid Build Coastguard Worker struct nl_addr *); 40*4dc78e53SAndroid Build Coastguard Worker 41*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_req_parse(struct nlmsghdr *nlh, 42*4dc78e53SAndroid Build Coastguard Worker struct idiagnl_req **result); 43*4dc78e53SAndroid Build Coastguard Worker 44*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 45*4dc78e53SAndroid Build Coastguard Worker } 46*4dc78e53SAndroid Build Coastguard Worker #endif /* __cplusplus */ 47*4dc78e53SAndroid Build Coastguard Worker 48*4dc78e53SAndroid Build Coastguard Worker #endif /* NETLINK_IDIAGNL_REQ_H_ */ 49