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
Функция  | 
Сведения о функции  | 
|---|---|
  | 
Назначение Выполняет системный вызов  Параметры 
 Возвращаемые значения В случае успеха возвращает   | 
  | 
Назначение Выполняет системный вызов  Параметры 
 Возвращаемые значения В случае успеха возвращает   | 
  | 
Назначение Выполняет системный вызов  Параметры 
 Возвращаемые значения В случае успеха возвращает   | 
  | 
Назначение Выполняет системный вызов  Параметры 
 Возвращаемые значения В случае успеха возвращает   | 
  | 
Назначение Выполняет системный вызов  Параметры 
 Возвращаемые значения В случае успеха возвращает   |