Annotation of qemu/net/tap-linux.h, revision 1.1.1.2

1.1       root        1: /*
                      2:  *  Universal TUN/TAP device driver.
                      3:  *  Copyright (C) 1999-2000 Maxim Krasnyansky <[email protected]>
                      4:  *
                      5:  *  This program is free software; you can redistribute it and/or modify
                      6:  *  it under the terms of the GNU General Public License as published by
                      7:  *  the Free Software Foundation; either version 2 of the License, or
                      8:  *  (at your option) any later version.
                      9:  *
                     10:  *  This program is distributed in the hope that it will be useful,
                     11:  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12:  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
                     13:  *  GNU General Public License for more details.
                     14:  */
                     15: 
                     16: #ifndef QEMU_TAP_H
                     17: #define QEMU_TAP_H
                     18: 
                     19: #include <stdint.h>
                     20: #ifdef __linux__
                     21: 
                     22: #include <linux/ioctl.h>
                     23: 
                     24: /* Ioctl defines */
                     25: #define TUNSETIFF     _IOW('T', 202, int)
                     26: #define TUNGETFEATURES _IOR('T', 207, unsigned int)
                     27: #define TUNSETOFFLOAD  _IOW('T', 208, unsigned int)
                     28: #define TUNGETIFF      _IOR('T', 210, unsigned int)
                     29: #define TUNSETSNDBUF   _IOW('T', 212, int)
1.1.1.2 ! root       30: #define TUNGETVNETHDRSZ _IOR('T', 215, int)
        !            31: #define TUNSETVNETHDRSZ _IOW('T', 216, int)
1.1       root       32: 
                     33: #endif
                     34: 
                     35: /* TUNSETIFF ifr flags */
                     36: #define IFF_TAP                0x0002
                     37: #define IFF_NO_PI      0x1000
                     38: #define IFF_VNET_HDR   0x4000
                     39: 
                     40: /* Features for GSO (TUNSETOFFLOAD). */
                     41: #define TUN_F_CSUM     0x01    /* You can hand me unchecksummed packets. */
                     42: #define TUN_F_TSO4     0x02    /* I can handle TSO for IPv4 packets */
                     43: #define TUN_F_TSO6     0x04    /* I can handle TSO for IPv6 packets */
                     44: #define TUN_F_TSO_ECN  0x08    /* I can handle TSO with ECN bits. */
                     45: #define TUN_F_UFO      0x10    /* I can handle UFO packets */
                     46: 
                     47: struct virtio_net_hdr
                     48: {
                     49:     uint8_t flags;
                     50:     uint8_t gso_type;
                     51:     uint16_t hdr_len;
                     52:     uint16_t gso_size;
                     53:     uint16_t csum_start;
                     54:     uint16_t csum_offset;
                     55: };
                     56: 
1.1.1.2 ! root       57: struct virtio_net_hdr_mrg_rxbuf
        !            58: {
        !            59:     struct virtio_net_hdr hdr;
        !            60:     uint16_t num_buffers;   /* Number of merged rx buffers */
        !            61: };
        !            62: 
1.1       root       63: #endif /* QEMU_TAP_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.