// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_OS_COMPAT_ANDROID_H_ #define BASE_OS_COMPAT_ANDROID_H_ #include #include #include // Not implemented in Bionic. extern "C" int futimes(int fd, const struct timeval tv[2]); // Not exposed or implemented in Bionic. extern "C" char* mkdtemp(char* path); // Android has no timegm(). extern "C" time_t timegm(struct tm* const t); // The lockf() function is not available on Android; we translate to flock(). #define F_LOCK LOCK_EX #define F_ULOCK LOCK_UN inline int lockf(int fd, int cmd, off_t ignored_len) { return flock(fd, cmd); } // In case __USE_FILE_OFFSET64 is not used, we need to call pwrite64() instead // of pwrite() #define pwrite(fd, buf, count, offset) pwrite64(fd, buf, count, offset) #endif // BASE_OS_COMPAT_ANDROID_H_