get rid of some libc deps
[ginge.git] / loader / realfuncs.h
index 8a4fb58..fe83feb 100644 (file)
@@ -9,6 +9,10 @@
 #include <signal.h>
 #include <termios.h>
 
+#include "llibc.h"
+
+#define printf(fmt, ...) \
+       g_fprintf(1, fmt, ##__VA_ARGS__)
 
 int   real_open(const char *pathname, int flags, ...);
 FILE *real_fopen(const char *path, const char *mode);
@@ -16,6 +20,7 @@ void *real_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t of
 int   real_munmap(void *addr, size_t length);
 int   real_read(int fd, void *buf, size_t count);
 int   real_ioctl(int fd, int request, void *argp);
+int   real_close(int fd);
 int   real_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
 typedef struct sigaction sigaction_t;
 int   real_tcgetattr(int fd, struct termios *termios_p);
@@ -24,6 +29,10 @@ int   real_system(const char *command);
 // exec* - skipped
 int   real_execve(const char *filename, char *const argv[], char *const envp[]);
 int   real_chdir(const char *path);
+void  real_sleep(unsigned int seconds);
+void  real_usleep(unsigned int usec);
+void __attribute__((noreturn))
+      real_exit(int status);
 
 #define open real_open
 #define fopen real_fopen
@@ -31,6 +40,7 @@ int   real_chdir(const char *path);
 #define munmap real_munmap
 #define read real_read
 #define ioctl real_ioctl
+#define close real_close
 #define sigaction real_sigaction
 #define tcgetattr real_tcgetattr
 #define tcsetattr real_tcsetattr
@@ -42,4 +52,7 @@ int   real_chdir(const char *path);
 #define execvp real_execvp
 #define execve real_execve
 #define chdir real_chdir
+#define sleep real_sleep
+#define usleep real_usleep
+#define exit real_exit