18.3.15. pmix_byte_object_t

pmix_byte_object_t — a structure containing a raw byte sequence

18.3.15.1. SYNTAX

18.3.15.1.1. C Syntax

#include <pmix_common.h>

typedef struct pmix_byte_object {
   char *bytes;
   size_t size;
} pmix_byte_object_t;

18.3.15.1.2. Python Syntax

from pmix import *

foo = {'bytes': bts, 'size': sz}

where bts is a Python byte array and sz is the integer number of bytes in that array.

18.3.15.2. DESCRIPTION

The pmix_byte_object_t structure is used to contain and transfer a sequence of bytes across APIs and between processes.

  • bytes — pointer to the raw byte sequence. The bytes are not interpreted by PMIx and need not be NULL-terminated.

  • size — the number of bytes in the sequence pointed to by bytes.

A pmix_byte_object_t may be carried as the value of a pmix_value_t(5) (using the bo union member) or a pmix_info_t(5), allowing arbitrary binary payloads to be exchanged through the standard PMIx information-passing mechanisms.

18.3.15.3. STATIC INITIALIZER

A statically declared pmix_byte_object_t may be initialized with the PMIX_BYTE_OBJECT_STATIC_INIT macro, which sets bytes to NULL and size to 0:

pmix_byte_object_t bo = PMIX_BYTE_OBJECT_STATIC_INIT;