Regular memory files are not buffered. Any parameters passed to setvbuf() are
ignored. Each character that you write is written directly to the
memory file.
Hiperspace™ memory files are fully buffered. The
size of the I/O buffer in your own address space is 4KB.
If you call
setvbuf() for a hiperspace memory file:
- If the size value is greater than or equal to 4K, it
will be set to 4K, and this buffer size will be used. Otherwise, the size value
is ignored, and z/OS® XL C/C++ will allocate a buffer.
- If a pointer to a buffer is passed, the buffer must be aligned
on a 4K boundary. Otherwise, z/OS XL C/C++ will allocate a buffer.