# vfs::VmoFile

## Summary

### Inheritance

Inherits from: [vfs::Node](https://fuchsia.dev/reference/cpp/class/vfs/node)

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1a815571534134f37d8945e76f4ed4fa81(https://fuchsia.dev/reference/cpp/class/zx/vmo#classzx_1_1vmo vmo, size_t length, WriteMode write_option, DefaultSharingMode vmo_sharing)` ||

| ### Public types ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1aac9426b221f0701944bcb4da2abcec99{ https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1aac9426b221f0701944bcb4da2abcec99a35c3ace1970663a16e5c65baa5941b13 = VFS_INTERNAL_SHARING_MODE_NONE, https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1aac9426b221f0701944bcb4da2abcec99a6f452aa7f3ec896b54fbc3b5a72a9ec6 = VFS_INTERNAL_SHARING_MODE_DUPLICATE, https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1aac9426b221f0701944bcb4da2abcec99a6644177d0a0728ae0f3b80a1d1c622eb = VFS_INTERNAL_SHARING_MODE_COW }` | enum |
| `https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1a645bed66eb85827e355c371680102b21{ https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1a645bed66eb85827e355c371680102b21a8c7550dddc8f118f7a5b328d292d5a4d = VFS_INTERNAL_WRITE_MODE_READ_ONLY, https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1a645bed66eb85827e355c371680102b21a0551fdd0c682af6bc13ae06748628e2e = VFS_INTERNAL_WRITE_MODE_WRITABLE }` | enum |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1aea3ca9a5f97c594ce42a9f58299a61e1(fuchsia_io::Flags flags, https://fuchsia.dev/reference/cpp/other/singletonfidl/server-end#singletonfidl_1_1_server_end< fuchsia_io::File > server_end, async_dispatcher_t *dispatcher)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/vfs/vmo-file#classvfs_1_1_vmo_file_1ad1fcc66a62eb45ee950fe35d76af1b0b() const ` | `https://fuchsia.dev/reference/cpp/other/singletonzx/unowned#singletonzx_1_1unowned` |

## Public types

### DefaultSharingMode

```c++
 DefaultSharingMode
```

| Properties ||
|---|---|
| `kCloneCow` |   |
| `kDuplicate` |   |
| `kNone` |   |

### WriteMode

```c++
 WriteMode
```

| Properties ||
|---|---|
| `kReadOnly` |   |
| `kWritable` |   |

## Public functions

### Serve

```c++
zx_status_t Serve(
  fuchsia_io::Flags flags,
  fidl::ServerEnd< fuchsia_io::File > server_end,
  async_dispatcher_t *dispatcher
)
```

### VmoFile

```c++
 VmoFile(
  zx::vmo vmo,
  size_t length,
  WriteMode write_option,
  DefaultSharingMode vmo_sharing
)
```

### vmo

```c++
zx::unowned_vmo vmo() const 
```