summaryrefslogtreecommitdiff
path: root/firmware/libc/include/string.h
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-05-06 21:04:40 +0000
committerThomas Martitz <kugel@rockbox.org>2010-05-06 21:04:40 +0000
commit50a6ca39ad4ed01922aa4f755f0ca579788226cf (patch)
treec7881b015b220558167310345b162324c96be15a /firmware/libc/include/string.h
parentadb506df14aded06ed6e9ebf8540e6fd383ffd6a (diff)
downloadrockbox-50a6ca39ad4ed01922aa4f755f0ca579788226cf.tar.gz
rockbox-50a6ca39ad4ed01922aa4f755f0ca579788226cf.zip
Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/libc/include/string.h')
-rw-r--r--firmware/libc/include/string.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/firmware/libc/include/string.h b/firmware/libc/include/string.h
new file mode 100644
index 0000000000..8986bd6a0c
--- /dev/null
+++ b/firmware/libc/include/string.h
@@ -0,0 +1,94 @@
1/*
2 * string.h
3 *
4 * Definitions for memory and string functions.
5 */
6
7#ifndef _STRING_H_
8#define _STRING_H_
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "_ansi.h"
15
16#include <stddef.h>
17
18#if !defined(__size_t_defined)&& !defined(_SIZE_T_) && !defined(size_t) && !defined(_SIZE_T_DECLARED)
19#define __size_t_defined
20#define _SIZE_T
21#define _SIZE_T_
22#define _SIZE_T_DECLARED
23#define size_t size_t
24typedef unsigned long size_t;
25#endif
26
27#ifndef NULL
28#define NULL ((void*)0)
29#endif
30
31_PTR _EXFUN(memchr,(const _PTR, int, size_t));
32int _EXFUN(memcmp,(const _PTR, const _PTR, size_t));
33_PTR _EXFUN(memcpy,(_PTR, const _PTR, size_t));
34_PTR _EXFUN(memmove,(_PTR, const _PTR, size_t));
35_PTR _EXFUN(memset,(_PTR, int, size_t));
36char *_EXFUN(strcat,(char *, const char *));
37char *_EXFUN(strchr,(const char *, int));
38int _EXFUN(strcmp,(const char *, const char *));
39int _EXFUN(strcoll,(const char *, const char *));
40char *_EXFUN(strcpy,(char *, const char *));
41size_t _EXFUN(strcspn,(const char *, const char *));
42char *_EXFUN(strerror,(int));
43size_t _EXFUN(strlen,(const char *));
44char *_EXFUN(strncat,(char *, const char *, size_t));
45int _EXFUN(strncmp,(const char *, const char *, size_t));
46char *_EXFUN(strpbrk,(const char *, const char *));
47char *_EXFUN(strrchr,(const char *, int));
48size_t _EXFUN(strspn,(const char *, const char *));
49char *_EXFUN(strstr,(const char *, const char *));
50char *_EXFUN(strcasestr,(const char *, const char *));
51
52size_t strlcpy(char *dst, const char *src, size_t siz);
53size_t strlcat(char *dst, const char *src, size_t siz);
54
55#ifndef _REENT_ONLY
56char *_EXFUN(strtok,(char *, const char *));
57#endif
58
59size_t _EXFUN(strxfrm,(char *, const char *, size_t));
60
61#ifndef __STRICT_ANSI__
62char *_EXFUN(strtok_r,(char *, const char *, char **));
63
64_PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t));
65int _EXFUN(strcasecmp,(const char *, const char *));
66int _EXFUN(strncasecmp,(const char *, const char *, size_t));
67
68#ifdef __CYGWIN__
69#ifndef DEFS_H /* Kludge to work around problem compiling in gdb */
70const char *_EXFUN(strsignal, (int __signo));
71#endif
72int _EXFUN(strtosigno, (const char *__name));
73#endif
74
75/* These function names are used on Windows and perhaps other systems. */
76#ifndef strcmpi
77#define strcmpi strcasecmp
78#endif
79#ifndef stricmp
80#define stricmp strcasecmp
81#endif
82#ifndef strncmpi
83#define strncmpi strncasecmp
84#endif
85#ifndef strnicmp
86#define strnicmp strncasecmp
87#endif
88
89#endif /* ! __STRICT_ANSI__ */
90
91#ifdef __cplusplus
92}
93#endif
94#endif /* _STRING_H_ */