# osal\_firmware.h ## **Overview** **Related Modules:** [OSAL](OSAL.md) **Description:** Declares firmware structures and interfaces. This file provides operations such as requesting and reading a firmware file, setting the offset for reading a firmware file, and releasing a firmware file. The firmware file can be read in split mode. The size of the firmware block to read each time is defined by the macro **HDF\_FW\_BLOCK\_SIZE**. The firmware file is requested by calling [OsalRequestFirmware](OSAL.md#ga428b9de7fb95a20ab9e25b47a7d4272c), the firmware block is read from the firmware file by calling [OsalReadFirmware](OSAL.md#ga2b721d36c177786841cd05cecdb01034), and the firmware block can also be randomly read at a specified position by calling [OsalSeekFirmware](OSAL.md#ga41ae4dade9246f3b30efd276cbd43474). **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Data Structures

Data Structure Name

Description

OsalFirmware

Defines the data structure for operating a firmware file.

OsalFwBlock

Defines the data structure for reading a firmware file.

## Functions

Function Name

Description

OsalRequestFirmware (struct OsalFirmware *fw, const char *fwName, void *device)

int32_t 

Requests a firmware file based on its name and device information.

OsalSeekFirmware (struct OsalFirmware *fw, uint32_t offset)

int32_t 

Reads a firmware file.

OsalReadFirmware (struct OsalFirmware *fw, struct OsalFwBlock *block)

int32_t 

Releases a firmware file.

OsalReleaseFirmware (struct OsalFirmware *fw)

int32_t