Init basesystem source codes.
[staging/basesystem.git] / nsframework / common_library / client / include / native_service / cl_lockid.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 cl_lockid.h
19  * @brief Definition of LockID(LID)
20  *
21  */
22
23 #ifndef _cl_lockid_h_  // NOLINT(build/header_guard)
24 #define _cl_lockid_h_  // NOLINT(build/header_guard)
25 #include <native_service/cl_lock.h>
26 #include <assert.h>
27
28 /**
29  * @file cl_lockid.h
30  */
31
32 /** @addtogroup BaseSystem
33  *  @{
34  */
35 /** @addtogroup native_service
36  *  @ingroup BaseSystem
37  *  @{
38  */
39 /** @addtogroup common_library
40  *  @ingroup native_service
41  *  @{
42  */
43
44 /*
45  * Numbering rules
46  * Assign LID corresponding to the Lock name specified when requesting shared memories.
47  */
48
49 /////////////////////////////////////////////////////////////////////////////////////
50 /// \ingroup ENUM_LOCK_ID
51 /// \~english @par Brief
52 ///        ID for Exclusive Control\n
53 ///        When AGL users add their own definitions, add "_**" to the definitions.\n
54 ///        ("**" is an aribitrary character string indicating the organization that uses AGL.)
55 /////////////////////////////////////////////////////////////////////////////////////
56
57 typedef enum {
58 //  LID_TEST_1 = 0,
59 //  LID_TEST_2,
60   LOCK_ANA_LOG_SEM = 0, /* Exclusive Control to store application log on kernel unmanaged RAM*/
61   LOCK_POS_MTX_1,     /* Exclusive Control between POSITIONING and others */
62   LOCK_POS_MTX_2,     /* Exclusive Control between POSITIONING and others */
63   LOCK_POS_MTX_3,     /* Exclusive Control between POSITIONING and others */
64   LOCK_POS_MTX_4,     /* Exclusive Control between POSITIONING and others */
65   LOCK_POS_MTX_5,     /* Exclusive Control between POSITIONING and others */
66   LOCK_POS_MTX_6,     /* Exclusive Control between POSITIONING and others */
67   LOCK_POS_MTX_7,     /* Exclusive Control between POSITIONING and others */
68   LOCK_POS_MTX_8,     /* Exclusive Control between POSITIONING and others */
69   LOCK_POS_MTX_9,     /* Exclusive Control between POSITIONING and others */
70   LOCK_POS_MTX_10,    /* Exclusive Control between POSITIONING and others */
71   LOCK_POS_MTX_11,    /* Exclusive Control between POSITIONING and others */
72   LOCK_POS_MTX_12,    /* Exclusive Control between POSITIONING and others */
73   LOCK_POS_MTX_13,    /* Exclusive Control between POSITIONING and others */
74   LOCK_POS_MTX_14,    /* Exclusive Control between POSITIONING and others */
75   LOCK_POS_MTX_15,    /* Exclusive Control between POSITIONING and others */
76   LOCK_POS_MTX_16,    /* Exclusive Control between POSITIONING and others */
77   LOCK_POS_MTX_17,    /* Exclusive Control between POSITIONING and others */
78   LOCK_POS_MTX_18,    /* Exclusive Control between POSITIONING and others */
79   LOCK_POS_MTX_19,    /* Exclusive Control between POSITIONING and others */
80   LOCK_POS_MTX_20,    /* Exclusive Control between POSITIONING and others */
81   LOCK_POS_MTX_21,    /* Exclusive Control between POSITIONING and others */
82   LOCK_POS_MTX_22,    /* Exclusive Control between POSITIONING and others */
83   LOCK_POS_MTX_23,    /* Exclusive Control between POSITIONING and others */
84   LOCK_POS_MTX_24,    /* Exclusive Control between POSITIONING and others */
85   LOCK_POS_MTX_25,    /* Exclusive Control between POSITIONING and others */
86   LOCK_POS_MTX_26,    /* Exclusive Control between POSITIONING and others */
87   LOCK_POS_MTX_27,    /* Exclusive Control between POSITIONING and others */
88   LOCK_POS_MTX_28,    /* Exclusive Control between POSITIONING and others */
89   LOCK_POS_MTX_29,    /* Exclusive Control between POSITIONING and others */
90   LOCK_POS_MTX_30,    /* Exclusive Control between POSITIONING and others */
91   LOCK_POS_MTX_31,    /* Exclusive Control between POSITIONING and others */
92   LOCK_POS_MTX_32,    /* Exclusive Control between POSITIONING and others */
93   LOCK_POS_MTX_MAX,   /* Exclusive Control between POSITIONING and others MAX */
94   LOCK_CLOCK_SEM_TZ = (LOCK_POS_MTX_1+LOCK_POS_MTX_RSV),    /* Access control to shared memory for TimeZone */
95   LOCK_SEC_DATA_PROTECT,  /* Exclusive control to shared memory for the application that use the security chip. */
96   LOCK_OS_SEM_ID__CWORD68_,  /* Exclusive Control for SSL library. */
97   LOCK_ROM_ACCESS_IF,   /* Exclusive access control for system manager nv area */
98   LOCK_BOOT_ACCESS_IF,  /* Exclusive access control for system manager nor area */
99   LOCK_RAM_ACCESS_IF,   /* Exclusive access control for system manager drambackup area */
100   LOCK_HRDS_1,      /* Exclusive Control between DataService and others */
101   LOCK_HRDS_2,      /* Exclusive Control between DataService and others */
102   LOCK_HRDS_3,      /* Exclusive Control between DataService and others */
103   LOCK_HRDS_4,      /* Exclusive Control between DataService and others */
104   LOCK_HRDS_5,      /* Exclusive Control between DataService and others */
105   LOCK_HRDS_6,      /* Exclusive Control between DataService and others */
106   LOCK_HRDS_7,      /* Exclusive Control between DataService and others */
107   LOCK_HRDS_8,      /* Exclusive Control between DataService and others */
108   LOCK_HRDS_MAX,    /* Exclusive Control between DataService and others MAX */
109   LOCK_LOGG_ACCESS_IF = (LOCK_HRDS_1+LOCK_HRDS_RSV),          /* Exclusive access control for NsLoggerService nv area */
110   LOCK__CWORD76__HMI,     /* Exclusive Control between _CWORD76_Service and HMI's */
111   LOCK__CWORD76___CWORD58_,      /* Exclusive Control between _CWORD76_Service and _CWORD58_Service */
112   LOCK_DIAGCODE_MEM,    /* Exclusive Control to diag code memory area */
113   LOCK_MOUNTER_MOUNT,   /* Exclusive Control for Mount */
114   LOCK_NOR_ERCNT,     /* Exclusive access control for NOR erase count information */
115   LOCK_RS_WNG_HIS_LIST_DATA,  /* Exclusive Control between RemoteService and RS-HMI. */
116   LOCK_RS_WNG_SCREEN_DATA,  /* Exclusive Control between RemoteService and RS-HMI. */
117   LOCK_RS_SCREEN_DATA,    /* Exclusive Control between RemoteService and RS-HMI. */
118   LOCK_NSLOG_ACCES_IF_1,    /* Exclusive Control between writing to log file */
119   LOCK_NSLOG_ACCES_IF_2,    /* Exclusive Control between writing to log file */
120   LOCK_NSLOG_ACCES_IF_3,    /* Exclusive Control between writing to log file */
121   LOCK_NSLOG_ACCES_IF_4,    /* Exclusive Control between writing to log file */
122   LOCK_NSLOG_ACCES_IF_5,    /* Exclusive Control between writing to log file */
123   LOCK_NSLOG_ACCES_IF_6,    /* Exclusive Control between writing to log file */
124   LOCK_NSLOG_ACCES_IF_7,    /* Exclusive Control between writing to log file */
125   LOCK_NSLOG_ACCES_IF_8,    /* Exclusive Control between writing to log file */
126   LOCK_NSLOG_ACCES_IF_9,    /* Exclusive Control between writing to log file */
127   LOCK_NSLOG_ACCES_IF_10,   /* Exclusive Control between writing to log file */
128   LOCK_NSLOG_ACCES_IF_11,   /* Exclusive Control between writing to log file */
129   LOCK_NSLOG_ACCES_IF_12,   /* Exclusive Control between writing to log file */
130   LOCK_NSLOG_ACCES_IF_13,   /* Exclusive Control between writing to log file */
131   LOCK_NSLOG_ACCES_IF_14,   /* Exclusive Control between writing to log file */
132   LOCK_NSLOG_ACCES_IF_15,   /* Exclusive Control between writing to log file */
133   LOCK_NSLOG_ACCES_IF_16,   /* Exclusive Control between writing to log file */
134   LOCK_NSLOG_ACCES_IF_17,   /* Exclusive Control between writing to log file */
135   LOCK_NSLOG_ACCES_IF_18,   /* Exclusive Control between writing to log file */
136   LOCK_NSLOG_ACCES_IF_19,   /* Exclusive Control between writing to log file */
137   LOCK_NSLOG_ACCES_IF_20,   /* Exclusive Control between writing to log file */
138   LOCK_NSLOG_ACCES_IF_21,   /* Exclusive Control between writing to log file */
139   LOCK_NSLOG_ACCES_IF_22,   /* Exclusive Control between writing to log file */
140   LOCK_NSLOG_ACCES_IF_23,   /* Exclusive Control between writing to log file */
141   LOCK_NSLOG_ACCES_IF_24,   /* Exclusive Control between writing to log file */
142   LOCK_NSLOG_ACCES_IF_25,   /* Exclusive Control between writing to log file */
143   LOCK_NSLOG_ACCES_IF_26,   /* Exclusive Control between writing to log file */
144   LOCK_NSLOG_ACCES_IF_27,   /* Exclusive Control between writing to log file */
145   LOCK_NSLOG_ACCES_IF_28,   /* Exclusive Control between writing to log file */
146   LOCK_NSLOG_ACCES_IF_29,   /* Exclusive Control between writing to log file */
147   LOCK_NSLOG_ACCES_IF_30,   /* Exclusive Control between writing to log file */
148   LOCK_NSLOG_ACCES_IF_31,   /* Exclusive Control between writing to log file */
149   LOCK_NSLOG_ACCES_IF_32,   /* Exclusive Control between writing to log file */
150   LOCK_NSLOG_ACCES_IF_33,   /* Exclusive Control between writing to log file */
151   LOCK_NSLOG_ACCES_IF_34,   /* Exclusive Control between writing to log file */
152   LOCK_NSLOG_ACCES_IF_35,   /* Exclusive Control between writing to log file */
153   LOCK_NSLOG_ACCES_IF_36,         /* Exclusive Control between writing to log file */
154   LOCK_NSLOG_ACCES_IF_37,         /* Exclusive Control between writing to log file */
155   LOCK_NSLOG_ACCES_IF_38,         /* Exclusive Control between writing to log file */
156   LOCK_NSLOG_ACCES_IF_39,         /* Exclusive Control between writing to log file */
157   LOCK_NSLOG_ACCES_IF_40,         /* Exclusive Control between writing to log file */
158   LOCK_NSLOG_ACCES_IF_41,         /* Exclusive Control between writing to log file */
159
160   LOCK_NSLOG_ACCES_IF_42,         /* Exclusive Control between writing to log file */
161
162   LOCK_NSLOG_ACCES_IF_43,         /* Exclusive Control between writing to log file */
163   LOCK_NSLOG_ACCES_IF_MAX,        /* Exclusive Control between writing to log file MAX */
164   LOCK_INFOSETTING_REV = (LOCK_NSLOG_ACCES_IF_1+LOCK_NSLOG_ACCES_IF_RSV),   /* Exclusive control revision information for managing the settings */
165   LOCK_SUBMENU_SELECT,    /* Exclusive control between writing the selection information of the sub-menu*/
166   LOCK_DIAG_SEM1,     /* Exclusive Control between DiagService and others */
167   LOCK_DIAG_SEM2,     /* Exclusive Control between Collect thread and Upload thread */
168   LID_NUM_MAX         /* Number of LockID */
169 } ENUM_LOCK_ID;
170
171 static_assert(LOCK_POS_MTX_MAX <= (LOCK_POS_MTX_1+LOCK_POS_MTX_RSV), "LOCK_POS_MTX_RSV resource empty. Please change limit and build AGL.");
172 static_assert(LOCK_HRDS_MAX <= (LOCK_HRDS_1+LOCK_HRDS_RSV), "LOCK_HRDS_RSV resource empty. Please change limit and build AGL.");
173 static_assert(LOCK_NSLOG_ACCES_IF_MAX <= (LOCK_NSLOG_ACCES_IF_1+LOCK_NSLOG_ACCES_IF_RSV), "LOCK_NSLOG_ACCES_IF_RSV resource empty. Please change limit and build AGL.");
174 static_assert(LID_NUM_MAX <= LID_NUM, "LOCK_ID resource empty. Please change limit and build AGL.");
175
176 /** @}*/  // end of common_library
177 /** @}*/  // end of NativeService
178 /** @}*/  // end of BaseSystem
179
180 #endif  // #ifndef _cl_lockid_h_  // NOLINT(build/header_guard)