Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/string.h
Real path: /usr/include/string.h
Zurück
/* * Copyright (c) 1989, 2020, Oracle and/or its affiliates. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ #ifndef _STRING_H #define _STRING_H #include <sys/feature_tests.h> #include <iso/string_iso.h> #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) #include <sys/types.h> #endif /* * Allow global visibility for symbols defined in * C++ "std" namespace in <iso/string_iso.h>. */ #if __cplusplus >= 199711L using std::size_t; using std::memchr; using std::memcmp; using std::memcpy; using std::memmove; using std::memset; using std::strcat; using std::strchr; using std::strcmp; using std::strcoll; using std::strcpy; using std::strcspn; using std::strerror; using std::strlen; using std::strncat; using std::strncmp; using std::strncpy; using std::strpbrk; using std::strrchr; using std::strspn; using std::strstr; using std::strtok; using std::strxfrm; #if defined(_STDC_C11_BCI) using std::memcpy_s; using std::memmove_s; using std::memset_s; using std::strcpy_s; using std::strncpy_s; using std::strcat_s; using std::strncat_s; using std::strtok_s; using std::strerror_s; using std::strerrorlen_s; using std::strnlen_s; #endif /* (_STDC_C11_BCI) */ #endif #ifdef __cplusplus extern "C" { #endif #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ defined(_XPG7) #ifndef _LOCALE_T #define _LOCALE_T typedef struct _LC_locale_t **locale_t; #endif /* !_LOCALE_T */ #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && .. */ #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ defined(_XPG6) extern int strerror_r(int, char *, size_t); #endif #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ (_POSIX_C_SOURCE - 0 >= 199506L) extern char *strtok_r(char *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, char **_RESTRICT_KYWD); #endif #if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) || \ defined(__XOPEN_OR_POSIX) extern void *memccpy(void *_RESTRICT_KYWD, const void *_RESTRICT_KYWD, int, size_t); #endif #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ defined(_XPG7) extern char *stpcpy(char *_RESTRICT_KYWD, const char *_RESTRICT_KYWD); extern char *stpncpy(char *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, size_t); extern char *strndup(const char *, size_t); extern size_t strnlen(const char *, size_t); extern char *strsignal(int); #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) .. */ #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) #if defined(_STRCASECMP_XPG7) && !defined(_STRCASECMP_ASCII_ONLY) #ifdef __PRAGMA_REDEFINE_EXTNAME #pragma redefine_extname strcasecmp __strcasecmp_xpg7 #pragma redefine_extname strncasecmp __strncasecmp_xpg7 #else extern int __strcasecmp_xpg7(const char *, const char *); extern int __strncasecmp_xpg7(const char *, const char *, size_t); #define strcasecmp __strcasecmp_xpg7 #define strncasecmp __strncasecmp_xpg7 #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* defined(_STRCASECMP_XPG7) && !defined(_STRCASECMP_ASCII_ONLY) */ extern int uucopy(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD, size_t); extern int uucopystr(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD, size_t); extern int ffs(int); extern int ffsl(long); extern int ffsll(long long); extern int fls(int); extern int flsl(long); extern int flsll(long long); extern void *memmem(const void *, size_t, const void *, size_t); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t); extern char *strcasestr(const char *, const char *); extern char *strnstr(const char *, const char *, size_t); extern size_t strlcpy(char *, const char *, size_t); extern size_t strlcat(char *, const char *, size_t); extern char *strsep(char **stringp, const char *delim); extern char *strchrnul(const char *, int); #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) .. */ #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ defined(_XPG4_2) extern char *strdup(const char *); #endif #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) #if defined(__GNUC__) /* * gcc provides this inlining facility but Studio C does not. * We should use it exclusively once Studio C also provides it. */ extern void *__builtin_alloca(size_t); #define strdupa(s) \ (__extension__( \ { \ char *__str = (char *)(s); \ strcpy((char *)__builtin_alloca(strlen(__str) + 1), __str); \ })) #define strndupa(s, n) \ (__extension__( \ { \ char *__str = (char *)(s); \ size_t __len = strnlen(__str, (n)); \ (__str = strncpy((char *)__builtin_alloca(__len + 1), \ __str, __len), \ __str[__len] = '\0', __str); \ })) #else /* __GNUC__ */ #if (defined(unix) || defined(__unix__)) && \ (__SUNPRO_C >= 0x550) /* excludes c99 and */ /* SunStudio prior to SOS8 */ /* * __thread not support until SOS8. * * Studio C currently can't do the gcc-style inlining, * so we use thread-local storage instead. */ extern void *__builtin_alloca(size_t); extern __thread char *__strdupa_str; extern __thread size_t __strdupa_len; #define strdupa(s) \ (__strdupa_str = (char *)(s), \ strcpy((char *)__builtin_alloca(strlen(__strdupa_str) + 1), \ __strdupa_str)) #define strndupa(s, n) \ (__strdupa_str = (char *)(s), \ __strdupa_len = strnlen(__strdupa_str, (n)), \ __strdupa_str = strncpy((char *)__builtin_alloca(__strdupa_len + 1), \ __strdupa_str, __strdupa_len), \ __strdupa_str[__strdupa_len] = '\0', __strdupa_str) #endif /* unix */ #endif /* __GNUC__ */ #endif /* __EXTENSIONS__ ... */ #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ defined(_XPG7) extern int strcoll_l(const char *, const char *, locale_t); extern char *strerror_l(int, locale_t); extern size_t strxfrm_l(char *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, size_t, locale_t); #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) .. */ #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) extern ssize_t b32_encode(char *_RESTRICT_KYWD outbuf, size_t outbufsz, const void *_RESTRICT_KYWD inbuf, size_t inbufsz, const char *alpha, uint64_t flags); extern ssize_t b32_decode(void *outbuf, size_t outbufsz, const char *inbuf, const char *alpha, uint64_t flags); extern ssize_t b64_encode(char *_RESTRICT_KYWD outbuf, size_t outbufsz, const void *_RESTRICT_KYWD inbuf, size_t inbufsz, const char *alpha, uint64_t flags); extern ssize_t b64_decode(void *outbuf, size_t outbufsz, const char *inbuf, const char *alpha, uint64_t flags); extern const char *BASE64_URL_ALPHABET; extern const char *BASE32_HEX_ALPHABET; extern void explicit_bzero(void *, size_t); extern void *explicit_memset(void *, int, size_t); extern const char *strerrordesc_np(int); extern const char *strerrorname_np(int); extern int timingsafe_bcmp(const void *s1, const void *s2, size_t len); extern int timingsafe_memcmp(const void *s1, const void *s2, size_t n); #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) .. */ #ifdef __cplusplus } #endif #endif /* _STRING_H */