psxsdk/libpsx/include/string.h

74 lines
2.3 KiB
C

/*
* string.h
*
* Prototypes for string functions of the C library
*
* PSXSDK
*/
// NOTE: The BIOS was found to be unreliable for many functions,
// so it is not used anymore for the libc.
#ifndef _STRING_H
#define _STRING_H
#ifdef __cplusplus
extern "C"
{
#endif
#include <strings.h> // for backwards compatibility
#include <types.h>
char *strcat(char *s , const char *append);
char *strncat(char *s , const char *append, size_t n);
int strcmp(const char *dst , const char *src);
int strncmp(const char *dst , const char *src , size_t len);
int stricmp(const char *s1, const char *s2); // alias of strcasecmp
int strnicmp(const char *s1, const char *s2, size_t len); // alias of strncasecmp
char *strcpy(char *dst , const char *src);
char *strncpy(char *dst , const char *src , size_t n);
int strlen(const char *s);
int strnlen(const char *s, size_t maxlen);
char *strchr(const char *s , int c);
char *strrchr(const char *s , int c);
char *strpbrk(const char *dst , const char *src);
int strspn(const char *s , const char *charset);
int strcspn(const char *s , const char *charset);
char *strsep(char **stringp, const char *delim);
char *strtok(char *str, const char *sep);
char* strtok_r(char *str, const char *delim, char **nextp);
char *strstr(const char *big , const char *little);
char *strcasestr(const char *big, const char *little);
char *strlwr(char *string);
char *strupr(char *string);
char *strdup(const char *str);
char *strndup(const char *str, size_t len);
int strlcpy(char *dst, const char *src, size_t size);
int strlcat(char *dst, const char *src, size_t size);
int strcoll(const char *dst , const char *src);
char *strerror(int errnum);
int strerror_r(int errnum, char *strerrbuf, size_t buflen);
void *memset(void *dst , int c , size_t n);
void *memmove(void *dst , const void *src , size_t n);
int memcmp(const void *b1 , const void *b2 , size_t n);
void *memchr(void *s , int c , size_t n);
void *memrchr(void *b, int c, size_t len);
void *memcpy(void *dst , const void *src , size_t len);
void *memccpy(void *dst, const void *src, int c, size_t len);
void *memmem(const void *big, size_t big_len, const void *little, size_t little_len);
// ffsl() and ffsll() are glibc extensions, and are in string.h
// instead of strings.h (like ffs()) for some reason..
int ffsl(long value);
int ffsll(long long value);
#ifdef __cplusplus
}
#endif
#endif