| /* |
| * Copyright (c) 2018 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** @file |
| * @brief Private functions for native posix ethernet driver. |
| */ |
| |
| #ifndef ZEPHYR_DRIVERS_ETHERNET_ETH_NATIVE_POSIX_PRIV_H_ |
| #define ZEPHYR_DRIVERS_ETHERNET_ETH_NATIVE_POSIX_PRIV_H_ |
| |
| #define ETH_NATIVE_POSIX_DRV_NAME CONFIG_ETH_NATIVE_POSIX_DRV_NAME |
| #define ETH_NATIVE_POSIX_DEV_NAME CONFIG_ETH_NATIVE_POSIX_DEV_NAME |
| |
| #if defined(CONFIG_ETH_NATIVE_POSIX_STARTUP_AUTOMATIC) |
| #define ETH_NATIVE_POSIX_SETUP_SCRIPT CONFIG_ETH_NATIVE_POSIX_SETUP_SCRIPT |
| #define ETH_NATIVE_POSIX_STARTUP_SCRIPT CONFIG_ETH_NATIVE_POSIX_STARTUP_SCRIPT |
| #define ETH_NATIVE_POSIX_STARTUP_SCRIPT_USER \ |
| CONFIG_ETH_NATIVE_POSIX_STARTUP_SCRIPT_USER |
| #else |
| #define ETH_NATIVE_POSIX_SETUP_SCRIPT "" |
| #define ETH_NATIVE_POSIX_STARTUP_SCRIPT "" |
| #define ETH_NATIVE_POSIX_STARTUP_SCRIPT_USER "" |
| #endif |
| |
| int eth_iface_create(const char *if_name, bool tun_only); |
| int eth_iface_remove(int fd); |
| int eth_setup_host(const char *if_name); |
| int eth_start_script(const char *if_name); |
| int eth_wait_data(int fd); |
| ssize_t eth_read_data(int fd, void *buf, size_t buf_len); |
| ssize_t eth_write_data(int fd, void *buf, size_t buf_len); |
| int eth_if_up(const char *if_name); |
| int eth_if_down(const char *if_name); |
| |
| #if defined(CONFIG_NET_GPTP) |
| int eth_clock_gettime(struct net_ptp_time *time); |
| #endif |
| |
| #if defined(CONFIG_NET_PROMISCUOUS_MODE) |
| int eth_promisc_mode(const char *if_name, bool enable); |
| #else |
| static inline int eth_promisc_mode(const char *if_name, bool enable) |
| { |
| ARG_UNUSED(if_name); |
| ARG_UNUSED(enable); |
| |
| return -ENOTSUP; |
| } |
| #endif |
| |
| #endif /* ZEPHYR_DRIVERS_ETHERNET_ETH_NATIVE_POSIX_PRIV_H_ */ |