Linux Device Drivers 3 / Драйверы устройств Линукс (третье издание): 2.10. Краткий обзор
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
2.10. Краткий справочник ximen 21.10.10 в 13:47 |
|
|
В этом разделе собраны описания функций ядра, переменных, макросов и файлов /proc, затронутых в данной главе. Они предназначены для использования в справочных целях. Каждый объект указывается после соответствующего заголовочного файла, если таковой есть. Подобные разделы, подводящие краткие итоги по новому материалу, есть почти в каждой главе, начиная с текущей. Объекты в данных разделах обычно перечисляются в том же порядке, в каком они были представлены в главе: allez 24.10.10 в 06:22 |
||
|
insmod ximen 21.10.10 в 13:47 |
||
|
Пользовательский утилиты, служащие для загрузки модулей в работающее ядро и их выгрузки. ximen 21.10.10 в 14:06 |
||
|
#include <init.h> ximen 21.10.10 в 13:53 |
||
|
Макросы, обозначающие функции инициализации и очистки модулей. allez 24.10.10 в 06:29 |
||
|
__init ximen 21.10.10 в 13:53 |
||
|
Маркеры для функций (__init и __exit) и данных (__initdata и __exitdata), использующихся только во время инициализации и очистки модуля. Объекты, помеченные для инициализации, могут быть отброшены после окончания инициализации; объекты, помеченные для очистки, могут быть отброшены, если выгрузка модуля не предусмотрена конфигурацией ядра. Эти маркеры работают путем помещения соответствующих объектов в специальный ELF-раздел исполняемого файла. allez 24.10.10 в 06:37 |
||
|
#include <sched.h> ximen 21.10.10 в 13:54 |
||
|
Один из наиболее важных заголовочных файлов. Он содержит определения большей части API ядра, используемого драйвером, включая функции для засыпания и многочисленные переменные. ximen 21.10.10 в 16:09 |
||
|
struct task_struct *current; ximen 21.10.10 в 13:52 |
||
|
Идентификатор процесса и имя команды для текущего процесса. ximen 22.10.10 в 13:05 |
||
|
obj-m ximen 21.10.10 в 13:52 |
||
|
Символ makefile'а, используемый системой сборки ядра для определения, какие модули должны быть собраны в текущем каталоге. ximen 22.10.10 в 13:05 |
||
|
/sys/module ximen 21.10.10 в 13:48 |
||
|
/sys/module это иерархия каталогов, содержащая информацию о модулях, загруженных на данный момент. /proc/modules -- старый вариант представления этой информации в одном файле. Записи содержат имя модуля, количество памяти, занимаемое каждым модулем и количество обращений. Дополнительные данные в конце каждой строки указывают флаги, активные для модуля в данный момент. ximen 21.10.10 в 15:55 |
||
|
vermagic.o ximen 21.10.10 в 13:48 |
||
|
Объектный файл из каталога исходных кодов ядра, описывающий окружение, для которого был собран модуль. ximen 21.10.10 в 14:03 |
||
|
#include <module.h> ximen 21.10.10 в 13:48 |
||
|
Обязательный заголовочный файл, подключаемый в коде модуля. ximen 21.10.10 в 14:04 |
||
|
#include <version.h> ximen 21.10.10 в 13:50 |
||
|
Заголовочный файл, содержащий информацию о версии собираемого ядра. ximen 21.10.10 в 14:04 |
||
|
LINUX_VERSION_CODE ximen 21.10.10 в 13:51 |
||
|
Целочисленный макрос, полезный при проверке версий с помощью #ifdef. ximen 22.10.10 в 13:01 Целочисленный макрос, полезный при проверке версий с помощью #ifdef. ximen 22.10.10 в 13:03 |
||
|
EXPORT_SYMBOL (symbol); ximen 21.10.10 в 13:52 |
||
|
Этот макрос используется для экспортирования символа в ядро. Вторая форма экспортирует без использования информации о версиях, а третья ограничивает экспорт модулями с лицензией GPL. ximen 21.10.10 в 16:16 |
+1 | |
|
MODULE_AUTHOR(author); ximen 21.10.10 в 13:52 |
||
|
Помещает описание модуля в объектный файл. ximen 21.10.10 в 15:57 |
||
|
module_init(init_function); ximen 21.10.10 в 13:52 |
||
|
Макросы, определяющие функции инициализации и завершения модуля. ximen 22.10.10 в 13:02 |
||
|
Макрос, создающий параметр модуля, который может определяться пользователем при загрузке модуля (или при загрузке ядра, если код модуля встраивается в ядро). Тип может быть bool, charp, int, invbool, long, short, ushort, uint, ulong, или intarray. ximen 21.10.10 в 16:12 |
||
|
#include <kernel.h> ximen 21.10.10 в 13:51 |
||
|
Аналог printf для кода ядра ximen 21.10.10 в 13:51 |
