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