| <!-- Generated by zircon/scripts/update-docs-from-fidl, do not edit! --> |
| # zx_pager_create |
| |
| ## Summary |
| |
| Create a new pager object. |
| |
| ## Declaration |
| |
| ```c |
| #include <zircon/syscalls.h> |
| |
| zx_status_t zx_pager_create(uint32_t options, zx_handle_t* out); |
| ``` |
| |
| ## Description |
| |
| `zx_pager_create()` creates a new pager object. |
| |
| When a pager object is destroyed, any accesses to its vmos that would have required communicating |
| with the pager will fail as if [`zx_pager_detach_vmo()`] had been called. Furthermore, the kernel |
| will make an effort to ensure that the faults happen as quickly as possible (e.g. by evicting |
| present pages), but the precise behavior is implementation dependent. |
| |
| ## Rights |
| |
| Caller job policy must allow **ZX_POL_NEW_PAGER**. |
| |
| ## Return value |
| |
| `zx_pager_create()` returns ZX_OK on success, or one of the following error codes on failure. |
| |
| ## Errors |
| |
| **ZX_ERR_INVALID_ARGS** *out* is an invalid pointer or NULL or *options* is |
| any value other than 0. |
| |
| **ZX_ERR_NO_MEMORY** Failure due to lack of memory. |
| |
| ## See also |
| |
| - [`zx_pager_create_vmo()`] |
| - [`zx_pager_detach_vmo()`] |
| - [`zx_pager_supply_pages()`] |
| |
| [`zx_pager_create_vmo()`]: pager_create_vmo.md |
| [`zx_pager_detach_vmo()`]: pager_detach_vmo.md |
| [`zx_pager_supply_pages()`]: pager_supply_pages.md |
| |