2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
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.
24 #ifndef _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
25 #define _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
27 #include <FAppTypes.h>
28 #include <FBaseInternalTypes.h>
30 namespace Tizen { namespace Security
36 _PRV_APPLICATION_KILL,
37 _PRV_APPLICATION_LAUNCH,
38 _PRV_APPMANAGER_LAUNCH,
41 _PRV_AUDIOMANAGER_ROUTE,
42 _PRV_AUDIOMANAGER_SESSION,
43 _PRV_AUDIOMANAGER_VOIPSESSION,
47 _PRV_BLUETOOTH_HEALTH,
50 _PRV_BLUETOOTHMANAGER,
54 _PRV_CALLHISTORY_READ,
55 _PRV_CALLHISTORY_WRITE,
58 _PRV_CERTIFICATE_READ,
59 _PRV_CERTIFICATE_WRITE,
64 _PRV_CUSTOMNETACCOUNT,
77 _PRV_NETWORK_CONNECTION,
78 _PRV_NETWORK_STATISTICS_READ,
79 _PRV_NETWORK_STATISTICS_WRITE,
82 _PRV_NFC_CARDEMULATION,
87 _PRV_NOTIFICATIONMANAGER,
89 _PRV_PACKAGELICENSEMANAGER,
90 _PRV_PACKAGEMANAGER_INSTALL,
99 _PRV_SYSTEMSETTING_READ,
100 _PRV_SYSTEMSETTING_WRITE,
101 _PRV_TELEPHONYMANAGER,
111 _PRV_WIFI_WIFIDIRECT_ADMIN,
112 _PRV_WIFI_WIFIDIRECT_READ,
114 _PRV_APPWIDGETPROVIDER_INSTALL,
117 _PRV_USERPROFILE_READ,
118 _PRV_USERPROFILE_WRITE,
120 _PRV_NETSTATISTICSMANAGER,
121 _PRV_NETWORK_STATISTICS,
125 _PRV_GEOLOCATIONPERMISSION_READ,
126 _PRV_GEOLOCATIONPERMISSION_WRITE,
128 _PRV_SHORTCUT_INSTALL,
129 _PRV_APPMANAGER_KILL,
130 _PRV_PRIVILEGEMANAGER_READ,
131 _PRV_PRIVACYMANAGER_READ,
132 _PRV_PRIVACYMANAGER_WRITE,
136 _PRV_MESSAGING_WRITE,
138 _PRV_PACKAGEMANAGER_INFO,
139 _PRV_PACKAGEMANAGER_SETTING,
142 _PRV_SETTINGMANAGER_READ,
143 _PRV_SETTINGMANAGER_WRITE,
144 _PRV_APPMANAGER_CERTIFICATE,
145 _PRV_DATACONTROL_CONSUMER,
147 _PRV_FILESYSTEM_READ,
148 _PRV_FILESYSTEM_WRITE,
150 _PRV_NETWORKBEARERSELECTION,
156 const wchar_t* privilegeString;
157 _Privilege privilege;
159 } _PrivilegeStringList;
161 const static _PrivilegeStringList privilegeListTable[_MAX_PRIVILEGE_ENUM] =
163 {L"alarm", _PRV_ALARM},
164 {L"application.kill", _PRV_APPLICATION_KILL},
165 {L"application.launch", _PRV_APPLICATION_LAUNCH},
166 {L"appmanager.launch", _PRV_APPMANAGER_LAUNCH},
167 {L"appsetting", _PRV_APPSETTING},
168 {L"appusage", _PRV_APPUSAGE},
169 {L"audiomanager.route", _PRV_AUDIOMANAGER_ROUTE},
170 {L"audiomanager.session", _PRV_AUDIOMANAGER_SESSION},
171 {L"audiomanager.voipsession", _PRV_AUDIOMANAGER_VOIPSESSION},
172 {L"audiorecorder", _PRV_AUDIORECORDER},
173 {L"bluetooth.admin", _PRV_BLUETOOTH_ADMIN},
174 {L"bluetooth.gap", _PRV_BLUETOOTH_GAP},
175 {L"bluetooth.health", _PRV_BLUETOOTH_HEALTH},
176 {L"bluetooth.opp", _PRV_BLUETOOTH_OPP},
177 {L"bluetooth.spp", _PRV_BLUETOOTH_SPP},
178 {L"bluetoothmanager", _PRV_BLUETOOTHMANAGER},
179 {L"calendar.read", _PRV_CALENDAR_READ},
180 {L"calendar.write", _PRV_CALENDAR_WRITE},
181 {L"callforward", _PRV_CALLFORWARD},
182 {L"callhistory.read", _PRV_CALLHISTORY_READ},
183 {L"callhistory.write", _PRV_CALLHISTORY_WRITE},
184 {L"camera", _PRV_CAMERA},
185 {L"cellbroadcast", _PRV_CELLBROADCAST},
186 {L"certificate.read", _PRV_CERTIFICATE_READ},
187 {L"certificate.write", _PRV_CERTIFICATE_WRITE},
188 {L"contact.read", _PRV_CONTACT_READ},
189 {L"contact.write", _PRV_CONTACT_WRITE},
190 {L"content.read", _PRV_CONTENT_READ},
191 {L"content.write", _PRV_CONTENT_WRITE},
192 {L"customnetaccount", _PRV_CUSTOMNETACCOUNT},
194 {L"download", _PRV_DOWNLOAD},
195 {L"drmservice", _PRV_DRMSERVICE},
196 {L"http", _PRV_HTTP},
198 {L"imemanager", _PRV_IMEMANAGER},
199 {L"inputmanager", _PRV_INPUTMANAGER},
200 {L"location", _PRV_LOCATION},
201 {L"messaging.email", _PRV_MESSAGING_EMAIL},
202 {L"messaging.mms", _PRV_MESSAGING_MMS},
203 {L"messaging.sms", _PRV_MESSAGING_SMS},
204 {L"network.account", _PRV_NETWORK_ACCOUNT},
205 {L"network.connection", _PRV_NETWORK_CONNECTION},
206 {L"network.statistics.read", _PRV_NETWORK_STATISTICS_READ},
207 {L"network.statistics.write", _PRV_NETWORK_STATISTICS_WRITE},
208 {L"networkmanager", _PRV_NETWORKMANAGER},
209 {L"nfc.admin", _PRV_NFC_ADMIN},
210 {L"nfc.cardemulation", _PRV_NFC_CARDEMULATION},
211 {L"nfc.common", _PRV_NFC_COMMON},
212 {L"nfc.p2p", _PRV_NFC_P2P},
213 {L"nfc.tag", _PRV_NFC_TAG},
214 {L"notification", _PRV_NOTIFICATION},
215 {L"notificationmanager", _PRV_NOTIFICATIONMANAGER},
216 {L"packageinfo", _PRV_PACKAGEINFO},
217 {L"packagelicensemanager", _PRV_PACKAGELICENSEMANAGER},
218 {L"packagemanager.install", _PRV_PACKAGEMANAGER_INSTALL},
219 {L"packagesetting", _PRV_PACKAGESETTING},
220 {L"platforminfo", _PRV_PLATFORMINFO},
221 {L"power", _PRV_POWER},
222 {L"push", _PRV_PUSH},
223 {L"setting", _PRV_SETTING},
224 {L"smstrigger", _PRV_SMSTRIGGER},
225 {L"socket", _PRV_SOCKET},
226 {L"systeminfo", _PRV_SYSTEMINFO},
227 {L"systemsetting.read", _PRV_SYSTEMSETTING_READ},
228 {L"systemsetting.write", _PRV_SYSTEMSETTING_WRITE},
229 {L"telephonymanager", _PRV_TELEPHONYMANAGER},
230 {L"uimanager", _PRV_UIMANAGER},
231 {L"useridentity", _PRV_USERIDENTITY},
232 {L"vibrator", _PRV_VIBRATOR},
233 {L"videorecorder", _PRV_VIDEORECORDER},
234 {L"wappush", _PRV_WAPPUSH},
235 {L"web.privacy", _PRV_WEB_PRIVACY},
236 {L"web.service", _PRV_WEB_SERVICE},
237 {L"wifi.admin", _PRV_WIFI_ADMIN},
238 {L"wifi.read", _PRV_WIFI_READ},
239 {L"wifi.wifidirect.admin", _PRV_WIFI_WIFIDIRECT_ADMIN},
240 {L"wifi.wifidirect.read", _PRV_WIFI_WIFIDIRECT_READ},
241 {L"wifimanager", _PRV_WIFIMANAGER},
242 {L"appwidgetprovider.install", _PRV_APPWIDGETPROVIDER_INSTALL},
243 {L"account.read", _PRV_ACCOUNT_READ},
244 {L"account.write", _PRV_ACCOUNT_WRITE},
245 {L"userprofile.read", _PRV_USERPROFILE_READ},
246 {L"userprofile.write", _PRV_USERPROFILE_WRITE},
247 {L"telephony", _PRV_TELEPHONY},
248 {L"netstatisticsmanager", _PRV_NETSTATISTICSMANAGER},
249 {L"network.statistics", _PRV_NETWORK_STATISTICS},
250 {L"nfcmanager", _PRV_NFCMANAGER},
251 {L"bookmark.read", _PRV_BOOKMARK_READ},
252 {L"bookmark.write", _PRV_BOOKMARK_WRITE},
253 {L"geolocationpermission.read", _PRV_GEOLOCATIONPERMISSION_READ},
254 {L"geolocationpermission.write", _PRV_GEOLOCATIONPERMISSION_WRITE},
255 {L"lockmanager", _PRV_LOCKMANAGER},
256 {L"shortcut.install", _PRV_SHORTCUT_INSTALL},
257 {L"appmanager.kill", _PRV_APPMANAGER_KILL},
258 {L"privilegemanager.read", _PRV_PRIVILEGEMANAGER_READ},
259 {L"privacymanager.read", _PRV_PRIVACYMANAGER_READ},
260 {L"privacymanager.write", _PRV_PRIVACYMANAGER_WRITE},
261 {L"antivirus", _PRV_ANTIVIRUS},
262 {L"internet", _PRV_INTERNET},
263 {L"messaging.read", _PRV_MESSAGING_READ},
264 {L"messaging.write", _PRV_MESSAGING_WRITE},
265 {L"package.info", _PRV_PACKAGE_INFO},
266 {L"packagemanager.info", _PRV_PACKAGEMANAGER_INFO},
267 {L"packagemanager.setting", _PRV_PACKAGEMANAGER_SETTING},
268 {L"system", _PRV_SYSTEM},
269 {L"systemmanager", _PRV_SYSTEMMANAGER},
270 {L"settingmanager.read", _PRV_SETTINGMANAGER_READ},
271 {L"settingmanager.write", _PRV_SETTINGMANAGER_WRITE},
272 {L"appmanager.certificate", _PRV_APPMANAGER_CERTIFICATE},
273 {L"datacontrol.consumer", _PRV_DATACONTROL_CONSUMER},
274 {L"datasync", _PRV_DATASYNC},
275 {L"filesystem.read", _PRV_FILESYSTEM_READ},
276 {L"filesystem.write", _PRV_FILESYSTEM_WRITE},
277 {L"messageport", _PRV_MESSAGEPORT},
278 {L"networkbearerselection", _PRV_NETWORKBEARERSELECTION},
281 enum _PrivilegeApiVersion
283 _PRV_API_VER_2_0 = 0,
287 const static Tizen::Base::_ApiVisibility visibilityLevelListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
289 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // alarm
290 { Tizen::Base::_API_VISIBILITY_PARTNER }, // application.kill
291 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // application.launch
292 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appmanager.launch
293 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appsetting
294 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appusage
295 { Tizen::Base::_API_VISIBILITY_PARTNER }, // audiomanager.route
296 { Tizen::Base::_API_VISIBILITY_PARTNER }, // audiomanager.session
297 { Tizen::Base::_API_VISIBILITY_PARTNER }, // audiomanager.voipsession
298 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // audiorecorder
299 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.admin
300 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.gap
301 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.health
302 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.opp
303 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.spp
304 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // bluetoothmanager
305 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // calendar.read
306 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // calendar.write
307 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // callforward
308 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // callhistory.read
309 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // callhistory.write
310 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // camera
311 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // cellbroadcast
312 { Tizen::Base::_API_VISIBILITY_PARTNER }, // certificate.read
313 { Tizen::Base::_API_VISIBILITY_PARTNER }, // certificate.write
314 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // contact.read
315 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // contact.write
316 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // content.read
317 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // content.write
318 { Tizen::Base::_API_VISIBILITY_PARTNER }, // customnetaccount
319 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // dns
320 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // download
321 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // drmservice
322 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // http
323 { Tizen::Base::_API_VISIBILITY_PARTNER }, // ime
324 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // imemanager
325 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // inputmanager
326 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // location
327 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.email
328 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.mms
329 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.sms
330 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.account
331 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.connection
332 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.statistics.read
333 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.statistics.write
334 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // networkmanager
335 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.admin
336 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.cardemulation
337 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.common
338 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.p2p
339 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.tag
340 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // notification
341 { Tizen::Base::_API_VISIBILITY_PARTNER }, // notificationmanager
342 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // packageinfo
343 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // packagelicensemanager
344 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // packagemanager.install
345 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // packagesetting
346 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // platforminfo
347 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // power
348 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // push
349 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // setting
350 { Tizen::Base::_API_VISIBILITY_PARTNER }, // smstrigger
351 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // socket
352 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // systeminfo
353 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // systemsetting.read
354 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // systemsetting.write
355 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // telephonymanager
356 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // uimanager
357 { Tizen::Base::_API_VISIBILITY_PARTNER }, // useridentity
358 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // vibrator
359 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // videorecorder
360 { Tizen::Base::_API_VISIBILITY_PARTNER_OPERATOR }, // wappush
361 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // web.privacy
362 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // web.service
363 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.admin
364 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.read
365 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.wifidirect.admin
366 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.wifidirect.read
367 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // wifimanager
368 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // appwidgetprovider.install
369 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // account.read
370 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // account.write
371 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // userprofile.read
372 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // userprofile.write
373 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // telephony
374 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // netstatisticsmanager
375 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.statistics
376 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // nfcmanager
377 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // bookmark.read
378 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // bookmark.write
379 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // geolocationpermission.read
380 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // geolocationpermission.write
381 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // lockmanager
382 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // shortcut.install
383 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appmanager.kill
384 { Tizen::Base::_API_VISIBILITY_PARTNER }, // privilegemanager.read
385 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // privacymanager.read
386 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // privacymanager.write
387 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // antivirus
388 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // internet
389 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.read
390 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.write
391 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // package.info
392 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // packagemanager.info
393 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // packagemanager.setting
394 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // system
395 { Tizen::Base::_API_VISIBILITY_PARTNER }, // systemmanager
396 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // settingmanager.read
397 { Tizen::Base::_API_VISIBILITY_PARTNER_MANUFACTURER }, // settingmanager.write
398 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appmanager.certificate
399 { Tizen::Base::_API_VISIBILITY_PARTNER }, // datacontrol.consumer
400 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // datasync
401 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // filesystem.read
402 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // filesystem.write
403 { Tizen::Base::_API_VISIBILITY_PARTNER }, // messageport
404 { Tizen::Base::_API_VISIBILITY_PARTNER }, // networkbearerselection
413 const static _PrivilegeLevel privilegeLevelListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
415 { _PRV_LEVEL_USER }, // alarm
416 { _PRV_LEVEL_SYSTEM }, // application.kill
417 { _PRV_LEVEL_USER }, // application.launch
418 { _PRV_LEVEL_SYSTEM }, // appmanager.launch
419 { _PRV_LEVEL_USER }, // appsetting
420 { _PRV_LEVEL_USER }, // appusage
421 { _PRV_LEVEL_USER }, // audiomanager.route
422 { _PRV_LEVEL_USER }, // audiomanager.session
423 { _PRV_LEVEL_USER }, // audiomanager.voipsession
424 { _PRV_LEVEL_USER }, // audiorecorder
425 { _PRV_LEVEL_USER }, // bluetooth.admin
426 { _PRV_LEVEL_USER }, // bluetooth.gap
427 { _PRV_LEVEL_USER }, // bluetooth.health
428 { _PRV_LEVEL_USER }, // bluetooth.opp
429 { _PRV_LEVEL_USER }, // bluetooth.spp
430 { _PRV_LEVEL_SYSTEM }, // bluetoothmanager
431 { _PRV_LEVEL_USER }, // calendar.read
432 { _PRV_LEVEL_USER }, // calendar.write
433 { _PRV_LEVEL_SYSTEM }, // callforward
434 { _PRV_LEVEL_USER }, // callhistory.read
435 { _PRV_LEVEL_USER }, // callhistory.write
436 { _PRV_LEVEL_USER }, // camera
437 { _PRV_LEVEL_USER }, // cellbroadcast
438 { _PRV_LEVEL_SYSTEM }, // certificate.read
439 { _PRV_LEVEL_SYSTEM }, // certificate.write
440 { _PRV_LEVEL_USER }, // contact.read
441 { _PRV_LEVEL_USER }, // contact.write
442 { _PRV_LEVEL_USER }, // content.read
443 { _PRV_LEVEL_USER }, // content.write
444 { _PRV_LEVEL_USER }, // customnetaccount
445 { _PRV_LEVEL_USER }, // dns
446 { _PRV_LEVEL_USER }, // download
447 { _PRV_LEVEL_USER }, // drmservice
448 { _PRV_LEVEL_USER }, // http
449 { _PRV_LEVEL_USER }, // ime
450 { _PRV_LEVEL_SYSTEM }, // imemanager
451 { _PRV_LEVEL_USER }, // inputmanager
452 { _PRV_LEVEL_USER }, // location
453 { _PRV_LEVEL_USER }, // messaging.email
454 { _PRV_LEVEL_USER }, // messaging.mms
455 { _PRV_LEVEL_USER }, // messaging.sms
456 { _PRV_LEVEL_USER }, // network.account
457 { _PRV_LEVEL_USER }, // network.connection
458 { _PRV_LEVEL_USER }, // network.statistics.read
459 { _PRV_LEVEL_USER }, // network.statistics.write
460 { _PRV_LEVEL_SYSTEM }, // networkmanager
461 { _PRV_LEVEL_USER }, // nfc.admin
462 { _PRV_LEVEL_USER }, // nfc.cardemulation
463 { _PRV_LEVEL_USER }, // nfc.common
464 { _PRV_LEVEL_USER }, // nfc.p2p
465 { _PRV_LEVEL_USER }, // nfc.tag
466 { _PRV_LEVEL_USER }, // notification
467 { _PRV_LEVEL_USER }, // notificationmanager
468 { _PRV_LEVEL_USER }, // packageinfo
469 { _PRV_LEVEL_USER }, // packagelicensemanager
470 { _PRV_LEVEL_SYSTEM }, // packagemanager.install
471 { _PRV_LEVEL_USER }, // packagesetting
472 { _PRV_LEVEL_USER }, // platforminfo
473 { _PRV_LEVEL_USER }, // power
474 { _PRV_LEVEL_USER }, // push
475 { _PRV_LEVEL_USER }, // setting
476 { _PRV_LEVEL_USER }, // smstrigger
477 { _PRV_LEVEL_USER }, // socket
478 { _PRV_LEVEL_USER }, // systeminfo
479 { _PRV_LEVEL_SYSTEM }, // systemsetting.read
480 { _PRV_LEVEL_SYSTEM }, // systemsetting.write
481 { _PRV_LEVEL_SYSTEM }, // telephonymanager
482 { _PRV_LEVEL_SYSTEM }, // uimanager
483 { _PRV_LEVEL_SYSTEM }, // useridentity
484 { _PRV_LEVEL_USER }, // vibrator
485 { _PRV_LEVEL_USER }, // videorecorder
486 { _PRV_LEVEL_USER }, // wappush
487 { _PRV_LEVEL_USER }, // web.privacy
488 { _PRV_LEVEL_USER }, // web.service
489 { _PRV_LEVEL_USER }, // wifi.admin
490 { _PRV_LEVEL_USER }, // wifi.read
491 { _PRV_LEVEL_USER }, // wifi.wifidirect.admin
492 { _PRV_LEVEL_USER }, // wifi.wifidirect.read
493 { _PRV_LEVEL_SYSTEM }, // wifimanager
494 { _PRV_LEVEL_USER }, // appwidgetprovider.install
495 { _PRV_LEVEL_USER }, // account.read
496 { _PRV_LEVEL_USER }, // account.write
497 { _PRV_LEVEL_USER }, // userprofile.read
498 { _PRV_LEVEL_USER }, // userprofile.write
499 { _PRV_LEVEL_USER }, // telephony
500 { _PRV_LEVEL_SYSTEM }, // netstatisticsmanager
501 { _PRV_LEVEL_USER }, // network.statistics
502 { _PRV_LEVEL_SYSTEM }, // nfcmanager
503 { _PRV_LEVEL_SYSTEM }, // bookmark.read
504 { _PRV_LEVEL_SYSTEM }, // bookmark.write
505 { _PRV_LEVEL_SYSTEM }, // geolocationpermission.read
506 { _PRV_LEVEL_SYSTEM }, // geolocationpermission.write
507 { _PRV_LEVEL_SYSTEM }, // lockmanager
508 { _PRV_LEVEL_USER }, // shortcut.install
509 { _PRV_LEVEL_SYSTEM }, // appmanager.kill
510 { _PRV_LEVEL_SYSTEM }, // privilegemanager.read
511 { _PRV_LEVEL_SYSTEM }, // privacymanager.read
512 { _PRV_LEVEL_SYSTEM }, // privacymanager.write
513 { _PRV_LEVEL_SYSTEM }, // antivirus
514 { _PRV_LEVEL_USER }, // internet
515 { _PRV_LEVEL_USER }, // messaging.read
516 { _PRV_LEVEL_USER }, // messaging.write
517 { _PRV_LEVEL_USER }, // package.info
518 { _PRV_LEVEL_SYSTEM }, // packagemanager.info
519 { _PRV_LEVEL_SYSTEM }, // packagemanager.setting
520 { _PRV_LEVEL_USER }, // system
521 { _PRV_LEVEL_USER }, // systemmanager
522 { _PRV_LEVEL_SYSTEM }, // settingmanager.read
523 { _PRV_LEVEL_SYSTEM }, // settingmanager.write
524 { _PRV_LEVEL_USER }, // appmanager.certificate
525 { _PRV_LEVEL_USER }, // datacontrol.consumer
526 { _PRV_LEVEL_USER }, // datasync
527 { _PRV_LEVEL_USER }, // filesystem.read
528 { _PRV_LEVEL_USER }, // filesystem.write
529 { _PRV_LEVEL_USER }, // messageport
530 { _PRV_LEVEL_USER }, // networkbearerselection
533 const int MAX_BITWISE_PRIV_SIZE = (((_MAX_PRIVILEGE_ENUM - 1) / 32) + 1) * 4;
534 const int MAX_APP_ID_SIZE = 10;
535 const int MAX_CACHE_SIZE = 20;
536 const int MAX_ACTIVE_CACHE_SIZE = 5;
538 const int _KEY_LEN = 16;
539 const int _IV_LEN = 16;
540 const int _BITS_IN_BYTE = 8;
545 #endif // _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_