Static initialization of synchronization primitives (sync_types.h)

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

KosInitializedMutexEx()

Purpose

Initializes a mutex without priority inheritance support.

Parameters

  • [in] _recursive – value that defines whether the mutex should be recursive (1 – yes, 0 – no).

Macro values

Code initializing a mutex.

KosInitializedMutex

Purpose

Initializes a mutex that has no priority inheritance support and is not recursive.

Parameters

N/A

Macro values

Code initializing a mutex.

KosInitializedRtMutex

Purpose

Initializes a mutex with priority inheritance support.

Parameters

N/A

Macro values

Code initializing a mutex.

KosInitializedRecursiveMutex

Purpose

Initializes a recursive mutex.

Parameters

N/A

Macro values

Code initializing a mutex.

KosInitializedEvent

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.

KosInitializedSemaphore

Purpose

Initializes a semaphore.

Parameters

N/A

Macro values

Code initializing a semaphore.

KosInitializedCondvar

Purpose

Initializes a condition variable.

Parameters

N/A

Macro values

Code initializing a condition variable.

KosInitializedRWLock

Purpose

Initializes a read-write lock.

Parameters

N/A

Macro values

Code initializing a read-write lock.

Page top