SDK Code Changes from RTX64 4.x to wRTOS 1.x

This topic outlines the APIs included in RTX64 4.x SDKs that were enhanced, underwent breaking changes, or were removed in wRTOS 1.x SDKs.

In this Section:

 


New APIs

This section lists the new APIs in wRTOS 1.x SDKs that are not available in RTX64 4.x SDKs.

New Real-Time APIs

New Winsock APIs

New Configure and Control APIs

New GigE Vision (RTGV) APIs

New Managed APIs

 


Enhanced APIs

This section lists the APIs included in RTX64 4.x SDKs enhanced with non-breaking changes in wRTOS 1.x SDKs.

Enhanced Real-Time APIs

RTX64 4.x API wRTOS 1.0 and later
RTPROCESS_INFORMATION

Added field ProcessFlags, a bit-mask flag value that contains information about a running process.

DWORD ProcessFlags

RT_LICENSE_INFO

Added field HostID, which is the Host ID of the license.

TCHAR hostId[HOST_ID_MAX_LENGTH]

 


Breaking API Changes

This section lists the APIs included in RTX64 4.x SDKs that underwent breaking changes in wRTOS 1.x SDKs.

IMPORTANT: Existing real-time applications that call these APIs may need to be updated to ensure binary compatibility with wRTOS 1.x.

Breaking Changes to Real-Time APIs

Real-Time APIs (RTAPI)

RTX64 4.x API wRTOS 1.0 and later

RtAttachShutdownHandler

Removed from header file Rtapi.h and added to RtssApi.h.

Removed from library file Rtapi.lib and added to Startup.lib.

RtGetThreadPriority

Removed from header file Rtapi.h and added to RtssApi.h.

RtSetThreadPriority

Removed from header file Rtapi.h and added to RtssApi.h.

RT_LICENSE_INFO

Enumerator RT_FEATURE_STATUS_EVAL was renamed RT_FEATURE_STATUS_EVAL_VALID in field RT_FEATURE_LICENSE_STATUS status.

Enumerator RT_FEATURE_STATUS_INVALID_HOST_ID was renamed RT_FEATURE_STATUS_RETAIL_INVALID_HOST_ID

Removed field isFeatureInstalled.

RT_MONITOR_COMPONENT

Replaced constant RT_MONITOR_COMPONENT_NAL = 2 with RT_MONITOR_COMPONENT_NL2 = 2.

Removed constant RT_MONITOR_COMPONENT_ALL = 3

RtReleaseShutdownHandler

Removed from header file Rtapi.h and added to RtssApi.h.

Removed from library file Rtapi.lib and added to Startup.lib.

RTX64_MONITOR_CONTROL_OP

Renamed WRTOS_MONITOR_CONTROL_OP.

RTPROCESS_INFORMATION Structure

Removed field EnableLocalMemory.

Real-Time Network APIs

RTX64 4.x API wRTOS 1.0 and later

RtnAddMultiRoute

Renamed RttcpipAddMultiRoute

RtnDeleteMultiRoute

Renamed RttcpipDeleteMultiRoute

RtnFrameAllocate

Renamed RttcpipFrameAllocate

RtnFrameFree

Renamed RttcpipFrameFree

RtnFrameTransmit

Renamed RttcpipFrameTransmit

RtnFrameTransmitInterface

Renamed RttcpipFrameTransmitInterface

RtnGetDeviceFromIpAddress

Renamed RttcpipGetDeviceFromIpAddress

RtnGetDeviceName

Renamed RttcpipGetDeviceName

RtnGetDevicePtr

Renamed RttcpipGetDevicePtr

RtnInstallStaticRoute

Renamed RttcpipInstallStaticRoute

RtnIsDeviceOnline

Renamed RttcpipIsDeviceOnline

RtnQueryStackHeapUsage

Renamed RttcpipQueryStackHeapUsage

RtnRemoveStaticRoute

Renamed RttcpipRemoveStaticRoute

Breaking Changes to Configure and Control (RTFW) APIs

RTX64 4.x API wRTOS 1.0 and later

RTFW_LOCAL_MEMORY_CONFIGURATION Structure

Removed member EnableLocalMemory.

RTFW_CONSOLE_CONFIGURATION_EX

Renamed RTFW_CONSOLE_CONFIGURATION

RtfwGetConsoleConfigurationEx Renamed RtfwGetConsoleConfiguration

RtfwGetTCPIPClientProcessIDs

Renamed RtfwtcpipClientProcessIDs.

RTFW_PRIORITY_INVERSION_PROTOCOL

Constant RTPI_NONE was renamed RTPI_DISABLED.

Constant RTPI_TIERED_DEMOTION was renamed RTPI_ENABLED.

RtfwSetConsoleConfigurationEx Renamed RtfwSetConsoleConfiguration

Breaking Changes to Managed APIs

Note: Managed libraries and class layouts changed between RTX64 and wRTOS 1.x. See Project Settings for more information on library changes. For a high-level layout, see wRTOS Managed Architecture.

RTX64 4.x API wRTOS 1.0 and later

Class Diagnostics.RTPerformance

Renamed Diagnostics.RtPerformance

Class Diagnostics.RTProcess

Renamed Diagnostics.RtProcess

Interface Diagnostics.IDiagnosticsRTProcess

Renamed Diagnostics.IDiagnosticsRtProcess

Class IO.RTBus

Renamed IO.RtBus

Class IO.RTInterruptHandler

Renamed IO.RtInterruptHandler

Class IO.RTMappedMemory

Renamed IO.RtMappedMemory

Class IO.RTPCISLot

Renamed IO.RtPCISLot

Class IO.RTPort

Renamed IO.RtPort

Class IO.RTPort8

Renamed IO.RtPort8

Class IO.RTSharedMemory

Renamed IO.RtSharedMemory

Class InteropServices.RTHandle

Renamed InteropServices.RtHandle

Class InteropServices.RTMarshal

Renamed InteropServices.RtMarshal

Enumeration InteropServices.RTHandleType

Renamed InteropServices.RtHandleType

Class Threading.RTEventWaitHandle

Renamed Threading.RtEventWaitHandle

Class Threading.RTMutex

Renamed Threading.RtMutex

Class Threading.RTSemaphore

Renamed Threading.RtSemaphore

Class Threading.RTTimer

Renamed Threading.RtTimer

Class Threading.RTWaitHandle

Renamed Threading.RtWaitHandle

Delegate Threading.RTTimerCallback

Renamed Threading.RtTimerCallback

Class Threading.WaitHandles.RTSafeWaitHandle

Renamed Threading.WaitHandles.RtSafeWaitHandle

Enumeration Product.RT_FEATURE_LICENSE_STATUS

Renamed enumerator RT_FEATURE_STATUS_EVAL to RT_FEATURE_STATUS_EVAL_VALID

Enumeration Product.RT_FEATURE_LICENSE_STATUS

Renamed enumerator RT_FEATURE_STATUS_INVALID_HOST_ID to RT_FEATURE_STATUS_RETAIL_INVALID_HOST_ID

Monitor.Subsystem.MonitorComponent Enumeration

Replaced member NAL (2) with NL2 (2).

Removed member ALL (3)

Method Product.GetFeatureLicense

Renamed Product.GetLicenseInfo

Property Device.Rtx64Devices

Renamed Device.wRTOSDevices

Property Device.Rtx64NetworkDevices

Renamed Device.wRTOSNetworkDevices

Property Device.OwnedByRTX64

Renamed Device.OwnedByRtos

Event Config.RTX64Device

Renamed Config.wRTOSDevice

Interface Config.IConfigRTX64Device

Renamed Config.IConfigwRTOSDevice

Property Subsystem.DisableSpeedStep

Renamed Subsystem.DisableWindowsIdleDetection

Method Subsystem.ResetDisableSpeedStep

Renamed Subsystem.ResetDisableWindowsIdleDetection

Breaking Changes to Error Codes

Real-Time APIs

RTX64 4.x Error Code wRTOS 1.0 and later
RT_ERROR_MONITORING_ALREADY_ENABLED Renamed RT_ERROR_MONITORING_ENABLED
RT_ERROR_MONITORING_ALREADY_DISABLED Renamed RT_ERROR_MONITORING_DISABLED
RT_ERROR_MONITORING_ALREADY_STARTED Renamed RT_ERROR_MONITORING_STARTED
RT_ERROR_MONITORING_ALREADY_STOPPED Renamed RT_ERROR_MONITORING_STOPPED
RT_ERROR_MONITORING_ALREADY_PAUSED Renamed RT_ERROR_MONITORING_PAUSED

 


Removed/Deprecated APIs

This section lists RTX64 4.x APIs that were either removed from or are deprecated in wRTOS 1.x SDKs.

Removed/Deprecated Real-Time APIs

RTX64 4.x API wRTOS 1.0 and later

RtAllocateLocalMemory

Removed. Use RtAllocateLocalMemoryEx.

RtAllocateLockedMemory Removed. Use RtAllocateLocalMemoryEx.

RtFreeLockedMemory

Removed. Use RtFreeLocalMemory.

RtDisablePortIo

Removed.

RtEnablePortIo

Removed.

RtGetModuleFileName

Removed. Use RtGetModuleFileNameEx.

RtIsDefaultLocalMemory

Removed.

RtIsTcpStackLicensed

Removed.

RtGetThreadTimeQuantum

Removed. Use RtGetTimeQuantum.

RtGetThreadTimeQuantumEx

Removed. Use RtGetTimeQuantum.

RtMonitorEnableComponents

Removed.

RtMonitorGetEnabledComponents

Removed.

RtQueryComponent

Removed.

RtSetThreadTimeQuantum

Removed. Use RtSetTimeQuantum.

RtSetThreadTimeQuantumEx

Removed. Use RtSetTimeQuantum.

RtSleepEx

Removed. Use SleepEx.

RtStartComponent

Removed. Use these component-specific functions:

RtStopComponent

Removed. Use these component-specific functions:

RTSSCOMPONENT

Removed.

Windows Driver IPC APIs

RTX64 4.x API wRTOS 1.0 and later

RtkIsNetworkLicensed

Removed.

RtkIsNetworkLicensedEx

Removed.

RtkIsRuntimeLicensed

Removed.

RtkIsRuntimeLicensedEx

Removed.

Real-Time Network APIs

RTX64 4.x API wRTOS 1.0 and later

RtnDecodePacket

Removed.

RtnDeleteCriticalLock

Removed.

RtnDisplayNbrCacheTable

Removed.

RtnDisplayRoutingTable

Removed.

RtnEnterCriticalLock

Removed.

RtnEnumPciCards

Removed.

RtnGetDataLong

Removed.

RtnGetIpAddress

Removed.

RtnGetMcastCount

Removed.

RtnGetMsPerTick

Removed.

RtnGetPacket

Removed.

RtnIndicateStatus

Removed.

RtnInitializeCriticalLock

Removed.

RtnIOCTLDriver

Removed.

RtnIsStackOnline

Removed. Use RttcpipGetComponentStatus instead.

RtnLeaveCriticalLock

Removed.

RtnNotifyRecvQueue

Removed.

RtnNotifyTransmitQueue

Removed.

RtnRequest

Removed.

RtnSetDataLong

Removed.

RtnSetLinkAddress

Removed.

RtnSetDefaultGateway

Removed.

RtnTransmitCompleteCallback

Removed.

Real-Time Network Driver (RTND) APIs

RTX64 4.x API wRTOS 1.0 and later

RtndAttachToReceiveQueue

Removed.

RtndAttachToTransmitQueue

Removed.

RtndConfigure

Removed.

RtndDetachReceiveQueue

Removed.

RtndDetachTransmitQueue

Removed.

RtndInitDriverializeInterface

Removed.

RtndIoctl

Removed.

RtndReceive

Removed.

RtndReceiveWithCallback

Removed.

RtndRequest

Removed.

RtndServiceTransmitQueue

Removed.

RtndTransmit

Removed.

RtndTransmitEx

Removed.

RtndUpDown

Removed.

DrvISR

Removed.

RTND_MEDIA_CONNECT_STATE

Removed.

RTND_MEDIA_DUPLEX_STATE

Removed.

RTND_MEDIA_SPEED

Removed.

RTND_REQUEST

Removed.

RTND_STATISTICS_INFO

Removed.

RTND_STATUS

Removed.

RTNAL_ETHERNET_FILTER

Removed.

RTNAL_FRAME

Removed.

RTNAL_HW_TIME

Removed.

RTNAL_INTERFACE

Removed.

RTNAL_PCI_LOCATION

Removed.

