API Changes Between RTX64 3.x and RTX64 4.x

This topic outlines the APIs included in the RTX64 3.x SDK that were enhanced, changed, or removed in RTX64 SDK versions 4.x.

 


Enhanced APIs

This section lists the APIs included in the RTX64 3.x SDK that were enhanced with non-breaking changes in RTX64 4.x SDK versions.

Enhanced Real-Time APIs

RTX64 3.x API RTX64 4.4 and later
RtnRemoveStaticRoute

Renamed the parameter:

  • pTarget to pDestination

RtnInstallStaticRoute

Renamed the parameter:

  • pTarget to pDestination

RTX64 3.x API RTX64 4.0 and later
IP_ADAPTER_ADDRESSES

Added support for these members:

  • ReceiveLinkSpeedspecifies the current speed in bits per second of the receive link for the adapter.
  • TransmitLinkSpeedspecifies the current speed in bits per second of the transmit link for the adapter.
MF_EVENT_KIND Updated event MF_EVENT_KIND_PROCESS_CREATE to include information on Local Memory MSpaces.
RtUpdateProcThreadAttribute

Added new attributes:

  • RT_PROC_THREAD_ATTRIBUTE_MSPACE_MINIMUM_INITIAL_SIZE
  • RT_PROC_THREAD_ATTRIBUTE_MSPACE_EXPAND _SIZE

Enhanced Native Framework APIs

RTX64 3.x API RTX64 4.4 and later
RTFW_INTERRUPT_TYPE

Added a new member:

  • RTIN_MSIX_MULTI_VECTOR represents MSI-X Multi Vector interrupts.
RTFW_NETWORK_INTERFACE

Added a new member:

  • SpeedDuplex specifies the method used to establish the Ethernet link.
RTX64 3.x API RTX64 4.0 and later
RTFW_SCHEDULED_PROCESS

Added new members:

  • MSpaceInitialSizespecifies the size, in kilobytes, by which to allocate Non-Paged memory from Windows into the Local Pool of the MSpace at process startup.
  • MSpaceExpandSizespecifies the size, in kilobytes, by which to expand an RTSS processes' internal/external MSpaces.

 

Enhanced Managed Framework APIs

RTX64 3.x API RTX64 4.4 and later
IntervalZero.RTX64.Config.NetworkInterface.InterruptType enumeration

Added a new member:

  • MSIX_MULTI_VECTOR represents MSI-X Multi Vector interrupts.

IntervalZero.RTX64.RTX64Exception class

Added a new sub-class:

  • RTX64Win32Exception

Added new constructors:

  • RTX64Win32Exception (String, Int)
  • RTX64Win32Exception (String, Int, Exception)

Added new properties:

  • message gets the message in the exception.
  • win32ErrorCode gets the Windows or RTSS error code retrieved from the Native API.
  • innerException gets the exception that triggered this exception.
IntervalZero.RTX64.Config.Subsystem class

Added new method:

  • GetNetworkInterfacesStatus queries the status of each enabled network interface.
IntervalZero.RTX64.Config.NetworkInterface class

Added a new property to method CreateNetworkInterface:

  • speedDuplex specifies the method used to establish the Ethernet link.
RTX64 3.x API RTX64 4.0 and later
IntervalZero.RTX64.Config.ScheduledProcess class

Added new properties:

  • MSpaceInitialSizegets/sets the size, in kilobytes, by which to allocate Non-Paged memory from Windows into the Local Pool of the MSpace at process startup.
  • MSpaceExpandSizegets/sets the size, in kilobytes, by which to expand an RTSS processes' internal/external MSpaces.
IntervalZero.RTX64.Config.Subsystem class

