API определен в заголовочном файле sysroot-*-kos/include/coresrv/syscalls.h
из состава KasperskyOS SDK.
API позволяет выполнять системные вызовы Call()
, Recv()
и Reply()
для отправки и получения IPC-сообщений.
Сведения о функциях API приведены в таблице ниже.
Использование API
Для передачи функциям API указателей на буферы с фиксированной частью и ареной IPC-сообщений используется заголовок IPC-сообщений, тип которого определен в заголовочном файле sysroot-*-kos/include/ipc/if_rend.h
из состава KasperskyOS SDK. Перед вызовами функций API заголовки IPC-сообщений нужно связать с буферами, содержащими фиксированную часть и арену IPC-сообщений. Для этого нужно использовать функции PackInMsg()
и PackOutMsg()
, объявленные в заголовочном файле sysroot-*-kos/include/services/rtl/nk_msg.h
из состава KasperskyOS SDK.
Функции Call()
, CallEx()
, Recv()
и RecvEx()
блокируют исполнение вызывающего потока, ожидая завершения системных вызовов. Функции CallEx()
и RecvEx()
позволяют задать время ожидания завершения системного вызова, по истечении которого незавершенный системный вызов прерывается, и поток, ожидающий его завершения, возобновляет исполнение. Также системный вызов прерывается, если при его выполнении возникла ошибка (например, из-за завершения серверного процесса). Завершение потока исполнения извне тоже прерывает системный вызов, завершения которого ожидает этот поток. Системный вызов, выполняемый функцией CallEx()
или RecvEx()
, можно прервать (например, для корректного завершения процесса) с использованием API ipc_api.h.
Если системный вызов был прерван с использованием API ipc_api.h, то функции CallEx()
и RecvEx()
возвращают код ошибки rcIpcInterrupt
. Если отправка IPC-сообщения запрещена механизмами безопасности (модулем безопасности Kaspersky Security Module или механизмом безопасности на основе мандатных ссылок, реализуемым ядром KasperskyOS), то функции Call()
, CallEx()
и Reply()
возвращают код ошибки rcSecurityDisallow
.
Сведения о функциях API
Функции syscalls.h
Функция |
Сведения о функции |
---|---|
|
Назначение Выполняет системный вызов Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Выполняет системный вызов Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Выполняет системный вызов Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Выполняет системный вызов Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Выполняет системный вызов Параметры
Возвращаемые значения В случае успеха возвращает |