From f175d221bec6983bcf290d98513c54aeef80b0a4 Mon Sep 17 00:00:00 2001 From: Jakub Jermar Date: Mon, 23 Apr 2018 23:00:27 +0200 Subject: [PATCH] Add virtio-net specific definitions --- uspace/drv/nic/virtio-net/virtio-net.h | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 uspace/drv/nic/virtio-net/virtio-net.h diff --git a/uspace/drv/nic/virtio-net/virtio-net.h b/uspace/drv/nic/virtio-net/virtio-net.h new file mode 100644 index 000000000..8f192330d --- /dev/null +++ b/uspace/drv/nic/virtio-net/virtio-net.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2018 Jakub Jermar + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * - The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _VIRTIO_NET_H_ +#define _VIRTIO_NET_H_ + +#include + +#define VIRTIO_NET_F_SELECT_PAGE_0 0 + +/** Device handles packets with partial checksum. */ +#define VIRTIO_NET_F_CSUM 0 +/** Driver handles packets with partial checksum. */ +#define VIRTIO_NET_F_GUEST_CSUM 2 +/** Device has given MAC address. */ +#define VIRTIO_NET_F_MAC 5 + +typedef struct { + uint8_t mac[6]; +} virtio_net_cfg_t; + +typedef struct { + virtio_dev_t virtio_dev; +} virtio_net_t; + +#endif -- 2.11.4.GIT