• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
20 typedef __SIZE_TYPE__ size_t;
21 
22 int memcmp(const void *, const void *, size_t);
23 void *memcpy(void *, const void *, size_t);
24 void *memset(void *, int, size_t);
25 char *strcat(char *, const char *);
26 char *strcpy(char *, const char *);
27 char *strdup(const char *);
28 size_t strlen(const char *);
29 char *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 
50 char *strerror(int) __asm(__STRERROR_NAME);
51 
52 #endif /* __STRING_H__ */
53