1 /* Copyright (C) 2002 by  Red Hat, Incorporated. All rights reserved.
2  *
3  * Permission to use, copy, modify, and distribute this software
4  * is freely granted, provided that this notice is preserved.
5  */
6 
7 #ifndef _ARGZ_H_
8 #define _ARGZ_H_
9 
10 #include <sys/cdefs.h>
11 #define __need_size_t
12 #include <stddef.h>
13 
14 _BEGIN_STD_C
15 
16 #ifndef _ERROR_T_DECLARED
17 typedef int error_t;
18 #define _ERROR_T_DECLARED
19 #endif
20 
21 /* The newlib implementation of these functions assumes that sizeof(char) == 1. */
22 error_t argz_create (char *const argv[], char **argz, size_t *argz_len);
23 error_t argz_create_sep (const char *string, int sep, char **argz, size_t *argz_len);
24 size_t argz_count (const char *argz, size_t argz_len);
25 void argz_extract (char *argz, size_t argz_len, char **argv);
26 void argz_stringify (char *argz, size_t argz_len, int sep);
27 error_t argz_add (char **argz, size_t *argz_len, const char *str);
28 error_t argz_add_sep (char **argz, size_t *argz_len, const char *str, int sep);
29 error_t argz_append (char **argz, size_t *argz_len, const char *buf, size_t buf_len);
30 error_t argz_delete (char **argz, size_t *argz_len, char *entry);
31 error_t argz_insert (char **argz, size_t *argz_len, char *before, const char *entry);
32 char * argz_next (char *argz, size_t argz_len, const char *entry);
33 error_t argz_replace (char **argz, size_t *argz_len, const char *str, const char *with, unsigned *replace_count);
34 
35 _END_STD_C
36 
37 #endif /* _ARGZ_H_ */
38