1# zx_event_create 2 3## NAME 4 5event_create - create an event 6 7## SYNOPSIS 8 9``` 10#include <zircon/syscalls.h> 11 12zx_status_t zx_event_create(uint32_t options, zx_handle_t* out); 13``` 14 15## DESCRIPTION 16 17**event_create**() creates an event, which is an object that is signalable. That 18is, its *ZX_USER_SIGNAL_n* (where *n* is 0 through 7) signals can be 19manipulated using **object_signal**(). 20 21The newly-created handle will have the *ZX_RIGHT_TRANSFER*, *ZX_RIGHT_DUPLICATE*, 22*ZX_RIGHT_READ*, *ZX_RIGHT_WRITE*, and *ZX_RIGHT_SIGNAL* rights. 23 24## RIGHTS 25 26TODO(ZX-2399) 27 28## RETURN VALUE 29 30**event_create**() returns ZX_OK and a valid event handle (via *out*) on success. 31On failure, an error value is returned. 32 33## ERRORS 34 35**ZX_ERR_INVALID_ARGS** *out* is an invalid pointer, or *options* is nonzero. 36 37**ZX_ERR_NO_MEMORY** Failure due to lack of memory. 38There is no good way for userspace to handle this (unlikely) error. 39In a future build this error will no longer occur. 40 41## SEE ALSO 42 43[eventpair_create](eventpair_create.md), 44[handle_close](handle_close.md), 45[handle_duplicate](handle_duplicate.md), 46[object_wait_one](object_wait_one.md), 47[object_wait_many](object_wait_many.md), 48[handle_replace](handle_replace.md), 49[object_signal](object_signal.md). 50