Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Nordic Semiconductor ASA
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_SYS_POWEROFF_H_
8 : #define ZEPHYR_INCLUDE_SYS_POWEROFF_H_
9 :
10 : #include <zephyr/toolchain.h>
11 :
12 : #ifdef __cplusplus
13 : extern "C" {
14 : #endif
15 :
16 : /**
17 : * @defgroup sys_poweroff System power off
18 : * @ingroup os_services
19 : * @{
20 : */
21 :
22 : /** @cond INTERNAL_HIDDEN */
23 :
24 : /**
25 : * @brief System power off hook.
26 : *
27 : * This function needs to be implemented in platform code. It must only
28 : * perform an immediate power off of the system.
29 : */
30 : FUNC_NORETURN void z_sys_poweroff(void);
31 :
32 : /** @endcond */
33 :
34 : /**
35 : * @brief Perform a system power off.
36 : *
37 : * This function will perform an immediate power off of the system. It is the
38 : * responsibility of the caller to ensure that the system is in a safe state to
39 : * be powered off. Any required wake up sources must be enabled before calling
40 : * this function.
41 : *
42 : * @kconfig{CONFIG_POWEROFF} needs to be enabled to use this API.
43 : */
44 1 : FUNC_NORETURN void sys_poweroff(void);
45 :
46 : /** @} */
47 :
48 : #ifdef __cplusplus
49 : }
50 : #endif
51 :
52 : #endif /* ZEPHYR_INCLUDE_SYS_POWEROFF_H_ */
|