diff options
| author | Charles.Forsyth <devnull@localhost> | 2006-12-22 21:39:35 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2006-12-22 21:39:35 +0000 |
| commit | 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a (patch) | |
| tree | c6e220ba61db3a6ea4052e6841296d829654e664 /os/js/rom.h | |
| parent | 46439007cf417cbd9ac8049bb4122c890097a0fa (diff) | |
20060303
Diffstat (limited to 'os/js/rom.h')
| -rw-r--r-- | os/js/rom.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/os/js/rom.h b/os/js/rom.h new file mode 100644 index 00000000..ed4ee2cb --- /dev/null +++ b/os/js/rom.h @@ -0,0 +1,57 @@ +typedef struct ROM ROM; +typedef struct ROMconf ROMconf; + +struct ROM +{ + uint magic; + uint version; + uint plugversion; + uint monid; + uint pad1[3]; + ROMconf *conf; + uint pad2[17]; + void (*boot)(void*); + uint pad3[1]; + void (*enter)(void); + int *msec; + void (*exit)(void); + void (**callback)(void); + uint (*interpret)(void*); + uint pad4[2]; + char **bootpath; + char **bootargs; + uint *stdin; + uint *stdout; + uint (*phandle)(uint); + uint (*alloc)(void*, uint); + void (*free)(void*); + uint (*map)(void*, uint, uint, uint); + void (*unmap)(void*, uint); + uint (*open)(char*); + uint (*close)(uint); + uint (*read)(uint, void*, int); + uint (*write)(uint, void*, int); + uint (*seek)(uint, uint, uint); + void (*chain)(void*, uint, void*, void*, uint); + void (*release)(void*, uint); + uint pad4[15]; + void (*putcxsegm)(int, ulong, int); + int (*startcpu)(uint, uint, uint, uint); + int (*stopcpu)(uint); + int (*idlecpu)(uint); + int (*resumecpu)(uint); +}; + +struct ROMconf +{ + uint (*next)(uint); + uint (*child)(uint); + int (*getproplen)(uint, void*); + int (*getprop)(uint, void*, void*); + int (*setprop)(uint, void*, void*); + void* (*nextprop)(uint, void*); +}; + +#define ROMMAGIC 0x10010407 + +extern ROM *rom; |