Added new local memory configuration properties:

  • EnableLocalMemoryaccesses the configuration parameter that specifies whether the RTX64 Subsystem uses Local memory (MSpaces) or Windows memory. If true, the real-time Subsystem memory allocation uses Local memory MSpaces. If false, the Subsystem allocates memory by requesting it from Windows.
  • NALExtMSpacePoolMinimumSizeaccesses the configuration parameter that specifies the minimum size, in kilobytes, of the local pool within the Network Abstraction Layer (NAL) external MSpace.
  • NALMSpacesPoolExpandableaccesses the configuration parameter that specifies whether the local pool within the Network Abstraction Layer (NAL) MSpaces is expandable. If true, the local pool within the NAL MSpace is expandable by the amount specified by NALMSpacesPoolExpandSize when depleted.
  • NALMSpacesPoolExpandSizeaccesses the configuration parameter that specifies the size, in kilobytes, by which to expand the local pool within the Network Abstraction Layer (NAL) MSpaces when NALMSpacesPoolExpandable is set to true.
  • ProcessExtMSpacePoolMinimumSizeaccesses the configuration parameter that specifies the minimum size, in kilobytes, of the local pool within the RTSS process external MSpace.
  • ProcessMSpacesPoolExpandableaccesses the configuration parameter that specifies whether the local pool within the RTSS process MSpace is expandable. If true, the local pool within the RTSS process MSpace is expandable by the amount specified byProcessMSpacesPoolExpandSizewhen depleted.
  • ProcessMSpacesPoolExpandSizeaccesses the configuration parameter that specifies the size, in kilobytes, by which to expand the local pool within the RTSS process MSpace whenProcessMSpacesPoolExpandableis set to true.
  • ProcessMSpacesPoolShrinkableaccesses the configuration parameter that specifies whether the local pool within the RTSS process MSpace is shrinkable.
  • SystemExtMSpacePoolMinimumSizeaccesses the configuration parameter that specifies the minimum size, in kilobytes, of the local pool within the system process external MSpace.
  • SystemExtMSpacePoolCommitaccesses the configuration parameter that specifies whether the local pool within the system process external MSpace is committed at startup.
  • SystemMSpacesPoolExpandableaccesses the configuration parameter that specifies whether the local pool within the system process MSpace is expandable by the amount specified bySystemMSpacePoolExpandSizewhen depleted.
  • SystemMSpacesPoolExpandSizeaccesses the configuration parameter that specifies the size, in kilobytes, by which to expand the local pool within the system process MSpace whenSystemMSpacePoolExpandableis set to true.
  • SystemMSpacesPoolShrinkableaccesses the configuration parameter that specifies whether the local pool within the system process MSpace is shrinkable.
  • TCPIPExtMSpacePoolMinimumSizeaccesses the configuration parameter that specifies the minimum size, in kilobytes, of the local pool within the RT-TCP-IP Stack external MSpace.
  • TCPIPMSpacesPoolExpandableaccesses the configuration parameter that specifies whether the local pool within the RT-TCP/IP Stack MSpace is expandable. If true, the local pool within the RT-TCP/IP Stack MSpace is expandable by the amount specified by TCPIPMSpacesPoolExpandSize when depleted.
  • TCPIPMSpacesPoolExpandSizeaccesses the configuration parameter that specifies the size, in kilobytes, by which to expand the local pool within the RT-TCP/IP Stack MSpace when TCPIPMSpacesPoolExpandable is set to true.
  • ZeroMemoryAtAllocationaccesses the configuration parameter that specifies whether the memory allocated by malloc or similar C-Runtime functions is initialized to zero (according to the C99 specification).

Added a new method:

  • MethodSetHALTimerPeriodsets the HAL timer period (in microseconds) for the RTX64 Subsystem.
IntervalZero.RTX64.RTAPI.RtssEnvironment class

Added new methods:

  • MethodGetProcessMSpaceretrieves a descriptor of the external and internal memory allocation space (MSpace) for the specified RTSS process or system process.
  • MethodQueryProcessMSpacequeries memory allocation space information for the specified process MSpace, including various summary statistics of its local pool and pool cache.
  • Structure MSPACE_INFO contains information for a single memory allocation space (MSpace).

 


Breaking API Changes

This section lists the APIs included in the RTX64 3.x SDK that underwent breaking changes in RTX64 4.x SDK versions.

IMPORTANT! Existing real-time applications that call these APIs may need to be updated to ensure binary compatibility with RTX64 4.x.

NOTE: A binary file built with the RTX64 4.5 SDK that includes C Runtime support will not run on previous versions of the RTX64 Runtime.

Breaking Changes to Header Files

Breaking Changes to Real-Time APIs

RTX64 3.x API RTX64 4.0 and later

HeapAlloc

LPVOID HeapAlloc(
    HANDLE hHeap,
    DWORD Flags,
    DWORD Bytes
);

 

LPVOID HeapAlloc(
    HANDLE hHeap,
    DWORD dwFlags,
    SIZE_T dwBytes
);

HeapCreate

HANDLE HeapCreate(
    DWORD flOptions,
    DWORD InitialSize,
    DWORD MaximumSize
);

 

HANDLE HeapCreate(
    DWORD flOptions,
    SIZE_T dwInitialSize,
    SIZE_T dwMaximumSize
);

HeapReAlloc

LPVOID HeapReAlloc(
    HANDLE hHeap,
    DWORD Flags,
    LPVOID lpMem,
    DWORD Bytes
);

 

LPVOID HeapReAlloc(
    HANDLE hHeap,
    DWORD Flags,
    LPVOID lpMem,
    SIZE_T dwBytes
);

RtAllocateLocalMemory

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

 

Allocates memory from the external MSpace of the current process.

RtAllocateLocalMemoryEx

Allocates memory from a pre-allocated RTSS local memory pool to avoid SRI activity if allocating memory from the Windows memory pool. Using the memory allocation option RTALLOC_NOT_ZERO_MEMORY, RtAllocateLocalMemoryEx allows you to allocate memory without zero-initializing the memory region.

 

Allocates memory from the external memory allocation space (MSpace) of the current process. RtAllocateLocalMemoryEx allows you to allocate memory without zero-initializing the memory region.

RtCreateSharedMemory

Parameter flProtect is ignored by RTSS and Windows.

 

Parameter flProtect is still ignored by RTSS but supported under Windows with these values:

  • SHM_MAP_READgives read-only access to the committed region of pages. An attempt to write to or execute the committed region results in an access violation.
  • SHM_MAP_WRITEgives read-write access to the committed region of pages.
RtUpdateProcThreadAttribute

Deprecated attribute RT_PROC_THREAD_ATTRIBUTE_USE_LOCAL_MEMORY

RtGetProcessAffinityMask

BOOL RtGetProcessAffinityMask(
    HANDLE hProcess,
    PDWORD_PTR pProcessAffinityMask,
    PDWORD_PTR pSystemAffinityMask
);
 
BOOL RtGetProcessAffinityMask(
    HANDLE hProcess,
    PUINT64 pProcessAffinityMask,
    PUINT64 pSystemAffinityMask
);

RtSetProcessAffinityMask

BOOL RtSetProcessAffinityMask(
    HANDLE hProcess,
    DWORD_PTR ProcessAffinityMask
);
 
BOOL RtSetProcessAffinityMask(
    HANDLE hProcess,
    UINT64 ProcessAffinityMask
);

RtGetProcessorInfo

BOOL RtGetProcessorInfo(
    PDWORD_PTR lpLowestSystemProcessor,
    PDWORD_PTR lpHighestSystemProcessor
);
 
BOOL RtGetProcessorInfo(
    PDWORD lpLowestSystemProcessor,
    PDWORD lpHighestSystemProcessor
);
RtSleepFt

Removed Windows support. This function can now only be called from an RTSS process or RTDLL.

RtSleepFtEx Removed Windows support. This function can now only be called from an RTSS process or RTDLL.

RTPROCESS_INFORMATION

