argz.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020: #ifndef _ARGZ_H
021: #define _ARGZ_H 1
022:
023: #include <features.h>
024:
025: #define __need_error_t
026: #include <errno.h>
027: #include <string.h>
028:
029: #ifndef __const
030: # define __const const
031: #endif
032:
033: #ifndef __error_t_defined
034: typedef int error_t;
035: #endif
036:
037:
038: __BEGIN_DECLS
039:
040:
041:
042:
043: extern error_t __argz_create (char *__const __argv[], char **__restrict __argz,
044: size_t *__restrict __len) __THROW;
045: extern error_t argz_create (char *__const __argv[], char **__restrict __argz,
046: size_t *__restrict __len) __THROW;
047:
048:
049:
050:
051:
052: extern error_t __argz_create_sep (__const char *__restrict __string,
053: int __sep, char **__restrict __argz,
054: size_t *__restrict __len) __THROW;
055: extern error_t argz_create_sep (__const char *__restrict __string,
056: int __sep, char **__restrict __argz,
057: size_t *__restrict __len) __THROW;
058:
059:
060: extern size_t __argz_count (__const char *__argz, size_t __len)
061: __THROW __attribute_pure__;
062: extern size_t argz_count (__const char *__argz, size_t __len)
063: __THROW __attribute_pure__;
064:
065:
066:
067: extern void __argz_extract (__const char *__restrict __argz, size_t __len,
068: char **__restrict __argv) __THROW;
069: extern void argz_extract (__const char *__restrict __argz, size_t __len,
070: char **__restrict __argv) __THROW;
071:
072:
073:
074: extern void __argz_stringify (char *__argz, size_t __len, int __sep) __THROW;
075: extern void argz_stringify (char *__argz, size_t __len, int __sep) __THROW;
076:
077:
078: extern error_t __argz_append (char **__restrict __argz,
079: size_t *__restrict __argz_len,
080: __const char *__restrict __buf, size_t _buf_len)
081: __THROW;
082: extern error_t argz_append (char **__restrict __argz,
083: size_t *__restrict __argz_len,
084: __const char *__restrict __buf, size_t __buf_len)
085: __THROW;
086:
087:
088: extern error_t __argz_add (char **__restrict __argz,
089: size_t *__restrict __argz_len,
090: __const char *__restrict __str) __THROW;
091: extern error_t argz_add (char **__restrict __argz,
092: size_t *__restrict __argz_len,
093: __const char *__restrict __str) __THROW;
094:
095:
096:
097: extern error_t __argz_add_sep (char **__restrict __argz,
098: size_t *__restrict __argz_len,
099: __const char *__restrict __string, int __delim)
100: __THROW;
101: extern error_t argz_add_sep (char **__restrict __argz,
102: size_t *__restrict __argz_len,
103: __const char *__restrict __string, int __delim)
104: __THROW;
105:
106:
107: extern void __argz_delete (char **__restrict __argz,
108: size_t *__restrict __argz_len,
109: char *__restrict __entry) __THROW;
110: extern void argz_delete (char **__restrict __argz,
111: size_t *__restrict __argz_len,
112: char *__restrict __entry) __THROW;
113:
114:
115:
116:
117:
118:
119:
120: extern error_t __argz_insert (char **__restrict __argz,
121: size_t *__restrict __argz_len,
122: char *__restrict __before,
123: __const char *__restrict __entry) __THROW;
124: extern error_t argz_insert (char **__restrict __argz,
125: size_t *__restrict __argz_len,
126: char *__restrict __before,
127: __const char *__restrict __entry) __THROW;
128:
129:
130:
131:
132: extern error_t __argz_replace (char **__restrict __argz,
133: size_t *__restrict __argz_len,
134: __const char *__restrict __str,
135: __const char *__restrict __with,
136: unsigned int *__restrict __replace_count);
137: extern error_t argz_replace (char **__restrict __argz,
138: size_t *__restrict __argz_len,
139: __const char *__restrict __str,
140: __const char *__restrict __with,
141: unsigned int *__restrict __replace_count);
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157: extern char *__argz_next (__const char *__restrict __argz, size_t __argz_len,
158: __const char *__restrict __entry) __THROW;
159: extern char *argz_next (__const char *__restrict __argz, size_t __argz_len,
160: __const char *__restrict __entry) __THROW;
161:
162: #ifdef __USE_EXTERN_INLINES
163: __extern_inline char *
164: __NTH (__argz_next (__const char *__argz, size_t __argz_len,
165: __const char *__entry))
166: {
167: if (__entry)
168: {
169: if (__entry < __argz + __argz_len)
170: __entry = strchr (__entry, '\0') + 1;
171:
172: return __entry >= __argz + __argz_len ? (char *) NULL : (char *) __entry;
173: }
174: else
175: return __argz_len > 0 ? (char *) __argz : 0;
176: }
177: __extern_inline char *
178: __NTH (argz_next (__const char *__argz, size_t __argz_len,
179: __const char *__entry))
180: {
181: return __argz_next (__argz, __argz_len, __entry);
182: }
183: #endif
184:
185: __END_DECLS
186:
187: #endif
188:
© Andrew Scott 2006 -
2024,
All Rights Reserved