#include <IOKit/IOCommandPool.h>

IOKit/IOCommandPool.h Kernel.framework

@header IOCommandPool @abstract This header contains the IOCommandPool class definition.
1 class

classIOCommandPool

: public OSObject
queue_head_tfQueueHeadhead of the queue of elements available
UInt32fSleepersCount of threads sleeping on this pool
OSPtr<IOCommandGate>fSerializercommand gate used for serializing pool access
ExpansionData *reserved
APPLE_KEXT_OVERRIDE
virtual void free(void)
virtual protected
virtual bool initWithWorkLoop(IOWorkLoop *workLoop)virtual
@function initWithWorkLoop @abstract Primary initializer for an IOCommandPool object. @discussion Primary initializer for an IOCommandPool. Should probably use IOCommandPool::withWorkLoop() as it is easier to use. @param workLoop The workloop that this command pool should synchronize with. @result Returns true if command pool was successfully initialized.
static OSPtr<IOCommandPool> withWorkLoop(IOWorkLoop *inWorkLoop)static
virtual bool init(
	IOService *inOwner,
	IOWorkLoop *inWorkLoop,
	UInt32 inSize = kIOCommandPoolDefaultSize
)
virtual
@function init @abstract Should never be used, obsolete. See initWithWorkLoop.
static OSPtr<IOCommandPool> commandPool(
	IOService *inOwner,
	IOWorkLoop *inWorkLoop,
	UInt32 inSize = kIOCommandPoolDefaultSize
)
static
@function withWorkLoop @abstract Should never be used, obsolete. See IOCommandPool::withWorkLoop.
virtual OSPtr<IOCommand> getCommand(bool blockForCommand = true)virtual
virtual void returnCommand(LIBKERN_CONSUMED IOCommand *command)virtual
virtual IOReturn gatedGetCommand(
	LIBKERN_RETURNS_NOT_RETAINED IOCommand **command,
	bool blockForCommand
)
virtual protected
@function gatedGetCommand @discussion The gatedGetCommand method is used to serialize the extraction of a command from the pool behind a command gate, runAction-ed by getCommand. @param command A pointer to a pointer to an IOCommand object where the returned command will be stored. @param blockForCommand A bool that indicates whether to block the request until a command becomes available. @result Returns kIOReturnNoResources if no command is available and the client doesn't wish to block until one does become available. kIOReturnSuccess if the vCommand argument is valid.
virtual IOReturn gatedReturnCommand(IOCommand *command)virtual protected
@function gatedReturnCommand @discussion The gatedReturnCommand method is used to serialize the return of a command to the pool behind a command gate, runAction-ed by returnCommand. @param command A pointer to the IOCommand object to be returned to the pool. @result Always returns kIOReturnSuccess if the vCommand argument is valid.