typedef struct _RTPROCESS_INFORMATION{
    DWORD ProcessId;
    UNSIGNED_INT64 ProcessorAffinityMask;
    DWORD AffinedProcessorNumber;
    BOOL UseLocalMemory;
}RTPROCESS_INFORMATION, *PRTPROCESS_INFORMATION;

 

typedef struct _RTPROCESS_INFORMATION{
    DWORD ProcessId;
    UNSIGNED_INT64 ProcessorAffinityMask;
    DWORD AffinedProcessorNumber;
    BOOL EnableLocalMemory;
}RTPROCESS_INFORMATION, *PRTPROCESS_INFORMATION;

Real-Time Network APIs

RTX64 3.x API RTX64 4.0 and later

RtnRequest, RtndRequest

These APIs use a pointer to structure RTND_REQUEST as an argument. Some requests used the InformationBuffer field in structure RTND_REQUEST to pass an integer value back to the caller by overwriting the InformationBuffer pointer or used the InformationBuffer field differently in different NIC drivers.

 

These APIs Use the InformationBuffer field in structure RTND_REQUEST as a pointer to a buffer to place a value or values for all requests in all NIC drivers.

Breaking Changes to Native Framework APIs

RTX64 3.x API RTX64 4.0 and later

RtfwGetSubsystemStatus

bool RtfwGetSubsystemStatus(
    RTFW_SUBSYSTEM_STATUS * pStatus
);
 
bool RtfwGetSubsystemStatus(
    RTFW_COMPONENT_STATUS * pStatus
);
  • ParameterpStatusnow points to a value that is set in new enumerator RTFW_COMPONENT_STATUS
RtfwStartNetwork

Renamed RtfwStartTCPIPStack

RtfwStopNetwork

Renamed RtfwStopTCPIPStack

RTFW_FIRST_RTSS_PROCESSOR

A constant used by RTFW_NETWORK_CONFIGURATION and RTFW_NETWORK_INTERFACE which represents the first RTSS processor, regardless of its actual processor number.

Renamed RTFW_DEFAULT_RTSS_PROCESSOR

When configuring the Network Abstraction Layer (NAL) or RT-TCP/IP stack, this constant represents the RTSS processor on which the NAL or Stack processes are running. When configuring other components of the RTX64 Subsystem, this constant represents the first RTSS processor.

RTFW_LOCAL_MEMORY_CONFIGURATION

typedef struct _RTFW_LOCAL_MEMORY_CONFIGURATION(
    size_t Size;
    bool UseLocalMemory;
    bool AutoExpandPool;
    bool AutoShrinkPool;
    unsigned int InitialSize;
    unsigned int ExpansionSize;
} RTFW_LOCAL_MEMORY_CONFIGURATION, * PRTFW_LOCAL_MEMORY_CONFIGURATION;
 
typedef struct _RTFW_LOCAL_MEMORY_CONFIGURATION(
    size_t          Size;
    bool            EnableLocalMemory;
    unsigned int    SystemExtMSpacePoolMinimumSize;
    bool            SystemExtMSpacePoolCommit;
    bool            SystemMSpacesPoolExpandable;
    unsigned int    SystemMSpacesPoolExpandSize;
    bool            SystemMSpacesPoolShrinkable;
    unsigned int    ProcessExtMSpacePoolMinimumSize;
    bool            ProcessMSpacesPoolExpandable;
    unsigned int    ProcessMSpacesPoolExpandSize;
    bool            ProcessMSpacesPoolShrinkable;
    bool            ZeroMemoryAtAllocation; 
    unsigned int    SystemIntMSpacesPoolMinimumSize;
    unsigned int    ProcessIntMSpacesPoolMinimumSize;
} RTFW_LOCAL_MEMORY_CONFIGURATION, * PRTFW_LOCAL_MEMORY_CONFIGURATION;
  • Renamed parameterUseLocalMemorytoEnableLocalMemory
  • Added these members:
  • SystemExtMSpacePoolMinimumSize
  • SystemExtMSpacePoolCommit
  • SystemMSpacesPoolExpandable
  • SystemMSpacesPoolExpandSize
  • SystemMSpacesPoolShrinkable
  • ProcessExtMSpacePoolMinimumSize
  • ProcessMSpacesPoolExpandable
  • ProcessMSpacesPoolExpandSize
  • ProcessMSpacesPoolShrinkable
  • ZeroMemoryAtAllocation
  • SystemIntMSpacePoolMinimumSize
  • ProcessIntMSpacePoolMinimumSize

