diff options
Diffstat (limited to 'lume-legacy/include/ulib/string.h')
| -rw-r--r-- | lume-legacy/include/ulib/string.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/lume-legacy/include/ulib/string.h b/lume-legacy/include/ulib/string.h new file mode 100644 index 0000000..c7519ea --- /dev/null +++ b/lume-legacy/include/ulib/string.h @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2026 Richard QIn + */ +#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 */
\ No newline at end of file |
