/* Copyright(C) 1994 TOSHIBA CORPORATION  All rights reserved */
/*	$RCSfile: STRING.H $	*/
/*	$Revision: 1.2 $	*/
/*	$Date: 1996/02/27 14:16:39 $	*/

#ifndef	__STRING_H
#define	__STRING_H

#ifndef	__CDECL
#if	__STDC__
#define __CDECL
#else
#define __CDECL __cdecl
#endif	/* __STDC__ */
#endif	/* __CDECL */

#ifndef	__SIZE_T
#define	__SIZE_T
typedef	unsigned int	size_t;
#endif	/* __SIZE_T */

#ifndef	NULL
#define	NULL	((void *)0)
#endif

/* ANSI */
void * __CDECL	memchr(const void *s, int c, size_t n);
int __CDECL	memcmp(const void *s1, const void *s2, size_t n);
void * __CDECL	memcpy(void *s1, const void *s2, size_t n);
void * __CDECL	memmove(void *s1, const void *s2, size_t n);
void * __CDECL	memset(void *s, int c, size_t n);

char * __CDECL	strcat(char *s1, const char *s2);
char * __CDECL	strchr(const char *s, int c);
int __CDECL	strcmp(const char *s1, const char *s2);
char * __CDECL	strcpy(char *s1, const char *s2);
size_t __CDECL	strcspn(const char *s1, const char *s2);
size_t __CDECL	strlen(const char *s);
char * __CDECL	strncat(char *s1, char *s2, size_t n);
int __CDECL	strncmp(const char *s1, const char *s2, size_t n);
char * __CDECL	strncpy(char *s1, const char *s2, size_t n);
char * __CDECL	strpbrk(const char *s1, const char *s2);
char * __CDECL	strrchr(const char *s, int c);
size_t __CDECL	strspn(const char *s1, const char *s2);
char * __CDECL	strstr(const char *s1,const char *s2);
char * __CDECL	strtok(char *s1, const char *s2);

/* Not Support */	/*	int __CDECL	strcoll(const char *s1, const char *s2);	*/
/* Not Support */	/*	char __CDECL	*strerror(int errnum);				*/
/* Not Support */	/*	size_t __CDECL	strxfrm(char *s1, const char *s2, size_t n);	*/

/* Standard */
void * __CDECL	memccpy(void *s1, const void *s2, int c, size_t n);
int __CDECL	memicmp(void *s1, void *s2, size_t n);
void * __CDECL	memswap(void *s1, void *s2, size_t n);

int __CDECL	stricmp(const char *s1, const char *s2);
char * __CDECL	strlwr(char *s);
int __CDECL	strnicmp(const char *s1, const char *s2, size_t n);
char * __CDECL	strnset(char *s, int c, size_t n);
char * __CDECL	strrev(char *s);
char * __CDECL	strset(char *s, int c);
char * __CDECL	strupr(char *s);

/* Large amount data */
#if defined (__9000__) || defined (__900__) || (defined(__870X__) && defined(__LARGE__))
void * __CDECL	__fmemccpy(void *s1,const void *s2, int c, unsigned long n);
void * __CDECL	__fmemchr(const void *s1,int c, unsigned long n);
int __CDECL	__fmemcmp(const void *s1,const void *s2,unsigned long n);
void * __CDECL	__fmemcpy(void *s1, void *s2, unsigned long n);
void * __CDECL	__fmemset(void *s, int c, unsigned long n);
void * __CDECL	__fmemmove(void *s1, const void *s2, unsigned long n);
void * __CDECL	__fmemswap(void *s1, void *s2, unsigned long n);
#endif

#endif	/* __STRING_H */
