err:
return dev;
}
+EXPORT_SYMBOL(init_netfront);
char *netfront_get_netmask(struct netfront_dev *dev)
{
return dev->mask ? strdup(dev->mask) : NULL;
}
+EXPORT_SYMBOL(netfront_get_netmask);
char *netfront_get_gateway(struct netfront_dev *dev)
{
return dev->gw ? strdup(dev->gw) : NULL;
}
+EXPORT_SYMBOL(netfront_get_gateway);
static struct netfront_dev *_init_netfront(struct netfront_dev *dev)
{
file->dev = dev;
return dev->fd;
}
+EXPORT_SYMBOL(netfront_tap_open);
#endif
void shutdown_netfront(struct netfront_dev *dev)
free_netfront(dev);
}
}
+EXPORT_SYMBOL(shutdown_netfront);
static int _shutdown_netfront(struct netfront_dev *dev)
{
network_tx_buf_gc(dev);
local_irq_restore(flags);
}
+EXPORT_SYMBOL(netfront_xmit);
#ifdef HAVE_LIBC
ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t len)
return dev->rlen;
}
+EXPORT_SYMBOL(netfront_receive);
#endif
void netfront_set_rx_handler(struct netfront_dev *dev,