Pms_types

Overview

Defines variables and data structures used by the permission management module.

Since:

1.0

Version:

1.0

Summary

Files

File Name

Description

pms_types.h

Declares variables and data structures used by the permission management module.

Data Structures

Data Structure Name

Description

PermissionSaved

Defines the permission, including the name, description, and whether the permission is granted.

Macros

Macro Name and Value

Description

PERM_NAME_LEN   64

Indicates the length of a permission name.

PERM_DESC_LEN   128

Indicates the length of a permission description.

Enumerations

Enumeration Name

Description

IsGranted { , GRANTED = 1 }

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

  1. #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

  1. #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

  1. enum[IsGranted]($api-api-SmartVision-Devices-Pms_types.md#ga56644f429963f015addb12e36e2344f7)

Description:

Enumerates granting statuses of the permission.

Enumerator

Description

GRANTED 

Not granted

PmsErrorCode

  1. enum[PmsErrorCode]($api-api-SmartVision-Devices-Pms_types.md#gacb79d7f5cd64c73479e0bdd9525265a8)

Description:

Enumerates error codes of the permission management module.

Enumerator

Description

PERM_ERRORCODE_INVALID_PARAMS 

Success

PERM_ERRORCODE_INVALID_PERMNAME 

Invalid parameters

PERM_ERRORCODE_MALLOC_FAIL 

Invalid permission name

PERM_ERRORCODE_OPENFD_FAIL 

Failed to allocate memory using the malloc function.

PERM_ERRORCODE_READFD_FAIL 

Failed to open the file descriptor.

PERM_ERRORCODE_WRITEFD_FAIL 

Failed to read the file descriptor.

PERM_ERRORCODE_JSONPARSE_FAIL 

Failed to write the file descriptor.

PERM_ERRORCODE_COPY_ERROR 

Failed to parse the JSON string.

PERM_ERRORCODE_FIELD_TOO_LONG 

Failed to copy the string.

PERM_ERRORCODE_PERM_NOT_EXIST 

The permission name or description is too long.

PERM_ERRORCODE_UNLINK_ERROR 

The permission does not exist.

PERM_ERRORCODE_FILE_NOT_EXIST 

Failed to delete the permission file.

PERM_ERRORCODE_MEMSET_FAIL 

The file does not exist.

PERM_ERRORCODE_STAT_FAIL 

Failed to set memory using the memset function.

PERM_ERRORCODE_PATH_INVALID 

Failed to obtain information about the named file using the stat function.

PERM_ERRORCODE_TOO_MUCH_PERM 

Invalid path

PERM_ERRORCODE_TASKID_NOT_EXIST 

Too many permissions

PERM_ERRORCODE_PERM_NUM_ERROR 

The process ID does not exist.

Variable Documentation

desc

  1. charPermissionSaved::desc[[PERM_DESC_LEN]($api-api-SmartVision-Devices-Pms_types.md#gafb859b51e2b9552103cf1ba665e8eb7a)]

Description:

Permission name. For details about its length, see PERM_NAME_LEN.

granted

  1. enum[IsGranted]($api-api-SmartVision-Devices-Pms_types.md#ga56644f429963f015addb12e36e2344f7) PermissionSaved::granted

Description:

Permission description. For details about its length, see PERM_DESC_LEN.