string.h (93032) | string.h (93747) |
---|---|
1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)string.h 8.1 (Berkeley) 6/2/93 | 1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)string.h 8.1 (Berkeley) 6/2/93 |
34 * $FreeBSD: head/include/string.h 93032 2002-03-23 17:24:55Z imp $ | 34 * $FreeBSD: head/include/string.h 93747 2002-04-04 05:41:57Z mike $ |
35 */ 36 37#ifndef _STRING_H_ 38#define _STRING_H_ | 35 */ 36 37#ifndef _STRING_H_ 38#define _STRING_H_ |
39 40#include <sys/cdefs.h> |
|
39#include <machine/ansi.h> 40 | 41#include <machine/ansi.h> 42 |
43/* 44 * Prototype functions which were historically defined in <string.h>, but 45 * are required by POSIX to be prototyped in <strings.h>. 46 */ 47#if __BSD_VISIBLE 48#include <strings.h> 49#endif 50 |
|
41#ifdef _BSD_SIZE_T_ 42typedef _BSD_SIZE_T_ size_t; 43#undef _BSD_SIZE_T_ 44#endif 45 46#ifndef NULL 47#define NULL 0 48#endif 49 | 51#ifdef _BSD_SIZE_T_ 52typedef _BSD_SIZE_T_ size_t; 53#undef _BSD_SIZE_T_ 54#endif 55 56#ifndef NULL 57#define NULL 0 58#endif 59 |
50#include <sys/cdefs.h> 51 | |
52__BEGIN_DECLS 53void *memchr(const void *, int, size_t); 54int memcmp(const void *, const void *, size_t); | 60__BEGIN_DECLS 61void *memchr(const void *, int, size_t); 62int memcmp(const void *, const void *, size_t); |
55void *memcpy(void *, const void *, size_t); | 63void *memcpy(void * __restrict, const void * __restrict, size_t); |
56void *memmove(void *, const void *, size_t); 57void *memset(void *, int, size_t); | 64void *memmove(void *, const void *, size_t); 65void *memset(void *, int, size_t); |
58char *strcat(char *, const char *); | 66char *strcat(char * __restrict, const char * __restrict); |
59char *strchr(const char *, int); 60int strcmp(const char *, const char *); 61int strcoll(const char *, const char *); | 67char *strchr(const char *, int); 68int strcmp(const char *, const char *); 69int strcoll(const char *, const char *); |
62char *strcpy(char *, const char *); | 70char *strcpy(char * __restrict, const char * __restrict); |
63size_t strcspn(const char *, const char *); 64char *strerror(int); 65size_t strlen(const char *); | 71size_t strcspn(const char *, const char *); 72char *strerror(int); 73size_t strlen(const char *); |
66char *strncat(char *, const char *, size_t); | 74char *strncat(char * __restrict, const char * __restrict, size_t); |
67int strncmp(const char *, const char *, size_t); | 75int strncmp(const char *, const char *, size_t); |
68char *strncpy(char *, const char *, size_t); | 76char *strncpy(char * __restrict, const char * __restrict, size_t); |
69char *strpbrk(const char *, const char *); 70char *strrchr(const char *, int); 71size_t strspn(const char *, const char *); 72char *strstr(const char *, const char *); | 77char *strpbrk(const char *, const char *); 78char *strrchr(const char *, int); 79size_t strspn(const char *, const char *); 80char *strstr(const char *, const char *); |
73char *strtok(char *, const char *); 74size_t strxfrm(char *, const char *, size_t); | 81char *strtok(char * __restrict, const char * __restrict); 82size_t strxfrm(char * __restrict, const char * __restrict, size_t); |
75 | 83 |
76/* Nonstandard routines */ 77#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 78int bcmp(const void *, const void *, size_t); 79void bcopy(const void *, void *, size_t); 80void bzero(void *, size_t); 81int ffs(int); 82char *index(const char *, int); 83void *memccpy(void *, const void *, int, size_t); 84char *rindex(const char *, int); 85int strcasecmp(const char *, const char *); 86char *strcasestr(const char *, const char *); | 84#if __POSIX_VISIBLE >= 200112 85void *memccpy(void * __restrict, const void * __restrict, int, size_t); |
87char *strdup(const char *); 88int strerror_r(int, char *, size_t); | 86char *strdup(const char *); 87int strerror_r(int, char *, size_t); |
88char *strtok_r(char *, const char *, char **); 89#endif 90 91#if __BSD_VISIBLE 92char *strcasestr(const char *, const char *); |
|
89size_t strlcat(char *, const char *, size_t); 90size_t strlcpy(char *, const char *, size_t); 91void strmode(int, char *); | 93size_t strlcat(char *, const char *, size_t); 94size_t strlcpy(char *, const char *, size_t); 95void strmode(int, char *); |
92int strncasecmp(const char *, const char *, size_t); | |
93char *strnstr(const char *, const char *, size_t); 94char *strsep(char **, const char *); 95char *strsignal(int); | 96char *strnstr(const char *, const char *, size_t); 97char *strsep(char **, const char *); 98char *strsignal(int); |
96char *strtok_r(char *, const char *, char **); | |
97void swab(const void *, void *, size_t); 98#endif 99__END_DECLS 100 101#endif /* _STRING_H_ */ | 99void swab(const void *, void *, size_t); 100#endif 101__END_DECLS 102 103#endif /* _STRING_H_ */ |