1typedef unsigned char uint8_t;
2typedef unsigned short uint16_t;
3typedef unsigned int uint32_t;
4typedef unsigned long long uint64_t;
5
6struct rte_kni_fifo {
7	volatile unsigned write;     /**< Next position to be written*/
8	volatile unsigned read;      /**< Next position to be read */
9	unsigned len;                /**< Circular buffer length */
10	unsigned elem_size;          /**< Pointer size - for 32/64 bit OS */
11	void *volatile buffer[];     /**< The buffer contains mbuf pointers */
12};
13
14__extension__
15struct rte_eth_link {
16	uint32_t link_speed;        /**< ETH_SPEED_NUM_ */
17	uint16_t link_duplex  : 1;  /**< ETH_LINK_[HALF/FULL]_DUPLEX */
18	uint16_t link_autoneg : 1;  /**< ETH_LINK_SPEED_[AUTONEG/FIXED] */
19	uint16_t link_status  : 1;  /**< ETH_LINK_[DOWN/UP] */
20} __attribute__((aligned(8)));      /**< aligned for atomic64 read/write */