Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / SLOF / include / romfs.h
diff --git a/qemu/roms/SLOF/include/romfs.h b/qemu/roms/SLOF/include/romfs.h
new file mode 100644 (file)
index 0000000..7228502
--- /dev/null
@@ -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 */