# IpcMemoryBinding

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

Memory binding family.

```ds title="IpcMemoryBinding"
export interface IpcMemoryBinding {
    createSharedMemory(name: &'a readonly string, size: uint64, flags: SharedMemoryFlags): Result<SharedMemoryHandle, HostError>;
    createAnonymousSharedMemory(size: uint64, flags: SharedMemoryFlags): Result<SharedMemoryHandle, HostError>;
    openSharedMemory(name: &'a readonly string, flags: SharedMemoryFlags): Result<SharedMemoryHandle, HostError>;
    removeSharedMemory(name: &'a readonly string): Result<void, HostError>;
    closeSharedMemory(memory: SharedMemoryHandle): Result<void, HostError>;
    mapSharedMemory(memory: SharedMemoryHandle, offset: uint64, length: uint64, flags: SharedMemoryMapFlags): Result<SharedMemoryMap, HostError>;
    unmapSharedMemory(address: uint64, length: uint64): Result<void, HostError>;
}
```

[language/library/src/ipc/binding/memory.ds:31:109](https://github.com/destack-sh/destack/blob/main/language/library/src/ipc/binding/memory.ds#L31-L109)

## Members

### `createSharedMemory(name: &'a readonly string, size: uint64, flags: SharedMemoryFlags): Result<SharedMemoryHandle, HostError>`

Create one named shared memory object.

### `createAnonymousSharedMemory(size: uint64, flags: SharedMemoryFlags): Result<SharedMemoryHandle, HostError>`

Create one anonymous shared memory object.

### `openSharedMemory(name: &'a readonly string, flags: SharedMemoryFlags): Result<SharedMemoryHandle, HostError>`

Open one named shared memory object.

### `removeSharedMemory(name: &'a readonly string): Result<void, HostError>`

Remove one named shared memory object.

### `closeSharedMemory(memory: SharedMemoryHandle): Result<void, HostError>`

Close one shared memory object handle.

### `mapSharedMemory(memory: SharedMemoryHandle, offset: uint64, length: uint64, flags: SharedMemoryMapFlags): Result<SharedMemoryMap, HostError>`

Map one shared memory range.

### `unmapSharedMemory(address: uint64, length: uint64): Result<void, HostError>`

Unmap one shared memory range.
