00001
00002
00003
00004 #ifndef _COMPAT_H
00005 #define _COMPAT_H
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _GNU_SOURCE
00015 #define _GNU_SOURCE
00016 #define _REMOVE_GNU_SOURCE
00017 #endif
00018 #include <fcntl.h>
00019 #ifdef _REMOVE_GNU_SOURCE
00020 #undef _REMOVE_GNU_SOURCE
00021 #undef _GNU_SOURCE
00022 #endif
00023
00024 #ifndef SYNC_FILE_RANGE_WRITE
00025 #define LACK_SYNC_FILE_RANGE 1
00026 #endif
00027
00028 #include <sys/types.h>
00029 extern const int have_sync_range;
00030 int sync_range_submit(int fd, off_t offset, size_t nbytes);
00031 int sync_range_wait(int fd, off_t offset, size_t nbytes);
00032
00033
00034
00035
00036
00037
00038
00039
00040 #include <fcntl.h>
00041 #ifndef POSIX_FADV_WILLNEED
00042 #define LACK_POSIX_FADVISE 1
00043 #define POSIX_FADV_WILLNEED 0
00044 #define posix_fadvise(fd, offset, len, advise)
00045 #endif
00046
00047
00048
00049
00050
00051 #if ! ( (defined __linux__) || (defined (__SVR4) && defined (__sun)) )
00052 #define LACK_FDATASYNC 1
00053 int fdatasync(int fd);
00054 #endif
00055
00056
00057
00058
00059
00060
00061 #include <time.h>
00062 #ifndef CLOCK_REALTIME
00063 #define LACK_CLOCK_GETTIME 1
00064 #define CLOCK_REALTIME 0
00065 int clock_gettime(int clk_id, struct timespec *tp);
00066 #endif
00067
00068 #endif
00069