# MemoryMapBinding

`import { MemoryMapBinding } from "destack:memory/binding";`

Map binding family.

```ds title="MemoryMapBinding"
export interface MemoryMapBinding {
    mapFileMemory(file: FileHandle, offset: uint64, length: uint64, protection: MemoryProtection, visibility: MappedMemoryVisibility, flags: MappedMemoryFlags, addressHint?: uint64 | undefined): Result<VirtualMemoryRange, HostError>;
    mapAnonymousMemory(length: uint64, protection: MemoryProtection, visibility: MappedMemoryVisibility, flags: MappedMemoryFlags, addressHint?: uint64 | undefined): Result<VirtualMemoryRange, HostError>;
    unmapMemory(range: VirtualMemoryRange): Result<void, HostError>;
    syncMappedMemory(range: VirtualMemoryRange, flags: MappedMemorySyncFlags): Result<void, HostError>;
}
```

[language/library/src/memory/binding/map.ds:42:95](https://github.com/destack-sh/destack/blob/main/language/library/src/memory/binding/map.ds#L42-L95)

## Members

### `mapFileMemory(file: FileHandle, offset: uint64, length: uint64, protection: MemoryProtection, visibility: MappedMemoryVisibility, flags: MappedMemoryFlags, addressHint?: uint64 | undefined): Result<VirtualMemoryRange, HostError>`

Map a file backed memory range.

### `mapAnonymousMemory(length: uint64, protection: MemoryProtection, visibility: MappedMemoryVisibility, flags: MappedMemoryFlags, addressHint?: uint64 | undefined): Result<VirtualMemoryRange, HostError>`

Map an anonymous memory range.

### `unmapMemory(range: VirtualMemoryRange): Result<void, HostError>`

Unmap a mapped memory range.

### `syncMappedMemory(range: VirtualMemoryRange, flags: MappedMemorySyncFlags): Result<void, HostError>`

Flush mapped memory to backing storage.
