All pastes #488317 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-14 22:59 UTC
rendered paste body
/* @(#) $Revision: ../hdr/string.h@@/main/i80/CHECKEDOUT $ */
#ifndef _STRING_INCLUDED
#define _STRING_INCLUDED

#ifndef _SYS_STDSYMS_INCLUDED
#  include <sys/stdsyms.h>
#endif /* _SYS_STDSYMS_INCLUDED */
#  include <sys/_inttypes.h>

#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 <sys/_null.h>
#	endif /** __NULL_INCLUDED **/

/**
 ** Can not include <sys/types.h> here because
 ** it is not allowed in the ANSI namespace.
 **/
#  ifndef _SIZE_T_INCLUDED
#    include <sys/_size_t.h>
#  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 <cstring> */
#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 <cstring> */
#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 <sys/unistd.h> 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 */