int tap_enable(NetClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); int ret; if (s->enabled) { return 0; } else { ret = tap_fd_enable(s->fd); if (ret == 0) { s->enabled = true; tap_update_fd_handler(s); } return ret; } }
int tap_disable(NetClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); int ret; if (s->enabled == 0) { return 0; } else { ret = tap_fd_disable(s->fd); if (ret == 0) { qemu_purge_queued_packets(nc); s->enabled = false; tap_update_fd_handler(s); } return ret; } }
static void tap_write_poll(TAPState *s, int enable) { s->write_poll = !!enable; tap_update_fd_handler(s); }
static void tap_read_poll(TAPState *s, bool enable) { s->read_poll = enable; tap_update_fd_handler(s); }