glibc/include/argz.h
H.J. Lu 65a086db91 Mark internal argz functions with attribute_hidden [BZ #18822]
Move internal argz function prototypes to include/argz.h and mark them
with attribute_hidden to allow direct access within libc.so and libc.a
without using GOT nor PLT.  This also brings string/argz.h closer to the
gnulib version.

	[BZ #18822]
	* include/argz.h (__argz_create_sep): New function prototype.
	(__argz_append): Likewise.
	(__argz_add): Likewise.
	(__argz_add_sep): Likewise.
	(__argz_delete): Likewise.
	(__argz_insert): Likewise.
	(__argz_replace): Likewise.
	* string/argz.h (__argz_create_sep): Removed.
	(__argz_append): Likewise.
	(__argz_add): Likewise.
	(__argz_add_sep): Likewise.
	(__argz_delete): Likewise.
	(__argz_insert): Likewise.
	(__argz_replace): Likewise.
2017-08-18 09:31:33 -07:00

45 lines
1.5 KiB
C

#ifndef _ARGZ_H
#include <string/argz.h>
# ifndef _ISOMAC
extern error_t __argz_create_sep (const char *__restrict __string,
int __sep, char **__restrict __argz,
size_t *__restrict __len)
__THROW attribute_hidden;
extern error_t __argz_append (char **__restrict __argz,
size_t *__restrict __argz_len,
const char *__restrict __buf, size_t __buf_len)
__THROW attribute_hidden;
extern error_t __argz_add (char **__restrict __argz,
size_t *__restrict __argz_len,
const char *__restrict __str)
__THROW attribute_hidden;
extern error_t __argz_add_sep (char **__restrict __argz,
size_t *__restrict __argz_len,
const char *__restrict __string, int __delim)
__THROW attribute_hidden;
extern void __argz_delete (char **__restrict __argz,
size_t *__restrict __argz_len,
char *__restrict __entry)
__THROW attribute_hidden;
extern error_t __argz_insert (char **__restrict __argz,
size_t *__restrict __argz_len,
char *__restrict __before,
const char *__restrict __entry)
__THROW attribute_hidden;
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)
attribute_hidden;
libc_hidden_proto (argz_delete)
libc_hidden_proto (__argz_count)
libc_hidden_proto (__argz_stringify)
# endif /* !_ISOMAC */
#endif