| #ifndef _IPXE_PENDING_H | |
| #define _IPXE_PENDING_H | |
| /** @file | |
| * | |
| * Pending operations | |
| * | |
| */ | |
| FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); | |
| FILE_SECBOOT ( PERMITTED ); | |
| /** 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 */ |