__string.h
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:4k
- /* Copyright 1994-1995 The Santa Cruz Operation, Inc. All Rights Reserved. */
- #if defined(_NO_PROTOTYPE) /* Old, crufty environment */
- #include <oldstyle/string.h>
- #elif defined(_XOPEN_SOURCE) || defined(_XPG4_VERS) /* Xpg4 environment */
- #include <xpg4/string.h>
- #elif defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) /* Posix environment */
- #include <posix/string.h>
- #elif _STRICT_ANSI /* Pure Ansi/ISO environment */
- #include <ansi/string.h>
- #elif defined(_SCO_ODS_30) /* Old, Tbird compatible environment */
- #include <ods_30_compat/string.h>
- #else /* Normal, default environment */
- /*
- * Portions Copyright (C) 1983-1995 The Santa Cruz Operation, Inc.
- * All Rights Reserved.
- *
- * The information in this file is provided for the exclusive use of
- * the licensees of The Santa Cruz Operation, Inc. Such users have the
- * right to use, modify, and incorporate this code into other products
- * for purposes authorized by the license agreement provided they include
- * this notice and the associated copyright notice with any such product.
- * The information in this file is provided "AS IS" without warranty.
- */
- /* Portions Copyright (c) 1990, 1991, 1992, 1993 UNIX System Laboratories, Inc. */
- /* Portions Copyright (c) 1979 - 1990 AT&T */
- /* All Rights Reserved */
- /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
- /* UNIX System Laboratories, Inc. */
- /* The copyright notice above does not evidence any */
- /* actual or intended publication of such source code. */
- #ifndef ___STRING_H
- #define ___STRING_H
- #pragma comment(exestr, "xpg4plus @(#) string.h 20.1 94/12/04 ")
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef _SIZE_T
- #define _SIZE_T
- typedef unsigned int size_t;
- #endif
- #ifndef NULL
- #define NULL 0
- #endif /* NULL */
- extern void *memchr(const void *, int, size_t);
- extern void *memcpy(void *, const void *, size_t);
- extern void *memccpy(void *, const void *, int, size_t);
- extern void *memmove(void *, const void *, size_t);
- extern void *memset(void *, int, size_t);
- extern char *strchr(const char *, int);
- extern char *strcpy(char *, const char *);
- extern char *strncpy(char *, const char *, size_t);
- extern char *strcat(char *, const char *);
- extern char *strncat(char *, const char *, size_t);
- extern char *strpbrk(const char *, const char *);
- extern char *strrchr(const char *, int);
- extern char *strstr(const char *, const char *);
- extern char *strtok(char *, const char *);
- extern char *strtok_r(char *, const char *, char **);
- extern char *strerror(int);
- extern char *strlist(char *, const char *, ...);
- extern int memcmp(const void *, const void *, size_t);
- extern int strcmp(const char *, const char *);
- extern int strcoll(const char *, const char *);
- extern int strncmp(const char *, const char *, size_t);
- extern void perror(const char *);
- extern char *strdup(const char *);
- extern int strncoll(const char *, const char *, int);
- extern size_t strnxfrm(char *, const char *, size_t , int);
- extern size_t strxfrm(char *, const char *, size_t);
- extern size_t strcspn(const char *, const char *);
- extern size_t strspn(const char *, const char *);
- extern size_t strlen(const char *);
- #ifdef __USLC__
- #pragma int_to_unsigned strcspn
- #pragma int_to_unsigned strspn
- #pragma int_to_unsigned strlen
- #endif
- #if !defined(__cplusplus) && defined(__USLC__)
- /* Use intrinsic ??? */
- #ifndef strlen
- #define strlen __std_hdr_strlen
- #endif
- #ifndef strcpy
- #define strcpy __std_hdr_strcpy
- #endif
- #ifndef strncpy
- #define strncpy __std_hdr_strncpy
- #endif
- #endif
- extern int ffs(int);
- /*
- * The following two functions were withdrawn in XPG3,
- * but are provided for backwards compatibility.
- */
- extern int nl_strcmp(char *, char *);
- extern int nl_strncmp(char *, char *, int n);
- #ifdef __cplusplus
- }
- #endif
- #endif /* ___STRING_H */
- #endif