os-netbsd.h revision b939683e7b997653a35bd7d55f733fc96030b246
1#ifndef FIO_OS_NETBSD_H 2#define FIO_OS_NETBSD_H 3 4#include <errno.h> 5#include <sys/param.h> 6#include <sys/thr.h> 7/* XXX hack to avoid confilcts between rbtree.h and <sys/rb.h> */ 8#define rb_node _rb_node 9#include <sys/sysctl.h> 10#undef rb_node 11#undef rb_left 12#undef rb_right 13 14#include "../file.h" 15 16#define FIO_HAVE_POSIXAIO 17#define FIO_HAVE_FADVISE 18#define FIO_HAVE_ODIRECT 19#define FIO_HAVE_STRSEP 20#define FIO_HAVE_FDATASYNC 21#define FIO_USE_GENERIC_BDEV_SIZE 22#define FIO_USE_GENERIC_RAND 23#define FIO_HAVE_GETTID 24 25#undef FIO_HAVE_CPU_AFFINITY /* XXX notyet */ 26 27#define OS_MAP_ANON MAP_ANON 28 29#ifndef PTHREAD_STACK_MIN 30#define PTHREAD_STACK_MIN 4096 31#endif 32 33typedef off_t off64_t; 34 35static inline int blockdev_invalidate_cache(struct fio_file *f) 36{ 37 return EINVAL; 38} 39 40static inline unsigned long long os_phys_mem(void) 41{ 42 int mib[2] = { CTL_HW, HW_PHYSMEM64 }; 43 uint64_t mem; 44 size_t len = sizeof(mem); 45 46 sysctl(mib, 2, &mem, &len, NULL, 0); 47 return mem; 48} 49 50static inline int gettid(void) 51{ 52 long lwpid; 53 54 thr_self(&lwpid); 55 return (int) lwpid; 56} 57 58#ifdef MADV_FREE 59#define FIO_MADV_FREE MADV_FREE 60#endif 61 62/* XXX NetBSD doesn't have getopt_long_only */ 63#define getopt_long_only getopt_long 64 65#endif 66