CVS Repository/ src/ include/ strings.h

Annotated Revision 1.4 Back
1.4  (millert 20-Nov-15)  1
: /*	$OpenBSD: strings.h,v 1.3 2003/06/02 19:34:12 millert Exp $	*/
1.1  (deraadt 18-Oct-95)  2
: 
   3
: /*-
   4
:  * Copyright (c) 1990 The Regents of the University of California.
   5
:  * All rights reserved.
   6
:  *
   7
:  * Redistribution and use in source and binary forms, with or without
   8
:  * modification, are permitted provided that the following conditions
   9
:  * are met:
   10
:  * 1. Redistributions of source code must retain the above copyright
   11
:  *    notice, this list of conditions and the following disclaimer.
   12
:  * 2. Redistributions in binary form must reproduce the above copyright
   13
:  *    notice, this list of conditions and the following disclaimer in the
   14
:  *    documentation and/or other materials provided with the distribution.
1.3  (millert 02-Jun-03)  15
:  * 3. Neither the name of the University nor the names of its contributors
1.1  (deraadt 18-Oct-95)  16
:  *    may be used to endorse or promote products derived from this software
   17
:  *    without specific prior written permission.
   18
:  *
   19
:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   20
:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   21
:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   22
:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   23
:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   24
:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   25
:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   26
:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   27
:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   28
:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   29
:  * SUCH DAMAGE.
   30
:  *
   31
:  *	@(#)strings.h	5.8 (Berkeley) 5/15/90
   32
:  */
   33
: 
1.4  (millert 20-Nov-15)  34
: #ifndef _STRINGS_H_
   35
: #define	_STRINGS_H_
   36
: 
   37
: #include <sys/cdefs.h>
   38
: #include <machine/_types.h>
   39
: 
   40
: /*
   41
:  * POSIX mandates that certain string functions not present in ISO C
   42
:  * be prototyped in strings.h.
   43
:  */
   44
: 
   45
: #ifndef	_SIZE_T_DEFINED_
   46
: #define	_SIZE_T_DEFINED_
   47
: typedef	__size_t	size_t;
   48
: #endif
   49
: 
   50
: __BEGIN_DECLS
   51
: #if __BSD_VISIBLE || (__XPG_VISIBLE >= 420 && __POSIX_VISIBLE <= 200112)
   52
: /*
   53
:  * The following functions were removed from IEEE Std 1003.1-2008
   54
:  */
   55
: int	 bcmp(const void *, const void *, size_t);
   56
: void	 bcopy(const void *, void *, size_t)
   57
: 		__attribute__ ((__bounded__(__buffer__,1,3)))
   58
: 		__attribute__ ((__bounded__(__buffer__,2,3)));
   59
: void	 bzero(void *, size_t)
   60
: 		__attribute__ ((__bounded__(__buffer__,1,2)));
   61
: char	*index(const char *, int);
   62
: char	*rindex(const char *, int);
   63
: #endif
   64
: 
   65
: #if __XPG_VISIBLE >= 420
   66
: int	 ffs(int);
   67
: int	 strcasecmp(const char *, const char *);
   68
: int	 strncasecmp(const char *, const char *, size_t);
   69
: #endif
   70
: __END_DECLS
   71
: 
   72
: #endif /* _STRINGS_H_ */