X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Fheader.h;h=58ef4d9e14777e043786a197686184099b606fa7;hp=8da398eff49e07e15fe3a41afad913e928ec6100;hb=cf0a08ff470c8abfd7a877cdd38e79536aa7f963;hpb=7fd42181a7f66b4403076cd9de98e18140a7eaf8 diff --git a/loader/header.h b/loader/header.h index 8da398e..58ef4d9 100644 --- a/loader/header.h +++ b/loader/header.h @@ -17,6 +17,7 @@ void do_entry(unsigned long entry, void *stack_frame, int stack_frame_cnt, void struct dev_fd_t { const char *name; int fd; + void (*open_cb)(int fd); }; extern struct dev_fd_t emu_interesting_fds[]; enum { @@ -36,13 +37,18 @@ enum { void do_patches(void *ptr, unsigned int size); +struct op_context; + void emu_init(void *map_bottom); +void emu_call_handle_op(struct op_context *op_ctx); void *emu_do_mmap(unsigned int length, int prot, int flags, int fd, unsigned int offset); int emu_do_ioctl(int fd, int request, void *argp); int emu_read_gpiodev(void *buf, int count); void *emu_do_fopen(const char *path, const char *mode); int emu_do_system(const char *command); +int emu_do_execve(const char *filename, char *const argv[], char *const envp[]); +int host_init(void); int host_read_btns(void); enum { GP2X_UP = 0, GP2X_LEFT = 2, GP2X_DOWN = 4, GP2X_RIGHT = 6,