Implement seperated server-so model
[platform/framework/native/appfw.git] / src / security / inc / FSec_AccessControlTypes.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file        FSec_AccessControlTypes.h
20  * @brief       This is the header file for the _AccessControl.
21  * This header file contains the declarations of the _AccessControl.
22  */
23
24 #ifndef _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
25 #define _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
26
27 #include <FAppTypes.h>
28 #include <FBaseInternalTypes.h>
29
30 namespace Tizen { namespace Security
31 {
32
33 enum _Privilege
34 {
35         _PRV_ALARM = 0,
36         _PRV_APPLICATION_KILL,
37         _PRV_APPLICATION_LAUNCH,
38         _PRV_APPMANAGER_LAUNCH,
39         _PRV_APPSETTING,
40         _PRV_APPUSAGE,
41         _PRV_AUDIOMANAGER_ROUTE,
42         _PRV_AUDIOMANAGER_SESSION,
43         _PRV_AUDIOMANAGER_VOIPSESSION,
44         _PRV_AUDIORECORDER,
45         _PRV_BLUETOOTH_ADMIN,
46         _PRV_BLUETOOTH_GAP,
47         _PRV_BLUETOOTH_HEALTH,
48         _PRV_BLUETOOTH_OPP,
49         _PRV_BLUETOOTH_SPP,
50         _PRV_BLUETOOTHMANAGER,
51         _PRV_CALENDAR_READ,
52         _PRV_CALENDAR_WRITE,
53         _PRV_CALLFORWARD,
54         _PRV_CALLHISTORY_READ,
55         _PRV_CALLHISTORY_WRITE,
56         _PRV_CAMERA,
57         _PRV_CELLBROADCAST,
58         _PRV_CERTIFICATE_READ,
59         _PRV_CERTIFICATE_WRITE,
60         _PRV_CONTACT_READ,
61         _PRV_CONTACT_WRITE,
62         _PRV_CONTENT_READ,
63         _PRV_CONTENT_WRITE,
64         _PRV_CUSTOMNETACCOUNT,
65         _PRV_DNS,
66         _PRV_DOWNLOAD,
67         _PRV_DRMSERVICE,
68         _PRV_HTTP,
69         _PRV_IME,
70         _PRV_IMEMANAGER,
71         _PRV_INPUTMANAGER,
72         _PRV_LOCATION,
73         _PRV_MESSAGING_EMAIL,
74         _PRV_MESSAGING_MMS,
75         _PRV_MESSAGING_SMS,
76         _PRV_NETWORK_ACCOUNT,
77         _PRV_NETWORK_CONNECTION,
78         _PRV_NETWORK_STATISTICS_READ,
79         _PRV_NETWORK_STATISTICS_WRITE,
80         _PRV_NETWORKMANAGER,
81         _PRV_NFC_ADMIN,
82         _PRV_NFC_CARDEMULATION,
83         _PRV_NFC_COMMON,
84         _PRV_NFC_P2P,
85         _PRV_NFC_TAG,
86         _PRV_NOTIFICATION,
87         _PRV_NOTIFICATIONMANAGER,
88         _PRV_PACKAGEINFO,
89         _PRV_PACKAGELICENSEMANAGER,
90         _PRV_PACKAGEMANAGER_INSTALL,
91         _PRV_PACKAGESETTING,
92         _PRV_PLATFORMINFO,
93         _PRV_POWER,
94         _PRV_PUSH,
95         _PRV_SETTING,
96         _PRV_SMSTRIGGER,
97         _PRV_SOCKET,
98         _PRV_SYSTEMINFO,
99         _PRV_SYSTEMSETTING_READ,
100         _PRV_SYSTEMSETTING_WRITE,
101         _PRV_TELEPHONYMANAGER,
102         _PRV_UIMANAGER,
103         _PRV_USERIDENTITY,
104         _PRV_VIBRATOR,
105         _PRV_VIDEORECORDER,
106         _PRV_WAPPUSH,
107         _PRV_WEB_PRIVACY,
108         _PRV_WEB_SERVICE,
109         _PRV_WIFI_ADMIN,
110         _PRV_WIFI_READ,
111         _PRV_WIFI_WIFIDIRECT_ADMIN,
112         _PRV_WIFI_WIFIDIRECT_READ,
113         _PRV_WIFIMANAGER,
114         _PRV_APPWIDGETPROVIDER_INSTALL,
115         _PRV_ACCOUNT_READ,
116         _PRV_ACCOUNT_WRITE,
117         _PRV_USERPROFILE_READ,
118         _PRV_USERPROFILE_WRITE,
119         _PRV_TELEPHONY,
120         _PRV_NETSTATISTICSMANAGER,
121         _PRV_NETWORK_STATISTICS,
122         _PRV_NFCMANAGER,
123         _PRV_BOOKMARK_READ,
124         _PRV_BOOKMARK_WRITE,
125         _PRV_GEOLOCATIONPERMISSION_READ,
126         _PRV_GEOLOCATIONPERMISSION_WRITE,
127         _PRV_LOCKMANAGER,
128         _PRV_SHORTCUT_INSTALL,
129         _PRV_APPMANAGER_KILL,
130         _PRV_PRIVILEGEMANAGER_READ,
131         _PRV_PRIVACYMANAGER_READ,
132         _PRV_PRIVACYMANAGER_WRITE,
133         _PRV_ANTIVIRUS,
134         _PRV_INTERNET,
135         _MAX_PRIVILEGE_ENUM
136 };
137
138 typedef struct
139 {
140         const wchar_t* privilegeString;
141         _Privilege privilege;
142
143 } _PrivilegeStringList;
144
145 const static _PrivilegeStringList privilegeListTable[_MAX_PRIVILEGE_ENUM] =
146 {
147         {L"alarm", _PRV_ALARM},
148         {L"application.kill", _PRV_APPLICATION_KILL},
149         {L"application.launch", _PRV_APPLICATION_LAUNCH},
150         {L"appmanager.launch", _PRV_APPMANAGER_LAUNCH},
151         {L"appsetting", _PRV_APPSETTING},
152         {L"appusage", _PRV_APPUSAGE},
153         {L"audiomanager.route", _PRV_AUDIOMANAGER_ROUTE},
154         {L"audiomanager.session", _PRV_AUDIOMANAGER_SESSION},
155         {L"audiomanager.voipsession", _PRV_AUDIOMANAGER_VOIPSESSION},
156         {L"audiorecorder", _PRV_AUDIORECORDER},
157         {L"bluetooth.admin", _PRV_BLUETOOTH_ADMIN},
158         {L"bluetooth.gap", _PRV_BLUETOOTH_GAP},
159         {L"bluetooth.health", _PRV_BLUETOOTH_HEALTH},
160         {L"bluetooth.opp", _PRV_BLUETOOTH_OPP},
161         {L"bluetooth.spp", _PRV_BLUETOOTH_SPP},
162         {L"bluetoothmanager", _PRV_BLUETOOTHMANAGER},
163         {L"calendar.read", _PRV_CALENDAR_READ},
164         {L"calendar.write", _PRV_CALENDAR_WRITE},
165         {L"callforward", _PRV_CALLFORWARD},
166         {L"callhistory.read", _PRV_CALLHISTORY_READ},
167         {L"callhistory.write", _PRV_CALLHISTORY_WRITE},
168         {L"camera", _PRV_CAMERA},
169         {L"cellbroadcast", _PRV_CELLBROADCAST},
170         {L"certificate.read", _PRV_CERTIFICATE_READ},
171         {L"certificate.write", _PRV_CERTIFICATE_WRITE},
172         {L"contact.read", _PRV_CONTACT_READ},
173         {L"contact.write", _PRV_CONTACT_WRITE},
174         {L"content.read", _PRV_CONTENT_READ},
175         {L"content.write", _PRV_CONTENT_WRITE},
176         {L"customnetaccount", _PRV_CUSTOMNETACCOUNT},
177         {L"dns", _PRV_DNS},
178         {L"download", _PRV_DOWNLOAD},
179         {L"drmservice", _PRV_DRMSERVICE},
180         {L"http", _PRV_HTTP},
181         {L"ime", _PRV_IME},
182         {L"imemanager", _PRV_IMEMANAGER},
183         {L"inputmanager", _PRV_INPUTMANAGER},
184         {L"location", _PRV_LOCATION},
185         {L"messaging.email", _PRV_MESSAGING_EMAIL},
186         {L"messaging.mms", _PRV_MESSAGING_MMS},
187         {L"messaging.sms", _PRV_MESSAGING_SMS},
188         {L"network.account", _PRV_NETWORK_ACCOUNT},
189         {L"network.connection", _PRV_NETWORK_CONNECTION},
190         {L"network.statistics.read", _PRV_NETWORK_STATISTICS_READ},
191         {L"network.statistics.write", _PRV_NETWORK_STATISTICS_WRITE},
192         {L"networkmanager", _PRV_NETWORKMANAGER},
193         {L"nfc.admin", _PRV_NFC_ADMIN},
194         {L"nfc.cardemulation", _PRV_NFC_CARDEMULATION},
195         {L"nfc.common", _PRV_NFC_COMMON},
196         {L"nfc.p2p", _PRV_NFC_P2P},
197         {L"nfc.tag", _PRV_NFC_TAG},
198         {L"notification", _PRV_NOTIFICATION},
199         {L"notificationmanager", _PRV_NOTIFICATIONMANAGER},
200         {L"packageinfo", _PRV_PACKAGEINFO},
201         {L"packagelicensemanager", _PRV_PACKAGELICENSEMANAGER},
202         {L"packagemanager.install", _PRV_PACKAGEMANAGER_INSTALL},
203         {L"packagesetting", _PRV_PACKAGESETTING},
204         {L"platforminfo", _PRV_PLATFORMINFO},
205         {L"power", _PRV_POWER},
206         {L"push", _PRV_PUSH},
207         {L"setting", _PRV_SETTING},
208         {L"smstrigger", _PRV_SMSTRIGGER},
209         {L"socket", _PRV_SOCKET},
210         {L"systeminfo", _PRV_SYSTEMINFO},
211         {L"systemsetting.read", _PRV_SYSTEMSETTING_READ},
212         {L"systemsetting.write", _PRV_SYSTEMSETTING_WRITE},
213         {L"telephonymanager", _PRV_TELEPHONYMANAGER},
214         {L"uimanager", _PRV_UIMANAGER},
215         {L"useridentity", _PRV_USERIDENTITY},
216         {L"vibrator", _PRV_VIBRATOR},
217         {L"videorecorder", _PRV_VIDEORECORDER},
218         {L"wappush", _PRV_WAPPUSH},
219         {L"web.privacy", _PRV_WEB_PRIVACY},
220         {L"web.service", _PRV_WEB_SERVICE},
221         {L"wifi.admin", _PRV_WIFI_ADMIN},
222         {L"wifi.read", _PRV_WIFI_READ},
223         {L"wifi.wifidirect.admin", _PRV_WIFI_WIFIDIRECT_ADMIN},
224         {L"wifi.wifidirect.read", _PRV_WIFI_WIFIDIRECT_READ},
225         {L"wifimanager", _PRV_WIFIMANAGER},
226         {L"appwidgetprovider.install", _PRV_APPWIDGETPROVIDER_INSTALL},
227         {L"account.read", _PRV_ACCOUNT_READ},
228         {L"account.write", _PRV_ACCOUNT_WRITE},
229         {L"userprofile.read", _PRV_USERPROFILE_READ},
230         {L"userprofile.write", _PRV_USERPROFILE_WRITE},
231         {L"telephony", _PRV_TELEPHONY},
232         {L"netstatisticsmanager", _PRV_NETSTATISTICSMANAGER},
233         {L"network.statistics", _PRV_NETWORK_STATISTICS},
234         {L"nfcmanager", _PRV_NFCMANAGER},
235         {L"bookmark.read", _PRV_BOOKMARK_READ},
236         {L"bookmark.write", _PRV_BOOKMARK_WRITE},
237         {L"geolocationpermission.read", _PRV_GEOLOCATIONPERMISSION_READ},
238         {L"geolocationpermission.write", _PRV_GEOLOCATIONPERMISSION_WRITE},
239         {L"lockmanager", _PRV_LOCKMANAGER},
240         {L"shortcut.install", _PRV_SHORTCUT_INSTALL},
241         {L"appmanager.kill", _PRV_APPMANAGER_KILL},
242         {L"privilegemanager.read", _PRV_PRIVILEGEMANAGER_READ},
243         {L"privacymanager.read", _PRV_PRIVACYMANAGER_READ},
244         {L"privacymanager.write", _PRV_PRIVACYMANAGER_WRITE},
245         {L"antivirus", _PRV_ANTIVIRUS},
246         {L"internet", _PRV_INTERNET},
247 };
248
249 enum _PrivilegeApiVersion
250 {
251         _PRV_API_VER_2_0 = 0,
252         _PRV_API_VER_MAX
253 };
254
255 const static Tizen::Base::_ApiVisibility visibilityLevelListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
256 {
257         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // alarm
258         { Tizen::Base::_API_VISIBILITY_PARTNER },       // application.kill
259         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // application.launch
260         { Tizen::Base::_API_VISIBILITY_PARTNER },       // appmanager.launch
261         { Tizen::Base::_API_VISIBILITY_PARTNER },       // appsetting
262         { Tizen::Base::_API_VISIBILITY_PARTNER },       // appusage
263         { Tizen::Base::_API_VISIBILITY_PARTNER },       // audiomanager.route
264         { Tizen::Base::_API_VISIBILITY_PARTNER },       // audiomanager.session
265         { Tizen::Base::_API_VISIBILITY_PARTNER },       // audiomanager.voipsession
266         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // audiorecorder
267         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // bluetooth.admin
268         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // bluetooth.gap
269         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // bluetooth.health
270         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // bluetooth.opp
271         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // bluetooth.spp
272         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // bluetoothmanager
273         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // calendar.read
274         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // calendar.write
275         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // callforward
276         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // callhistory.read
277         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // callhistory.write
278         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // camera
279         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // cellbroadcast
280         { Tizen::Base::_API_VISIBILITY_PARTNER },       // certificate.read
281         { Tizen::Base::_API_VISIBILITY_PARTNER },       // certificate.write
282         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // contact.read
283         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // contact.write
284         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // content.read
285         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // content.write
286         { Tizen::Base::_API_VISIBILITY_PARTNER },       // customnetaccount
287         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // dns
288         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // download
289         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // drmservice
290         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // http
291         { Tizen::Base::_API_VISIBILITY_PARTNER },       // ime
292         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // imemanager
293         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // inputmanager
294         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // location
295         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // messaging.email
296         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // messaging.mms
297         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // messaging.sms
298         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // network.account
299         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // network.connection
300         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // network.statistics.read
301         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // network.statistics.write
302         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // networkmanager
303         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // nfc.admin
304         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // nfc.cardemulation
305         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // nfc.common
306         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // nfc.p2p
307         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // nfc.tag
308         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // notification
309         { Tizen::Base::_API_VISIBILITY_PARTNER },       // notificationmanager
310         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // packageinfo
311         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // packagelicensemanager
312         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // packagemanager.install
313         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // packagesetting
314         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // platforminfo
315         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // power
316         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // push
317         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // setting
318         { Tizen::Base::_API_VISIBILITY_PARTNER },       // smstrigger
319         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // socket
320         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // systeminfo
321         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // systemsetting.read
322         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // systemsetting.write
323         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // telephonymanager
324         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // uimanager
325         { Tizen::Base::_API_VISIBILITY_PARTNER },       // useridentity
326         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // vibrator
327         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // videorecorder
328         { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR },      // wappush
329         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // web.privacy
330         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // web.service
331         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // wifi.admin
332         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // wifi.read
333         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // wifi.wifidirect.admin
334         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // wifi.wifidirect.read
335         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // wifimanager
336         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // appwidgetprovider.install
337         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // account.read
338         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // account.write
339         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // userprofile.read
340         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // userprofile.write
341         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // telephony
342         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // netstatisticsmanager
343         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // network.statistics
344         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // nfcmanager
345         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // bookmark.read
346         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // bookmark.write
347         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // geolocationpermission.read
348         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // geolocationpermission.write
349         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // lockmanager
350         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // shortcut.install
351         { Tizen::Base::_API_VISIBILITY_PARTNER },       // appmanager.kill
352         { Tizen::Base::_API_VISIBILITY_PARTNER },       // privilegemanager.read
353         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // privacymanager.read
354         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // privacymanager.write
355         { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER },  // antivirus
356         { Tizen::Base::_API_VISIBILITY_PUBLIC },        // internet
357 };
358
359 enum _PrivilegeLevel
360 {
361         _PRV_LEVEL_USER = 0,
362         _PRV_LEVEL_SYSTEM
363 };
364
365 const static _PrivilegeLevel privilegeLevelListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
366 {
367         { _PRV_LEVEL_USER },    // alarm
368         { _PRV_LEVEL_SYSTEM },  // application.kill
369         { _PRV_LEVEL_USER },    // application.launch
370         { _PRV_LEVEL_SYSTEM },  // appmanager.launch
371         { _PRV_LEVEL_USER },    // appsetting
372         { _PRV_LEVEL_USER },    // appusage
373         { _PRV_LEVEL_USER },    // audiomanager.route
374         { _PRV_LEVEL_USER },    // audiomanager.session
375         { _PRV_LEVEL_USER },    // audiomanager.voipsession
376         { _PRV_LEVEL_USER },    // audiorecorder
377         { _PRV_LEVEL_USER },    // bluetooth.admin
378         { _PRV_LEVEL_USER },    // bluetooth.gap
379         { _PRV_LEVEL_USER },    // bluetooth.health
380         { _PRV_LEVEL_USER },    // bluetooth.opp
381         { _PRV_LEVEL_USER },    // bluetooth.spp
382         { _PRV_LEVEL_SYSTEM },  // bluetoothmanager
383         { _PRV_LEVEL_USER },    // calendar.read
384         { _PRV_LEVEL_USER },    // calendar.write
385         { _PRV_LEVEL_SYSTEM },  // callforward
386         { _PRV_LEVEL_USER },    // callhistory.read
387         { _PRV_LEVEL_USER },    // callhistory.write
388         { _PRV_LEVEL_USER },    // camera
389         { _PRV_LEVEL_USER },    // cellbroadcast
390         { _PRV_LEVEL_SYSTEM },  // certificate.read
391         { _PRV_LEVEL_SYSTEM },  // certificate.write
392         { _PRV_LEVEL_USER },    // contact.read
393         { _PRV_LEVEL_USER },    // contact.write
394         { _PRV_LEVEL_USER },    // content.read
395         { _PRV_LEVEL_USER },    // content.write
396         { _PRV_LEVEL_USER },    // customnetaccount
397         { _PRV_LEVEL_USER },    // dns
398         { _PRV_LEVEL_USER },    // download
399         { _PRV_LEVEL_USER },    // drmservice
400         { _PRV_LEVEL_USER },    // http
401         { _PRV_LEVEL_USER },    // ime
402         { _PRV_LEVEL_SYSTEM },  // imemanager
403         { _PRV_LEVEL_USER },    // inputmanager
404         { _PRV_LEVEL_USER },    // location
405         { _PRV_LEVEL_USER },    // messaging.email
406         { _PRV_LEVEL_USER },    // messaging.mms
407         { _PRV_LEVEL_USER },    // messaging.sms
408         { _PRV_LEVEL_USER },    // network.account
409         { _PRV_LEVEL_USER },    // network.connection
410         { _PRV_LEVEL_USER },    // network.statistics.read
411         { _PRV_LEVEL_USER },    // network.statistics.write
412         { _PRV_LEVEL_SYSTEM },  // networkmanager
413         { _PRV_LEVEL_USER },    // nfc.admin
414         { _PRV_LEVEL_USER },    // nfc.cardemulation
415         { _PRV_LEVEL_USER },    // nfc.common
416         { _PRV_LEVEL_USER },    // nfc.p2p
417         { _PRV_LEVEL_USER },    // nfc.tag
418         { _PRV_LEVEL_USER },    // notification
419         { _PRV_LEVEL_USER },    // notificationmanager
420         { _PRV_LEVEL_USER },    // packageinfo
421         { _PRV_LEVEL_USER },    // packagelicensemanager
422         { _PRV_LEVEL_SYSTEM },  // packagemanager.install
423         { _PRV_LEVEL_USER },    // packagesetting
424         { _PRV_LEVEL_USER },    // platforminfo
425         { _PRV_LEVEL_USER },    // power
426         { _PRV_LEVEL_USER },    // push
427         { _PRV_LEVEL_USER },    // setting
428         { _PRV_LEVEL_USER },    // smstrigger
429         { _PRV_LEVEL_USER },    // socket
430         { _PRV_LEVEL_USER },    // systeminfo
431         { _PRV_LEVEL_SYSTEM },  // systemsetting.read
432         { _PRV_LEVEL_SYSTEM },  // systemsetting.write
433         { _PRV_LEVEL_SYSTEM },  // telephonymanager
434         { _PRV_LEVEL_SYSTEM },  // uimanager
435         { _PRV_LEVEL_SYSTEM },  // useridentity
436         { _PRV_LEVEL_USER },    // vibrator
437         { _PRV_LEVEL_USER },    // videorecorder
438         { _PRV_LEVEL_USER },    // wappush
439         { _PRV_LEVEL_USER },    // web.privacy
440         { _PRV_LEVEL_USER },    // web.service
441         { _PRV_LEVEL_USER },    // wifi.admin
442         { _PRV_LEVEL_USER },    // wifi.read
443         { _PRV_LEVEL_USER },    // wifi.wifidirect.admin
444         { _PRV_LEVEL_USER },    // wifi.wifidirect.read
445         { _PRV_LEVEL_SYSTEM },  // wifimanager
446         { _PRV_LEVEL_USER },    // appwidgetprovider.install
447         { _PRV_LEVEL_USER },    // account.read
448         { _PRV_LEVEL_USER },    // account.write
449         { _PRV_LEVEL_USER },    // userprofile.read
450         { _PRV_LEVEL_USER },    // userprofile.write
451         { _PRV_LEVEL_USER },    // telephony
452         { _PRV_LEVEL_SYSTEM },  // netstatisticsmanager
453         { _PRV_LEVEL_USER },    // network.statistics
454         { _PRV_LEVEL_SYSTEM },  // nfcmanager
455         { _PRV_LEVEL_SYSTEM },  // bookmark.read
456         { _PRV_LEVEL_SYSTEM },  // bookmark.write
457         { _PRV_LEVEL_SYSTEM },  // geolocationpermission.read
458         { _PRV_LEVEL_SYSTEM },  // geolocationpermission.write
459         { _PRV_LEVEL_SYSTEM },  // lockmanager
460         { _PRV_LEVEL_USER },    // shortcut.install
461         { _PRV_LEVEL_SYSTEM },  // appmanager.kill
462         { _PRV_LEVEL_SYSTEM },  // privilegemanager.read
463         { _PRV_LEVEL_SYSTEM },  // privacymanager.read
464         { _PRV_LEVEL_SYSTEM },  // privacymanager.write
465         { _PRV_LEVEL_SYSTEM },  // antivirus
466         { _PRV_LEVEL_USER },    // internet
467 };
468
469 const int MAX_BITWISE_PRIV_SIZE = (((_MAX_PRIVILEGE_ENUM - 1) / 32) + 1) * 4;
470 const int MAX_APP_ID_SIZE = 10;
471 const int MAX_CACHE_SIZE = 20;
472 const int MAX_ACTIVE_CACHE_SIZE = 5;
473
474 const int _KEY_LEN = 16;
475 const int _IV_LEN = 16;
476 const int _BITS_IN_BYTE = 8;
477
478 };
479 } // Tizen::Security
480
481 #endif // _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_