X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=os%2Fos-mac.h;h=24e0eb5d157b8db0c292bd15fb1b3a6508e28981;hb=232f9b73353e0322fe135d3029beecedaed7a17b;hp=06ea462a8aba1f5cedbd5f0a11890681e895fa30;hpb=3dee087cdd41c2d1e4f01cd66680a849609cfafd;p=fio.git diff --git a/os/os-mac.h b/os/os-mac.h index 06ea462a..24e0eb5d 100644 --- a/os/os-mac.h +++ b/os/os-mac.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include "../file.h" @@ -24,9 +26,22 @@ #define FIO_HAVE_CLOCK_MONOTONIC #define FIO_USE_GENERIC_RAND #define FIO_HAVE_GETTID +#define FIO_HAVE_CHARDEV_SIZE #define OS_MAP_ANON MAP_ANON +#if defined(__LITTLE_ENDIAN__) +#define FIO_LITTLE_ENDIAN +#elif defined(__BIG_ENDIAN__) +#define FIO_BIG_ENDIAN +#else +#error "Undefined byte order" +#endif + +#define fio_swap16(x) OSSwapInt16(x) +#define fio_swap32(x) OSSwapInt32(x) +#define fio_swap64(x) OSSwapInt64(x) + /* * OSX has a pitifully small shared memory segment by default, * so default to a lower number of max jobs supported @@ -135,6 +150,19 @@ static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) return 0; } +static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) +{ + /* + * Could be a raw block device, this is better than just assuming + * we can't get the size at all. + */ + if (!blockdev_size(f, bytes)) + return 0; + + *bytes = -1ULL; + return 0; +} + static inline int blockdev_invalidate_cache(struct fio_file *f) { return EINVAL;