В составе KasperskyOS SDK поставляется системная программа DCM
(Dynamic Connection Manager), которая позволяет динамически создавать IPC-каналы. Благодаря этой программе серверы могут сообщать клиентам о предоставляемых службах, а также передавать callable-дескрипторы для использования этих служб.
Для использования программы DCM
в составе KasperskyOS SDK поставляются следующие файлы:
sysroot-*-kos/include/dcm/dcm_api.h
– заголовочный файл, в котором определен базовый API.sysroot-*-kos/include/dcm/groups/pub.h
– заголовочный файл, в котором определен дополнительный API для серверов.sysroot-*-kos/include/dcm/groups/subscr.h
– заголовочный файл, в котором определен дополнительный API для клиентов.sysroot-*-kos/include/dcm/dcm.h
– заголовочный файл для включения в исходный код клиентов и серверов.sysroot-*-kos/bin/dcm
– исполняемый файл.sysroot-*-kos/lib/libdcm.a
– клиентская библиотека.sysroot-*-kos/lib/libdcm_s.a
– клиентская библиотека, собранная с флагом -fPIC
для обеспечения возможности компоновки с динамической библиотекой.sysroot-*-kos/include/kl/core/DCM.*dl
– файлы формальной спецификации.IPC-каналы от клиентов и серверов к DCM
нужно создать статически.
Можно запустить несколько процессов программы DCM
. При этом каждый клиент и сервер может быть соединен только с одним процессом программы DCM
.
В API программы DCM
используются идентификаторы, которые называются DCM-дескрипторами (англ. DCM handles). DCM-дескрипторы идентифицируют объекты, которые дают клиентам и серверам, использующим DCM
, следующие возможности:
Имена служб и интерфейсов служб нужно задавать в соответствии с формальными спецификациями компонентов решения. (О квалифицированном имени службы см. "Привязка методов моделей безопасности к событиям безопасности".) Вместо квалифицированного имени службы можно использовать какое-либо условное название этой службы. Имена клиентов и серверов задаются в init-описании.