wrap munmap to prevent unwanted unmaps
[ginge.git] / loader / realfuncs.h
... / ...
CommitLineData
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
13int real_open(const char *pathname, int flags, ...);
14FILE *real_fopen(const char *path, const char *mode);
15void *real_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
16int real_munmap(void *addr, size_t length);
17int real_read(int fd, void *buf, size_t count);
18int real_ioctl(int fd, int request, void *argp);
19int real_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
20typedef struct sigaction sigaction_t;
21int real_tcgetattr(int fd, struct termios *termios_p);
22int real_tcsetattr(int fd, int optional_actions, const struct termios *termios_p);
23int real_system(const char *command);
24// exec* - skipped
25int real_execve(const char *filename, char *const argv[], char *const envp[]);
26int 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