1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* ===-- fcntl.h - stub SDK header for compiler-rt --------------------------=== 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * 3c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru * The LLVM Compiler Infrastructure 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * This file is dual licensed under the MIT and the University of Illinois Open 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Source Licenses. See LICENSE.TXT for details. 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * ===-----------------------------------------------------------------------=== 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * This is a stub SDK header file. This file is not part of the interface of 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * this library nor an official version of the appropriate SDK header. It is 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * intended only to stub the features of this header required by compiler-rt. 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * ===-----------------------------------------------------------------------=== 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef _SYS_FCNTL_H_ 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define _SYS_FCNTL_H_ 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* Determine the appropriate open function. */ 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# if defined(__i386) 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# define __OPEN_NAME "_open$UNIX2003" 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# elif defined(__x86_64__) 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# define __OPEN_NAME "_open" 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# elif defined(__arm) 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# define __OPEN_NAME "_open" 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# else 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# error "unrecognized architecture for targeting OS X" 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# endif 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) 32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# if defined(__i386) || defined (__x86_64) 33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# define __OPEN_NAME "_open" 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# elif defined(__arm) 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# define __OPEN_NAME "_open" 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# else 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# error "unrecognized architecture for targeting iOS" 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# endif 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#else 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# error "unrecognized architecture for targeting Darwin" 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif 42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define O_RDONLY 0x0000 /* open for reading only */ 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define O_WRONLY 0x0001 /* open for writing only */ 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define O_RDWR 0x0002 /* open for reading and writing */ 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define O_ACCMODE 0x0003 /* mask for above modes */ 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define O_CREAT 0x0200 /* create if nonexistent */ 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruint open(const char *, int, ...) __asm(__OPEN_NAME); 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif /* !_SYS_FCNTL_H_ */ 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru