Real-Time API Functions

This section contains a list of supported RTAPI functions.

RTAPI Function Name Description

RtAcquireFastSemaphore

Places the thread into a busy wait state until the fast semaphore is released.

RtAllocateContiguousMemory

Allocates physically contiguous memory.

RtAllocateContiguousMemorySpecifyCache

Allocates a range of physically contiguous, cache-aligned memory.

RtAllocateLocalMemory

Allocates memory from a pre-allocated RTSS deterministic memory pool to avoid SRI activity if allocating memory from Windows memory pool.

RtAllocateLockedMemory

Commits and locks the specified amount of memory to avoid page faults as the memory is used.

RtAtoi

Converts a given string value to an integer.

RtAttachInterrupt

Allows the user to associate an Interrupt Service Thread (IST) and Interrupt Service Routine (ISR) with a line-based or message-based hardware interrupt.

RtAttachInterruptVector

Allows the user to associate a handler routine in user space with a hardware interrupt. Non-shared, level-triggered interrupts are supported only in the RTSS environment.

RtAttachInterruptVectorEx

Allows the user to associate an IST and ISR with a shared or non-shared hardware interrupt.

RtAttachShutdownHandler

Registers a stop notification handler function with RTSS. The handler function is called in its own thread when one of the system stop events occurs.

RtCancelTimer

Cancels the expiration of the indicated timer.

RtCloseHandle

Closes an open object handle.

RtCommitLockHeap

Commits and locks the heap to avoid page faults as the heap is used.

RtCommitLockProcessHeap

Commits and locks the system process heap to avoid page faults as the heap is used.

RtCommitLockStack

Commits and locks the specified stack to avoid page faults as the stack is used.

RtCreateEvent

Creates a named or unnamed event object.

RtCreateMutex

Creates an RTSS mutex. A handle is returned to the newly created mutex object.

RtCreateProcess

Creates and starts a new RTSS process. The new RTSS process runs the specified RTSS executable file. RtCreateProcess is supported only in the Win32 environment.

RtCreateSemaphore

Creates a named or unnamed semaphore object.

RtCreateSharedMemory

Creates a named region of physical memory that can be mapped by any process.

RtCreateTimer

Creates a timer associated with the specified clock, and returns a handle to the timer.

RtCreateTimerEx

Creates a timer associated with the specified clock, and returns a handle to the timer.

RtDeleteProcThreadAttributeList

Deletes the specified list of attributes for process and thread creation.

RtDeleteTimer

Deletes the timer specified by the given handle.

RtDisableInterrupts

In the Win32 environment, RtDisableInterrupts disables all user-level interrupt handling for all interrupts to which the Win32 process is attached.

In an RTSS environment, RtDisableInterrupts disables all interrupts at the processor level including timer interrupts.

RtDisablePortIo

Disables direct I/O port access from user context.

RtEnableInterrupts

Disables direct I/O port access from user context.

RtEnablePortIo

Enables direct I/O port access from user context.

RtExpandLocalMemory

Expands the local memory pool upon request by the size specified.

RtFreeContiguousMemory

Frees a previously allocated physically contiguous memory region.

RtFreeLocalMemory

Frees memory previously allocated by a call to RtAllocateLocalMemory.

RtFreeLockedMemory

Frees memory previously committed and locked by a call to RtAllocateLockedMemory.

RtGetBusDataByOffset

Obtains details, starting at the given offset, about a given slot on an I/O bus.

RtGetClockResolution

Obtains the resolution of the specified clock.

RtGetClockTime

Obtains the current value of the specified clock.

RtGetClockTimerPeriod

Obtains the minimum timer period of the specified clock. The RtGetClockTimecall delivers the clock time as 64-bit quantity of 100ns.

RtGetCountFastSemaphore

Returns the number of threads waiting on this fast semaphore. This information is useful when preparing for a manual release of the fast semaphore.

RtGetCurrentProcessorNumber

Returns the system-assigned number of the current processor on which the caller is running.

RtGetDongles

Retrieves a list of the IntervalZero-provided dongles attached to the machine.