RTFW_NETWORK_INTERFACE

typedef struct _RTFW_NETWORK_INTERFACE(
    size_t Size;
    TCHAR FriendlyName[RTFW_MAX_INTERFACE_NAME_CHARS];
    bool Enabled;
    TCHAR Driver[MAX_PATH]; 
    TCHAR DeviceInstanceID[RTFW_MAX_INTERFACE_INSTANCEID_CHARS];
    TCHAR PCIBusLocation[RTFW_MAX_INTERFACE_PCIBUSLOCATION_CHARS];
    size_t CountIPv4Addresses;
    RTFW_IPV4_CONFIGURATION IPv4Configurations[RTFW_MAX_IPS_PER_INTERFACE];
    TCHAR Gateway[RTFW_IPV4ADDRESS_LENGTH];
    TCHAR IPv6Address[RTFW_MAX_INTERFACE_IPV6ADDRESS_CHARS]; 
    unsigned int IPv6Prefix;
    unsigned int ReceivePriority;
    DWORD ReceiveIdealProcessor;
    unsigned int MTU;
    unsigned int NumberReceiveBuffers;
    unsigned int NumberTransmitBuffers;
    RTFW_INTERRUPT_TYPE InterruptType;
    unsigned int InterruptPriority;
    DWORD InterruptIdealProcessor;
    bool LinkStatus;
    unsigned int LinkStatusPriority;
    DWORD LinkStatusIdealProcessor;
    bool FilterDriverEnabled;
    TCHAR FilterDriver[MAX_PATH];
} RTFW_NETWORK_INTERFACE, * PRTFW_NETWORK_INTERFACE;
 
typedef struct _RTFW_NETWORK_INTERFACE(
    size_t Size;
  
    // These fields are required for TCP/IP and NAL interfaces.
    TCHAR Name[RTFW_MAX_INTERFACE_NAME_CHARS];
    bool Enabled;
    TCHAR Driver[MAX_PATH];
    unsigned int MaxPacketSize;
    bool LinkStatus;
    TCHAR PCIBusLocation[RTFW_MAX_INTERFACE_PCIBUSLOCATION_CHARS];
    RTFW_INTERRUPT_TYPE InterruptType;
    unsigned int TransmitCompletePriority;
    unsigned int TransmitCompleteIdealProcessor;
    unsigned int NumberReceiveBuffers;
    unsigned int NumberTransmitBuffers;
    unsigned int NumberReceiveQueues;
    unsigned int NumberTransmitQueues;
    unsigned int DefaultReceiveQueue;
    DWORD InterruptIdealProcessor;
    unsigned int InterruptPriority;
    TCHAR DeviceInstanceID[RTFW_MAX_INTERFACE_INSTANCEID_CHARS];
    bool SupportTCPIP;
 
    // These fields are required only if SupportTCPIP is set to TRUE.
    unsigned int CountIPv4Configurations;
    RTFW_IPV4_CONFIGURATIONW IPv4Configurations[RTFW_MAX_IPS_PER_INTERFACE];
    TCHAR Gateway[RTFW_IPV4ADDRESS_LENGTH];
    unsigned int MTU;
    bool FilterEnabled;
    TCHAR FilterDriver[MAX_PATH];
    TCHAR IPv6Address[RTFW_MAX_INTERFACE_IPV6ADDRESS_CHARS];
    unsigned int IPv6Prefix;
    unsigned int ReceivePriority;
    DWORD ReceiveIdealProcessor;
} RTFW_NETWORK_INTERFACE, * PRTFW_NETWORK_INTERFACE;
  • Renamed parameterFriendlyNametoName
  • Renamed parameterCountIPv4AddressestoCountIPv4Configurations
  • Removed parameterLinkStatusPriority
  • Removed parameterLinkStatusIdealProcessor
  • Added these parameters:
  • MaxPacketSize
  • TransmitCompletePriority
  • TransmitCompleteIdealProcessor
  • NumberReceiveQueues
  • NumberTransmitQueues
  • DefaultReceiveQueue
  • SupportTCPIP

RTFW_RESTART_TYPE

typedef enum _RTFW_RESTART_TYPE(
    RTRT_NONE,
    RTRT_NETWORK = 5
    RTRT_SUBSYSTEM = 10,
    RTRT_MACHINE = 20,
} RTFW_RESTART_TYPE;
 
typedef enum _RTFW_RESTART_TYPE(
    RTRT_NONE,
    RTRT_TCPIP = 5
    RTRT_NETWORK = 7
    RTRT_SUBSYSTEM = 10,
    RTRT_MACHINE = 20,
} RTFW_RESTART_TYPE;
  • Changed the meaning of parameterRTRT_NETWORKto refer to the Network Abstraction Layer (NAL)

RTFW_SCHEDULED_PROCESS

typedef struct _RTFW_SCHEDULED_PROCESS(
    size_t 		Size
    CHAR   		Filename[MAX_PATH],
    CHAR 		Parameters[MAX_PATH],
    bool 		UseLocalMemory,
    unsigned int 	IdealProcessor,
    uint64_t 		AffinityMask,
    RTFW_SCHEDULED_ID  ScheduledID,
} RTFW_SCHEDULED_PROCESS, * PRTFW_SCHEDULED_PROCESS;
 
typedef struct _RTFW_SCHEDULED_PROCESS(
    size_t 		Size
    CHAR   		Filename[MAX_PATH],
    CHAR 		Parameters[MAX_PATH],
    bool 		Reserved,
    unsigned int 	IdealProcessor,
    uint64_t 		AffinityMask,
    RTFW_SCHEDULED_ID  ScheduledID,
    uint32_t MSpaceInitialSize,
    uint32_t MSpaceExpandSize
} RTFW_SCHEDULED_PROCESS, * PRTFW_SCHEDULED_PROCESS;
  • Removed memberUseLocalMemory
  • Added these new members:
  • MSpaceInitialSize
  • MSpaceExpandSize

 

Breaking Changes to Managed Framework APIs

RTX64 3.x API RTX64 4.1 and later
IntervalZero.RTX64.Config.ServerConsole class MethodResetresets the 4.1 Server Console Registry values only.
RTX64 3.x API RTX64 4.0 and later

MonitorEventThreadCreate.AffinedProcesser property (IntervalZero.RTX64.Monitor namespace)

 

MonitorEventThreadCreate.AffinedProcessor Property (IntervalZero.RTX64.Monitor Namespace)

Subsystem.AddScheduledProcess method (IntervalZero.RTX64.Config Namespace)

public void AddScheduledProcess(
	string fileName,
	string parameters,
	uint idealProcessor,
	ulong affinityMask,
	bool useLocalPool,
	int order = -1
);
 
 
void AddScheduledProcess(
	string fileName, 
	string parameters, 
	uint idealProcessor,
	ulong affinityMask,                               
	uint MSpaceInitialSize, 
	uint MSpaceExpandSize, 
	int order = -1
);
  • Removed parameteruseLocalPool
  • Added these new parameters:
  • MSpaceInitialSize
  • MSpaceExpandSize

RTProcess methods (IntervalZero.RTX64.RTAPI.Diagnostics.RTProcess class)

  • Removed parameteruseLocalMemory

 


Removed/Deprecated APIs

This section lists the RTX64 3.x APIs that were either removed from or are deprecated in RTX64 4.x SDK versions.

