Communicating with processes of different architectures

Updated: October 26, 2022

If you're using Transparent Distributed Processing (TDP) across Qnet, your programs might need to communicate with processes that use a different architecture. We support connections across Qnet between QNX Neutrino 7.0 (32- or 64-bit) and the following:

If you get a message, you can check the message information that MsgReceive() provides. The _msg_info structure's flag member can include the following bits:

_NTO_MI_BITS_64
The sender is using a 64-bit architecture.
_NTO_MI_BITS_DIFF
The sender and receiver are using different word-size architectures (e.g, the sender is using a 32-bit architecture, and the receiver is using a 64-bit architecture).

If your program can't handle the format of the message, it can use MsgError() to return an error (for example, ENOTSUP) to the sender. For more information, see Replying with no data, or an errno in the Message Passing chapter of Getting Started with QNX Neutrino.