/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once typedef struct TunTap TunTap; #include "netdev.h" struct TunTap { NetDev meta; int fd; char *user_name; char *group_name; bool multi_queue; bool packet_info; bool vnet_hdr; bool keep_fd; }; DEFINE_NETDEV_CAST(TUN, TunTap); DEFINE_NETDEV_CAST(TAP, TunTap); extern const NetDevVTable tun_vtable; extern const NetDevVTable tap_vtable; int manager_add_tuntap_fd(Manager *m, int fd, const char *name); void manager_clear_unmanaged_tuntap_fds(Manager *m);