Removed/Deprecated Real-Time APIs

RTX64 3.x API RTX64 4.3 and later
RtAllocateLockedMemory This function is deprecated and will be removed from a future release. Use RtAllocateLocalMemory.
RtFreeLockedMemory This function is deprecated and will be removed from a future release. Use RtFreeLocalMemory.
RTX64 3.x API RTX64 4.1 and later
RtGetThreadTimeQuantum This function is deprecated and will be removed from a future release. Use RtGetTimeQuantum.
RtGetThreadTimeQuantumEx This function is deprecated and will be removed from a future release. Use RtGetTimeQuantum.
RtSetThreadTimeQuantum This function is deprecated and will be removed from a future release. Use RtSetTimeQuantum.
RtSetThreadTimeQuantumEx This function is deprecated and will be removed from a future release. Use RtSetTimeQuantum.
RTX64 3.x API RTX64 4.0 and later
RtEnumProxyProcessesEx Removed.
RtExpandLocalMemory

Removed. Use RtExpandMSpace, which expands the specified MSpace by the size specified.

RtGetLicenseFeatureStatus

Removed. Use RtGetLicenses, which retrieves information about all licenses available on the system.

RtGetLicenseFeatureStatusEx

Removed. Use RtGetLicenses, which retrieves information about all licenses available on the system.

RtQueryLocalMemory

Removed. Use RtQueryProcessMSpace, which queries memory allocation space information in the specified process MSpace, including various summary statistics of its local pool and pool cache.

RtQueryRtssInformation Removed.
RtShrinkLocalMemory

Removed. Use RtShrinkMSpace, which shrinks the specified MSpace by the size specified.

Real-Time NAL APIs

RTX64 NAL 2.0 API RTX64 4.0 and later
RtNalAttachProcessExitHandler Removed.
RtNalReleaseProcessExitHandler Removed.

Real-Time Network APIs

RTX64 3.x API RTX64 4.0 and later
RtnNotifyRecv Removed.
RtnTransmitDone Removed.
RtndFrameAllocate

Removed. Use RtnFrameAllocate, which can be used by a filter driver, and an RTSS application with RT-TCP/IP support enabled, to allocate a block of memory to store an Ethernet frame.

RtndFrameFree

Removed. Use RtnFrameFree, which returns an allocated frame back to the TCP/IP Stack.

RtndFrameTransmit

Removed. Use RtnFrameTransmit, which can be called when a filter or RTSS application wants to transmit a frame pointed to by the parameter EthernetFrame.

RtndInitialize

Removed. Use RtndInitializeInterface, which is called for each instance of the driver when the driver should configure the NIC hardware.

Removed/Deprecated Winsock APIs

RTX64 3.x API RTX64 4.4 and later
gethostbyname

This function is deprecated and will be removed from a future release.

Use getaddrinfo.

Removed/Deprecated Native Framework APIs

RTX64 3.x API RTX64 4.2 and later
RtfwGetRTX64Devices

This function is deprecated and will be removed from a future release.

Use RtfwGetRTX64DevicesEx.

RTFW_DEVICE

This structure is deprecated and will be removed from a future release.

Use RTFW_DEVICEEX.

RTX64 3.x API RTX64 4.1 and later
RtfwGetConsoleConfiguration

This function is deprecated and will be removed from a future release. The function will fail in RTX64 4.1 and later versions.

Use RtfwGetConsoleConfigurationEx.

RtfwSetConsoleConfiguration

This function is deprecated and will be removed from a future release. The function will fail in RTX64 4.1 and later versions.

Use RtfwSetConsoleConfigurationEx.

RTFW_CONSOLE_CONFIGURATION

This structure is deprecated and will be removed from a future release. The structure will fail in RTX64 4.1 and later versions.

Use RTFW_CONSOLE_CONFIGURATION_EX.

RTX64 3.x API RTX64 4.0 and later
RtfwGetNetworkConfiguration

