SCNHDR(4)

НАЗВАНИЕ
scnhdr - заголовок секции об ектного файла обычного формата

СИНТАКСИС


#include <scnhdr.h>

ОПИСАНИЕ
Любой об ектный файл обычного формата содержит таблицу заголовков секций, которая определяет расположение данных в файле. Каждая секция в об ектном файле имеет свой заголовок. Ниже приведена C-структура заголовка:


struct scnhdr {

  char           s_name[8]; /* Имя секции */

  long           s_paddr;   /* Физический адрес */

  long           s_vaddr;   /* Виртуальный адрес */

  long           s_size;    /* Размер секции */

  long           s_scnptr;  /* Указатель  на  бесструк                               турные данные в файле */

  long           s_relptr;  /* Указатель   в  файле  на

                               инф. о настр. ссылок */

  long           s_lnnoptr; /* Указатель   в  файле  на

                               инф. о номерах строк */

  unsigned short s_nreloc;  /* Число  ссылок, требующих

                               настройки */

  unsigned short s_nlnno;   /* Число элементов в таблице

                               номеров строк */

  long           s_flags;   /* Флаги */

};

Указатели в файле представляют собой смещение в байтах относительно начала файла; они могут быть использованы как смещения при использовании макроса FSEEK [см. ldfcn(4)]. Если секция инициализирована, то файл содержит реальные данные. Неинициализированные секции несколько отличаются. Они имеют размер, имена, определенные в них, и ссылающиеся на них. Но они не содержат информации о настройке ссылок, номерах строк и данных. Следовательно, у неинициализированной секции нет бесструктурных данных в об ектном файле, и значения полей s_scnptr, s_relptr, s_lnnoptr, s_nreloc, и s_nlnno равны нулю.

СМ. ТАКЖЕ
fseek(3S), a.out(4).
ld(1) в Справочнике пользователя.