Re-organized sub-directory by category
[staging/basesystem.git] / service / vehicle / positioning_base_library / library / include / DEV_TimerEntryDrv_if.h
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
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 /****************************************************************************
18  * File name      : DEV_TimerEntryDrv_if.h
19  * System name    : Integrated PF
20  * Subsystem name : Timer registry drivers
21  * Title          : APIs for Timer registry drivers
22  ****************************************************************************/
23 #ifndef POSITIONING_BASE_LIBRARY_LIBRARY_INCLUDE_DEV_TIMERENTRYDRV_IF_H_
24 #define POSITIONING_BASE_LIBRARY_LIBRARY_INCLUDE_DEV_TIMERENTRYDRV_IF_H_
25
26 #include <vehicle_service/positioning_base_library.h>
27
28 /*-----------------------------------------------------------------------------
29  * Constant definition
30  *----------------------------------------------------------------------------*/
31 /* Return value */
32 #define DEV_TED_INVALID            (u_int32)0        /* Timer start failure    */
33 #define DEV_TED_STOP_NG            (u_int32)0        /* Timer stop failure        */
34 #define DEV_TED_STOP_OK            (u_int32)1        /* Timer stop success        */
35
36 /* Definitions for event Handle names */
37 #define DEV_TED_EVTNAME_MAX        (u_int32)32        /* _CWORD64_ Events HANDLE Name */
38
39 /*-----------------------------------------------------------------------------
40  * Structure Definition
41  *----------------------------------------------------------------------------*/
42 /* Structures for timer setting instructions (_CWORD64_ messages) */
43 typedef struct {
44     int32    set_time;                            /* Count time                */
45     PNO        pno;                                /* _CWORD64_ Messages Destination PNOs  */
46     u_int32    ext_data;                            /* Extended Info for _CWORD64_ Messages */
47 } stTED_SetTime__CWORD64_msg;
48
49 /* Structures for timer setting directives (Windows events) */
50 typedef struct {
51     int32    set_time;                            /* Count time                */
52     char    evob_name[DEV_TED_EVTNAME_MAX];        /* _CWORD64_ Events HANDLE Name */
53     int32    ext_data;                            /* _CWORD64_ Events Extended Info        */
54 } stTED_SetTime__CWORD64_evt;
55
56 /* Structures for sending _CWORD64_ messages */
57 typedef struct {
58     T_APIMSG_MSGBUF_HEADER    header;                /* _CWORD64_ Message header */
59     u_int32                    timer_id;            /* Timer IDs for _CWORD64_ messages */
60     u_int32                    us_data;                /* Extended Info for _CWORD64_ Messages */
61 } stTimer_CWORD64_msg;
62
63 /* Structures for timer setting directives (Windows events) */
64 typedef struct {
65     int32    set_time;                            /* Count time */
66     wchar_t    evob_name[DEV_TED_EVTNAME_MAX];        /* _CWORD64_ Events HANDLE Name */
67 } stTED_SetTime_winevt;
68 /*
69  API Function Prototype
70 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
71 u_int32 DEVSetTimer_CWORD64_msg(stTED_SetTime__CWORD64_msg  *p_set_data);
72 u_int32 DEVSetTimer_CWORD64_event(stTED_SetTime__CWORD64_evt *p_set_data);
73 u_int32 DEVStopTimer(u_int32 time_id);
74
75 #endif    // POSITIONING_BASE_LIBRARY_LIBRARY_INCLUDE_DEV_TIMERENTRYDRV_IF_H_
76