112a9d9c8Sopenharmony_citypedef unsigned char uint8_t;
212a9d9c8Sopenharmony_citypedef unsigned short uint16_t;
312a9d9c8Sopenharmony_citypedef unsigned int uint32_t;
412a9d9c8Sopenharmony_citypedef unsigned long long uint64_t;
512a9d9c8Sopenharmony_ci
612a9d9c8Sopenharmony_cistruct rte_kni_fifo {
712a9d9c8Sopenharmony_ci	volatile unsigned write;     /**< Next position to be written*/
812a9d9c8Sopenharmony_ci	volatile unsigned read;      /**< Next position to be read */
912a9d9c8Sopenharmony_ci	unsigned len;                /**< Circular buffer length */
1012a9d9c8Sopenharmony_ci	unsigned elem_size;          /**< Pointer size - for 32/64 bit OS */
1112a9d9c8Sopenharmony_ci	void *volatile buffer[];     /**< The buffer contains mbuf pointers */
1212a9d9c8Sopenharmony_ci};
1312a9d9c8Sopenharmony_ci
1412a9d9c8Sopenharmony_ci__extension__
1512a9d9c8Sopenharmony_cistruct rte_eth_link {
1612a9d9c8Sopenharmony_ci	uint32_t link_speed;        /**< ETH_SPEED_NUM_ */
1712a9d9c8Sopenharmony_ci	uint16_t link_duplex  : 1;  /**< ETH_LINK_[HALF/FULL]_DUPLEX */
1812a9d9c8Sopenharmony_ci	uint16_t link_autoneg : 1;  /**< ETH_LINK_SPEED_[AUTONEG/FIXED] */
1912a9d9c8Sopenharmony_ci	uint16_t link_status  : 1;  /**< ETH_LINK_[DOWN/UP] */
2012a9d9c8Sopenharmony_ci} __attribute__((aligned(8)));      /**< aligned for atomic64 read/write */