wip, most of my SD static bins work
[ginge.git] / loader / header.h
index 8197664..f2f6a45 100644 (file)
@@ -3,13 +3,39 @@
 #define PFX "ginge: "
 #define err(f, ...) fprintf(stderr, PFX f, ##__VA_ARGS__)
 #define log(f, ...) fprintf(stdout, PFX f, ##__VA_ARGS__)
+#if 1
+#define dbg log
+#define dbg_c printf
+#else
+#define dbg(...)
+#define dbg_c(...)
+#endif
 
 void do_entry(unsigned long entry, void *stack_frame, int stack_frame_cnt, void *exitf);
 
+struct dev_fd_t {
+  const char *name;
+  int fd;
+};
+extern struct dev_fd_t emu_interesting_fds[];
+enum {
+       IFD_SOUND = 0,
+};
+
+enum {
+  FAKEDEV_MEM = 10001,
+  FAKEDEV_GPIO,
+  FAKEDEV_FB0,
+  FAKEDEV_FB1,
+  FAKEDEV_MMUHACK,
+  FAKEDEV_FD_BOUNDARY,
+};
+
 void do_patches(void *ptr, unsigned int size);
 
 void  emu_init(void *map_bottom);
-void *emu_mmap_dev(unsigned int length, int prot, int flags, unsigned int offset);
+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);
 
 int   host_read_btns(void);