1/* ===-- string.h - stub SDK header for compiler-rt -------------------------=== 2 * 3 * The LLVM Compiler Infrastructure 4 * 5 * This file is dual licensed under the MIT and the University of Illinois Open 6 * Source Licenses. See LICENSE.TXT for details. 7 * 8 * ===-----------------------------------------------------------------------=== 9 * 10 * This is a stub SDK header file. This file is not part of the interface of 11 * this library nor an official version of the appropriate SDK header. It is 12 * intended only to stub the features of this header required by compiler-rt. 13 * 14 * ===-----------------------------------------------------------------------=== 15 */ 16 17#ifndef __STRING_H__ 18#define __STRING_H__ 19 20typedef __SIZE_TYPE__ size_t; 21 22int memcmp(const void *, const void *, size_t); 23void *memcpy(void *, const void *, size_t); 24void *memset(void *, int, size_t); 25char *strcat(char *, const char *); 26char *strcpy(char *, const char *); 27char *strdup(const char *); 28size_t strlen(const char *); 29char *strncpy(char *, const char *, size_t); 30 31/* Determine the appropriate strerror() function. */ 32#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) 33# if defined(__i386) 34# define __STRERROR_NAME "_strerror$UNIX2003" 35# elif defined(__x86_64__) || defined(__arm) 36# define __STRERROR_NAME "_strerror" 37# else 38# error "unrecognized architecture for targetting OS X" 39# endif 40#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) 41# if defined(__i386) || defined (__x86_64) || defined(__arm) 42# define __STRERROR_NAME "_strerror" 43# else 44# error "unrecognized architecture for targetting iOS" 45# endif 46#else 47# error "unrecognized architecture for targetting Darwin" 48#endif 49 50char *strerror(int) __asm(__STRERROR_NAME); 51 52#endif /* __STRING_H__ */ 53