The API is defined in the header file sysroot-*-kos/include/kos/sync_types.h from the KasperskyOS SDK.
The API lets you initialize the following synchronization primitives during compilation:
Information about API macros is provided in the table below.
Example of static initialization of a mutex:
static KosMutex mmap_lock = KosInitializedMutex;
sync_types.h macros
Macro |
Macro details |
|---|---|
|
Purpose Initializes a mutex without priority inheritance support. Parameters
Macro values Code initializing a mutex. |
|
Purpose Initializes a mutex that has no priority inheritance support and is not recursive. Parameters N/A Macro values Code initializing a mutex. |
|
Purpose Initializes a mutex with priority inheritance support. Parameters N/A Macro values Code initializing a mutex. |
|
Purpose Initializes a recursive mutex. Parameters N/A Macro values Code initializing a mutex. |
|
Purpose Initializes an event. The event is in a non-signaling state after it is initialized. Parameters N/A Macro values Code initializing an event. |
|
Purpose Initializes a semaphore. Parameters N/A Macro values Code initializing a semaphore. |
|
Purpose Initializes a condition variable. Parameters N/A Macro values Code initializing a condition variable. |
|
Purpose Initializes a read-write lock. Parameters N/A Macro values Code initializing a read-write lock. |