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

Notes

Deterministic?

RtAcquireFastSemaphore

 

Yes - can block if another thread holds the lock.

RtAllocateContiguousMemory

 

No

RtAllocateLocalMemory

 

Yes, but only when one real-time processor configured.

RtAllocateLocalMemoryEx

 

Yes, but only when one real-time processor configured.

RtAtoi

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtCancelTimer

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtCloseHandle

 

No

RtCreateEvent

The eRTOS IPC namespace is separate from the Windows namespace.

No

RtCreateMutex

The eRTOS IPC namespace is separate from the Windows namespace.

No

RtCreateProcess

 

No

RtCreateSemaphore

The eRTOS IPC namespace is separate from the Windows namespace.

No

RtCreateSharedMemory

 

No

RtCreateTimer

 

No

RtCreateTimerEx

 

No

RtDeleteTimer

 

No

RtDisableInterrupts

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtDisablePortIo

 

No

RtEnableInterrupts

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtEnumProcesses

 

No

RtEnumProcessesEx

 

No

RtEnumProcessModules

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtEnablePortIo

 

No

RtExpandMSpace

 

No

RtFreeContiguousMemory

 

No

RtGetBusDataByOffset

 

No

RtGetClockResolution

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetClockTime

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetClockTimerPeriod

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetCountFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetCurrentProcessorNumber

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetExitCodeProcess

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetFlushTLBTickMod

 

Yes

RtGetHalTimerPeriodCounts

 

Yes

RtGetPhysicalAddress

 

No

RtGetProcessAffinityMask

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetProcessMSpace

 

Yes

RtGetProcessorInfo

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetThreadPriority

The priority spectrum of eRTOS is 0 to 127, whereas the Windows range is {-15, -2, -1, 0, 1, 2, 15}.

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetThreadStack

 

No

RtGetThreadTimes

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetTimer

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtInitializeFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtIsDebuggerPresent

 

No

RtMapMemory

 

No

RtOpenEvent

The eRTOS IPC namespace is separate from the Windows namespace.

No

RtOpenMutex

The eRTOS IPC namespace is separate from the Windows namespace.

No

RtOpenProcess

 

No

RtOpenSemaphore

The eRTOS IPC namespace is separate from the Windows namespace.

No

RtOpenSharedMemory

 

No

RtOpenThread

 

No

RtPrintf

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

No

RtPulseEvent

The eRTOS IPC namespace is separate from the Windows namespace.

Yes - the elapsed time for the call is less than 5 microseconds.

RtQueryPciMsiCapability

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtQueryProcessMSpace

 

Yes, if DumpLevel is 0.

RtReleaseAllFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReleaseFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReleaseMutex

The eRTOS IPC namespace is separate from the Windows namespace.

Yes, unless the mutex has a higher priority thread waiting on it.

RtReleaseSemaphore

The eRTOS IPC namespace is separate from the Windows namespace.

Yes, unless the semaphore has a higher priority thread waiting on it.

RtReleaseShutdownHandler

 

No

RtResetEvent

The eRTOS IPC namespace is separate from the Windows namespace.

Yes - the elapsed time for the call is less than 5 microseconds.

RtResetWatchdog

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetFlushTLBTickMod

 

Yes

RtSetBusDataByOffset

 

No

RtSetClockTime

 

No

RtSetEvent

The eRTOS IPC namespace is separate from the Windows namespace.

Yes, unless the event has a higher priority thread waiting on it.

RtSetHalTimerPeriodCounts

 

Yes

RtSetProcessAffinityMask

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

Yes

RtSetThreadPriority

The priority spectrum of eRTOS is 0 to 127, whereas the Windows range is {-15, -2, -1, 0, 1, 2, 15}.

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetTimer

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetTimerRelative

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtShrinkMSpace

 

No

RtSleepFt

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtTerminateProcess

 

No

RtTranslateBusAddress

 

No

RtUnmapMemory

 

No

RtWaitForMultipleObjects

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWaitForSingleObject

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWPrintf

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

No

RtWtoi

The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

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.