21.3.1. The Status Object

PreviousUpNext
Up: The C Application Binary Interface Next: Opaque Handles Previous: The C Application Binary Interface

The MPI status object is a struct containing 8 integers: the three public member fields described in Section Return Status and 5 private member fields that are reserved for implementations and must never be directly accessed by applications.

The MPI status object is defined in C as follows:

typedef struct { 
    int MPI_SOURCE; 
    int MPI_TAG; 
    int MPI_ERROR; 
    int MPI_internal[5]; 
} MPI_Status; 
The MPI status object must use exactly eight C int worth of storage.


Advice to implementors.

The alignment of the status object may be less than the alignment of a pointer or MPI_Count. Therefore, implementatons that store such a value in the status object must take care to access it using a method that does not depend on alignment greater than int. Such methods include memcpy and type-punning. ( End of advice to implementors.)

Rationale.

This definition provides sufficient space to accommodate implementation-specific information and leads to memory alignment that allows efficient access to arrays of status objects. ( End of rationale.)


PreviousUpNext
Up: The C Application Binary Interface Next: Opaque Handles Previous: The C Application Binary Interface


Return to MPI-5.0 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-5.0 of June 9, 2025
HTML Generated on March 2, 2025