/usr/include
NameSizeModeActions
arpa/-0755rm
asm-generic/-0755rm
c++/-0755rm
drm/-0755rm
finclude/-0755rm
iproute2/-0755rm
libdmmp/-0755rm
linux/-0755rm
misc/-0755rm
mtd/-0755rm
net/-0755rm
netash/-0755rm
netatalk/-0755rm
netax25/-0755rm
neteconet/-0755rm
netinet/-0755rm
netipx/-0755rm
netiucv/-0755rm
netpacket/-0755rm
netrom/-0755rm
netrose/-0755rm
nfs/-0755rm
node/-0755rm
openssl/-0755rm
protocols/-0755rm
rdma/-0755rm
rpc/-0755rm
rpcsvc/-0755rm
scsi/-0755rm
sound/-0755rm
video/-0755rm
x86_64-linux-gnu/-0755rm
xen/-0755rm
xfs/-0755rm
aio.h74570644editdlrm
aliases.h20320644editdlrm
alloca.h12040644editdlrm
ar.h17310644editdlrm
argp.h254730644editdlrm
argz.h60510644editdlrm
assert.h46430644editdlrm
byteswap.h14050644editdlrm
complex.h71640644editdlrm
cpio.h22680644editdlrm
crypt.h111600644editdlrm
ctype.h109690644editdlrm
dirent.h125150644editdlrm
dlfcn.h74790644editdlrm
elf.h1773460644editdlrm
endian.h22990644editdlrm
envz.h28670644editdlrm
err.h22670644editdlrm
errno.h16790644editdlrm
error.h22820644editdlrm
execinfo.h15230644editdlrm
fcntl.h97100644editdlrm
features.h170790644editdlrm
fenv.h58740644editdlrm
fmtmsg.h32400644editdlrm
fnmatch.h22960644editdlrm
fstab.h31110644editdlrm
fts.h83730644editdlrm
ftw.h52520644editdlrm
gawkapi.h404860644editdlrm
gconv.h42110644editdlrm
getopt.h14690644editdlrm
glob.h66170644editdlrm
gnu-versions.h23430644editdlrm
gnumake.h29120644editdlrm
grp.h66870644editdlrm
gshadow.h45290644editdlrm
iconv.h18580644editdlrm
ifaddrs.h28410644editdlrm
inttypes.h118930644editdlrm
langinfo.h178490644editdlrm
lastlog.h1260644editdlrm
libgen.h13860644editdlrm
libintl.h45800644editdlrm
limits.h54170644editdlrm
link.h72070644editdlrm
locale.h76750644editdlrm
malloc.h61860644editdlrm
math.h464040644editdlrm
mcheck.h24350644editdlrm
memory.h9560644editdlrm
mntent.h33590644editdlrm
monetary.h18040644editdlrm
mpath_cmd.h41570644editdlrm
mpath_persist.h98090644editdlrm
mqueue.h37600644editdlrm
netdb.h281000644editdlrm
nl_types.h17530644editdlrm
nss.h18790644editdlrm
obstack.h213070644editdlrm
paths.h29830644editdlrm
poll.h220644editdlrm
printf.h68010644editdlrm
proc_service.h34770644editdlrm
pthread.h417010644editdlrm
pty.h15700644editdlrm
pwd.h61590644editdlrm
regex.h247150644editdlrm
regexp.h14480644editdlrm
resolv.h118730644editdlrm
re_comp.h9630644editdlrm
sched.h47330644editdlrm
search.h54500644editdlrm
semaphore.h27350644editdlrm
setjmp.h36700644editdlrm
sgtty.h13440644editdlrm
shadow.h54720644editdlrm
signal.h123090644editdlrm
spawn.h77580644editdlrm
stab.h2640644editdlrm
stdc-predef.h22900644editdlrm
stdint.h84740644editdlrm
stdio.h299500644editdlrm
stdio_ext.h28000644editdlrm
stdlib.h358350644editdlrm
string.h176600644editdlrm
strings.h47530644editdlrm
sudo_plugin.h82210644editdlrm
syscall.h250644editdlrm
sysexits.h52320644editdlrm
syslog.h240644editdlrm
tar.h37860644editdlrm
termio.h2140644editdlrm
termios.h35990644editdlrm
tgmath.h374190644editdlrm
threads.h66610644editdlrm
thread_db.h160240644editdlrm
time.h102760644editdlrm
ttyent.h24940644editdlrm
uchar.h20020644editdlrm
ucontext.h20370644editdlrm
ulimit.h15840644editdlrm
unistd.h428040644editdlrm
utime.h15020644editdlrm
utmp.h32230644editdlrm
utmpx.h41000644editdlrm
values.h19560644editdlrm
wait.h220644editdlrm
wchar.h311110644editdlrm
wctype.h55490644editdlrm
wordexp.h25020644editdlrm
Edit: /usr/include/argz.h (6051B)
/* Routines for dealing with '\0' separated arg vectors. Copyright (C) 1995-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see . */ #ifndef _ARGZ_H #define _ARGZ_H 1 #include #include #include /* Need size_t, and strchr is called below. */ __BEGIN_DECLS /* error_t may or may not be available from errno.h, depending on the operating system. */ #ifndef __error_t_defined # define __error_t_defined 1 typedef int error_t; #endif /* Make a '\0' separated arg vector from a unix argv vector, returning it in ARGZ, and the total length in LEN. If a memory allocation error occurs, ENOMEM is returned, otherwise 0. The result can be destroyed using free. */ extern error_t __argz_create (char *const __argv[], char **__restrict __argz, size_t *__restrict __len) __THROW; extern error_t argz_create (char *const __argv[], char **__restrict __argz, size_t *__restrict __len) __THROW; /* Make a '\0' separated arg vector from a SEP separated list in STRING, returning it in ARGZ, and the total length in LEN. If a memory allocation error occurs, ENOMEM is returned, otherwise 0. The result can be destroyed using free. */ extern error_t argz_create_sep (const char *__restrict __string, int __sep, char **__restrict __argz, size_t *__restrict __len) __THROW; /* Returns the number of strings in ARGZ. */ extern size_t __argz_count (const char *__argz, size_t __len) __THROW __attribute_pure__; extern size_t argz_count (const char *__argz, size_t __len) __THROW __attribute_pure__; /* Puts pointers to each string in ARGZ into ARGV, which must be large enough to hold them all. */ extern void __argz_extract (const char *__restrict __argz, size_t __len, char **__restrict __argv) __THROW; extern void argz_extract (const char *__restrict __argz, size_t __len, char **__restrict __argv) __THROW; /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ extern void __argz_stringify (char *__argz, size_t __len, int __sep) __THROW; extern void argz_stringify (char *__argz, size_t __len, int __sep) __THROW; /* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN. */ extern error_t argz_append (char **__restrict __argz, size_t *__restrict __argz_len, const char *__restrict __buf, size_t __buf_len) __THROW; /* Append STR to the argz vector in ARGZ & ARGZ_LEN. */ extern error_t argz_add (char **__restrict __argz, size_t *__restrict __argz_len, const char *__restrict __str) __THROW; /* Append SEP separated list in STRING to the argz vector in ARGZ & ARGZ_LEN. */ extern error_t argz_add_sep (char **__restrict __argz, size_t *__restrict __argz_len, const char *__restrict __string, int __delim) __THROW; /* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there. */ extern void argz_delete (char **__restrict __argz, size_t *__restrict __argz_len, char *__restrict __entry) __THROW; /* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end. Since ARGZ's first entry is the same as ARGZ, argz_insert (ARGZ, ARGZ_LEN, ARGZ, ENTRY) will insert ENTRY at the beginning of ARGZ. If BEFORE is not in ARGZ, EINVAL is returned, else if memory can't be allocated for the new ARGZ, ENOMEM is returned, else 0. */ extern error_t argz_insert (char **__restrict __argz, size_t *__restrict __argz_len, char *__restrict __before, const char *__restrict __entry) __THROW; /* Replace any occurrences of the string STR in ARGZ with WITH, reallocating ARGZ as necessary. If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be incremented by number of replacements performed. */ extern error_t argz_replace (char **__restrict __argz, size_t *__restrict __argz_len, const char *__restrict __str, const char *__restrict __with, unsigned int *__restrict __replace_count); /* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there are no more. If entry is NULL, then the first entry is returned. This behavior allows two convenient iteration styles: char *entry = 0; while ((entry = argz_next (argz, argz_len, entry))) ...; or char *entry; for (entry = argz; entry; entry = argz_next (argz, argz_len, entry)) ...; */ extern char *__argz_next (const char *__restrict __argz, size_t __argz_len, const char *__restrict __entry) __THROW; extern char *argz_next (const char *__restrict __argz, size_t __argz_len, const char *__restrict __entry) __THROW; #ifdef __USE_EXTERN_INLINES __extern_inline char * __NTH (__argz_next (const char *__argz, size_t __argz_len, const char *__entry)) { if (__entry) { if (__entry < __argz + __argz_len) __entry = strchr (__entry, '\0') + 1; return __entry >= __argz + __argz_len ? (char *) NULL : (char *) __entry; } else return __argz_len > 0 ? (char *) __argz : 0; } __extern_inline char * __NTH (argz_next (const char *__argz, size_t __argz_len, const char *__entry)) { return __argz_next (__argz, __argz_len, __entry); } #endif /* Use extern inlines. */ __END_DECLS #endif /* argz.h */