1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef BASE_OS_COMPAT_ANDROID_H_
6 #define BASE_OS_COMPAT_ANDROID_H_
10 #include <sys/types.h>
14 // Not implemented in Bionic. See platform_file_android.cc.
15 extern "C" int futimes(int fd
, const struct timeval tv
[2]);
17 // The prototype of mkdtemp is missing.
18 extern "C" char* mkdtemp(char* path
);
20 // The lockf() function is not available on Android; we translate to flock().
21 #define F_LOCK LOCK_EX
22 #define F_ULOCK LOCK_UN
23 inline int lockf(int fd
, int cmd
, off_t ignored_len
) {
24 return flock(fd
, cmd
);
27 // Android has only timegm64() and no timegm().
28 inline time_t timegm(struct tm
* const tmp
) {
29 return static_cast<time_t>(timegm64(tmp
));
32 #endif // BASE_OS_COMPAT_ANDROID_H_