/* Written by Stone Horse. Public domain */
#ifndef STRINGS_H
#define STRINGS_H 1

#include <ansi.h>

#define NULL (_VOID_PTR)0

_PROTOTYPE(extern void memcpy, (_VOID_PTR dst, _CONST _VOID_PTR src, unsigned int n));
_PROTOTYPE(extern int memcmp, (_CONST _VOID_PTR cs_in, _CONST _VOID_PTR ct_in, unsigned int n));
_PROTOTYPE(extern void memmove, (_VOID_PTR dst, _CONST _VOID_PTR src, unsigned int n));
_PROTOTYPE(extern void memset, (_VOID_PTR dst, unsigned int ch, unsigned int n));
_PROTOTYPE(extern _CONST _VOID_PTR memchr, (_CONST _VOID_PTR str, unsigned int ch, unsigned int n));
_PROTOTYPE(extern int strcpy, (char *dest, _CONST char *src));
_PROTOTYPE(extern int strcpyz, (char *dest, _CONST char *src));
_PROTOTYPE(extern int strinsert, (char *dest, _CONST char *src, unsigned int start));
_PROTOTYPE(extern int strdelete, (char *str, unsigned int start, unsigned int len));
_PROTOTYPE(extern int strcat, (char *dest, _CONST char *src));
_PROTOTYPE(extern int str_catz, (char *dest, _CONST char *src));
_PROTOTYPE(extern int substr, (char *dest, _CONST char *src, unsigned int start, unsigned int len));
_PROTOTYPE(extern unsigned int streq, (_CONST char *str1, _CONST char *str2));
_PROTOTYPE(extern unsigned int strprefix, (_CONST char *str1, _CONST char *str2));
_PROTOTYPE(extern unsigned int strsuffix, (_CONST char *str1, _CONST char *str2));
#endif
