Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Запуск системы, быстрая активация устройств > Построение встраиваемых систем > API библиотек libipl и libstartup > callout_register_data()



callout_register_data()

Связывает указатель на произвольные данные с callout-ом ядра

Прототип:

#include <sys/startup.h>
void callout_register_data( void *rp,
void *data );

Аргументы:

rp
Указатель на callout.
data
Связываемые данные.

Библиотека:

libstartup

Описание:

Эта функция связывает указатель на произвольные данные с callout-ом. Указатель на данные передается процедуре корректировки (см. Корректировка кода callout).

Аргумент rp является указателем на указатель, который содержит адрес callout-а на заполняемой системной странице. Допустим, что указатель на раздел системной страницы называется foo, а поле bar этого раздела указывает на callout после создания системной страницы. Код выглядит следующим образом:

/* указание callout-а в системной странице: */
foo->bar = (void *)&callout_routine_name;
/* регистрация данных, которые передаются в функцию корректировки при создании конечной версии системной страницы: */
callout_register_data( &foo->bar, &some_interesting_data_for_patcher );

Корректировщик, который размещает callout, указанный в foo->bar, при вызове получает указатель &some_interesting_data_for_patcher.

Классификация:

ЗОСРВ «Нейтрино», startup

Тематические ссылки:

struct syspage_entry

Построение встраиваемых систем




Предыдущий раздел: перейти