Spec-Zone .ru
спецификации, руководства, описания, API
|
ADC домой > Ссылочная библиотека> Ссылка> Дарвин> Разное пространство пользователя ссылка API
|
kern_control.h |
Включает: | <sys/appleapiopts.h> |
Этот заголовок определяет API для передачи между расширением ядра и процессом за пределами ядра.
ctl_event_data |
struct ctl_event_data { u_int32_t ctl_id; /* Kernel Controller ID */ u_int32_t ctl_unit; };
ctl_id
- ID управления ядром.
ctl_unit
- Блок управления ядра.
Эта структура используется для событий ядра KEV_CTL_SUBCLASS.
ctl_info |
struct ctl_info { u_int32_t ctl_id; /* Kernel Controller ID */ char ctl_name[96 ]; /* Kernel Controller Name (a C string) */ };
ctl_id
- ID управления ядром, заполненный по возврату.
ctl_name
- Имя элемента управления ядра для нахождения.
Эта структура используется с CTLIOCGINFO ioctl для перевода от имени элемента управления ядра до ID управления.
sockaddr_ctl |
struct sockaddr_ctl { u_char sc_len; /* depends on size of bundle ID string */ u_char sc_family; /* AF_SYSTEM */ u_int16_t ss_sysaddr; /* AF_SYS_KERNCONTROL */ u_int32_t sc_id; /* Controller unique identifier */ u_int32_t sc_unit; /* Developer private unit number */ u_int32_t sc_reserved[5]; };
sc_len
- Длина структуры.
sc_family
- AF_SYSTEM.
ss_sysaddr
- AF_SYS_KERNCONTROL.
sc_id
- Уникальный идентификатор контроллера.
sc_unit
- Контроллер ядра частное число модуля.
sc_reserved
- Зарезервированный, должен быть обнулен.
Структура адреса контроллера используется для установления контакта между пользовательским клиентом и контроллером ядра. sc_id/sc_unit однозначно определяют каждый контроллер. sc_id является уникальным идентификатором, присвоенным контроллеру. Идентификатор может быть присвоен системой в регистрационное время или быть 32-разрядным кодом создателя, полученным из Apple Computer. sc_unit является числом модуля для этого sc_id и конфиденциально используется контроллером ядра для идентификации нескольких экземпляров контроллера.
CTLIOCGCOUNT |
#define CTLIOCGCOUNT _IOR( 'N', 2, int) /* get number of control structures registered */
CTLIOCGCOUNT ioctl может использоваться для определения числа зарегистрированных контроллеров ядра.
CTLIOCGINFO |
#define CTLIOCGINFO _IOWR( 'N', 3, struct ctl_info) /* get id from name */
CTLIOCGINFO ioctl может использоваться для преобразования имени элемента управления ядра в ID управления ядром.
KEV_CTL_DEREGISTERED |
#define KEV_CTL_DEREGISTERED 2 /* a controller disappears */
Код события, указывающий контроллер, был не зарегистрирован. Часть данных будет содержать ctl_event_data.
KEV_CTL_REGISTERED |
#define KEV_CTL_REGISTERED 1 /* a new controller appears */
Код события, указывающий новый контроллер, был зарегистрирован. Часть данных будет содержать ctl_event_data.
KEV_CTL_SUBCLASS |
#define KEV_CTL_SUBCLASS 2
Подкласс события ядра для ядра управляет событиями.
MAX_KCTL_NAME |
#define MAX_KCTL_NAME 96
Имена элементов управления ядра больше не должны быть, чем MAX_KCTL_NAME.
Последнее обновление: 20.06.2006