forked from Qortal/Brooklyn
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
#ifndef _LINUX_VIRTIO_BYTEORDER_H
|
|
#define _LINUX_VIRTIO_BYTEORDER_H
|
|
#include <linux/types.h>
|
|
#include <uapi/linux/virtio_types.h>
|
|
|
|
static inline bool virtio_legacy_is_little_endian(void)
|
|
{
|
|
#ifdef __LITTLE_ENDIAN
|
|
return true;
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
static inline u16 __virtio16_to_cpu(bool little_endian, __virtio16 val)
|
|
{
|
|
if (little_endian)
|
|
return le16_to_cpu((__force __le16)val);
|
|
else
|
|
return be16_to_cpu((__force __be16)val);
|
|
}
|
|
|
|
static inline __virtio16 __cpu_to_virtio16(bool little_endian, u16 val)
|
|
{
|
|
if (little_endian)
|
|
return (__force __virtio16)cpu_to_le16(val);
|
|
else
|
|
return (__force __virtio16)cpu_to_be16(val);
|
|
}
|
|
|
|
static inline u32 __virtio32_to_cpu(bool little_endian, __virtio32 val)
|
|
{
|
|
if (little_endian)
|
|
return le32_to_cpu((__force __le32)val);
|
|
else
|
|
return be32_to_cpu((__force __be32)val);
|
|
}
|
|
|
|
static inline __virtio32 __cpu_to_virtio32(bool little_endian, u32 val)
|
|
{
|
|
if (little_endian)
|
|
return (__force __virtio32)cpu_to_le32(val);
|
|
else
|
|
return (__force __virtio32)cpu_to_be32(val);
|
|
}
|
|
|
|
static inline u64 __virtio64_to_cpu(bool little_endian, __virtio64 val)
|
|
{
|
|
if (little_endian)
|
|
return le64_to_cpu((__force __le64)val);
|
|
else
|
|
return be64_to_cpu((__force __be64)val);
|
|
}
|
|
|
|
static inline __virtio64 __cpu_to_virtio64(bool little_endian, u64 val)
|
|
{
|
|
if (little_endian)
|
|
return (__force __virtio64)cpu_to_le64(val);
|
|
else
|
|
return (__force __virtio64)cpu_to_be64(val);
|
|
}
|
|
|
|
#endif /* _LINUX_VIRTIO_BYTEORDER */
|