blob: b872d0387335e8d44f384df7fc241ee3629fb3a5 [file] [log] [blame]
Antonio Nino Diaz27989a82018-08-17 10:45:47 +01001/*
2 * Copyright (c) 2012-2017 Roberto E. Vargas Caballero
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
Antonio Nino Diaz7c0ff9c2018-08-15 19:51:09 +01006/*
7 * Portions copyright (c) 2018, ARM Limited and Contributors.
8 * All rights reserved.
9 */
Antonio Nino Diaz27989a82018-08-17 10:45:47 +010010
11#ifndef _STRING_H
12#define _STRING_H
13
Antonio Nino Diaz7c0ff9c2018-08-15 19:51:09 +010014#include <string_.h>
Antonio Nino Diaz27989a82018-08-17 10:45:47 +010015
16#ifndef NULL
17#define NULL ((void *) 0)
18#endif
19
20extern void *memcpy(void * restrict s1, const void * restrict s2, size_t n);
21extern void *memmove(void *s1, const void *s2, size_t n);
22extern char *strcpy(char * restrict s1, const char * restrict s2);
23extern char *strncpy(char * restrict s1, const char * restrict s2, size_t n);
24extern char *strcat(char * restrict s1, const char * restrict s2);
25extern char *strncat(char * restrict s1, const char * restrict s2, size_t n);
26extern int memcmp(const void *s1, const void *s2, size_t n);
27extern int strcmp(const char *s1, const char *s2);
28extern int strcoll(const char *s1, const char *s2);
29extern int strncmp(const char *s1, const char *s2, size_t n);
30extern size_t strxfrm(char * restrict s1, const char * restrict s2, size_t n);
31extern void *memchr(const void *s, int c, size_t n);
32extern char *strchr(const char *s, int c);
33extern size_t strcspn(const char *s1, const char *s2);
34extern char *strpbrk(const char *s1, const char *s2);
35extern char *strrchr(const char *s, int c);
36extern size_t strspn(const char *s1, const char *s2);
37extern char *strstr(const char *s1, const char *s2);
38extern char *strtok(char * restrict s1, const char * restrict s2);
39extern void *memset(void *s, int c, size_t n);
40extern char *strerror(int errnum);
41extern size_t strlen(const char *s);
42
43#endif