Basic datatypes were introduced in Section Message Data and in Section Data Type Matching and Data Conversion . In this chapter, this model is extended to describe any data layout. We consider general datatypes that allow one to transfer efficiently heterogeneous and noncontiguous data. We conclude with the description of calls for explicit packing and unpacking of messages.