Tizen RT Libs&Environment  v1.0 D5
string.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * Copyright 2016 Samsung Electronics All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing,
12  * software distributed under the License is distributed on an
13  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14  * either express or implied. See the License for the specific
15  * language governing permissions and limitations under the License.
16  *
17  ****************************************************************************/
18 /****************************************************************************
19  * include/string.h
20  *
21  * Copyright (C) 2007-2012, 2014 Gregory Nutt. All rights reserved.
22  * Author: Gregory Nutt <gnutt@nuttx.org>
23  *
24  * Redistribution and use in source and binary forms, with or without
25  * modification, are permitted provided that the following conditions
26  * are met:
27  *
28  * 1. Redistributions of source code must retain the above copyright
29  * notice, this list of conditions and the following disclaimer.
30  * 2. Redistributions in binary form must reproduce the above copyright
31  * notice, this list of conditions and the following disclaimer in
32  * the documentation and/or other materials provided with the
33  * distribution.
34  * 3. Neither the name NuttX nor the names of its contributors may be
35  * used to endorse or promote products derived from this software
36  * without specific prior written permission.
37  *
38  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
39  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
40  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
41  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
42  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
43  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
44  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
45  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
46  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
47  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
48  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
49  * POSSIBILITY OF SUCH DAMAGE.
50  *
51  ****************************************************************************/
60 
63 #ifndef __INCLUDE_STRING_H
64 #define __INCLUDE_STRING_H
65 
66 /****************************************************************************
67  * Included Files
68  ****************************************************************************/
69 
70 #include <tinyara/config.h>
71 
72 #include <stddef.h>
73 
74 /****************************************************************************
75  * Pre-processor Definitions
76  ****************************************************************************/
77 /* Compatibility definitions */
78 
79 #ifndef CONFIG_ARCH_BZERO
80 #define bzero(s, n) (void)memset(s, 0, n)
81 #endif
82 
83 #define bcopy(b1, b2, len) (void)memmove(b2, b1, len)
84 
85 /****************************************************************************
86  * Global Function Prototypes
87  ****************************************************************************/
88 
89 #undef EXTERN
90 #if defined(__cplusplus)
91 #define EXTERN extern "C"
92 extern "C" {
93 #else
94 #define EXTERN extern
95 #endif
96 
101 FAR char *strdup(FAR const char *s);
106 FAR char *strndup(FAR const char *s, size_t size);
111 FAR const char *strerror(int);
116 size_t strlen(FAR const char *);
121 size_t strnlen(FAR const char *, size_t);
126 FAR char *strcat(FAR char *, FAR const char *);
131 FAR char *strncat(FAR char *, FAR const char *, size_t);
136 int strcmp(FAR const char *, FAR const char *);
141 int strncmp(FAR const char *, FAR const char *, size_t);
146 int strcasecmp(FAR const char *, FAR const char *);
151 int strncasecmp(FAR const char *, FAR const char *, size_t);
156 FAR char *strcpy(char *dest, FAR const char *src);
161 FAR char *stpcpy(char *dest, FAR const char *src);
166 FAR char *strncpy(char *, FAR const char *, size_t);
171 FAR char *strpbrk(FAR const char *, FAR const char *);
176 FAR char *strchr(FAR const char *s, int c);
181 FAR char *strrchr(FAR const char *s, int c);
186 size_t strspn(FAR const char *, FAR const char *);
191 size_t strcspn(FAR const char *, FAR const char *);
196 FAR char *strstr(FAR const char *, FAR const char *);
201 FAR char *strcasestr(FAR const char *, FAR const char *);
206 FAR char *strtok(FAR char *, FAR const char *);
211 FAR char *strtok_r(FAR char *, FAR const char *, FAR char **);
212 
217 FAR void *memchr(FAR const void *s, int c, size_t n);
222 FAR void *memccpy(FAR void *s1, FAR const void *s2, int c, size_t n);
227 int memcmp(FAR const void *s1, FAR const void *s2, size_t n);
232 FAR void *memcpy(FAR void *dest, FAR const void *src, size_t n);
237 FAR void *memmove(FAR void *dest, FAR const void *src, size_t count);
242 FAR void *memset(FAR void *s, int c, size_t n);
243 
252 size_t strlcpy(char *__restrict dest, const char *__restrict src, size_t size);
253 #undef EXTERN
254 #if defined(__cplusplus)
255 }
256 #endif
257 #endif /* __INCLUDE_STRING_H */
258 // end of STRING_LIBC
FAR char * strncat(FAR char *, FAR const char *, size_t)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
size_t strcspn(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strtok(FAR char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strcpy(char *dest, FAR const char *src)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
int strncasecmp(FAR const char *, FAR const char *, size_t)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR void * memchr(FAR const void *s, int c, size_t n)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strncpy(char *, FAR const char *, size_t)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strtok_r(FAR char *, FAR const char *, FAR char **)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
size_t strlen(FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR void * memset(FAR void *s, int c, size_t n)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR void * memccpy(FAR void *s1, FAR const void *s2, int c, size_t n)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
size_t strnlen(FAR const char *, size_t)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
int strncmp(FAR const char *, FAR const char *, size_t)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
size_t strspn(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strcat(FAR char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
int strcmp(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * stpcpy(char *dest, FAR const char *src)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strndup(FAR const char *s, size_t size)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
size_t strlcpy(char *__restrict dest, const char *__restrict src, size_t size)
Copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the resul...
int strcasecmp(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strpbrk(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strstr(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strdup(FAR const char *s)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strrchr(FAR const char *s, int c)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strcasestr(FAR const char *, FAR const char *)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR void * memmove(FAR void *dest, FAR const void *src, size_t count)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR void * memcpy(FAR void *dest, FAR const void *src, size_t n)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR const char * strerror(int)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
int memcmp(FAR const void *s1, FAR const void *s2, size_t n)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
FAR char * strchr(FAR const char *s, int c)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)