Главная » 2017 » Ноябрь » 19 » man 2 get_kernel_syms
22:22
man 2 get_kernel_syms

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


get_kernel_syms - получить экспортируемые символы ядра и модулей



ОБЗОР


#include <linux/module.h>

int get_kernel_syms(struct kernel_sym *table);

Замечание: В заголовочных файлах glibc этой системный вызов отсутствует; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Замечание: Данный системный вызов доступен только в ядрах до Linux 2.6.

Если table равно NULL, то get_kernel_syms() возвращает количество символов
доступных для запроса. Иначе таблица заполняется структурами:

struct kernel_sym {
unsigned long value;
char name[60];
};

Символы вида #module-name представляют собой ссылки на модули. Значение, связанное
с таким символом, содержит адрес, по которому загружен модуль.

К символам, экспортируемым из модуля, добавляется метка модуля, а модули
возвращаются в обратном порядке, в котором были загружены.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


При успешном выполнении возвращается количество символов, скопированных в table. В
случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.



ОШИБКИ


Может возвращаться только одна ошибка:

ENOSYS Вызов get_kernel_syms() не поддерживается в этой версии ядра.



ВЕРСИИ


Данный системный вызов есть только в Linux до версии 2.4; он был удалён в Linux
2.6.



СООТВЕТСТВИЕ СТАНДАРТАМ


Вызов get_kernel_syms() есть только в Linux.



ЗАМЕЧАНИЯ


Устаревший системный вызов, не поддерживается glibc. В заголовочных файлах glibc
он не объявлен, но в недавнем прошлом версии glibc до 2.23 экспортировали ABI для
этого системного вызова. Поэтому, чтобы получить данный системный вызов достаточно
вручную объявить интерфейс в своём коде; или же можно вызвать его через
syscall(2).



ДЕФЕКТЫ


Нет способа указать размер буфера, выделенного для table. Если символы были
добавлены в ядро после того, как программа запросила размер таблицы символов, то
это вызовет повреждение данных в памяти.

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 420 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar