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 <errno.h>
11 #include <sys/types.h>
12 
13 #include "_ansi.h"
14 
15 _BEGIN_STD_C
16 
17 /* The newlib implementation of these functions assumes that sizeof(char) == 1. */
18 error_t argz_create (char *const argv[], char **argz, size_t *argz_len);
19 error_t argz_create_sep (const char *string, int sep, char **argz, size_t *argz_len);
20 size_t argz_count (const char *argz, size_t argz_len);
21 void argz_extract (char *argz, size_t argz_len, char **argv);
22 void argz_stringify (char *argz, size_t argz_len, int sep);
23 error_t argz_add (char **argz, size_t *argz_len, const char *str);
24 error_t argz_add_sep (char **argz, size_t *argz_len, const char *str, int sep);
25 error_t argz_append (char **argz, size_t *argz_len, const char *buf, size_t buf_len);
26 error_t argz_delete (char **argz, size_t *argz_len, char *entry);
27 error_t argz_insert (char **argz, size_t *argz_len, char *before, const char *entry);
28 char * argz_next (char *argz, size_t argz_len, const char *entry);
29 error_t argz_replace (char **argz, size_t *argz_len, const char *str, const char *with, unsigned *replace_count);
30 
31 _END_STD_C
32 
33 #endif /* _ARGZ_H_ */
34