⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flat.h

📁 embedded system 檔案格式轉換工具源代碼
💻 H
字号:
/* Copyright (C) 1998  Kenneth Albanowski <kjahds@kjahds.com> *                     The Silver Hammer Group, Ltd. * */#ifndef _LINUX_FLAT_H#define _LINUX_FLAT_H#define	FLAT_VERSION			0x00000004L/* * To make everything easier to port and manage cross platform * development,  all fields are in network byte order. */struct flat_hdr {	char magic[4];	unsigned long rev;          /* version (as above) */	unsigned long entry;        /* Offset of first executable instruction	                               with text segment from beginning of file */	unsigned long data_start;   /* Offset of data segment from beginning of	                               file */	unsigned long data_end;     /* Offset of end of data segment	                               from beginning of file */	unsigned long bss_end;      /* Offset of end of bss segment from beginning	                               of file */	/* (It is assumed that data_end through bss_end forms the bss segment.) */	unsigned long stack_size;   /* Size of stack, in bytes */	unsigned long reloc_start;  /* Offset of relocation records from	                               beginning of file */	unsigned long reloc_count;  /* Number of relocation records */	unsigned long flags;       	unsigned long filler[6];    /* Reservered, set to zero */};#define FLAT_FLAG_RAM    0x0001 /* load program entirely into RAM */#define FLAT_FLAG_GOTPIC 0x0002 /* program is PIC with GOT */#define FLAT_FLAG_GZIP   0x0004 /* all but the header is compressed */#define FLAT_FLAG_GZDATA 0x0008 /* only data/relocs are compressed (for XIP) *//* * While it would be nice to keep this header clean,  users of older * tools still need this support in the kernel.  So this section is * purely for compatibility with old tool chains. * * DO NOT make changes or enhancements to the old format please,  just work *        with the format above,  except to fix bugs with old format support. */#include <asm/byteorder.h>#define	OLD_FLAT_VERSION			0x00000002L#define OLD_FLAT_RELOC_TYPE_TEXT	0#define OLD_FLAT_RELOC_TYPE_DATA	1#define OLD_FLAT_RELOC_TYPE_BSS		2typedef union {	unsigned long	value;	struct {# if defined(mc68000) && !defined(CONFIG_COLDFIRE)		signed long offset : 30;		unsigned long type : 2;#   	define OLD_FLAT_FLAG_RAM    0x1 /* load program entirely into RAM */# elif defined(__BIG_ENDIAN_BITFIELD)		unsigned long type : 2;		signed long offset : 30;#   	define OLD_FLAT_FLAG_RAM    0x1 /* load program entirely into RAM */# elif defined(__LITTLE_ENDIAN_BITFIELD)		signed long offset : 30;		unsigned long type : 2;#   	define OLD_FLAT_FLAG_RAM    0x1 /* load program entirely into RAM */# else#   	error "Unknown bitfield order for flat files."# endif	} reloc;} flat_v2_reloc_t;#endif /* _LINUX_FLAT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -