/*
 * List of function definitions that may *optionally* be included
 * in libiberty.a.  The function names must match the filenames,
 * e.g. bzero() is defined in bzero.c.  (While each file can contain
 * extra functions, do not list them.)
 *
 * In the default libiberty configuration, these object files
 * (e.g bzero.o) are included if and only if cc fails to find
 * the corresponding function in libc.
 */

DEF(asprintf, int, (), NOTHING)
DEF(atexit, int, (f), void (*f)())
DEF(bcmp, int, (s1, s2, length), char *s1 AND char *s2 AND int length )
DEF(bcopy, void, (s1, s2, length), char *s1 AND char *s2 AND int length )
DEF(bzero, void, (s, length), char *s AND int length)
DEF(clock, clock_t, (), NOTHING)
DEF(getopt, int, (argc, argv, optstring),
	int argc AND char **argv AND CONST char *optstring)	
DEF(getpagesize, int , (), NOTHING)
DEF(getcwd, char*, (buf, len), char *buf AND int len)
DEF(index, char*, (s, c), char *s AND int c)
DEF(insque, void, (), NOTHING)
DEF(memchr, PTR, (s, c, length), CONST PTR s AND int c AND size_t length)
DEF(memcmp, int, (s1, s2, length),
	CONST PTR s1 AND CONST PTR s2 AND size_t length)
DEF(memcpy, PTR, (s1, s2, length), PTR s1 AND CONST PTR s2 AND size_t length)
DEF(memmove, PTR, (s1, s2, length), PTR s1 AND CONST PTR s2 AND size_t length)
DEF(memset, PTR, (s, val, length), PTR s AND int val AND size_t length )
DEF(random, long int, (), NOTHING)
DEF(rename, int, (f, t), char *f AND char *t)
DEF(rindex, char*, (s, c), char *s AND int c)
DEF(strcasecmp, int, (s1, s2), char *s1 AND char *s2)
DEF(strncasecmp, int, (s1, s2, n), char *s1 AND char *s2 AND int n)
DEF(strchr, char*, (s, c), CONST char *s AND int c)
DEF(strdup, char*, (s1), char * s1)
DEF(strrchr, char*, (s, c), CONST char *s AND int c)
DEF(strstr, char*, (), NOTHING)
DEF(strtod, double, (), NOTHING)
DEF(strtol, long, (), NOTHING)
DEF(strtoul, unsigned long, (), NOTHING)
DEF(tmpnam, char *, (s), char * s)
DEF(vfork, int, (), NOTHING)
DEF(vfprintf, int, (), NOTHING)
DEF(vprintf, int, (), NOTHING)
DEF(vsprintf, int, (), NOTHING)
DEF(sigsetmask, int, (), NOTHING)
DEF(alloca, PTR, (size), size_t size)
DEF(waitpid, int, (pid, statp, opts), int pid AND int* statp AND int opts )
DEF(vasprintf, int, (), NOTHING)

/* List of global variables that we want to look for in the host
   environment, and to generate an entry NEED_<variable> in config.h
   if they are not found.  The first arg is the variable name, the
   second arg is how to declare the variable, and the third is how to
   use it. */

DEFVAR(sys_nerr, int sys_nerr, sys_nerr = 0)
DEFVAR(sys_errlist, char *sys_errlist[], sys_errlist[0] = 0)
DEFVAR(sys_siglist, char *sys_siglist[], sys_siglist[0] = 0)

/* List of global functions that we want to look for in the host
   environment, and to generate an entry NEED_<funcname> in config.h
   if they are not found. */

DEFFUNC(strerror, char*, (errnoval), int errnoval)
DEFFUNC(psignal, void, (signo, message), unsigned signo AND char *message)
DEFFUNC(basename, char *, (name), CONST char *name)
DEFFUNC(on_exit, void, (f, arg), void (*f)() AND char *arg)
DEFFUNC(strsignal, const char *, (signo), int signo)
