File:  [Qemu by Fabrice Bellard] / qemu / roms / SLOF / romfs / tools / cfgparse.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:59:09 2018 UTC (8 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, qemu1001, qemu1000, qemu0151, HEAD
qemu 0.15.1

/******************************************************************************
 * 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 CFGPARSE_H
#define CFGPARSE_H

#include <byteswap.h>
#include <endian.h>

#if __BYTE_ORDER == __BIG_ENDIAN
#define cpu_to_be64(x)	(x)
#else
#define cpu_to_be64(x)	bswap_64(x)
#endif

struct ffs_chain_t {
	int count;
	unsigned int romfs_size;
	struct ffs_header_t *first;
};

#define FLAG_LLFW 1		/* low level firmware at fix offs in romfs */

#define needs_fix_offset(hdr) ((hdr)->flags & FLAG_LLFW)

struct ffs_header_t {
	unsigned long long flags;
	unsigned long long romaddr;
	char *token;
	char *imagefile;
	int imagefile_length;
	struct ffs_header_t *linked_to;
	struct ffs_header_t *next;
	unsigned long long save_data;
	unsigned long long save_data_len;
	int save_data_valid;

	unsigned long long addr;	/* tmp */
	int hdrsize;		/* tmp */
	int tokensize;		/* tmp */
	int ffsize;		/* tmp */
};

void dump_fs_contents(struct ffs_chain_t *chain);
void find_duplicates(struct ffs_chain_t *chain);
void free_chain_memory(struct ffs_chain_t *chain);

int read_config(int conf_file, struct ffs_chain_t *ffs_chain);
int reorder_ffs_chain(struct ffs_chain_t *fs);
int build_ffs(struct ffs_chain_t *fs, const char *outfile, int notime);
#endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.