The wRTOS API

The wRTOS application programming interface (API) is based on the Windows API. This allows developers to use their Windows experience, code base, and development tools, expediting hard real-time application development. Windows applications can use a subset of the wRTOS API supported within RTSS processes, however, with different response times and performance characteristics, allowing developers to effortlessly share or move code between environments.

In this topic:

Path Names

Because wRTOS is not aware of the current working directory, you must use full path names for all wRTOS APIs.

Windows and Real-Time API

wRTOS supports a subset of Windows API functions and provides a unique set of real-time functions, known as RTAPI (Real-Time API). RTAPI functions are identified by the "Rt" prefix. Some RTAPI functions are semantically identical to their Windows counterparts, while others are unique to wRTOS (that is, there are no similar Windows calls). For example, RTAPI IPC functions differ from Windows IPC functions only in the IPC name space in which they operate and the level of determinism possible with real-time IPC objects. On the other hand, the Windows API does not include any functions related to interrupt management; therefore, unique interrupt management functions are defined in RTAPI.

The wRTOS API was carefully selected to promote efficient development of real-time application components. wRTOS intentionally does not include Windows functions, such as the GUI-related calls, that are normally used by the less time-critical application components. In fact, Windows functions that are not essential to real-time programming, and impractical to implement with deterministic behavior, are not included in the wRTOS API. It is expected that most applications will consist of at least two processes working together — one Windows-based process (to take advantage of GUI and other Windows-only functions) and an RTSS-based process to perform time-critical processing.

wRTOS Executable Images

wRTOS provides two types of executable images: RTSS processes and RTDLLs:

Runtime Libraries

wRTOS supports the Visual Studio-provided C Runtime libraries. RTSS applications can link against the static C Runtime libraries, provided they do not attempt to call unsupported C Runtime library functions. RTSS processes can also link against dynamic link libraries (RTDLLs), which can be used to modularize real-time application code or provide run-time customization of real-time software environments.

Unicode

wRTOS supports Unicode applications. An RTSS process can use the wmain function and accept wide character input arguments.

Note: Strings containing Unicode characters with code points greater than 255 are unsupported. These characters include Japanese, Chinese, Greek, Hebrew, Cyrillic, Korean characters, and characters from many other non-Latin languages. This includes all ASCII and ISO Latin-1 characters, such as 'µ', 'ö', 'é', 'ß', 'ñ', 'ç', etc.