more patches for more variants
[ginge.git] / loader / realfuncs.h
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #include <fcntl.h>
6 #include <sys/mman.h>
7 #include <unistd.h>
8 #include <sys/ioctl.h>
9 #include <signal.h>
10 #include <termios.h>
11
12
13 int   real_open(const char *pathname, int flags, ...);
14 FILE *real_fopen(const char *path, const char *mode);
15 void *real_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
16 int   real_munmap(void *addr, size_t length);
17 int   real_read(int fd, void *buf, size_t count);
18 int   real_ioctl(int fd, int request, void *argp);
19 int   real_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
20 typedef struct sigaction sigaction_t;
21 int   real_tcgetattr(int fd, struct termios *termios_p);
22 int   real_tcsetattr(int fd, int optional_actions, const struct termios *termios_p);
23 int   real_system(const char *command);
24 // exec* - skipped
25 int   real_execve(const char *filename, char *const argv[], char *const envp[]);
26 int   real_chdir(const char *path);
27
28 #define open real_open
29 #define fopen real_fopen
30 #define mmap real_mmap
31 #define munmap real_munmap
32 #define read real_read
33 #define ioctl real_ioctl
34 #define sigaction real_sigaction
35 #define tcgetattr real_tcgetattr
36 #define tcsetattr real_tcsetattr
37 #define system real_system
38 #define execl real_execl
39 #define execlp real_execlp
40 #define execle real_execle
41 #define execv real_execv
42 #define execvp real_execvp
43 #define execve real_execve
44 #define chdir real_chdir
45