#ifndef ULIB_STRING_STRING_H_
#define ULIB_STRING_STRING_H_

#if !defined(__ASSEMBLER__)

#include <stddef.h>
#include <stdint.h>

size_t string_len(const char *s);
void *string_memset(void *p, int c, size_t n);
void *string_memcpy(void *dst, const void *src, size_t n);
int string_memcmp(const void *s1, const void *s2, int len);
int string_strcmp(const char *a, const char *b);
size_t string_strcspn(const char *s, const char *reject);
size_t string_strspn(const char *s, const char *accept);
char *string_strcpy(char *dest, const char *src);
char *string_strchr(const char *s, int c);
int string_strncmp(const char * s1, const char * s2, size_t n);
char *string_tokenizealloc(char *s, char *delim);
char *string_tokenizealloc_linecontinue(char *s, char *delim);
char *string_combine(char *dest, const char *src);
void * string_memmove(void* dest, const void* src, unsigned int n);

#endif

#endif // ULIB_STRING_STRING_H_