RtGetExitCodeProcess

Retrieves the termination status of the specified process.

RtGetLicenses

Retrieves information about licenses installed on the system.

RtGetLicenseFeatureStatusEx Obtains the status of the license for the product feature specified by parameter featureName.

RtGetPhysicalAddress

Returns the physical address for the virtual address of a contiguous physical memory buffer previously allocated by RtAllocateContiguousMemory.

In the RTSS environment, this function applies to all memory allocation. In the Win32 environment, it applies to contiguous memory allocation only.

RtGetProcessAffinityMask

Retrieves the process affinity mask for the specified RTSS process and the system affinity mask for RTSS.

RtGetProductInfoEx

Retrieves the RTX product type and version in the form of the OSVERSIONINFOEX structure.

RtGetRtssTimeAsFileTime

Gets the current value for RTSS time.

RtGetThreadPriority

Returns the priority value for the specified thread.

RtGetThreadTimeQuantum

Gets the current time quantum, in milliseconds, for the specified thread.

RtGetThreadTimes

Function retrieves timing information for the specified RTSS thread. This function can only be called in RTSS processes.

RtGetTimer

Returns the remaining relative time until the next expiration of the specified timer.

RtInitializeFastSemaphore

Initializes a fast semaphore object.

RtInitializeProcThreadAttributeList

Initializes a specified list of attributes for process and thread creation.

RtIsAppRunnable

Allows RTSS applications to validate an application's RTSS signature.

RtIsInRtss

Provides the ability to determine whether code is running in RTSS or Windows.

RtIsRuntimeLicensed

Verifies that a specified RTX Runtime is installed and has a valid license.

RtIsTcpStackLicensed

Verifies that a specified RTX RT-TCP/IP Stack component is installed and has a valid license.

RtLockKernel

Locks certain sections of a Windows kernel's virtual address space into physical memory.

RtLockProcess

Locks certain sections of a process' virtual address space into physical memory.

RtMapMemory

Maps a range of physical memory addresses into the user's virtual address space.

RtOpenEvent

Returns a handle of an existing named event object.

RtOpenMutex

Returns a handle to the named RTSS mutex.

RtOpenProcess

Returns a handle to an existing process object.

RtOpenSemaphore

Returns a handle of an existing named semaphore object.

RtOpenSharedMemory

Opens a named physical-mapping object.

RtPrintf

Prints formatted output to the standard output stream or console window.

RtPulseEvent

Provides a single operation that sets (to signaled) the state of the specified event object and then resets it (to non-signaled) after releasing the appropriate number of waiting threads.

RtQueryLocalMemory

Returns RTSS deterministic memory pool information, including the pool size as a whole, the free memory size available, the maximum virtually contiguous free memory size. RtQueryLocalMemory is only supported in the RTSS environment. It cannot be called from a Windows application linked to RTX.

RtQueryPciMsiCapability

Allows a user to query a PCI device and determine if the device has MSI or MSI-X capability. RtQueryPciMsiCapability is only supported in the RTSS environment. It cannot be called from a Windows application linked to RTX.

RtReadPortBufferUchar

Calls copy data from an I/O port to a buffer until the buffer has been filled using a number of bytes that you specify for each read operation.

RtReadPortBufferUlong

Calls copy data from an I/O port to a buffer until the buffer has been filled using a number of bytes that you specify for each read operation.

RtReadPortBufferUshort

Calls copy data from an I/O port to a buffer until the buffer has been filled using a number of bytes that you specify for each read operation.

RtReadPortUchar

Calls read data directly from an I/O port. Each function reads a different number of bytes of data.

RtReadPortUlong

Calls read data directly from an I/O port. Each function reads a different number of bytes of data.

RtReadPortUshort

Calls read data directly from an I/O port. Each function reads a different number of bytes of data.

RtReleaseAllFastSemaphore

Releases all threads waiting on the fast semaphore. Ensures that all waiting threads enter the ready-to-run state. Ensures that no new threads enter the busy wait state until all current waiters have become runnable.

RtReleaseFastSemaphore

