15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef BASE_OS_COMPAT_ANDROID_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_OS_COMPAT_ANDROID_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <fcntl.h> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <sys/types.h> 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <utime.h> 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Not implemented in Bionic. 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" int futimes(int fd, const struct timeval tv[2]); 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Not exposed or implemented in Bionic. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" char* mkdtemp(char* path); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Android has no timegm(). 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" time_t timegm(struct tm* const t); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The lockf() function is not available on Android; we translate to flock(). 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define F_LOCK LOCK_EX 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define F_ULOCK LOCK_UN 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)inline int lockf(int fd, int cmd, off_t ignored_len) { 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return flock(fd, cmd); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // BASE_OS_COMPAT_ANDROID_H_ 29