X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=includes%2Fstring.h;h=a5e5b21072277c344ab978f4a03a21565b3fefdf;hb=e081ed1387e0c27dc689c8e32fdda06039544107;hp=95285778750d07e39af7f2b193e38a7596976cd8;hpb=1e221deb9ee725a14b3656f94e2763f8faeb18dc;p=pdclib diff --git a/includes/string.h b/includes/string.h index 9528577..a5e5b21 100644 --- a/includes/string.h +++ b/includes/string.h @@ -4,12 +4,49 @@ // Public Domain C Library - http://pdclib.sourceforge.net // This code is Public Domain. Use, modify, and redistribute at will. // ---------------------------------------------------------------------------- -// Provides functions for handling C strings ('\0' terminated char arrays). +// String handling // ---------------------------------------------------------------------------- #ifndef __STRING_H #define __STRING_H __STRING_H -// TODO +// TODO: Documentation + +// ---------------------------------------------------------------------------- +// MACROS + +#define NULL 0 + +// ---------------------------------------------------------------------------- +// TYPEDEFS + +typedef size_t; // TODO - personality? + +// ---------------------------------------------------------------------------- +// FUNCTIONS + +int memcmp( const void * s1, const void * s2, size_t n ); +void * memcpy( void * restrict s1, const void * restrict s2, size_t n ); +void * memmove( void * s1, const void * s2, size_t n ); +void * memset( void * s, int c, size_t n ); +char * strcat( char * restrict s1, const char * restrict s2 ); +int strcmp( const char * s1, const char * s2 ); +int strcoll( const char * s1, const char * s2 ); +char * strcpy( char * restrict s1, const char * restrict s2 ); +size_t strcspn( const char * s1, const char * s2 ); +char * strerror( int errcode ); +size_t strlen( const char * s ); +char * strncat( char * restrict s1, const char * restrict s2, size_t n ); +int strncmp( const char * s1, const char * s2, size_t n ); +char * strncpy( char * restrict s1, const char * restrict s2, size_t n ); +size_t strspn( const char * s1, const char * s2 ); +char * strtok( char * restrict s1, const char * restrict s2 ); +size_t strxfrm( char * restrict s1, const char * restrict s2, size_t n ); + +void * memchr( const void * s, int c, size_t n ); +char * strchr( const char * s, int c ); +char * strpbrk( const char *s1, const char * s2 ); +char * strrchr( const char * s, int c ); +char * strstr( const char * s1, const char * s2 ); #endif // __STRING_H