From 082902d28be788d85c9563aaf83e9e460b66bedb Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Sun, 24 Apr 2022 08:13:44 +0800 Subject: [PATCH] add macro posix_fadvise for non-Linux --- src/common_define.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/common_define.h b/src/common_define.h index c6eaaf3..06f40d1 100644 --- a/src/common_define.h +++ b/src/common_define.h @@ -43,6 +43,11 @@ typedef DWORD (WINAPI *ThreadEntranceFunc)(LPVOID lpThreadParameter); #include #include #include + +#ifdef OS_FREEBSD +//#include +#endif + #define FILE_SEPERATOR "/" typedef int SOCKET; #define closesocket close @@ -454,6 +459,22 @@ static inline int fc_compare_int64(const int64_t n1, const int64_t n2) #define fc_fallocate(fd, size) fallocate(fd, 0, 0, size) #else #define fc_fallocate(fd, size) ftruncate(fd, size) +#define posix_fadvise(fd, offset, len, advice) 0 + +#ifndef POSIX_FADV_NORMAL +#define POSIX_FADV_NORMAL 0 /* No further special treatment. */ +#define POSIX_FADV_RANDOM 1 /* Expect random page references. */ +#define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ +#define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ +#define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ +#define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ +#endif + +#ifdef OS_FREEBSD +//#define fdatasync(fd) syscall(SYS_fdatasync, fd) +#define fdatasync(fd) fsync(fd) +#endif + #endif