Removed. Use these new APIs:

RtfwGetNetworkStatus

Removed. Use these new APIs:

RtfwSetNetworkConfiguration

Removed. Use these new APIs:

RTFW_NETWORK_CONFIGURATION

Removed. Use these new APIs:

RTFW_SUBSYSTEM_STATUS

Removed. Use RTFW_COMPONENT_STATUS, which represents the status of an RTX64 component.

Removed/Deprecated Managed Framework APIs

RTX64 3.x API RTX64 4.1 and later
IntervalZero.RTX64.RTAPI.Diagnostics.RTProcess namespace

The following overloads to method RTProcess.Start were deprecated and will be removed from a future release:

  • Start
  • Start(Boolean)
  • Start(ProcessStartInfo)
  • Start(String)
  • Start(String, String)
  • Start(ProcessStartInfo, UInt64, UInt32)
  • Start(String, UInt64, UInt32)
  • Start(ProcessStartInfo, UInt64, UInt32)
  • Start(String, String, UInt64, UInt32)
  • Start(String, UInt64, UInt32)
  • Start(String, String, UInt64, UInt32)
IntervalZero.RTX64.Config.ServerConsole class

These properties were deprecated and will be removed from a future release:

  • LogFileName
  • SuppressWarnings

These methods were deprecated and will be removed from a future release:

  • ResetLogFileName
  • ResetSuppressWarnings
RTX64 3.x API RTX64 4.0 and later
IntervalZero.RTX64.RTAPI.IO.RTInterruptHandler class Removed.
IntervalZero.RTX64.RTAPI.RTShutdownHandler class Removed.
IntervalZero.RTX64.RTAPI.Threading.RTTimer class Removed.
IntervalZero.RTX64.Config.IConfigNetworkInterface interface

These properties were removed:

  • LinkStatusPriority
  • LinkStatusIdealProcessor
  • UseLocalMemory
IntervalZero.RTX64.Config.IConfigSubsystem interface

These properties were removed:

  • DisableLocalMemoryExpansion(use new propertiesProcessMSpacesPoolExpandableandSystemMSpacePoolExpandable)
  • DisableLocalMemoryShrink(use new propertiesProcessMSpacesPoolShrinkableandSystemMSpacePoolShrinkable)
  • LocalMemoryPoolExpansionSize(use new propertiesProcessMSpacesPoolExpandSizeandSystemMSpacePoolExpandSize)
  • LocalMemoryPoolInitialSize(use new propertySystemExtMSpacePoolCommit)
  • UseLocalMemory(use new propertyEnableLocalMemory)

IntervalZero.RTX64.Config.Subsystem class

These properties were removed:

  • DisableLocalMemoryExpansion(use new propertiesProcessMSpacesPoolExpandableandSystemMSpacePoolExpandable)
  • DisableLocalMemoryShrink(use new propertiesProcessMSpacesPoolShrinkableandSystemMSpacePoolShrinkable)
  • LocalMemoryPoolExpansionSize(use new propertiesProcessMSpacesPoolExpandSizeandSystemMSpacePoolExpandSize)
  • LocalMemoryPoolInitialSize(use new propertySystemExtMSpacePoolCommit)
  • UseLocalMemory(use new propertyEnableLocalMemory)

IntervalZero.RTX64.Monitor.MonitorEventTLSFree class

These properties were removed:

  • Status
  • Error

IntervalZero.RTX64.RTAPI.Diagnostics.RTProcess class

PropertyUseLocalMemorywas removed.

IntervalZero.RTX64.RTAPI.RtssEnvironment class

These properties were removed:

  • TotalMemory
  • AvailableMemory
  • ContiguousMemory

These methods were removed:

  • EnableInterrupts
  • DisableInterrupts
  • AddShutdownHandler
  • RemoveShutdownHandler

IntervalZero.RTX64.RTAPI.IO namespace

These enumerations were removed:

  • InterruptDisposition
  • InterruptMode

Related topics: