1f5921b11Sopenharmony_ci/*
2f5921b11Sopenharmony_ci* Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3f5921b11Sopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License");
4f5921b11Sopenharmony_ci* you may not use this file except in compliance with the License.
5f5921b11Sopenharmony_ci* You may obtain a copy of the License at
6f5921b11Sopenharmony_ci*
7f5921b11Sopenharmony_ci*    http://www.apache.org/licenses/LICENSE-2.0
8f5921b11Sopenharmony_ci*
9f5921b11Sopenharmony_ci* Unless required by applicable law or agreed to in writing, software
10f5921b11Sopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS,
11f5921b11Sopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12f5921b11Sopenharmony_ci* See the License for the specific language governing permissions and
13f5921b11Sopenharmony_ci* limitations under the License.
14f5921b11Sopenharmony_ci*/
15f5921b11Sopenharmony_ci
16f5921b11Sopenharmony_ci#ifndef HAL_PMS_H
17f5921b11Sopenharmony_ci#define HAL_PMS_H
18f5921b11Sopenharmony_ci
19f5921b11Sopenharmony_ci#include <stdbool.h>
20f5921b11Sopenharmony_ci#include "perm_define.h"
21f5921b11Sopenharmony_ci
22f5921b11Sopenharmony_ci#ifdef __cplusplus
23f5921b11Sopenharmony_ci#if __cplusplus
24f5921b11Sopenharmony_ciextern "C" {
25f5921b11Sopenharmony_ci#endif
26f5921b11Sopenharmony_ci#endif /* __cplusplus */
27f5921b11Sopenharmony_ci
28f5921b11Sopenharmony_ciPermissionDef* HalGetPermissionList(unsigned int *length);
29f5921b11Sopenharmony_ciconst char *HalGetPermissionPath(void);
30f5921b11Sopenharmony_ciint HalGetMaxPermissionSize(void);
31f5921b11Sopenharmony_civoid* HalMalloc(unsigned int size);
32f5921b11Sopenharmony_civoid HalFree(void *ptr);
33f5921b11Sopenharmony_ciint HalAccess(const char *pathname);
34f5921b11Sopenharmony_civoid HalMutexLock(void);
35f5921b11Sopenharmony_civoid HalMutexUnlock(void);
36f5921b11Sopenharmony_ciint HalGetDevUdid(unsigned char *udid, int size);
37f5921b11Sopenharmony_cibool HalIsValidPath(const char *path);
38f5921b11Sopenharmony_ci
39f5921b11Sopenharmony_ci#ifdef __cplusplus
40f5921b11Sopenharmony_ci#if __cplusplus
41f5921b11Sopenharmony_ci}
42f5921b11Sopenharmony_ci#endif
43f5921b11Sopenharmony_ci#endif /* __cplusplus */
44f5921b11Sopenharmony_ci
45f5921b11Sopenharmony_ci#endif  // HAL_PMS_H
46