RTNAL_PTP_SET_TIMESTAMP_TYPE_ARGUMENTS

Removed.

RTNAL_PTP_MESSAGE_TYPE

Removed.

RTNAL_PTP_VERSION

Removed.

RTNAL_PHYSICAL_ADDRESS

Removed.

Removed/Deprecated Winsock APIs

RTX64 4.x API wRTOS 1.0 and later
gethostbyname Removed.

Removed/Deprecated Configure and Control (RTFW) APIs

RTX64 4.x API wRTOS 1.0 and later

RtfwGetConsoleConfiguration

Removed. Use RtfwGetConsoleConfiguration.

RtfwSetConsoleConfiguration

Removed. Use RtfwSetConsoleConfiguration.

RtfwCreateNetworkInterface

Removed. Use Rtfwnl2SetInterfaceSettings.

RtfwDeleteNetworkInterface

Removed. Use Rtfwnl2DeleteInterface.

RtfwGetAllNetworkInterfaces

Removed. Use Rtfwnl2GetAllInterfaces to return the configurations of all Network Link Layer (NL2) interfaces. Use RtfwtcpipGetAllInterfaces to enumerate all Network Link Layer (NL2) interfaces with TCP/IP settings.

RtfwGetNALClientProcessIDs

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2GetClientProcessIDs.

RtfwGetNALConfiguration Removed. wRTOS 1.0 provides a Network Link Layer (NL2) that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2GetConfiguration.

RtfwGetNALLocalMemoryConfiguration

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2GetConfiguration.

RtfwGetNALStatus

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use RtNL2GetComponentStatus.

RtfwGetNetworkInterfaceByName

Removed. Use Rtfwnl2GetInterface.

RtfwGetNetworkInterfacesStatus

Removed.

RtfwGetNetworkVerbosity

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2GetVerbosity or RtfwtcpipGetVerbosity.

RtfwGetTCPIPClientProcessIDs

Removed. Use RtfwtcpipGetClientProcessIDs.

RtfwGetTCPIPConfiguration

Renamed RtfwtcpipGetConfiguration.

RtfwGetTCPIPLocalMemoryConfiguration

Removed. Use RtfwtcpipGetConfiguration.

RtfwGetTCPIPStatus

Removed. Use RttcpipGetComponentStatus.

RtfwGetRTX64Devices

Removed. Use RtfwGetwRTOSDevices.

RtfwGetRTX64DevicesEx

Removed. Use RtfwGetwRTOSDevices.

RtfwSetNALConfiguration Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2SetConfiguration.

RtfwSetNALLocalMemoryConfiguration

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2SetConfiguration.

RtfwSetNetworkVerbosity

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtfwnl2GetVerbosity.

RtfwSetTCPIPConfiguration

Renamed RtfwtcpipGetConfiguration.

RtfwSetTCPIPLocalMemoryConfiguration

Removed. Use RtfwtcpipGetConfiguration.

RtfwStartNAL

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtnl2StartComponent in Rtfwnl2Api.dll.

RtfwStartTCPIPStack

Removed. Use RttcpipStartComponent in RtfwtcpipApi.dll.

RtfwStopNAL

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use Rtnl2StopComponent in Rtfwnl2Api.dll.

RtfwStopTCPIPStack

Removed. Use RttcpipStopComponent in RtfwtcpipApi.dll.

RTFW_CONSOLE_CONFIGURATION

Removed. Use RTFW_CONSOLE_CONFIGURATION.

RTFW_DEVICE

Removed. Use RTFW_DEVICEEX.

RTFW_NAL_CONFIGURATION

Removed. wRTOS 1.0 provides a Network Link Layer (NL2) component that replaces the NAL from RTX64 4.x versions. Use RTFW_NL2_CONFIGURATION.

RTFW_NETWORK_INTERFACE

Removed. Use RTFW_NL2_INTERFACE for NL2 interfaces. Use RTFW_TCPIP_INTERFACE for TCP/IP interfaces.

RTFW_NETWORK_INTERFACE_STATUS

Removed.

Removed/Deprecated Managed APIs

RTX64 4.x API wRTOS 1.0 and later

IntervalZero.MaxRT.wRTOS.RtApi.Runtime.InteropServices Namespace

Removed, along with:

  • RtHandle Class
  • RtHandleType Enumeration
  • RtMarshal Class

 RTX64Object.CreationTime Property

