• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16package OHOS.Security.AccessToken;
17sequenceable OHOS.Security.AccessToken.PermissionDefParcel;
18sequenceable OHOS.Security.AccessToken.PermissionStatusParcel;
19sequenceable OHOS.Security.AccessToken.PermissionListStateParcel;
20sequenceable OHOS.Security.AccessToken.PermissionGrantInfoParcel;
21sequenceable OHOS.Security.AccessToken.HapInfoParcel;
22sequenceable OHOS.Security.AccessToken.HapPolicyParcel;
23sequenceable OHOS.Security.AccessToken.NativeTokenInfoParcel;
24sequenceable OHOS.Security.AccessToken.HapTokenInfoParcel;
25sequenceable OHOS.Security.AccessToken.PermStateChangeScopeParcel;
26sequenceable OHOS.IRemoteObject;
27sequenceable OHOS.Security.AccessToken.HapTokenInfoForSyncParcel;
28sequenceable OHOS.Security.AccessToken.HapBaseInfoParcel;
29sequenceable OHOS.Security.AccessToken.AtmToolsParamInfoParcel;
30sequenceable OHOS.Security.AccessToken.SecCompEnhanceDataParcel;
31
32import IdlCommon;
33
34option_stub_hooks on;
35
36interface OHOS.Security.AccessToken.IAccessTokenManager{
37    [ipccode 1] void VerifyAccessToken([in] unsigned int tokenID, [in] String permissionName, [out] int state);
38    [ipccode 2] void GetDefPermission([in] String permissionName, [out] PermissionDefParcel permissionDefResult);
39    [ipccode 3] void GetReqPermissions([in] unsigned int tokenID, [out] List<PermissionStatusParcel> reqPermList, [in] boolean isSystemGrant);
40    [ipccode 4] void GetPermissionFlag([in] unsigned int tokenID, [in] String permissionName, [out] unsigned int flag);
41    [ipccode 5] void GrantPermission([in] unsigned int tokenID, [in] String permissionName, [in] unsigned int flag);
42    [ipccode 6] void RevokePermission([in] unsigned int tokenID, [in] String permissionName, [in] unsigned int flag);
43    [ipccode 7] void ClearUserGrantedPermissionState([in] unsigned int tokenID);
44    [ipccode 8] void AllocHapToken([in] HapInfoParcel hapInfo, [in] HapPolicyParcel policyParcel, [out] unsigned long fullTokenId);
45    [ipccode 9] void DeleteToken([in] unsigned int tokenID);
46    [ipccode 10] void InitHapToken([in] HapInfoParcel info, [in] HapPolicyParcel policy, [out] unsigned long fullTokenId, [out] HapInfoCheckResultIdl resultInfoIdl);
47    [ipccode 11] void SetPermissionRequestToggleStatus([in] String permissionName, [in] unsigned int status, [in] int userID);
48    [ipccode 12] void GetPermissionRequestToggleStatus([in] String permissionName, [out] unsigned int status, [in] int userID);
49    [ipccode 13] void GrantPermissionForSpecifiedTime([in] unsigned int tokenID, [in] String permissionName, [in] unsigned int onceTime);
50    [ipccode 14] void RequestAppPermOnSetting([in] unsigned int tokenID);
51    [ipccode 16] void GetTokenType([in] unsigned int tokenID, [out] int tokenType);
52
53    [ipccode 18] void GetHapTokenID([in] int userID, [in] String bundleName, [in] int instIndex, [out] unsigned long fullTokenId);
54    [ipccode 19] void AllocLocalTokenID([in] String remoteDeviceID, [in] unsigned int remoteTokenID, [out] unsigned int tokenId);
55    [ipccode 20] void GetNativeTokenInfo([in] unsigned int tokenID, [out] NativeTokenInfoParcel nativeTokenInfoRes);
56    [ipccode 21] void GetHapTokenInfo([in] unsigned int tokenID, [out] HapTokenInfoParcel hapTokenInfoRes);
57    [ipccode 22] void UpdateHapToken([inout] unsigned long fullTokenId, [in] UpdateHapInfoParamsIdl infoIdl, [in] HapPolicyParcel policyParcel, [out] HapInfoCheckResultIdl resultInfoIdl);
58    [ipccode 23] void GetTokenIDByUserID([in] int userID, [out] List<unsigned int> tokenIdList);
59    [macrodef TOKEN_SYNC_ENABLE, ipccode 32] void GetHapTokenInfoFromRemote([in] unsigned int tokenID, [out] HapTokenInfoForSyncParcel hapSyncParcel);
60
61    [macrodef TOKEN_SYNC_ENABLE, ipccode 34] void SetRemoteHapTokenInfo([in] String deviceID, [in] HapTokenInfoForSyncParcel hapSyncParcel);
62
63    [macrodef TOKEN_SYNC_ENABLE, ipccode 36] void DeleteRemoteToken([in] String deviceID, [in] unsigned int tokenID);
64    [macrodef TOKEN_SYNC_ENABLE, ipccode 37] void DeleteRemoteDeviceTokens([in] String deviceID);
65    [macrodef TOKEN_SYNC_ENABLE, ipccode 38] void GetRemoteNativeTokenID([in] String deviceID, [in] unsigned int tokenID, [out] unsigned int tokenId);
66    [macrodef TOKEN_SYNC_ENABLE, ipccode 39] void RegisterTokenSyncCallback([in] IRemoteObject cb);
67    [macrodef TOKEN_SYNC_ENABLE, ipccode 40] void UnRegisterTokenSyncCallback();
68    [ipccode 48, ipcoutcapacity 2000] void DumpTokenInfo([in] AtmToolsParamInfoParcel infoParcel, [out] String tokenInfo);
69    [ipccode 49] void GetSelfPermissionsState([inout] List<PermissionListStateParcel> permListParcel, [out] PermissionGrantInfoParcel infoParcel, [out] int permOper);
70    [ipccode 50] void GetPermissionsStatus([in] unsigned int tokenID, [inout] List<PermissionListStateParcel>permListParcel);
71    [ipccode 51] void RegisterPermStateChangeCallback([in] PermStateChangeScopeParcel scope, [in] IRemoteObject cb);
72    [ipccode 52] void UnRegisterPermStateChangeCallback([in] IRemoteObject cb);
73    [ipccode 53, macrondef ATM_BUILD_VARIANT_USER_ENABLE] void ReloadNativeTokenInfo();
74    [ipccode 54] void GetNativeTokenId([in] String processName, [out] unsigned int tokenID);
75    [ipccode 55] void SetPermDialogCap([in] HapBaseInfoParcel hapBaseInfoParcel, [in] boolean enable);
76    [ipccode 56] void GetPermissionUsedType([in] unsigned int tokenID, [in] String permissionName, [out] int permUsedType);
77
78    [ipccode 58] void GetVersion([out] unsigned int version);
79    [ipccode 59] void GetPermissionManagerInfo([out] PermissionGrantInfoParcel infoParcel);
80
81    [ipccode 61] void InitUserPolicy([in] List<UserStateIdl> userIdlList, [in] List<String> permList);
82    [ipccode 62] void UpdateUserPolicy([in] List<UserStateIdl> userIdlList);
83    [ipccode 63] void ClearUserPolicy();
84    [ipccode 64] void GetHapTokenInfoExtension([in] unsigned int tokenID, [out] HapTokenInfoParcel hapTokenInfoRes, [out] String appID);
85    [ipccode 65] void RegisterSelfPermStateChangeCallback([in] PermStateChangeScopeParcel scope, [in] IRemoteObject cb);
86    [ipccode 66] void UnRegisterSelfPermStateChangeCallback([in] IRemoteObject cb);
87    [ipccode 67] void GetKernelPermissions([in] unsigned int tokenId, [out] List<PermissionWithValueIdl> kernelPermIdlList);
88    [ipccode 68] void GetReqPermissionByName([in] unsigned int tokenId, [in] String permissionName, [out] String value);
89    [ipccode 80] void VerifyAccessToken([in] unsigned int tokenID, [in] List<String> permissionList, [out] List<int> permStateList);
90    [ipccode 81] void GetSelfPermissionStatus([in] String permissionName, [out] int status);
91    [ipccode 101, macrodef SECURITY_COMPONENT_ENHANCE_ENABLE, oneway] void RegisterSecCompEnhance([in] SecCompEnhanceDataParcel enhanceParcel);
92    [ipccode 102, macrodef SECURITY_COMPONENT_ENHANCE_ENABLE] void UpdateSecCompEnhance([in] int pid, [in] unsigned int seqNum);
93    [ipccode 103, macrodef SECURITY_COMPONENT_ENHANCE_ENABLE] void GetSecCompEnhance([in] int pid, [out] SecCompEnhanceDataParcel enhanceParcel);
94    [ipccode 104] void IsToastShownNeeded([in] int pid, [out] boolean needToShow);
95    [ipccode 105] void SetPermissionStatusWithPolicy([in] unsigned int tokenID, [in] List<String> permissionList, [in] int status, [in] unsigned int flag);
96}
97