1b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare/* 2b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * Copyright (C) 2008 The Android Open Source Project 3b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * All rights reserved. 4b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * 5b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * Redistribution and use in source and binary forms, with or without 6b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * modification, are permitted provided that the following conditions 7b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * are met: 8b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * * Redistributions of source code must retain the above copyright 9b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * notice, this list of conditions and the following disclaimer. 10b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * * Redistributions in binary form must reproduce the above copyright 11b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * notice, this list of conditions and the following disclaimer in 12b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * the documentation and/or other materials provided with the 13b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * distribution. 14b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * 15b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 18b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 21b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 22b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 23b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare * SUCH DAMAGE. 27b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare */ 28b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#ifndef _STRING_H_ 29b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define _STRING_H_ 30b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 31b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#include <sys/cdefs.h> 32b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#include <stddef.h> 33b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#include <malloc.h> 34b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 35b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare__BEGIN_DECLS 36b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 37b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memccpy(void *, const void *, int, size_t); 38b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memchr(const void *, int, size_t); 39b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memrchr(const void *, int, size_t); 40b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int memcmp(const void *, const void *, size_t); 41b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memcpy(void *, const void *, size_t); 42b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memmove(void *, const void *, size_t); 43b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memset(void *, int, size_t); 44b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void* memmem(const void *, size_t, const void *, size_t); 45b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern void memswap(void *, void *, size_t); 46b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 47b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* index(const char *, int); 48b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* rindex(const char *, int); 49b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strchr(const char *, int); 50b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strrchr(const char *, int); 51b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 52b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strlen(const char *); 53b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int strcmp(const char *, const char *); 54b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strcpy(char *, const char *); 55b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strcat(char *, const char *); 56b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 57b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int strcasecmp(const char *, const char *); 58b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int strncasecmp(const char *, const char *, size_t); 59b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strdup(const char *); 60b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 61b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strstr(const char *, const char *); 62b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strcasestr(const char *haystack, const char *needle); 63b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strtok(char *, const char *); 64b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strtok_r(char *, const char *, char**); 65b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 66b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strerror(int); 67b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int strerror_r(int errnum, char *buf, size_t n); 68b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 69b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strnlen(const char *, size_t); 70b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strncat(char *, const char *, size_t); 71b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strndup(const char *, size_t); 72b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int strncmp(const char *, const char *, size_t); 73b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strncpy(char *, const char *, size_t); 74b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 75b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strlcat(char *, const char *, size_t); 76b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strlcpy(char *, const char *, size_t); 77b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 78b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strcspn(const char *, const char *); 79b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strpbrk(const char *, const char *); 80b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strsep(char **, const char *); 81b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strspn(const char *, const char *); 82b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 83b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern char* strsignal(int sig); 84b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 85b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern int strcoll(const char *, const char *); 86b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareextern size_t strxfrm(char *, const char *, size_t); 87b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 88b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare__END_DECLS 89b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare 90b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#endif /* _STRING_H_ */ 91