/*
 * $Header: /smsa/bsd:include/string.h:bsd  1.7  $
 * $Source: /smsa/bsd:include/string.h: $
 *
 * Copyright (c) 1988 Acorn Computers Ltd., Cambridge, England
 */
/*
 * Copyright (c) 1985 Regents of the University of California.
 * All rights reserved.  The Berkeley software License Agreement
 * specifies the terms and conditions for redistribution.
 *
 *	@(#)string.h	5.1 (Berkeley) 85/08/05
 */

#ifndef __string_h
#define __string_h

#ifndef __size_t
#define __size_t 1
typedef unsigned int size_t;   /* from <stddef.h> */
#endif

#ifndef NULL
#define NULL 0
#endif

extern void *memcpy(void * /*s1*/, const void * /*s2*/, size_t /*n*/);
extern void *memmove(void * /*s1*/, const void * /*s2*/, size_t /*n*/);
extern char *strcpy(char * /*s1*/, const char * /*s2*/);
extern char *strncpy(char * /*s1*/, const char * /*s2*/, size_t /*n*/);

extern char *strcat(char * /*s1*/, const char * /*s2*/);
extern char *strncat(char * /*s1*/, const char * /*s2*/, size_t /*n*/);

extern int memcmp(const void * /*s1*/, const void * /*s2*/, size_t /*n*/);
extern int strcmp(const char * /*s1*/, const char * /*s2*/);
extern int strcoll(const char * /*s1*/, const char * /*s2*/);
extern int strncmp(const char * /*s1*/, const char * /*s2*/, size_t /*n*/);
extern size_t strxfrm(char * /*s1*/, const char * /*s2*/, size_t /*n*/);

extern void *memchr(const void * /*s*/, int /*c*/, size_t /*n*/);
extern char *strchr(const char * /*s*/, int /*c*/);
extern size_t strcspn(const char * /*s1*/, const char * /*s2*/);
extern char *strpbrk(const char * /*s1*/, const char * /*s2*/);
extern char *strrchr(const char * /*s*/, int /*c*/);
extern size_t strspn(const char * /*s1*/, const char * /*s2*/);
extern char *strstr(const char * /*s1*/, const char * /*s2*/);
extern char *strtok(char * /*s1*/, const char * /*s2*/);

extern void *memset(void * /*s*/, int /*c*/, size_t /*n*/);
extern char *strerror(int /*errnum*/);
extern size_t strlen(const char * /*s*/);

#if defined (_BSD_C)
extern char *index(const char * /*s*/, int /*c*/);
extern char *rindex(const char * /*s*/, int /*c*/);
extern char *strcpyn(char * /*s1*/, const char * /*s2*/, size_t /*n*/);
extern char *strcatn(char * /*s1*/, const char * /*s2*/, size_t /*n*/);
extern int strcmpn(char * /*s1*/, const char * /*s2*/, size_t /*n*/);
#endif

#if defined(_XOPEN_C)
extern void *memccpy(void * /*s1*/, const void * /*s2*/, int /*c*/, size_t /*n*/);
#endif

#endif
