The KasperskyOS SDK provides the DCM
(Dynamic Connection Manager) system program, which lets you dynamically create IPC channels. This program enables servers to notify clients about their provided endpoints, and pass callable handles for using these endpoints.
To use the DCM
program, the KasperskyOS SDK provides the following files:
sysroot-*-kos/include/dcm/dcm_api.h
– header file that defines the basic APIsysroot-*-kos/include/dcm/groups/pub.h
– header file that defines the additional API for serverssysroot-*-kos/include/dcm/groups/subscr.h
– header file that defines the additional API for clientssysroot-*-kos/include/dcm/dcm.h
– header file for including clients and servers into source codesysroot-*-kos/bin/dcm
– executable filesysroot-*-kos/lib/libdcm.a
– client librarysysroot-*-kos/lib/libdcm_s.a
– client library built with a -fPIC
flag to ensure the possibility to link to a dynamic librarysysroot-*-kos/include/kl/core/DCM.*dl
– formal specification filesIPC channels from clients and servers to the DCM
must be statically created.
You can run multiple DCM
processes. Each client and server can be connected to only one DCM
process.
The DCM
API uses IDs known as DCM handles . DCM handles identify objects that provide the following capabilities to clients and servers that use DCM
:
The names of endpoints and endpoints interfaces should be defined according to the formal specifications of solution components. (For information about the qualified name of an endpoint, see Binding methods of security models to security events.) Instead of the qualified name of an endpoint, you can use any conditional name of this endpoint. The names of clients and servers are defined in the init description.