## **Overview**
Defines variables and data structures used by the permission management module.
**Since:**
1.0
**Version:**
1.0
## **Summary**
## Files
Declares variables and data structures used by the permission management module. |
## Data Structures
Defines the permission, including the name, description, and whether the permission is granted. |
## Macros
Indicates the length of a permission name. | |
PERM_DESC_LEN 128 | Indicates the length of a permission description. |
## Enumerations
Enumerates granting statuses of the permission. | |
PmsErrorCode { , PERM_ERRORCODE_INVALID_PARAMS = 10, PERM_ERRORCODE_INVALID_PERMNAME, PERM_ERRORCODE_MALLOC_FAIL, PERM_ERRORCODE_OPENFD_FAIL, PERM_ERRORCODE_READFD_FAIL, PERM_ERRORCODE_WRITEFD_FAIL, PERM_ERRORCODE_JSONPARSE_FAIL, PERM_ERRORCODE_COPY_ERROR, PERM_ERRORCODE_FIELD_TOO_LONG, PERM_ERRORCODE_PERM_NOT_EXIST, PERM_ERRORCODE_UNLINK_ERROR, PERM_ERRORCODE_FILE_NOT_EXIST, PERM_ERRORCODE_MEMSET_FAIL, PERM_ERRORCODE_STAT_FAIL, PERM_ERRORCODE_PATH_INVALID, PERM_ERRORCODE_TOO_MUCH_PERM, PERM_ERRORCODE_TASKID_NOT_EXIST, PERM_ERRORCODE_PERM_NUM_ERROR } | Enumerates error codes of the permission management module. |
## **Details**
## **Macro Definition Documentation**
## PERM\_DESC\_LEN
```
#define PERM_DESC_LEN 128
```
**Description:**
Indicates the length of a permission description.
The default length is 128 bytes, including the terminating null byte **'\\0'**.
## PERM\_NAME\_LEN
```
#define PERM_NAME_LEN 64
```
**Description:**
Indicates the length of a permission name.
The default length is 64 bytes, including the terminating null byte **'\\0'**.
## **Enumeration Type Documentation**
## IsGranted
```
enum [IsGranted](Pms_types.md#ga56644f429963f015addb12e36e2344f7)
```
**Description:**
Enumerates granting statuses of the permission.
GRANTED |
## PmsErrorCode
```
enum [PmsErrorCode](Pms_types.md#gacb79d7f5cd64c73479e0bdd9525265a8)
```
**Description:**
Enumerates error codes of the permission management module.
## **Variable Documentation**
## desc
```
char PermissionSaved::desc[[PERM_DESC_LEN](Pms_types.md#gafb859b51e2b9552103cf1ba665e8eb7a)]
```
**Description:**
Permission name. For details about its length, see [PERM\_NAME\_LEN](Pms_types.md#ga1d7d82a3741ecedc4d993b523d95c0c8).
## granted
```
enum [IsGranted](Pms_types.md#ga56644f429963f015addb12e36e2344f7) PermissionSaved::granted
```
**Description:**
Permission description. For details about its length, see [PERM\_DESC\_LEN](Pms_types.md#gafb859b51e2b9552103cf1ba665e8eb7a).