Crate ntsync

Crate ntsync 

Source
Expand description

§NTSync

for Wine the Ntsync driver was created to improve perfomance of Applications running with Wine. This is an implementation of the ioctls proviced by the device.

it is an implementation based on NTSync Docs

Structs§

Event
An Event is an Type that can send Signals to other parts of the code. They can be automatically or manually reset. With manually reset events all waiting threads are worken up, but with automatically reset Event only one wakes up and can do the work.
EventStatus
Represents the Status of the Event at the moment of the Query.
Mutexunstable_mutex
An Mutex similar to std::sync::Mutex, but it can’t store Data. On its own it can only be unlocked. The Locking is done in the NtSync::wait_any or NtSync::wait_all calls.
MutexStatusunstable_mutex
Mutex Status is the Representation of the Status of the mutex at point of the query
NtSync
NtSync is an abstration over the Kernel API that is realised via ioctls. Each instance is indipendent so using objects from one instance with another is forbidden.
NtSyncFlags
This helps Managing the Flags for waiting on Events.
OwnerId
An OwnerId is just an identifier the Kernel Module does not check if it matches something else than an number
Semaphoresemaphore
An Semaphore. When the counter reaches 0 Threads will wait until one thread release an specific amount of resources.

Enums§

Error
An Enum that is used to return different Errors from the Kernel. Since there is not much Information returned its mostly an simple enum.
EventSources
EventSources is an enum, so that the different types can coexist in an std::collections::HashSet, Vec or any other type deailing with them,