[#BloombergLP-bdls-PipeUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdls.adoc[bdls]::PipeUtil :relfileprefix: ../../ :mrdocs: This struct contains utility methods for platform‐independent named pipe operations. == Synopsis Declared in `<bdls_pipeutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct PipeUtil; ---- == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdls/PipeUtil/isOpenForReading.adoc[`isOpenForReading`] | Return `true` if the pipe with the specified UTF‐8 `pipeName` exists, the calling process has permission to write to it, and some process is able to read the bytes written to it, and `false` otherwise. On Windows, this function may block and may write an "empty message", consisting of a single newline. The behavior is undefined unless `pipeName` is a valid UTF‐8 string. Note that even though a process might have the pipe open for reading, this function might still return `false` because there are not sufficient resources available. | xref:BloombergLP/bdls/PipeUtil/makeCanonicalName-05.adoc[`makeCanonicalName`] | Load into the specified `pipeName` the system‐dependent canonical pipe name corresponding to the specified `baseName`. Return 0 on success, and a nonzero value if `baseName` cannot be part of a pipe name on this system. | xref:BloombergLP/bdls/PipeUtil/send.adoc[`send`] | Send the specified `message` to the pipe with the specified UTF‐8 `pipeName`. Return 0 on success, and a nonzero value otherwise. `message is output in a single `write' operation; consequently, messages that do not exceed the `PIPE_BUF` value (see []Atomicity) will not be interleaved even when multiple concurrent processes are writing to `pipeName`. The behavior is undefined unless `pipeName` is a valid UTF‐8 string. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#