1 /******************************************************************************
2 * Copyright (c) 2016 IBM Corporation
4 * This program and the accompanying materials
5 * are made available under the terms of the BSD License
6 * which accompanies this distribution, and is available at
7 * http://www.opensource.org/licenses/bsd-license.php
10 * IBM Corporation - initial implementation
11 *****************************************************************************/
13 #ifndef _LIBVIRTIO_INTERNAL_H
14 #define _LIBVIRTIO_INTERNAL_H
16 #include <byteorder.h>
18 static inline uint16_t virtio_cpu_to_modern16(struct virtio_device *dev, uint16_t val)
20 return dev->is_modern ? cpu_to_le16(val) : val;
23 static inline uint32_t virtio_cpu_to_modern32(struct virtio_device *dev, uint32_t val)
25 return dev->is_modern ? cpu_to_le32(val) : val;
28 static inline uint64_t virtio_cpu_to_modern64(struct virtio_device *dev, uint64_t val)
30 return dev->is_modern ? cpu_to_le64(val) : val;
33 static inline uint16_t virtio_modern16_to_cpu(struct virtio_device *dev, uint16_t val)
35 return dev->is_modern ? le16_to_cpu(val) : val;
38 static inline uint32_t virtio_modern32_to_cpu(struct virtio_device *dev, uint32_t val)
40 return dev->is_modern ? le32_to_cpu(val) : val;
43 static inline uint64_t virtio_modern64_to_cpu(struct virtio_device *dev, uint64_t val)
45 return dev->is_modern ? le64_to_cpu(val) : val;
48 #endif /* _LIBVIRTIO_INTERNAL_H */