Matrix of Real-Time Functions
NOTE: APIs that are not explicitly documented as supported are not guaranteed to work. You should thoroughly test any code that uses undocumented functions.
RTAPI Function Name |
Notes |
Deterministic? |
---|---|---|
|
Yes - can block if another thread holds the lock. | |
|
No |
|
|
Yes, but only when one real-time processor configured. |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
||
|
No | |
|
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
No | |
No | ||
No | ||
|
No | |
No | ||
|
No | |
|
No | |
|
No | |
|
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
No | ||
No | ||
RtEnumProcessModules |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
RtEnumProxyProcesses | No | |
|
No | |
No |
||
|
No | |
|
Yes, if one real-time processor configured, otherwise latency depends on the amount of local memory allocated and contention for a lock with other threads allocating/freeing local memory. |
|
RtGenerateEvent |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
RtGetDongles | No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes |
|
Yes | ||
|
No | |
|
No | |
Yes - the elapsed time for the call is less than 5 microseconds. |
||
RtGetProcessorInfo | Yes - the elapsed time for the call is less than 5 microseconds. | |
RtGetProxyThreadPriority (can only be called by Windows applications linked with RTX64) |
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
||
No |
||
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
No | ||
|
No |
|
No |
||
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
No | |
RtMonitorControl |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
No | ||
No | ||
|
No | |
No | ||
|
No | |
No | ||
No | ||
Yes - the elapsed time for the call is less than 5 microseconds. |
||
|
Yes - the call is bounded but the amount of time for completion of the call depends on processor type (PIC versus APIC) and processor speed. | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
No | |
Yes, unless the mutex has a higher priority thread waiting on it. |
||
Yes, unless the semaphore has a higher priority thread waiting on it. |
||
|
No | |
Yes - the elapsed time for the call is less than 5 microseconds. |
||
|
Yes - the elapsed time for the call is less than 5 microseconds. | |
|
Yes |
|
|
No | |
|
No |
|
Yes, unless the event has a higher priority thread waiting on it. |
||
Yes | ||
Yes |
||
RtSetProxyThreadPriority (can only be called by Windows applications linked with RTX64) |
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
||
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
No |
||
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
No | |
|
No | |
|
No | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
No | ||
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
|
Yes - the elapsed time for the call is less than 5 microseconds. | |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
Windows Equivalent Real-Time Functions
The following functions are defined in the real-time API, Rtapi.h, as equivalent to their Windows versions.
RTAPI Function Name |
Win32 Equivalent |
---|---|
RtGetLastError |
GetLastError |
RtSetLastError |
SetLastError |
RtCreateThread |
CreateThread |
RtExitThread |
ExitThread |
RtGetCurrentThread |
GetCurrentThread |
RtResumeThread |
ResumeThread |
RtSuspendThread |
SuspendThread |
RtTerminateThread |
TerminateThread |
RtExitProcess |
ExitProcess |
RtSleep |
Sleep |
RtSleepEx |
SleepEx |
A Note about #pragma deprecated
Functions in Rtapi.h
The functions listed under #pragma deprecated
in the real-time API, Rtapi.h, are actually unsupported, not deprecated. Listing them this way ensures that a warning appears in Visual Studio when a developer attempts to use an unsupported function in Visual Studio.