view leo-obj/tool/intstruct.h @ 140:21fda9752bd9

OSL flash objects: created disasm hints for os_com through os_mis
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Wed, 09 Apr 2014 02:40:20 +0000
parents c131238c56bf
children fd772de226cb
line wrap: on
line source

/*
 * The structures defined in this header file
 * are internal to our utility.
 */

struct internal_scnhdr {
	char		*name;
	unsigned	size;
	unsigned	data_offset;
	unsigned	reloc_offset;
	unsigned	line_offset;
	unsigned	nreloc;
	unsigned	nlineent;
	unsigned	flags;
	unsigned	nsymbols;
	struct internal_syment **sorted_symbols;
	struct internal_reloc *int_relocs;
	int		disasm_mode;
	struct hint	*hints;
};

#define	DISASM_MODE_UNKNOWN	0
#define	DISASM_MODE_CODE	1
#define	DISASM_MODE_DATA	2
#define	DISASM_MODE_BSS		3

struct internal_syment {
	unsigned	number;
	char		*name;
	unsigned	value;
	int		scnum;
	int		type;
	int		class;
	u_char		*aux;
	struct internal_scnhdr *section;
};

struct internal_reloc {
	unsigned	location;
	struct internal_syment *sym;
	int		type;
	char		*typestr;
};

struct hint {
	unsigned	pos;
	unsigned	endpos;
	int		type;
	int		linebrk;
	struct hint	*next;
};

#define	HINT_D8		1
#define	HINT_D16	2
#define	HINT_ASCIZ	3
#define	HINT_D32	4