# osal\_firmware.h - [Overview](#section1066745201165628) - [Summary](#section588592143165628) - [Data Structures](#nested-classes) - [Functions](#func-members) ## **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

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