strings.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020: #ifndef _STRINGS_H
021: #define _STRINGS_H 1
022:
023:
024:
025:
026: #if !defined _STRING_H || !defined __USE_BSD
027:
028: # include <features.h>
029: # define __need_size_t
030: # include <stddef.h>
031:
032:
033: # if defined __cplusplus && __GNUC_PREREQ (4, 4)
034: # define __CORRECT_ISO_CPP_STRINGS_H_PROTO
035: # endif
036:
037: __BEGIN_DECLS
038:
039: # if defined __USE_MISC || !defined __USE_XOPEN2K8
040:
041: extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
042: __THROW __attribute_pure__;
043:
044:
045: extern void bcopy (__const void *__src, void *__dest, size_t __n) __THROW;
046:
047:
048: extern void bzero (void *__s, size_t __n) __THROW;
049:
050:
051: # ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO
052: extern "C++"
053: {
054: extern char *index (char *__s, int __c)
055: __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
056: extern __const char *index (__const char *__s, int __c)
057: __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
058:
059: # if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRING_H_PROTO
060: __extern_always_inline char *
061: index (char *__s, int __c) __THROW
062: {
063: return __builtin_index (__s, __c);
064: }
065:
066: __extern_always_inline __const char *
067: index (__const char *__s, int __c) __THROW
068: {
069: return __builtin_index (__s, __c);
070: }
071: # endif
072: }
073: # else
074: extern char *index (__const char *__s, int __c)
075: __THROW __attribute_pure__ __nonnull ((1));
076: # endif
077:
078:
079: # ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO
080: extern "C++"
081: {
082: extern char *rindex (char *__s, int __c)
083: __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
084: extern __const char *rindex (__const char *__s, int __c)
085: __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
086:
087: # if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRING_H_PROTO
088: __extern_always_inline char *
089: rindex (char *__s, int __c) __THROW
090: {
091: return __builtin_rindex (__s, __c);
092: }
093:
094: __extern_always_inline __const char *
095: rindex (__const char *__s, int __c) __THROW
096: {
097: return __builtin_rindex (__s, __c);
098: }
099: # endif
100: }
101: # else
102: extern char *rindex (__const char *__s, int __c)
103: __THROW __attribute_pure__ __nonnull ((1));
104: # endif
105: # endif
106:
107: #if defined __USE_MISC || !defined __USE_XOPEN2K8 || defined __USE_XOPEN2K8XSI
108:
109:
110: extern int ffs (int __i) __THROW __attribute__ ((const));
111: #endif
112:
113:
114: extern int strcasecmp (__const char *__s1, __const char *__s2)
115: __THROW __attribute_pure__;
116:
117:
118: extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
119: __THROW __attribute_pure__;
120:
121: #ifdef __USE_XOPEN2K8
122:
123:
124:
125: # include <xlocale.h>
126:
127:
128:
129: extern int strcasecmp_l (__const char *__s1, __const char *__s2,
130: __locale_t __loc)
131: __THROW __attribute_pure__ __nonnull ((1, 2, 3));
132:
133: extern int strncasecmp_l (__const char *__s1, __const char *__s2,
134: size_t __n, __locale_t __loc)
135: __THROW __attribute_pure__ __nonnull ((1, 2, 4));
136: #endif
137:
138: __END_DECLS
139:
140: #endif
141:
142: #endif
143:
for client
18.117.196.184
© Andrew Scott 2006 -
2024,
All Rights Reserved