44typedef struct _PipeWriteHandle *PipeWriteHandle;
45typedef struct _PipeReadHandle *PipeReadHandle;
72 PipeReadHandle *prh_out,
75 PipeWriteHandle *pwh_out,
127DWORD
pipe9x_read_result(PipeReadHandle prh,
void **data_out,
size_t *data_size_out, BOOL wait);
DWORD pipe9x_write_result(PipeWriteHandle pwh, size_t *data_written_out, BOOL wait)
Get the result from a write operation.
BOOL pipe9x_write_pending(PipeWriteHandle pwh)
Check if a write operation is pending.
void pipe9x_read_close(PipeReadHandle prh)
Closes the read end of a pipe created by pipe9x_create().
DWORD pipe9x_read_result(PipeReadHandle prh, void **data_out, size_t *data_size_out, BOOL wait)
Get the result from a read operation.
DWORD pipe9x_create(PipeReadHandle *prh_out, size_t read_size, BOOL read_inherit, PipeWriteHandle *pwh_out, size_t write_size, BOOL write_inherit)
Create a pair of connected pipe handles.
void pipe9x_write_close(PipeWriteHandle pwh)
Closes the write end of a pipe created by pipe9x_create().
HANDLE pipe9x_write_pipe(PipeWriteHandle pwh)
Get the underlying Windows HANDLE of the pipe.
DWORD pipe9x_write_initiate(PipeWriteHandle prh, const void *data, size_t data_size)
Start a write in the background.
HANDLE pipe9x_read_pipe(PipeReadHandle prh)
Get the underlying Windows HANDLE of the pipe.
HANDLE pipe9x_write_event(PipeWriteHandle prh)
Get an event object for detecting I/O completion.
HANDLE pipe9x_read_event(PipeReadHandle prh)
Get an event object for detecting I/O completion.
DWORD pipe9x_read_initiate(PipeReadHandle prh)
Start a read in the background.
BOOL pipe9x_read_pending(PipeReadHandle prh)
Check if a read operation is pending.