Removed.

 RTX64Object.Name Property

Removed.

Config.ServerConsole

These properties were removed:

  • LogFileName
  • SuppressWarnings

Config.Subsystem.FreezeFaultingProcessOnException property

Config.Subsystem.ExceptionBehavior property

Config.Subsystem.UseStructuredExceptionHandling property

Replaced by these new Managed APIs:

 Config.ScheduledProcess.UseLocalMemory Property

Removed.

Config.IConfigNetwork Interface

Removed.

 Config.IConfigNetworkFilter Interface

Removed.

Config.IConfigNetworkInterface Interface

Removed.

Config.IConfigTCPIP Interface

Removed.

 Config.IConfigIPv4Configuration Interface

Removed.

 Config.IPv4AddressNetMaskPair Structure

Removed.

   Config.IPv4Configuration Class

Removed.

   Config.Network Class

Removed.

Config.NetworkFilter Class

Removed.

 Config.NetworkInterface Class

Removed.

 Config.TCPIP Class

Removed.

 Config.NetworkInterface.InterruptType Enumeration

Removed.

 Config.NetworkInterface.SpeedDuplexType Enumeration

Removed.

Control.Subsystem.StartNAL

Removed. Use NL2.Control.Start.

Control.Subsystem.StopNAL

Removed. Use NL2.Control.Stop.

Control.Subsystem.GetNALStatus

Removed. Use NL2.Control.GetStatus.

Control.Subsystem.StartTcpipStack

Removed. Use Tcpip.Control.Start.

Control.Subsystem.StopTcpipStack

Removed. Use Tcpip.Control.Stop.

Control.Subsystem.GetTCPIPStatus

Removed. Use Tcpip.Control.GetStatus.

Control.Subsystem.NetworkInterfaceStatus

Removed.

Control.Subsystem.GetNetworkInterfacesStatus

Removed.

Control.Subsystem.NetworkControlRegion

Removed.

Control.Subsystem.StateEx Property

Merged with and replaced by the Control.Subsystem.State property.

RtApi.Diagnostics.RTProcess.Start Method

Removed these overloads:

  • Start
  • Start(Boolean)
  • Start(ProcessStartInfo)
  • Start(String)
  • Start(String, String)
  • Start(ProcessStartInfo, UInt64, UInt32)
  • Start(String, UInt64, UInt32)
  • Start(String, String, UInt64, UInt32)

Monitor.Subsystem.EnableComponents Method

Removed.

Monitor.Subsystem.GetEnabledComponents Method

Removed.

Monitor.MonitorEventContiguousMemoryAlloc Class

Removed the class and all its members.

Monitor.MonitorEventContiguousMemoryAllocFail Class

Removed the class and all its members.

Monitor.MonitorEventContiguousMemoryAllocSpecifyCache Class

Removed the class and all its members.

Monitor.MonitorEventContiguousMemoryAllocSpecifyCacheFail Class

Removed the class and all its members.

Monitor.MonitorEventContiguousMemoryFree Class

Removed the class and all its members.

Monitor.MonitorEventContiguousMemoryFreeFail Class

Removed the class and all its members.

Monitor.MonitorEventWindowsMemoryAlloc Class

Removed the class and all its members.

Monitor.MonitorEventWindowsMemoryAllocFail Class

Removed the class and all its members.

Monitor.MonitorEventWindowsMemoryFree Class

Removed the class and all its members.

Monitor.MonitorEventWindowsMemoryFreeFail Class

Removed the class and all its members.

Monitor.MonitorEventShutdownHandlerCall Class

Removed the class and all its members.

Monitor.MonitorEventLocalMemoryExpand Class

Removed the class and all its members.

Monitor.MonitorEventLocalMemoryShrink Class

Removed the class and all its members.

Config.Subsystem.EnableLocalMemory Property

Removed.

Config.Subsystem.ResetEnableLocalMemory Method

Removed

Removed Error Codes

Real-Time APIs

RTX64 4.x Error Code wRTOS 1.0 and later
RT_ERROR_MONITORING_IS_STARTED Removed.
RT_ERROR_MONITORING_NOT_ENABLED Removed.
RT_ERROR_MONITORING_INVALID_STATE_TRANSITION Removed.

Related topics: