hdf_workqueue.h

Overview

Related Modules:

DriverUtils

Description:

Declares work queue structures and interfaces.

This file provides interfaces such as initializing a work queue, a work item, and a delayed work item, adding a work or delayed work item to a work queue, and destroying a work queue, a work item, and a delayed work item. You need to define a work queue, a work item, and a delayed work item, and then call the initialization function to initialize them. The work item, delayed work item, and work queue must be destroyed when they are no longer used.

Since:

1.0

Version:

1.0

Summary

Data Structures

Data Structure Name Description
HdfWork Describes a work item and a delayed work item. This structure defines the work and delayed work items, and then calls the initialization function HdfWorkInit or HdfDelayedWorkInit to perform initialization. The HdfAddWork() function is to add a work item to a work queue immediately, and the HdfAddDelayedWork() function is to add a work item to a work queue after the configured delayed time.
HdfWorkQueue Describes a work queue.

Typedefs

Typedef Name Description
HdfWorkFunc) (void ) typedef void( Describes a work execution function type.

Enumerations

Enumeration Name Description
{ HDF_WORK_BUSY_PENDING = 1 << 0, HDF_WORK_BUSY_RUNNING = 1 << 1 } Enumerates statuses of a work item or a delayed work item.

Functions

Function Name Description
HdfWorkQueueInit (HdfWorkQueue queue, char name) int32_t Initializes a work queue.
HdfWorkInit (HdfWork work, HdfWorkFunc func, void arg) int32_t Initializes a work item.
HdfDelayedWorkInit (HdfWork work, HdfWorkFunc func, void arg) int32_t Initializes a delayed work item.
HdfWorkDestroy (HdfWork work) void Destroys a work item.
HdfWorkQueueDestroy (HdfWorkQueue queue) void Destroys a work queue.
HdfDelayedWorkDestroy (HdfWork work) void Destroys a delayed work item.
HdfAddWork (HdfWorkQueue queue, HdfWork work) bool Adds a work item to a work queue.
HdfAddDelayedWork (HdfWorkQueue queue, HdfWork work, unsigned long ms) bool Adds a delayed work item to a work queue.
HdfWorkBusy (HdfWork work) unsigned int Obtains the status of a work item or delayed work item.
HdfCancelWorkSync (HdfWork work) bool Cancels a work item. This function waits until the work item is complete.
HdfCancelDelayedWorkSync (HdfWork work) bool Cancels a delayed work item.