=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/include/strings.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- src/include/strings.h 2003/06/02 19:34:12 1.3 +++ src/include/strings.h 2015/11/20 23:40:32 1.4 @@ -1,5 +1,4 @@ -/* $OpenBSD: strings.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */ -/* $NetBSD: strings.h,v 1.3 1994/10/26 00:56:31 cgd Exp $ */ +/* $OpenBSD: strings.h,v 1.4 2015/11/20 23:40:32 millert Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -32,4 +31,42 @@ * @(#)strings.h 5.8 (Berkeley) 5/15/90 */ -#include +#ifndef _STRINGS_H_ +#define _STRINGS_H_ + +#include +#include + +/* + * POSIX mandates that certain string functions not present in ISO C + * be prototyped in strings.h. + */ + +#ifndef _SIZE_T_DEFINED_ +#define _SIZE_T_DEFINED_ +typedef __size_t size_t; +#endif + +__BEGIN_DECLS +#if __BSD_VISIBLE || (__XPG_VISIBLE >= 420 && __POSIX_VISIBLE <= 200112) +/* + * The following functions were removed from IEEE Std 1003.1-2008 + */ +int bcmp(const void *, const void *, size_t); +void bcopy(const void *, void *, size_t) + __attribute__ ((__bounded__(__buffer__,1,3))) + __attribute__ ((__bounded__(__buffer__,2,3))); +void bzero(void *, size_t) + __attribute__ ((__bounded__(__buffer__,1,2))); +char *index(const char *, int); +char *rindex(const char *, int); +#endif + +#if __XPG_VISIBLE >= 420 +int ffs(int); +int strcasecmp(const char *, const char *); +int strncasecmp(const char *, const char *, size_t); +#endif +__END_DECLS + +#endif /* _STRINGS_H_ */