X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os%2Fos.h;h=12188156cf280afea5ca29935d74ee794058228b;hp=a24004b584e749ea2d830481e3ea3e8a5584e1f7;hb=c71233ee4aa050efc8a099df1482238b12f826ef;hpb=901ebe18bdca90032e2fe107a1410385da80d18b diff --git a/os/os.h b/os/os.h index a24004b5..12188156 100644 --- a/os/os.h +++ b/os/os.h @@ -6,6 +6,19 @@ #include #include +enum { + os_linux = 1, + os_aix, + os_freebsd, + os_hpux, + os_mac, + os_netbsd, + os_solaris, + os_windows, + + os_nr, +}; + #if defined(__linux__) #include "os-linux.h" #elif defined(__FreeBSD__) @@ -115,6 +128,10 @@ typedef unsigned long os_cpu_mask_t; #define FIO_MAX_JOBS 2048 #endif +#ifndef FIO_OS_HAVE_SOCKLEN_T +typedef socklen_t fio_socklen_t; +#endif + #ifdef FIO_USE_GENERIC_SWAP static inline uint16_t fio_swap16(uint16_t val) { @@ -139,6 +156,47 @@ static inline uint64_t fio_swap64(uint64_t val) } #endif +#ifdef FIO_LITTLE_ENDIAN +#define __le16_to_cpu(x) (x) +#define __le32_to_cpu(x) (x) +#define __le64_to_cpu(x) (x) +#define __cpu_to_le16(x) (x) +#define __cpu_to_le32(x) (x) +#define __cpu_to_le64(x) (x) +#else +#define __le16_to_cpu(x) fio_swap16(x) +#define __le32_to_cpu(x) fio_swap32(x) +#define __le64_to_cpu(x) fio_swap64(x) +#define __cpu_to_le16(x) fio_swap16(x) +#define __cpu_to_le32(x) fio_swap32(x) +#define __cpu_to_le64(x) fio_swap64(x) +#endif + +#define le16_to_cpu(val) ({ \ + uint16_t *__val = &(val); \ + __le16_to_cpu(*__val); \ +}) +#define le32_to_cpu(val) ({ \ + uint32_t *__val = &(val); \ + __le32_to_cpu(*__val); \ +}) +#define le64_to_cpu(val) ({ \ + uint64_t *__val = &(val); \ + __le64_to_cpu(*__val); \ +}) +#define cpu_to_le16(val) ({ \ + uint16_t *__val = &(val); \ + __cpu_to_le16(*__val); \ +}) +#define cpu_to_le32(val) ({ \ + uint32_t *__val = &(val); \ + __cpu_to_le32(*__val); \ +}) +#define cpu_to_le64(val) ({ \ + uint64_t *__val = &(val); \ + __cpu_to_le64(*__val); \ +}) + #ifndef FIO_HAVE_BLKTRACE static inline int is_blktrace(const char *fname) {