1# zx_vmo_set_size
2
3## NAME
4
5<!-- Updated by update-docs-from-abigen, do not edit. -->
6
7vmo_set_size - resize a VMO object
8
9## SYNOPSIS
10
11<!-- Updated by update-docs-from-abigen, do not edit. -->
12
13```
14#include <zircon/syscalls.h>
15
16zx_status_t zx_vmo_set_size(zx_handle_t handle, uint64_t size);
17```
18
19## DESCRIPTION
20
21`zx_vmo_set_size()` sets the new size of a VMO object.
22
23The size will be rounded up to the next page size boundary.
24Subsequent calls to [`zx_vmo_get_size()`] will return the rounded up size.
25
26## RIGHTS
27
28<!-- Updated by update-docs-from-abigen, do not edit. -->
29
30*handle* must be of type **ZX_OBJ_TYPE_VMO** and have **ZX_RIGHT_WRITE**.
31
32## RETURN VALUE
33
34`zx_vmo_set_size()` returns **ZX_OK** on success. In the event
35of failure, a negative error value is returned.
36
37## ERRORS
38
39**ZX_ERR_BAD_HANDLE**  *handle* is not a valid handle.
40
41**ZX_ERR_WRONG_TYPE**  *handle* is not a VMO handle.
42
43**ZX_ERR_ACCESS_DENIED**  *handle* does not have the **ZX_RIGHT_WRITE** right.
44
45**ZX_ERR_UNAVAILABLE** The VMO was created with **ZX_VMO_NON_RESIZABLE** option.
46
47**ZX_ERR_OUT_OF_RANGE**  Requested size is too large.
48
49**ZX_ERR_NO_MEMORY**  Failure due to lack of system memory.
50
51## SEE ALSO
52
53 - [`zx_vmo_clone()`]
54 - [`zx_vmo_create()`]
55 - [`zx_vmo_get_size()`]
56 - [`zx_vmo_op_range()`]
57 - [`zx_vmo_read()`]
58 - [`zx_vmo_write()`]
59
60<!-- References updated by update-docs-from-abigen, do not edit. -->
61
62[`zx_vmo_clone()`]: vmo_clone.md
63[`zx_vmo_create()`]: vmo_create.md
64[`zx_vmo_get_size()`]: vmo_get_size.md
65[`zx_vmo_op_range()`]: vmo_op_range.md
66[`zx_vmo_read()`]: vmo_read.md
67[`zx_vmo_write()`]: vmo_write.md
68