IOOperation
uint8_t command, IOOperation* operation, bool offsetAsSectors);
struct IOOperation;
IOOperation* operation, bool offsetAsSectors);
typedef struct IOOperation io_operation;
MMCBus::DoIO(uint16_t rca, uint8_t command, IOOperation* operation,
IOOperation* operation,
IOOperation* operation, bool offsetAsSectors)
SdhciBus::DoIO(uint8_t command, IOOperation* operation, bool offsetAsSectors)
do_io(void* controller, uint8_t command, IOOperation* operation,
status_t DoIO(uint8_t command, IOOperation* operation,
IOOperation* operation, bool offsetAsSectors);
mmc_disk_execute_iorequest(void* data, IOOperation* operation)
IOOperation operation;
do_io(void* cookie, IOOperation* operation)
do_io(void* cookie, IOOperation* operation)
usb_disk_do_io(void* cookie, IOOperation* operation)
static status_t usb_disk_do_io(void* cookie, IOOperation* operation);
IOOperation *operation = new(std::nothrow) IOOperation;
status_t _DoIO(IOOperation* operation)
do_io(void* cookie, IOOperation* operation)
BObjectList<Model::IOOperation> operations;
nanotime_t endTime, BObjectList<Model::IOOperation>& operations)
operations.SortItems(Model::IOOperation::CompareByTime);
Model::IOOperation* operation = operations.ItemAt(0);
Model::IOOperation& operation = request->operations[k];
sizeof(IORequest) + operationCount * sizeof(IOOperation));
struct Model::IOOperation {
static inline int CompareByTime(const IOOperation* a,
const IOOperation* b);
IOOperation operations[0];
struct IOOperation;
Model::IOOperation::StartedTime() const
Model::IOOperation::FinishedTime() const
Model::IOOperation::IsFinished() const
Model::IOOperation::Offset() const
Model::IOOperation::Length() const
Model::IOOperation::IsWrite() const
Model::IOOperation::Status() const
Model::IOOperation::BytesTransferred() const
Model::IOOperation::CompareByTime(const IOOperation* a, const IOOperation* b)
while (IOOperation* operation = operations.RemoveHead())
void AddOperation(IOOperation* operation)
IOOperation* FindOperation(void* address) const
IOOperation* operation = it.Next();) {
IOOperation* operation = new(std::nothrow) IOOperation(event);
IOOperation* operation = request->FindOperation(event->operation);
IOOperation* operation = it.Next();) {
Model::IOOperation& modelOperation
struct ModelLoader::IOOperation : DoublyLinkedListLinkImpl<IOOperation> {
IOOperation(io_operation_started* startedEvent)
struct IOOperation;
typedef DoublyLinkedList<ModelLoader::IOOperation> IOOperationList;
IOOperation op;
IORequest(IOOperation op, void* buf, size_t len): state(ioStateInactive),
IORequest* request, IOOperation* operation);
IORequest* request, IOOperation* operation);
IOOperation* operation)
IOOperation* operation)
IOOperation* operation = (IOOperation*)event->GetPointer("operation",
IOCache::OperationCompleted(IOOperation* operation, status_t status,
struct IOCache::Operation : IOOperation {
virtual void OperationCompleted(IOOperation* operation,
IOCallback::DoIO(IOOperation* operation)
virtual status_t DoIO(IOOperation* operation) = 0;
IORequest::OperationFinished(IOOperation* operation)
IORequest::AddOperation(IOOperation* operation)
IORequest::RemoveOperation(IOOperation* operation)
IOOperation::SetStatus(status_t status, generic_size_t completedLength)
IOOperation::Finish()
IOOperation::Prepare(IORequest* request)
IOOperation::SetOriginalRange(off_t offset, generic_size_t length)
IOOperation::SetRange(off_t offset, generic_size_t length)
IOOperation::Offset() const
IOOperation::Length() const
IOOperation::Vecs() const
IOOperation::VecCount() const
IOOperation::SetPartial(bool partialBegin, bool partialEnd)
IOOperation::IsWrite() const
IOOperation::IsRead() const
IOOperation::_PrepareVecs()
IOOperation::_CopyPartialBegin(bool isWrite, bool& singleBlockOnly)
IOOperation::_CopyPartialEnd(bool isWrite)
IOOperation::Dump() const
|| dynamic_cast<IOOperation*>(fChildren.Head()) == NULL);
struct IOOperation : IORequestChunk, DoublyLinkedListLinkImpl<IOOperation> {
typedef IOOperation io_operation;
typedef DoublyLinkedList<IOOperation> IOOperationList;
void OperationFinished(IOOperation* operation);
struct IOOperation;
void AddOperation(IOOperation* operation);
void RemoveOperation(IOOperation* operation);
typedef struct IOOperation io_operation;
virtual void OperationCompleted(IOOperation* operation,
IOOperation* operation = (IOOperation*)parse_expression(argv[1]);
IORequest* request, IOOperation* operation)
IOOperation* operation = NULL);
while (IOOperation* operation = fUnusedOperations.RemoveHead())
IOOperation* operation = new(std::nothrow) IOOperation;
fOperationArray = new(std::nothrow) IOOperation*[count];
IOSchedulerSimple::OperationCompleted(IOOperation* operation, status_t status,
IOOperation* operation = fCompletedOperations.RemoveHead();
IOOperation* operation = fUnusedOperations.RemoveHead();
IOOperation* operation = fUnusedOperations.RemoveHead();
inline bool operator()(const IOOperation* a, const IOOperation* b)
while (IOOperation* operation = operations.RemoveHead())
IOOperation* operation = sortedOperations.Head();
IOOperation* nextOperation = sortedOperations.GetNext(operation);
while (IOOperation* operation = owner->operations.RemoveHead()) {
while (IOOperation* operation = operations.RemoveHead()) {
IOOperation* operation = it.Next();) {
virtual void OperationCompleted(IOOperation* operation,
IOOperation** fOperationArray;
DMAResource::TranslateNext(IORequest* request, IOOperation* operation,
IOOperation* operation,
struct IOOperation;
do_io(void* data, IOOperation* operation)
Test::_DoIO(IOOperation& operation)
IOOperation operation;
status_t _DoIO(IOOperation& operation);
static status_t _DoIOEntry(void* data, IOOperation* operation)
status_t _DoIO(IOOperation* operation)