Связывает указатель на произвольные данные с callout-ом ядра
#include <sys/startup.h>void callout_register_data( void *rp,void *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
Построение встраиваемых систем
Предыдущий раздел: перейти