/usr/src/open-vm-tools-10.0.7/vmxnet/vmxnetInt.h is in open-vm-tools-dkms 2:10.0.7-3227872-2ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | /*********************************************************
* Copyright (C) 1998 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation version 2 and no later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*********************************************************/
#ifndef __VMXNETINT_H__
#define __VMXNETINT_H__
#define INCLUDE_ALLOW_MODULE
#include "includeCheck.h"
#define VMXNET_CHIP_NAME "vmxnet ether"
#define CRC_POLYNOMIAL_LE 0xedb88320UL /* Ethernet CRC, little endian */
#define PKT_BUF_SZ 1536
#define VMXNET_MIN_MTU (ETH_MIN_FRAME_LEN - 14)
#define VMXNET_MAX_MTU (16 * 1024 - 18)
typedef enum Vmxnet_TxStatus {
VMXNET_CALL_TRANSMIT,
VMXNET_DEFER_TRANSMIT,
VMXNET_STOP_TRANSMIT
} Vmxnet_TxStatus;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0))
# define MODULE_PARM(var, type)
# define net_device_stats enet_statistics
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0))
# define le16_to_cpu(x) ((__u16)(x))
# define le32_to_cpu(x) ((__u32)(x))
#endif
#if defined(BUG_ON)
#define VMXNET_ASSERT(cond) BUG_ON(!(cond))
#else
#define VMXNET_ASSERT(cond)
#endif
#define ASSERT(cond) VMXNET_ASSERT(cond)
struct Vmxnet2_TxBuf {
struct sk_buff *skb;
char sgForLinear; /* the sg entry mapping the linear part
* of the skb, -1 means this tx entry only
* mapps the frags of the skb
*/
char firstSgForFrag; /* the first sg entry mapping the frags */
Bool eop;
};
/*
* Private data area, pointed to by priv field of our struct net_device.
* dd field is shared with the lower layer.
*/
typedef struct Vmxnet_Private {
Vmxnet2_DriverData *dd;
dma_addr_t ddPA;
size_t ddSize;
const char *name;
struct net_device_stats stats;
struct sk_buff *rxSkbuff[ENHANCED_VMXNET2_MAX_NUM_RX_BUFFERS];
struct page *rxPages[VMXNET2_MAX_NUM_RX_BUFFERS2];
struct Vmxnet2_TxBuf txBufInfo[VMXNET2_MAX_NUM_TX_BUFFERS_TSO];
spinlock_t txLock;
int numTxPending;
unsigned int numRxBuffers;
unsigned int numRxBuffers2;
unsigned int numTxBuffers;
Vmxnet2_RxRingEntry *rxRing;
Vmxnet2_RxRingEntry *rxRing2;
Vmxnet2_TxRingEntry *txRing;
Bool devOpen;
uint32 portID;
uint32 capabilities;
uint32 features;
Bool zeroCopyTx;
Bool partialHeaderCopyEnabled;
Bool tso;
Bool chainTx;
Bool chainRx;
Bool jumboFrame;
Bool lpd;
Bool morphed; // Indicates whether adapter is morphed
size_t txBufferSize;
char *txBufferStart;
dma_addr_t txBufferPA;
struct pci_dev *pdev;
struct timer_list linkCheckTimer;
} Vmxnet_Private;
#endif /* __VMXNETINT_H__ */
|