/* @(#) $Revision: ../hdr/string.h@@/main/i80/CHECKEDOUT $ */ #ifndef _STRING_INCLUDED #define _STRING_INCLUDED #ifndef _SYS_STDSYMS_INCLUDED # include #endif /* _SYS_STDSYMS_INCLUDED */ # include #ifndef _FAST_SHLIB_CALLS # if defined(_HP_SHLIB_CALLS) && !defined(__LP64__) # define _FAST_SHLIB_CALLS # endif #endif /* _FAST_SHLIB_CALLS */ #ifdef __cplusplus extern "C" { #endif #ifdef _INCLUDE__STDC__ # ifndef __NULL_INCLUDED # include # endif /** __NULL_INCLUDED **/ /** ** Can not include here because ** it is not allowed in the ANSI namespace. **/ # ifndef _SIZE_T_INCLUDED # include # endif /* _SIZE_T_INCLUDED */ # if defined(__STDC__) || defined(__cplusplus) # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strcoll, strxfrm, strpbrk # pragma HP_DEFINED_EXTERNAL strtok, strerror # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strcoll, strxfrm, strpbrk # pragma HP_NO_RELOCATION strtok, strerror # pragma HP_LONG_RETURN strcoll, strxfrm, strpbrk # pragma HP_LONG_RETURN strtok, strerror # endif /* _FAST_SHLIB_CALLS */ # ifdef _NO_LIBCRES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL memcmp,strncat,strncmp,memmove,strncpy # pragma HP_DEFINED_EXTERNAL strcpy,strcat,strcmp,strchr # pragma HP_DEFINED_EXTERNAL strrchr,strstr # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION memcmp,strncat,strncmp,memmove,strcpy,strncpy # pragma HP_NO_RELOCATION strcat,strcmp,strchr # pragma HP_NO_RELOCATION strrchr,strstr # pragma HP_LONG_RETURN memcmp,strncat,strncmp,memmove,strcpy,strncpy # pragma HP_LONG_RETURN strcat,strcmp,strcoll,strxfrm,strchr,strpbrk # pragma HP_LONG_RETURN strrchr,strstr # endif /* _FAST_SHLIB_CALLS */ # endif /* _NO_LIBCRES */ _NAMESPACE_STD_START extern int memcmp(const void *, const void *, size_t); extern char *strncat(char *, const char *, size_t); extern int strncmp(const char *, const char *, size_t); extern void *memmove(void *, const void *, size_t); extern char *strcpy(char *, const char *); extern char *strncpy(char *, const char *, size_t); extern char *strcat(char *, const char *); extern int strcmp(const char *, const char *); extern int strcoll(const char *, const char *); extern size_t strxfrm(char *, const char *, size_t); #if defined(__HP_NO_STRING_OVERLOADS) || \ !(defined(_NAMESPACE_STD) || \ defined(__HPACC_STRICTER_ANSI__) || \ defined(_HP_NAMESPACE_STD)) extern char *strchr(const char *, int); extern char *strpbrk(const char *, const char *); extern char *strrchr(const char *, int); extern char *strstr(const char *, const char *); #else /* These functions are defined in */ #endif /* defined(__HP_NO_STRING_OVERLOADS) || ... */ extern char *strtok(char *, const char *); extern char *strerror(int); _NAMESPACE_STD_END # ifdef _REENTRANT # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strtok_r # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strtok_r # pragma HP_LONG_RETURN strtok_r # endif /* _FAST_SHLIB_CALLS */ extern char *strtok_r(char *, const char *, char **); # ifdef _PTHREADS_DRAFT4 extern int strerror_r(int, char *, int); # endif /* _PTHREADS_DRAFT4 */ # endif /* _REENTRANT */ # else /* __STDC__ || __cplusplus */ # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strcoll, strxfrm, strpbrk # pragma HP_DEFINED_EXTERNAL strtok, strerror # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strcoll, strxfrm, strpbrk # pragma HP_NO_RELOCATION strtok, strerror # pragma HP_LONG_RETURN strcoll, strxfrm, strpbrk # pragma HP_LONG_RETURN strtok, strerror # endif /* _FAST_SHLIB_CALLS */ # ifdef _NO_LIBCRES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL memcmp,strncat,strncmp,memmove,strncpy # pragma HP_DEFINED_EXTERNAL strcpy,strcat,strcmp,strchr # pragma HP_DEFINED_EXTERNAL strrchr,strstr # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION memcmp,strncat,strncmp,memmove,strcpy,strncpy # pragma HP_NO_RELOCATION strcat,strcmp,strchr,strrchr,strstr # pragma HP_LONG_RETURN memcmp,strncat,strncmp,memmove,strcpy,strncpy # pragma HP_LONG_RETURN strcat,strcmp,strchr, strrchr,strstr # endif /* _FAST_SHLIB_CALLS */ # endif /* _NO_LIBCRES */ extern int memcmp(); extern void *memmove(); extern char *strcpy(); extern char *strncpy(); extern char *strcat(); extern char *strncat(); extern int strcmp(); extern int strncmp(); extern int strcoll(); extern size_t strxfrm(); extern char *strchr(); extern char *strpbrk(); extern char *strrchr(); extern char *strstr(); extern char *strtok(); extern char *strerror(); # ifdef _REENTRANT # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strtok_r # endif /* _FAST_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strtok_r # pragma HP_LONG_RETURN strtok_r # endif /* _FAST_SHLIB_CALLS */ extern char *strtok_r(); # ifdef _PTHREADS_DRAFT4 extern int strerror_r(); # endif /* _PTHREADS_DRAFT4 */ # endif /* _REENTRANT */ # endif /* __STDC__ || __cplusplus */ # ifdef _CLASSIC_ANSI_TYPES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strspn # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strspn # pragma HP_LONG_RETURN strspn # endif /* FAST_SHLIB_CALLS */ # ifdef _NO_LIBCRES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL memcpy,memchr,memset,strcspn,strlen # endif /* FAST_APP_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION memcpy,memchr,memset,strcspn,strlen # pragma HP_LONG_RETURN memcpy,memchr,memset,strcspn,strlen # endif /* _FAST_SHLIB_CALLS */ # endif /* _NO_LIBCRES */ extern char *memcpy(); extern char *memchr(); extern char *memset(); extern int strcspn(); extern int strspn(); extern int strlen(); # else /* _CLASSIC_ANSI_TYPES */ # if defined(__STDC__) || defined(__cplusplus) # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strspn # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strspn # pragma HP_LONG_RETURN strspn # endif /* _FAST_SHLIB_CALLS */ # ifdef _NO_LIBCRES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL memcpy,memchr,memset,strcspn,strlen # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION memcpy,memchr,memset,strcspn,strlen # pragma HP_LONG_RETURN memcpy,memchr,memset,strcspn,strlen # endif /* _FAST_SHLIB_CALLS */ # endif /* _NO_LIBCRES */ _NAMESPACE_STD_START extern void *memcpy(void *, const void *, size_t); #if defined(__HP_NO_STRING_OVERLOADS) || \ !(defined(_NAMESPACE_STD) || \ defined(__HPACC_STRICTER_ANSI__) || \ defined(_HP_NAMESPACE_STD)) extern void *memchr(const void *, int, size_t); #else /* This function is defined in */ #endif /* defined(__HP_NO_STRING_OVERLOADS) || ... */ extern void *memset(void *, int, size_t); extern size_t strcspn(const char *, const char *); extern size_t strspn(const char *, const char *); _NAMESPACE_STD_END # if defined(_INCLUDE_AES_SOURCE) && !defined(_XPG4) extern size_t strlen(char *); # else /* not _INCLUDE_AES_SOURCE || _XPG4 */ _NAMESPACE_STD_START extern size_t strlen(const char *); _NAMESPACE_STD_END # endif /* not _INCLUDE_AES_SOURCE || _XPG4 */ # else /* not __STDC__ || __cplusplus */ # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strspn # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strspn # pragma HP_LONG_RETURN strspn # endif /* _FAST_SHLIB_CALLS */ # ifdef _NO_LIBCRES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL memcpy,memchr,memset,strcspn,strlen # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION memcpy,memchr,memset,strcspn,strlen # pragma HP_LONG_RETURN memcpy,memchr,memset,strcspn,strlen # endif /* _FAST_SHLIB_CALLS */ # endif /* _NO_LIBCRES */ extern void *memcpy(); extern void *memchr(); extern void *memset(); extern size_t strcspn(); extern size_t strspn(); extern size_t strlen(); # endif /* else not __STDC__ || __cplusplus */ # endif /* _CLASSIC_ANSIC_TYPES */ #endif /* _INCLUDE__STDC__ */ #ifdef _INCLUDE_XOPEN_SOURCE # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL memccpy # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION memccpy # pragma HP_LONG_RETURN memccpy # endif /* _FAST_SHLIB_CALLS */ # ifdef _CLASSIC_XOPEN_TYPES extern char *memccpy(); # else # if defined(__STDC__) || defined(__cplusplus) extern void *memccpy(void *, const void *, int, __size_t); # else /* __STDC__ || __cplusplus */ extern void *memccpy(); # endif /* __STDC__ || __cplusplus */ # endif #endif /* _INCLUDE_XOPEN_SOURCE */ #if defined(_INCLUDE_AES_SOURCE) && !defined(_INCLUDE_XOPEN_SOURCE_EXTENDED) /* swab() is defined here for AES and in otherwise */ # ifdef _PROTOTYPES extern void swab(const char *, char *, int); # else /* no _PROTOTYPES */ extern void swab(); # endif /* _PROTOTYPES */ #endif /* _INCLUDE_AES_SOURCE && not _INCLUDE_XOPEN_SOURCE_EXTENDED */ #ifdef _INCLUDE_XOPEN_SOURCE_EXTENDED # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strdup # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strdup # pragma HP_LONG_RETURN strdup # endif /* _FAST_SHLIB_CALLS */ # ifdef _PROTOTYPES extern char *strdup(const char *); # else /* ! _PROTOTYPES */ extern char *strdup(); # endif /* _PROTOTYPES */ #endif /* _INCLUDE_XOPEN_SOURCE_EXTENDED */ #ifdef _INCLUDE_HPUX_SOURCE # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strcasecmp,strncasecmp # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strcasecmp,strncasecmp # pragma HP_LONG_RETURN strcasecmp,strncasecmp # endif /* _FAST_SHLIB_CALLS */ # ifdef _NO_LIBCRES # ifdef _HP_SHLIB_CALLS # pragma HP_DEFINED_EXTERNAL strrstr # endif /* _HP_SHLIB_CALLS */ # ifdef _FAST_SHLIB_CALLS # pragma HP_NO_RELOCATION strrstr # pragma HP_LONG_RETURN strrstr # endif /* _FAST_SHLIB_CALLS */ # endif /* _NO_LIBCRES */ # if defined(__STDC__) || defined(__cplusplus) extern char *strrstr(const char *, const char *); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, __size_t); # else /* __STDC__ || __cplusplus */ extern char *strrstr(); extern int strcasecmp(); extern int strncasecmp(); # endif /* __STDC__ || __cplusplus */ #endif /* _INCLUDE_HPUX_SOURCE */ #ifdef __cplusplus } #endif #endif /* _STRING_INCLUDED */