summaryrefslogtreecommitdiff
path: root/include/ulib/string.h
blob: 6e87157c014d52d500144dda04d5c664dfcd669e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef _STRING_H
#define _STRING_H

#include "ulib/types.h"
#include "ulib/errno.h"

#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned long long size_t;
#endif

#ifdef __cplusplus
extern "C"
{
#endif

    /* Memory Manipulation*/
    void *memcpy(void *dest, const void *src, size_t n);

    void *memmove(void *dest, const void *src, size_t n);

    void *memset(void *dest, int c, size_t n);

    int memcmp(const void *s1, const void *s2, size_t n);

    void *memchr(const void *s, int c, size_t n);

    /* String Manipulation */

    size_t strlen(const char *s);

    char *strcpy(char *dest, const char *src);

    char *strncpy(char *dest, const char *src, size_t n);

    char *strcat(char *dest, const char *src);

    char *strncat(char *dest, const char *src, size_t n);

    int strcmp(const char *s1, const char *s2);

    int strncmp(const char *s1, const char *s2, size_t n);

    char *strchr(const char *s, int c);

    char *strrchr(const char *s, int c);

    char *strstr(const char *haystack, const char *needle);

    char *strdup(const char *s);

    size_t strlcpy(char *dest, const char *src, size_t size);

    size_t strlcat(char *dest, const char *src, size_t size);

    size_t strspn(const char *s, const char *accept);

    size_t strcspn(const char *s, const char *reject);

    char *strpbrk(const char *s, const char *accept);

    char *strtok(char *str, const char *delim);

    char *strerror(int errnum);

#ifdef __cplusplus
}
#endif

#endif /* _STRING_H */