/****************************************************************************** * Copyright (c) 2004, 2016 IBM Corporation * All rights reserved. * This program and the accompanying materials * are made available under the terms of the BSD License * which accompanies this distribution, and is available at * http://www.opensource.org/licenses/bsd-license.php * * Contributors: * IBM Corporation - initial implementation *****************************************************************************/ #ifndef _STRING_H #define _STRING_H #include "stddef.h" char *strcpy(char *dest, const char *src); char *strncpy(char *dest, const char *src, size_t n); char *strcat(char *dest, const char *src); int strcmp(const char *s1, const char *s2); int strncmp(const char *s1, const char *s2, size_t n); int strcasecmp(const char *s1, const char *s2); int strncasecmp(const char *s1, const char *s2, size_t n); char *strchr(const char *s, int c); char *strrchr(const char *s, int c); size_t strlen(const char *s); size_t strnlen(const char *s, size_t n); char *strstr(const char *hay, const char *needle); char *strtok(char *src, const char *pattern); char *strdup(const char *src); void *memset(void *s, int c, size_t n); void *memchr(const void *s, int c, size_t n); void *memcpy(void *dest, const void *src, size_t n); void *memcpy_from_ci(void *destpp, const void *srcpp, size_t len); void *memmove(void *dest, const void *src, size_t n); int memcmp(const void *s1, const void *s2, size_t n); static inline int ffs(unsigned long val) { return __builtin_ffs(val); } #endif