# IpcPipeBinding

`import { IpcPipeBinding } from "destack:ipc/binding";`

Pipe binding family.

```ds title="IpcPipeBinding"
export interface IpcPipeBinding {
    createPipe(flags: PipeFlags): Result<PipePair, HostError>;
    closePipe(pipe: PipeHandle): Result<void, HostError>;
    readPipe(pipe: PipeHandle, buffer: &'a [uint8]): Result<uint64, HostError>;
    writePipe(pipe: PipeHandle, bytes: &'a readonly [uint8]): Result<uint64, HostError>;
}
```

[language/library/src/ipc/binding/pipe.ds:25:61](https://github.com/destack-sh/destack/blob/main/language/library/src/ipc/binding/pipe.ds#L25-L61)

## Members

### `createPipe(flags: PipeFlags): Result<PipePair, HostError>`

Create one anonymous pipe pair.

### `closePipe(pipe: PipeHandle): Result<void, HostError>`

Close one pipe endpoint.

### `readPipe(pipe: PipeHandle, buffer: &'a [uint8]): Result<uint64, HostError>`

Read bytes from one pipe endpoint.

### `writePipe(pipe: PipeHandle, bytes: &'a readonly [uint8]): Result<uint64, HostError>`

Write bytes to one pipe endpoint.
