diff options
Diffstat (limited to 'qemu/roms/SLOF/include/romfs.h')
-rw-r--r-- | qemu/roms/SLOF/include/romfs.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/qemu/roms/SLOF/include/romfs.h b/qemu/roms/SLOF/include/romfs.h new file mode 100644 index 000000000..7228502c9 --- /dev/null +++ b/qemu/roms/SLOF/include/romfs.h @@ -0,0 +1,60 @@ +/****************************************************************************** + * Copyright (c) 2004, 2008 IBM Corporation + * All rights reserved. + * This program and the accompanying materials + * are made available under the terms of the BSD License + * which accompanies this distribution, and is available at + * http://www.opensource.org/licenses/bsd-license.php + * + * Contributors: + * IBM Corporation - initial implementation + *****************************************************************************/ +#ifndef ROMFS_H +#define ROMFS_H + +#define RFS_T_SIZE 0x00 +#define RFS_T_FLAGS 0x08 +#define RFS_T_FILEADDR 0x10 +#define RFS_T_NEXT 0x18 +#define RFS_T_NAME 0x20 +#define RFS_T_DATA 0x28 + +#define RFS_H_NEXT 0x00 +#define RFS_H_SIZE 0x08 +#define RFS_H_FLAGS 0x10 +#define RFS_H_DATA 0x18 +#define RFS_H_NAME 0x20 + +#define ROMFS_HDR_NEXT (0 * 8) +#define ROMFS_HDR_LEN (1 * 8) +#define ROMFS_HDR_FLAG (2 * 8) +#define ROMFS_HDR_DPTR (3 * 8) +#define ROMFS_HDR_NAME (4 * 8) + +#ifndef __ASSEMBLER__ +/* no not change except if you change romfs.S */ +struct romfs_t { + unsigned long size; + unsigned long flags; + unsigned long fileaddr; + unsigned long nexfile; + unsigned char *namep; + unsigned char *datap; +}; + +struct romfs_lookup_t { + unsigned long addr_header; + unsigned long addr_data; + unsigned long size_data; + unsigned long flags; +}; + +int romfs_stat(char *filename, struct romfs_t *hnd); + +int romfs_stat_file(char *filename, struct romfs_t *hnd); + +int c_romfs_lookup(char *filename, unsigned long rombase, + struct romfs_lookup_t *ret); + +#endif /* __ASSEMBLER__ */ +#endif /* ROMFS_H */ |