Searched refs:IODataQueue (Results 1 - 4 of 4) sorted by relevance

/macosx-10.5.8/xnu-1228.15.4/iokit/Kernel/
H A DIODataQueue.cpp29 #include <IOKit/IODataQueue.h>
44 OSDefineMetaClassAndStructors(IODataQueue, OSObject)
46 IODataQueue *IODataQueue::withCapacity(UInt32 size)
48 IODataQueue *dataQueue = new IODataQueue;
60 IODataQueue *IODataQueue::withEntries(UInt32 numEntries, UInt32 entrySize)
62 IODataQueue *dataQueue = new IODataQueue;
[all...]
H A DIOSharedDataQueue.cpp38 #define super IODataQueue
40 OSDefineMetaClassAndStructors(IOSharedDataQueue, IODataQueue)
/macosx-10.5.8/xnu-1228.15.4/iokit/IOKit/
H A DIODataQueue.h45 * @class IODataQueue : public OSObject
47 * @discussion The IODataQueue class is designed to allow kernel code to queue data to a user process. IODataQueue objects are designed to be used in a single producer / single consumer situation. As such, there are no locks on the data itself. Because the kernel enqueue and user-space dequeue methods follow a strict set of guidelines, no locks are necessary to maintain the integrity of the data struct.
51 * <br>In order for the IODataQueue instance to notify the user process that data is available, a notification mach port must be set. When the queue is empty and a new entry is added, a message is sent to the specified port.
57 class IODataQueue : public OSObject class in inherits:OSObject
59 OSDeclareDefaultStructors(IODataQueue)
78 * @abstract Static method that creates a new IODataQueue instance with the capacity specified in the size parameter.
79 * @discussion The actual size of the entire data queue memory region (to be shared into a user process) is equal to the capacity plus the IODataQueueMemory overhead. This overhead value can be determined from the DATA_QUEUE_MEMORY_HEADER_SIZE macro in <IOKit/IODataQueueShared.h>. The size of the data queue memory region must include space for the overhead of each IODataQueueEntry. This entry overhead can be determined from the DATA_QUEUE_ENTRY_HEADER_SIZE macro in <IOKit/IODataQueueShared.h>.<br> This method allocates a new IODataQueue instance and then calls initWithCapacity() with the given size parameter. If the initWithCapacity() fails, the new instance is released and zero is returned.
81 * @result Returns the newly allocated IODataQueue instance. Zero is returned on failure.
83 static IODataQueue *withCapacit
[all...]
H A DIOSharedDataQueue.h36 #include <IOKit/IODataQueue.h>
41 * @class IOSharedDataQueue : public IODataQueue
47 * <br>In order for the IODataQueue instance to notify the user process that data is available, a notification mach port must be set. When the queue is empty and a new entry is added, a message is sent to the specified port.
51 class IOSharedDataQueue : public IODataQueue
68 * @discussion The actual size of the entire data queue memory region (to be shared into a user process) is equal to the capacity plus the IODataQueueMemory overhead. This overhead value can be determined from the DATA_QUEUE_MEMORY_HEADER_SIZE macro in <IOKit/IODataQueueShared.h>. The size of the data queue memory region must include space for the overhead of each IODataQueueEntry. This entry overhead can be determined from the DATA_QUEUE_ENTRY_HEADER_SIZE macro in <IOKit/IODataQueueShared.h>.<br> This method allocates a new IODataQueue instance and then calls initWithCapacity() with the given size parameter. If the initWithCapacity() fails, the new instance is released and zero is returned.
77 * @discussion This method will create a new IOSharedDataQueue instance with enough capacity for numEntries of entrySize. It does account for the IODataQueueEntry overhead for each entry. Note that the numEntries and entrySize are simply used to determine the data region size. They do not actually restrict the size of number of entries that can be added to the queue.<br> This method allocates a new IODataQueue instance and then calls initWithEntries() with the given numEntries and entrySize parameters. If the initWithEntries() fails, the new instance is released and zero is returned.

Completed in 27 milliseconds