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_MSG_H_ 7*4dc78e53SAndroid Build Coastguard Worker #define NETLINK_IDIAGNL_MSG_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_msg; 16*4dc78e53SAndroid Build Coastguard Worker 17*4dc78e53SAndroid Build Coastguard Worker /* @deprecated: DO NOT USE this variable. */ 18*4dc78e53SAndroid Build Coastguard Worker extern struct nl_object_ops idiagnl_msg_obj_ops; 19*4dc78e53SAndroid Build Coastguard Worker 20*4dc78e53SAndroid Build Coastguard Worker extern struct idiagnl_msg * idiagnl_msg_alloc(void); 21*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_msg_alloc_cache(struct nl_sock *, int, int, 22*4dc78e53SAndroid Build Coastguard Worker struct nl_cache**); 23*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_get(struct idiagnl_msg *); 24*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_put(struct idiagnl_msg *); 25*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_family(const struct idiagnl_msg *); 26*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_family(struct idiagnl_msg *, uint8_t); 27*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_state(const struct idiagnl_msg *); 28*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_state(struct idiagnl_msg *, uint8_t); 29*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_timer(const struct idiagnl_msg *); 30*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_timer(struct idiagnl_msg *, uint8_t); 31*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_retrans(const struct idiagnl_msg *); 32*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_retrans(struct idiagnl_msg *, uint8_t); 33*4dc78e53SAndroid Build Coastguard Worker extern uint16_t idiagnl_msg_get_sport(struct idiagnl_msg *); 34*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_sport(struct idiagnl_msg *, uint16_t); 35*4dc78e53SAndroid Build Coastguard Worker extern uint16_t idiagnl_msg_get_dport(struct idiagnl_msg *); 36*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_dport(struct idiagnl_msg *, uint16_t); 37*4dc78e53SAndroid Build Coastguard Worker extern struct nl_addr * idiagnl_msg_get_src(const struct idiagnl_msg *); 38*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_msg_set_src(struct idiagnl_msg *, 39*4dc78e53SAndroid Build Coastguard Worker struct nl_addr *); 40*4dc78e53SAndroid Build Coastguard Worker extern struct nl_addr * idiagnl_msg_get_dst(const struct idiagnl_msg *); 41*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_msg_set_dst(struct idiagnl_msg *, 42*4dc78e53SAndroid Build Coastguard Worker struct nl_addr *); 43*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_msg_get_ifindex(const struct idiagnl_msg *); 44*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_ifindex(struct idiagnl_msg *, uint32_t); 45*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_msg_get_expires(const struct idiagnl_msg *); 46*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_expires(struct idiagnl_msg *, uint32_t); 47*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_msg_get_rqueue(const struct idiagnl_msg *); 48*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_rqueue(struct idiagnl_msg *, uint32_t); 49*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_msg_get_wqueue(const struct idiagnl_msg *); 50*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_wqueue(struct idiagnl_msg *, uint32_t); 51*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_msg_get_uid(const struct idiagnl_msg *); 52*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_uid(struct idiagnl_msg *, uint32_t); 53*4dc78e53SAndroid Build Coastguard Worker extern uint32_t idiagnl_msg_get_inode(const struct idiagnl_msg *); 54*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_inode(struct idiagnl_msg *, uint32_t); 55*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_tos(const struct idiagnl_msg *); 56*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_tos(struct idiagnl_msg *, uint8_t); 57*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_tclass(const struct idiagnl_msg *); 58*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_tclass(struct idiagnl_msg *, uint8_t); 59*4dc78e53SAndroid Build Coastguard Worker extern uint8_t idiagnl_msg_get_shutdown(const struct idiagnl_msg *); 60*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_shutdown(struct idiagnl_msg *, uint8_t); 61*4dc78e53SAndroid Build Coastguard Worker extern char * idiagnl_msg_get_cong(const struct idiagnl_msg *); 62*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_cong(struct idiagnl_msg *, char *); 63*4dc78e53SAndroid Build Coastguard Worker extern struct idiagnl_meminfo *idiagnl_msg_get_meminfo(const struct idiagnl_msg *); 64*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_meminfo(struct idiagnl_msg *, 65*4dc78e53SAndroid Build Coastguard Worker struct idiagnl_meminfo *); 66*4dc78e53SAndroid Build Coastguard Worker extern struct idiagnl_vegasinfo *idiagnl_msg_get_vegasinfo(const struct idiagnl_msg *); 67*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_vegasinfo(struct idiagnl_msg *, 68*4dc78e53SAndroid Build Coastguard Worker struct idiagnl_vegasinfo *); 69*4dc78e53SAndroid Build Coastguard Worker extern struct tcp_info idiagnl_msg_get_tcpinfo(const struct idiagnl_msg *); 70*4dc78e53SAndroid Build Coastguard Worker extern void idiagnl_msg_set_tcpinfo(struct idiagnl_msg *, 71*4dc78e53SAndroid Build Coastguard Worker struct tcp_info *); 72*4dc78e53SAndroid Build Coastguard Worker 73*4dc78e53SAndroid Build Coastguard Worker extern int idiagnl_msg_parse(struct nlmsghdr *, 74*4dc78e53SAndroid Build Coastguard Worker struct idiagnl_msg **); 75*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 76*4dc78e53SAndroid Build Coastguard Worker } 77*4dc78e53SAndroid Build Coastguard Worker #endif /* __cplusplus */ 78*4dc78e53SAndroid Build Coastguard Worker 79*4dc78e53SAndroid Build Coastguard Worker #endif /* NETLINK_IDIAGNL_MSG_H_ */ 80