Ядро Linux в комментариях


Include


В этом каталоге находится большинство включаемых (.h) файлов в дереве исходных кодов Linux. Файлы сгруппированы по каталогам следующим образом:

  • include/asm-*/ — каждый из множества таких подкаталогов соответствует своему подкаталогу в arch, т.е. include/asm-alpha, include/asm-arm, include/asm-i386 и т.д. Файлы в каждом таком подкаталоге содержат макросы препроцессора и короткие inline-функции для поддержки конкретной архитектуры. Большинство inline-функции, частично или целиком, реализованы на ассемблере.

    Во время компиляции ядра символическая ссылка include/asm заменяется на каталог для соответствующей архитектуры. В результате независящий от архитектуры исходный код ядра может делать нечто, подобное следующему:

    #include <asm/some-file>

    Эта строка приводит к включению файла для соответствующей архитектуры.

  • include/linux/ — в этом каталоге находятся файлы заголовков, которые определяют константы и структуры данных, необходимые для ядра и пользовательских приложений, требующих различные службы ядра. В основном все они не зависят от платформы. Этот каталог целиком копируется (или, чаще всего, присоединяется) в /usr/include/linux, так что пользовательские приложения могут включать соответствующие файлы заголовков и иметь уверенность, что файлы заголовков те же самые, что используются ядром. Пример можно найти в .

    Части упомянутых файлов, необходимые только для ядра, помещаются в оболочку вида:

    /* ... Прототипы для пользовательских приложений и ядра ... */ #ifdef __KERNEL__ /* ... Прототипы только для ядра ... */ #endif /* __KERNEL__ */

  • include/net/ — каталог содержит файлы заголовков для подсистемы сетевой обработки.

  • include/scsi/ — каталог содержит файлы заголовков для SCSI-констроллеров и устройств.

  • include/video/ — каталог содержит файлы заголовков для видеокарт и буферов кадров.




- Начало -  - Назад -  - Вперед -



Книжный магазин