Releases the specified count of threads waiting on the fast semaphore. If the number of waiting threads is less than the specified count, RtReleaseFastSemaphore will store the remaining count value and continue to release new threads that call RtAcquireFastSemaphore on this fast semaphore.

RtReleaseInterrupt

Releases an interrupt previously attached using RtAttachInterrupt. This breaks the association between a user's interrupt handling routine and the hardware interrupt.

RtReleaseInterruptVector

Releases a previously attached interrupt. This breaks the association between a user's interrupt handling routine and the hardware interrupt.

RtReleaseMutex

Relinquishes ownership of an RTSS mutex.

RtReleaseSemaphore

Increases the count of the specified semaphore object by a specified amount.

RtReleaseShutdownHandler

Destroys the shutdown handler object created by RtAttachShutdownHandler.

RtResetEvent

Sets the state of the specified event object to non-signaled.

RtSetBusDataByOffset

Sets bus-configuration data for a device on a dynamically configurable I/O bus with a published, standard interface.

RtSetClockTime

Sets the current value of the specified clock.

RtSetEvent

Sets the state of the specified event object to signaled.

RtSetProcessAffinityMask

Sets a processor affinity mask for the threads of the specified RTSS process.

RtSetRtssTimeAsFileTime

Sets the new value for RTSS time.

RtSetThreadPriority

Sets the priority value for the specified thread.

RtSetThreadTimeQuantum

Sets the time quantum for the specified thread.

RtSetTimer

Sets the expiration time and repeat interval on the specified timer.

RtSetTimerRelative

Sets the expiration time and repeat interval on the specified timer.

RtSleepEx

Suspends the current thread for the specified time.

RtSleepFt

Suspends the current thread for the specified time.

RtStartPerfMeasure

Enables the measuring of HAL clock ticks and latencies for the specified processor.

RtStopPerfMeasure

Stops the measuring of HAL clock ticks and latencies.

RtTerminateProcess

Terminates the specified process and all of its threads.

RtTraceEvent

Allows the user to add trace event calls to an application.

RtTranslateBusAddress

Translates a bus-specific address into the corresponding system logical address.

RtUnlockKernel

Unlocks sections of the kernel's virtual address space previously locked into physical memory.

RtUnlockProcess

Unlocks sections of the process' virtual address space previously locked into physical memory. RtUnlockProcess has no effect within the RTSS environment.

RtUnmapMemory

Releases a mapping made by a previous call to RtMapMemory.

RtUnmapSharedMemory

Unmaps the Windows user process view of the shared memory section.

RtUpdateProcThreadAttribute

Updates the specified attribute in a list of attributes for process and thread creation.

RtWaitForMultipleObjects

Allows a thread to wait on one of multiple objects to be signaled.

RtWaitForMultipleObjectsEx Allows a thread to wait on one of multiple objects to be signaled with high granularity of time-out interval.

RtWaitForSingleObject

Allows a thread to wait on an object to be signaled.

RtWaitForSingleObjectEx Allows a thread to wait on an object to be signaled with high granularity of time-out interval.

RtWPrintf

Prints formatted output to the standard output stream or console window.

RtWritePortBufferUchar

Calls copy data from a buffer to an I/O port until the buffer has been emptied using a number of bytes that you specify for each write operation.

RtWritePortBufferUlong

Calls copy data from a buffer to an I/O port until the buffer has been emptied using a number of bytes that you specify for each write operation.

RtWritePortBufferUshort

Calls copy data from a buffer to an I/O port until the buffer has been emptied using a number of bytes that you specify for each write operation.

RtWritePortUchar

Calls write data directly to an I/O port from a specified buffer. Each function writes a different number of bytes of data.

RtWritePortUlong

Calls write data directly to an I/O port from a specified buffer. Each function writes a different number of bytes of data.

RtWritePortUshort

Calls write data directly to an I/O port from a specified buffer. Each function writes a different number of bytes of data.

RtWtoi

Converts a given string value to an integer.

 

See Also

IntervalZero.com | Support | Give Feedback