OUT: Buffer into which the property list will be encoded If the provided buffer is NULL, the size of the buffer required is returned through nalloc; the function does nothing more.
OUT: The size of the required buffer
H5P_ENCODE encodes the property list plist_id into the binary buffer buf.
If the required buffer size is unknown, buf can be passed in as NULL and the function will set the required buffer size in nalloc. The buffer can then be created and the property list encoded with a subsequent H5P_ENCODE call.
If the buffer passed in is not big enough to hold the encoded properties, the H5P_ENCODE call can be expected to fail with a segmentation fault.
Properties that do not have encode callbacks will be skipped. There is currently no mechanism to register an encode callback for a user-defined property, so user-defined properties cannot currently be encoded.
Some properties cannot be encoded, particularly properties that are reliant on local context.
Returns a non-negative value if successful; otherwise returns a negative value.