|  | # zx_system_get_event | 
|  |  | 
|  | ## NAME | 
|  |  | 
|  | <!-- Updated by update-docs-from-fidl, do not edit. --> | 
|  |  | 
|  | Retrieve a handle to a system event. | 
|  |  | 
|  | ## SYNOPSIS | 
|  |  | 
|  | <!-- Updated by update-docs-from-fidl, do not edit. --> | 
|  |  | 
|  | ```c | 
|  | #include <zircon/syscalls.h> | 
|  |  | 
|  | zx_status_t zx_system_get_event(zx_handle_t root_job, | 
|  | uint32_t kind, | 
|  | zx_handle_t* event); | 
|  | ``` | 
|  |  | 
|  | ## DESCRIPTION | 
|  |  | 
|  | *root_job* must be a handle to the root job of the system. | 
|  |  | 
|  | *kind* must be one of the following: | 
|  |  | 
|  | - **ZX_SYSTEM_EVENT_OUT_OF_MEMORY** - An *event* will be returned that will | 
|  | assert ZX_EVENT_SIGNALED when the system is nearing an out-of-memory situation. | 
|  | A process that is waiting on this event must quickly perform any important | 
|  | shutdown work. It is unspecified how much memory is available at the time this | 
|  | event is signaled, and unspecified how long the waiting process has to act | 
|  | before the kernel starts terminating processes or starting a full system reboot. | 
|  |  | 
|  | - **ZX_SYSTEM_EVENT_MEMORY_PRESSURE_CRITICAL** - An *event* will be returned | 
|  | that will assert ZX_EVENT_SIGNALED when available memory on the system is | 
|  | critically low. The memory pressure level in this case is less severe than in | 
|  | the case of ZX_SYSTEM_EVENT_OUT_OF_MEMORY. The exact amount of memory available | 
|  | at the time the event is signaled is unspecified. | 
|  |  | 
|  | - **ZX_SYSTEM_EVENT_MEMORY_PRESSURE_WARNING** - An *event* will be returned | 
|  | that will assert ZX_EVENT_SIGNALED when available memory on the system is | 
|  | approaching the critically low range. The memory pressure level in this case is | 
|  | less severe than in the case of ZX_SYSTEM_EVENT_MEMORY_PRESSURE_CRITICAL. The | 
|  | exact amount of memory available at the time the event is signaled is | 
|  | unspecified. | 
|  |  | 
|  | - **ZX_SYSTEM_EVENT_MEMORY_PRESSURE_NORMAL** - An *event* will be returned that | 
|  | will assert ZX_EVENT_SIGNALED when available memory on the system is | 
|  | healthy. The exact amount of memory available at the time the event is signaled | 
|  | is unspecified. | 
|  |  | 
|  | The kernel will assert ZX_EVENT_SIGNALED on these four events in the following | 
|  | order of increasing severity: ZX_SYSTEM_EVENT_MEMORY_PRESSURE_NORMAL, | 
|  | ZX_SYSTEM_EVENT_MEMORY_PRESSURE_WARNING, | 
|  | ZX_SYSTEM_EVENT_MEMORY_PRESSURE_CRITICAL, ZX_SYSTEM_EVENT_OUT_OF_MEMORY. Exactly | 
|  | one of these events will assert ZX_EVENT_SIGNALED at a given time. | 
|  |  | 
|  | Both ZX_SYSTEM_EVENT_OUT_OF_MEMORY and ZX_SYSTEM_EVENT_MEMORY_PRESSURE_\* | 
|  | retrieve events corresponding to system memory pressure levels, but there is a | 
|  | key difference in the way these events are intended to be used. A process | 
|  | waiting on the any of the ZX_SYSTEM_EVENT_MEMORY_PRESSURE_\* events must | 
|  | undertake actions that free up memory and attempt to relieve the memory | 
|  | pressure on the system. On the other hand, a process waiting on the | 
|  | ZX_SYSTEM_EVENT_OUT_OF_MEMORY event must perform necessary actions in | 
|  | preparation for a clean shutdown - at this point it is too late to attempt | 
|  | recovery to a healthy memory pressure level. | 
|  |  | 
|  | ## RIGHTS | 
|  |  | 
|  | <!-- Updated by update-docs-from-fidl, do not edit. --> | 
|  |  | 
|  | None. | 
|  |  | 
|  | ## RETURN VALUE | 
|  |  | 
|  | `zx_system_get_event()` returns ZX_OK on success, and *event* will be a valid | 
|  | handle, or an error code from below on failure. | 
|  |  | 
|  | ## ERRORS | 
|  |  | 
|  | **ZX_ERR_ACCESS_DENIED** The calling process' policy was invalid, the handle | 
|  | *root_job* did not have ZX_RIGHT_MANAGE_PROCESS rights for *kind* | 
|  | ZX_SYSTEM_EVENT_OUT_OF_MEMORY, *root_job* was not the | 
|  | root job of the system. | 
|  |  | 
|  | **ZX_ERR_INVALID_ARGS** *kind* was not one of the supported values specified | 
|  | above. |