| #ifndef _FIXUP_NETLINK_ATTR_H |
| #define _FIXUP_NETLINK_ATTR_H |
| |
| #include <linux/netlink.h> |
| |
| #include <netdb.h> |
| #include <stdint.h> |
| #include <stdlib.h> |
| |
| struct nlmsghdr; |
| struct nl_msg; |
| struct nl_sock; |
| struct nlattr; |
| struct nl_cb; |
| struct sockaddr_nl; |
| struct nlmsgerr; |
| struct nl_addr; |
| struct nl_cache; |
| struct nl_object; |
| |
| typedef int (*nl_recvmsg_msg_cb_t)(struct nl_msg *msg, void *arg); |
| typedef int (*nl_recvmsg_err_cb_t)(struct sockaddr_nl *nla, |
| struct nlmsgerr *nlerr, void *arg); |
| |
| struct nla_policy { |
| int type; |
| }; |
| |
| enum { |
| NLA_U8, |
| NLA_U32, |
| NLA_U64, |
| NL_AUTO_PORT, |
| NL_AUTO_SEQ, |
| NL_STOP, |
| NL_OK, |
| NL_CB_DEFAULT, |
| NL_CB_VALID, |
| NL_CB_CUSTOM, |
| NLE_PARSE_ERR, |
| NLE_NOMEM, |
| }; |
| |
| static inline struct nl_sock *nl_socket_alloc(void) |
| { |
| return NULL; |
| } |
| |
| static inline int nl_connect(struct nl_sock *sk, int kind) |
| { |
| return -1; |
| } |
| |
| static inline void nl_socket_free(struct nl_sock *sk) |
| { |
| } |
| |
| static inline void nl_socket_disable_auto_ack(struct nl_sock *sk) |
| { |
| } |
| |
| static inline void nl_socket_disable_msg_peek(struct nl_sock *sk) |
| { |
| } |
| |
| static inline void nl_socket_disable_seq_check(struct nl_sock *sk) |
| { |
| } |
| |
| static inline int nl_socket_get_fd(struct nl_sock *sk) |
| { |
| return -1; |
| } |
| |
| static inline int nl_socket_add_membership(struct nl_sock *sk, int group) |
| { |
| return -1; |
| } |
| |
| static inline struct nlmsghdr *nlmsg_put(struct nl_msg *msg, uint32_t pid, |
| uint32_t seq, int type, int payload, |
| int flags) |
| { |
| return NULL; |
| } |
| |
| static inline struct nl_msg *nlmsg_alloc(void) |
| { |
| return NULL; |
| } |
| |
| static inline struct nl_msg *nlmsg_alloc_simple(int nlmsgtype, int flags) |
| |
| { |
| return NULL; |
| } |
| |
| static inline void nlmsg_free(struct nl_msg *msg) |
| { |
| } |
| |
| static inline int nl_send_auto(struct nl_sock *sk, struct nl_msg *msg) |
| { |
| return -1; |
| } |
| |
| static inline struct nlmsghdr *nlmsg_hdr(struct nl_msg *msg) |
| { |
| return NULL; |
| } |
| |
| static inline int nlmsg_parse(struct nlmsghdr *nlh, int hdrlen, |
| struct nlattr *tb[], int maxtype, |
| struct nla_policy *policy) |
| { |
| return -1; |
| } |
| |
| static inline int nl_msg_parse(struct nl_msg *msg, |
| void (*cb)(struct nl_object *, void *), |
| void *arg) |
| { |
| return -1; |
| } |
| |
| static inline int nlmsg_append(struct nl_msg *n, void *data, size_t len, |
| int pad) |
| { |
| return -1; |
| } |
| |
| static inline int nl_send_simple(struct nl_sock *sk, int type, int flags, |
| void *buf, size_t size) |
| { |
| return -1; |
| } |
| |
| static inline int nl_recvmsgs(struct nl_sock *sk, struct nl_cb *cb) |
| { |
| return -1; |
| } |
| |
| static inline int nl_recvmsgs_default(struct nl_sock *sk) |
| { |
| return -1; |
| } |
| |
| static inline struct nl_cb *nl_cb_alloc(int kind) |
| { |
| return NULL; |
| } |
| |
| static inline int nl_cb_set(struct nl_cb *cb, int type, int kind, |
| nl_recvmsg_msg_cb_t func, void *arg) |
| { |
| return -1; |
| } |
| |
| static inline int nl_socket_modify_err_cb(struct nl_sock *sk, int kind, |
| nl_recvmsg_err_cb_t func, void *arg) |
| { |
| return -1; |
| } |
| |
| static inline int nl_socket_modify_cb(struct nl_sock *sk, int type, int kind, |
| nl_recvmsg_msg_cb_t func, void *arg) |
| { |
| return -1; |
| } |
| |
| #define NLA_PUT_U32(msg, attrtype, value) ({ goto nla_put_failure; }) |
| #define NLA_PUT_STRING(msg, attrtype, value) ({ goto nla_put_failure; }) |
| #define NLA_PUT_ADDR(msg, attrtype, value) ({ goto nla_put_failure; }) |
| |
| static inline const char *nla_get_string(struct nlattr *tb) |
| { |
| return NULL; |
| } |
| |
| static inline uint8_t nla_get_u8(struct nlattr *tb) |
| { |
| return 0; |
| } |
| |
| static inline uint32_t nla_get_u32(struct nlattr *tb) |
| { |
| return 0; |
| } |
| |
| static inline uint64_t nla_get_u64(struct nlattr *tb) |
| { |
| return 0; |
| } |
| |
| static inline struct nl_addr *nl_addr_clone(struct nl_addr *src) |
| { |
| return NULL; |
| } |
| |
| static inline int nl_addr_info(struct nl_addr *addr, struct addrinfo **result) |
| { |
| return -1; |
| } |
| |
| static inline struct nl_addr *nl_addr_build(int family, void *buf, size_t size) |
| { |
| return NULL; |
| } |
| |
| static inline unsigned int nl_addr_get_len(struct nl_addr *addr) |
| { |
| return 0; |
| } |
| |
| static inline void *nl_addr_get_binary_addr(struct nl_addr *addr) |
| { |
| return NULL; |
| } |
| |
| static inline int nl_addr_get_family(struct nl_addr *addr) |
| { |
| return -1; |
| } |
| |
| static inline int nl_addr_get_prefixlen(struct nl_addr *addr) |
| { |
| return -1; |
| } |
| |
| static inline int nl_addr_fill_sockaddr(struct nl_addr *addr, |
| struct sockaddr *sa, socklen_t *salen) |
| { |
| return -1; |
| } |
| |
| static inline void nl_addr_put(struct nl_addr *addr) |
| { |
| } |
| |
| static inline void nl_addr_set_prefixlen(struct nl_addr *addr, int prefixlen) |
| { |
| } |
| |
| static inline void nl_cache_mngt_unprovide(struct nl_cache *cache) |
| { |
| } |
| |
| static inline void nl_cache_free(struct nl_cache *cache) |
| { |
| } |
| |
| static inline int nl_object_match_filter(struct nl_object *obj, |
| struct nl_object *filter) |
| { |
| return -1; |
| } |
| |
| static inline int nl_cache_refill(struct nl_sock *sk, struct nl_cache *cache) |
| { |
| return -1; |
| } |
| |
| static inline void nl_cache_mngt_provide(struct nl_cache *cache) |
| { |
| } |
| |
| #endif |