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