Upload initial source
[platform/core/system/argos_watchdog.git] / include / argos.h
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __ARGOS_H__
18 #define __ARGOS_H__
19
20 #include <errno.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /**
27  * @brief Enumeration for controlling watchdog operation.
28  * @since_tizen 2.4
29  *
30 */
31 typedef enum {
32         AW_OP_DISABLE,                  /**< watchdog disable **/
33         AW_OP_ENABLE,                   /**< watchdog enable **/
34         AW_OP_CHANGE_TIMEOUT,   /**< change watchdog timeout **/
35 } aw_op_e;
36
37 /**
38  * @brief Register watchdog.
39  *
40  * @since_tizen 2.4
41  *
42  * @remarks
43  *
44  * @return 0 on success, otherwise a errno-style error value.
45  *
46  */
47 int aw_register(unsigned int timeout);
48
49 /**
50  * @brief Control watchdog operation.
51  *
52  * @since_tizen 2.4
53  *
54  * @remarks In op AW_OP_ENABLE and AW_OP_DISABLE, the API ignores data field.
55  *          In op AW_OP_CHANGE_TIMEOUT, data field requires timeout value.
56  *
57  * @return 0 on success, otherwise a errno-style error value.
58  *
59  */
60 int aw_control(aw_op_e op, void *data);
61
62 /**
63  * @brief Notify watchdog.
64  *
65  * @since_tizen 2.4
66  *
67  * @remarks
68  *
69  * @return 0 on success, otherwise a errno-style error value.
70  *
71  */
72 int aw_notify(void);
73
74 #ifdef __cplusplus
75 }
76 #endif
77
78 #endif /* __ARGOS_H__ */