FILEHDR(4)
НАЗВАНИЕ
filehdr - заголовок об ектного файла обычного формата
СИНТАКСИС
#include <filehdr.h>
ОПИСАНИЕ
Каждый об ектный файл обычного формата начинается с 20
байтного заголовка. Этот заголовок описывается следующей C-структурой:
struct filehdr {
unsigned short f_magic; /* Магическое число */
unsigned short f_nscns; /* Количество секций */
long f_timdat; /* Время и дата создания */
long f_symptr; /* Указатель в файле на
таблицу имен */
long f_nsyms; /* Число элем. в табл. имен */
unsigned short f_opthdr; /* Размер вспомогательного
заголовка */
unsigned short f_flags; /* Флаги */
};
Поле f_symptr содержит смещение в байтах таблицы имен
от начала файла. Это значение может быть использовано
как аргумент функции fseek(3S) для позиционирования на
таблицу имен в потоке ввода/вывода. Вспомогательный заголовок системы UNIX состоит из 28 байт.
Значение f_timdat получается как результат вызова
time(2). Биты поля f_flags, в настоящее время, определены следующим образом:
#define F_RELFLG 0000001 /* Информация о настройке ссылок
удалена из файла */
#define F_EXEC 0000002 /* Файл выполняемый */
#define F_LNNO 0000004 /* Информация о номерах строк
удалена из файла */
#define F_LSYMS 0000010 /* Информация о локальных именах
удалена из файла */
#define F_MINMAL 0000020 /* Минимальный об ектный файл */
#define F_UPDATE 0000040 /* Полностью обновленный файл */
#define F_SWABD 0000100 /* Байты в полусловах переставлены
*/
#define F_AR16WR 0000200 /* Слово двухбайтное, порядок
байт в слове соответствует
PDP 11/70 */
#define F_AR32WR 0000400 /* Слово четырехбайтное, порядок
байт как у машин серии VAX */
#define F_AR32W 0001000 /* Слово четырехбайтное, порядок
байт как у машин серии 3b */
#define F_PATCH 0002000 /* Во вспомогательном заголовке
содержится список "заплаток" */
СМ. ТАКЖЕ
time(2), fseek(3S), a.out(4).