DriverConfig

Overview

Defines an API for HDF driver developers to read driver configuration information.

During version compilation of the device resource source file defined by developers, the compilation tool (for example, the compilation tool of the HCS file is hc-gen) generates bytecodes. When the HDF starts, it transfers the bytecode memory to the DriverConfig module. The DriverConfig module converts the bytecodes into a configuration tree and provides an API for developers to query the tree.

Since:

1.0

Version:

1.0

Summary

Files

File Name

Description

device_resource_if.h

Declares the API for querying the configuration tree.

Data Structures

Data Structure Name

Description

DeviceResourceAttr

Defines the attributes of a tree node in the configuration tree.

DeviceResourceNode

Defines a tree node in the configuration tree.

DeviceResourceIface

Provides functions for obtaining information about the device resource configuration tree.

Macros

Macro Name and Value

Description

DEV_RES_NODE_FOR_EACH_ATTR(node, attr)   for ((attr) = (node)->attrData; (attr) != NULL; (attr) = (attr)->next)

Traverses the attributes of the current configuration tree node.

DEV_RES_NODE_FOR_EACH_CHILD_NODE(node, childNode)   for ((childNode) = (node)->child; (childNode) != NULL; (childNode) = (childNode)->sibling)

Traverses the child nodes of the current configuration tree node.

Enumerations

Enumeration Name

Description

DeviceResourceType { HDF_CONFIG_SOURCE = 0, INVALID }

Enumerates configuration file types.

Functions

Function Name

Description

DeviceResourceGetIfaceInstance (DeviceResourceType type)

struct DeviceResourceIface

Obtains the device resource interface handle of the corresponding configuration tree type.

Details

Macro Definition Documentation

DEV_RES_NODE_FOR_EACH_ATTR

  1. #define DEV_RES_NODE_FOR_EACH_ATTR( node, attr ) for ((attr) = (node)->attrData; (attr) != [NULL]($api-api-SmartVision-Devices-zh-cn_topic_0000001055198076.md#ga070d2ce7b6bb7e5c05602aa8c308d0c4); (attr) = (attr)->next)

Description:

Traverses the attributes of the current configuration tree node.

This operation is a for loop in essence.

Parameters:

Name

Description

node Indicates the configuration tree node to traverse.
attr Indicates the traversed attributes.

DEV_RES_NODE_FOR_EACH_CHILD_NODE

  1. #define DEV_RES_NODE_FOR_EACH_CHILD_NODE( node, childNode ) for ((childNode) = (node)->child; (childNode) != [NULL]($api-api-SmartVision-Devices-zh-cn_topic_0000001055198076.md#ga070d2ce7b6bb7e5c05602aa8c308d0c4); (childNode) = (childNode)->sibling)

Description:

Traverses the child nodes of the current configuration tree node.

This operation is a for loop in essence.

Parameters:

Name

Description

node Indicates the configuration tree node to traverse.
childNode Indicates the traversed child nodes.

Enumeration Type Documentation

DeviceResourceType

  1. enum [DeviceResourceType]($api-api-SmartVision-Devices-DriverConfig.md#ga09c9585a5d95c79fd5ee4bd8863ba66a)

Description:

Enumerates configuration file types.

Enumerator

Description

HDF_CONFIG_SOURCE 

HDF configuration file

INVALID 

Invalid configuration file type

Function Documentation

DeviceResourceGetIfaceInstance()

  1. struct [DeviceResourceIface]($api-api-SmartVision-Devices-DeviceResourceIface.md)* DeviceResourceGetIfaceInstance ([DeviceResourceType]($api-api-SmartVision-Devices-DriverConfig.md#ga09c9585a5d95c79fd5ee4bd8863ba66a) type)

Description:

Obtains the device resource interface handle of the corresponding configuration tree type.

You can use the obtained handle to use the device resource interface.

Parameters:

Name

Description

type Indicates the type of the device resource interface handle to obtain.

Returns:

Returns the device resource interface handle if the operation is successful; returns NULL otherwise.