43 lines
818 B
C
43 lines
818 B
C
#ifndef _IPXE_PENDING_H
|
|
#define _IPXE_PENDING_H
|
|
|
|
/** @file
|
|
*
|
|
* Pending operations
|
|
*
|
|
*/
|
|
|
|
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|
|
|
/** A pending operation */
|
|
struct pending_operation {
|
|
/** Pending count */
|
|
unsigned int count;
|
|
};
|
|
|
|
/**
|
|
* Check if an operation is pending
|
|
*
|
|
* @v pending Pending operation
|
|
* @ret is_pending Operation is pending
|
|
*/
|
|
static inline int is_pending ( struct pending_operation *pending ) {
|
|
return ( pending->count != 0 );
|
|
}
|
|
|
|
extern int pending_total;
|
|
|
|
/**
|
|
* Check if any operations are pending
|
|
*
|
|
* @ret have_pending Some operations are pending
|
|
*/
|
|
static inline int have_pending ( void ) {
|
|
return ( pending_total != 0 );
|
|
}
|
|
|
|
extern void pending_get ( struct pending_operation *pending );
|
|
extern void pending_put ( struct pending_operation *pending );
|
|
|
|
#endif /* _IPXE_PENDING_H */
|