About The Azure RTOS NetX Duo User Guide

This guide contains comprehensive information about Azure RTOS NetX Duo, the Microsoft high-performance IPv4/IPv6 dual network stack.

It is intended for embedded real-time software developers familiar with basic networking concepts, Azure RTOS ThreadX, and the C programming language.


Chapter 1 - Introduces Azure RTOS NetX Duo

Chapter 2 - Gives the basic steps to install and use Azure RTOS NetX Duo with your ThreadX application

Chapter 3 - Provides a functional overview of the Azure RTOS NetX Duo system and basic information about the TCP/IP networking standards

Chapter 4 - Details the application's interface to Azure RTOS NetX Duo

Chapter 5 - Describes network drivers for Azure RTOS NetX Duo

Appendix A - Azure RTOS NetX Duo Services

Appendix B - Azure RTOS NetX Duo Constants

Appendix C - Azure RTOS NetX Duo Data Types

Appendix D - BSD-Compatible Socket API

Appendix E - ASCII Chart

Guide Conventions

Italics - Typeface denotes book titles, emphasizes important words, and indicates variables.

Boldface - Typeface denotes file names, key words, and further emphasizes important words and variables.


Information symbols draw attention to important or additional information that could affect performance or function.


Warning symbols draw attention to situations that developers should avoid because they could cause fatal errors.

Azure RTOS NetX Duo Data Types

In addition to the custom Azure RTOS NetX Duo control structure data types, there are several special data types that are used in Azure RTOS NetX Duo service call interfaces. These special data types map directly to data types of the underlying C compiler. This is done to ensure portability between different C compilers. The exact implementation is inherited from ThreadX and can be found in the tx_port.h file included in the ThreadX distribution.

The following is a list of Azure RTOS NetX Duo service call data types and their associated meanings:

UINT: Basic unsigned integer. This type must support 32-bit unsigned data; however, it is mapped to the most convenient unsigned data type.
ULONG: Unsigned long type. This type must support 32-bit unsigned data. VOID: Almost always equivalent to the compiler's void type.
CHAR: Most often a standard 8-bit character type.

Additional data types are used within the Azure RTOS NetX Duo source. They are located in either the tx_port.h or nx_port.h files.

Customer Support Center

Please submit a support ticket through the Azure Portal for questions or help using the steps here. Please supply us with the following information in an email message so we can more efficiently resolve your support request:

  1. A detailed description of the problem, including frequency of occurrence and whether it can be reliably reproduced.

  2. A detailed description of any changes to the application and/or Azure RTOS NetX Duo that preceded the problem.

  3. The contents of the _tx_version_id and _nx_version_id strings found in the tx_port.h and nx_port.h files of your distribution. These strings will provide us valuable information regarding your run- time environment.

  4. The contents in RAM of the following ULONG variables:







    These variables will give us information on how your Azure RTOS ThreadX and Azure RTOS NetX Duo libraries were built.

  5. A trace buffer captured immediately after the problem was detected. This is accomplished by building the Azure RTOS ThreadX and Azure RTOS NetX Duo libraries with TX_ENABLE_EVENT_TRACE and calling tx_trace_enable with the trace buffer information.