/* This file is automatically generated.
   It defines a symbol `__stub_FUNCTION' for each function
   in the C library which is a stub, meaning it will fail
   every time called, usually setting errno to ENOSYS.  */

#ifdef _LIBC
 #error Applications may not define the macro _LIBC
#endif

#define __stub_chflags
#define __stub_create_module
#define __stub_fattach
#define __stub_fchflags
#define __stub_fdetach
#define __stub_get_kernel_syms
#define __stub_getcontext
#define __stub_getmsg
#define __stub_getpmsg
#define __stub_gtty
#define __stub_lchmod
#define __stub_makecontext
#define __stub_putmsg
#define __stub_putpmsg
#define __stub_query_module
#define __stub_revoke
#define __stub_setcontext
#define __stub_setlogin
#define __stub_sigreturn
#define __stub_sstk
#define __stub_stty
#define __stub_swapcontext
#define __stub_sync_file_range
