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 -
            2025, 
            All Rights Reserved