# hdf\_base.h - [Overview](#section991522040165627) - [Summary](#section61551012165627) - [Macros](#define-members) - [Enumerations](#enum-members) - [Details](#section1736172822165627) - [Macro Definition](#section1005496255165627) - [HDF\_BSP\_ERR\_NUM](#a4891335de9aeb07e88903a5e2931002e) - [HDF\_BSP\_ERR\_START](#aa6370acad4a8ca2031370c833f2ff51f) - [HDF\_DEV\_ERR\_NUM](#a6d41cf53f1ba974869f4d992563e413b) - [HDF\_DEV\_ERR\_START](#afdce96b5c938acadb74cdcb09d53cfaf) ## **Overview** **Related Modules:** [DriverUtils](DriverUtils.md) **Description:** Declares driver common types, including the enumerated values returned by the function and the macro for obtaining the array size. **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Macros

Macro Name and Value

Description

HDF_BSP_ERR_START (-100)

 

HDF_BSP_ERR_NUM(v) (HDF_BSP_ERR_START + (v))

 

HDF_DEV_ERR_START (-200)

 

HDF_DEV_ERR_NUM(v) (HDF_DEV_ERR_START + (v))

 

HDF_WAIT_FOREVER 0xFFFFFFFF

Indicates that the function keeps waiting to obtain a semaphore or mutex.

HDF_ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))

Defines the array size.

HDF_KILO_UNIT 1000

Defines a time conversion unit, for example, the unit for converting from second to millisecond.

## Enumerations

Enumeration Name

Description

HDF_STATUS { HDF_SUCCESS = 0, HDF_FAILURE = -1, HDF_ERR_NOT_SUPPORT = -2, HDF_ERR_INVALID_PARAM = -3, HDF_ERR_INVALID_OBJECT = -4, HDF_ERR_MALLOC_FAIL = -6, HDF_ERR_TIMEOUT = -7, HDF_ERR_THREAD_CREATE_FAIL = -10, HDF_ERR_QUEUE_FULL = -15, HDF_ERR_DEVICE_BUSY = -16, HDF_ERR_IO = -17, HDF_ERR_BAD_FD = -18, HDF_BSP_ERR_OP = HDF_BSP_ERR_NUM(-1), HDF_ERR_BSP_PLT_API_ERR = HDF_BSP_ERR_NUM(-2), HDF_PAL_ERR_DEV_CREATE = HDF_BSP_ERR_NUM(-3), HDF_PAL_ERR_INNER = HDF_BSP_ERR_NUM(-4), HDF_DEV_ERR_NO_MEMORY = HDF_DEV_ERR_NUM(-1), HDF_DEV_ERR_NO_DEVICE = HDF_DEV_ERR_NUM(-2), HDF_DEV_ERR_NO_DEVICE_SERVICE = HDF_DEV_ERR_NUM(-3), HDF_DEV_ERR_DEV_INIT_FAIL = HDF_DEV_ERR_NUM(-4), HDF_DEV_ERR_PUBLISH_FAIL = HDF_DEV_ERR_NUM(-5), HDF_DEV_ERR_ATTACHDEV_FAIL = HDF_DEV_ERR_NUM(-6), HDF_DEV_ERR_NODATA = HDF_DEV_ERR_NUM(-7), HDF_DEV_ERR_NORANGE = HDF_DEV_ERR_NUM(-8), HDF_DEV_ERR_OP = HDF_DEV_ERR_NUM(-10) }

Enumerates HDF return value types.

## **Details** ## **Macro Definition ** ## HDF\_BSP\_ERR\_NUM ``` #define HDF_BSP_ERR_NUM( v) ([HDF_BSP_ERR_START](hdf_base-h.md#aa6370acad4a8ca2031370c833f2ff51f) + (v)) ``` **Description:** Defines the BSP module error codes. ## HDF\_BSP\_ERR\_START ``` #define HDF_BSP_ERR_START (-100) ``` **Description:** Defines the start of the Board Support Package \(BSP\) module error codes. ## HDF\_DEV\_ERR\_NUM ``` #define HDF_DEV_ERR_NUM( v) ([HDF_DEV_ERR_START](hdf_base-h.md#afdce96b5c938acadb74cdcb09d53cfaf) + (v)) ``` **Description:** Defines the device module error codes. ## HDF\_DEV\_ERR\_START ``` #define HDF_DEV_ERR_START (-200) ``` **Description:** Defines the start of the device module error codes.