ohci_isochronous_td
ohci_endpoint_descriptor *endpoint, ohci_isochronous_td *firstDescriptor,
ohci_isochronous_td *lastDescriptor, bool directionIn)
ohci_isochronous_td *descriptor
= (ohci_isochronous_td *)transfer->first_descriptor;
if (descriptor == (ohci_isochronous_td*)transfer->last_descriptor) {
descriptor = (ohci_isochronous_td *)transfer->first_descriptor;
= (ohci_isochronous_td *)descriptor->next_done_descriptor;
if (descriptor == (ohci_isochronous_td*)transfer->last_descriptor)
= (ohci_isochronous_td *)descriptor->next_done_descriptor;
(ohci_isochronous_td*)transfer->data_descriptor,
(ohci_isochronous_td*)transfer->first_descriptor);
ohci_isochronous_td *firstDescriptor = NULL;
ohci_isochronous_td *lastDescriptor = NULL;
ohci_isochronous_td *first, ohci_isochronous_td *last)
ohci_isochronous_td *tail
= (ohci_isochronous_td*)endpoint->tail_logical_descriptor;
ohci_isochronous_td *tail = _CreateIsochronousDescriptor(0);
ohci_isochronous_td *
ohci_isochronous_td *descriptor = NULL;
sizeof(ohci_isochronous_td)) != B_OK) {
sizeof(ohci_isochronous_td));
OHCI::_FreeIsochronousDescriptor(ohci_isochronous_td *descriptor)
OHCI::_CreateIsochronousDescriptorChain(ohci_isochronous_td **_firstDescriptor,
ohci_isochronous_td **_lastDescriptor, Transfer *transfer)
ohci_isochronous_td *firstDescriptor = NULL;
ohci_isochronous_td *lastDescriptor = *_firstDescriptor;
ohci_isochronous_td *descriptor = _CreateIsochronousDescriptor(
OHCI::_FreeIsochronousDescriptorChain(ohci_isochronous_td *topDescriptor)
ohci_isochronous_td *current = topDescriptor;
ohci_isochronous_td *next = NULL;
next = (ohci_isochronous_td *)current->next_done_descriptor;
OHCI::_WriteIsochronousDescriptorChain(ohci_isochronous_td *topDescriptor,
ohci_isochronous_td *current = topDescriptor;
current = (ohci_isochronous_td *)current->next_logical_descriptor;
OHCI::_ReadIsochronousDescriptorChain(ohci_isochronous_td *topDescriptor,
ohci_isochronous_td *current = topDescriptor;
current = (ohci_isochronous_td *)current->next_done_descriptor;
OHCI::_LinkIsochronousDescriptors(ohci_isochronous_td *first,
ohci_isochronous_td *second, ohci_isochronous_td *nextDone)
OHCI::_PrintDescriptorChain(ohci_isochronous_td *topDescriptor)
topDescriptor = (ohci_isochronous_td *)topDescriptor->next_done_descriptor;
ohci_isochronous_td *descriptor
= (ohci_isochronous_td *)current->first_descriptor;
== (ohci_isochronous_td*)current->last_descriptor)
= (ohci_isochronous_td *)
ohci_isochronous_td * _CreateIsochronousDescriptor(
ohci_isochronous_td *descriptor);
ohci_isochronous_td **firstDescriptor,
ohci_isochronous_td **lastDescriptor,
ohci_isochronous_td *topDescriptor);
ohci_isochronous_td *topDescriptor,
ohci_isochronous_td *topDescriptor,
ohci_isochronous_td *first,
ohci_isochronous_td *second,
ohci_isochronous_td *nextDone);
ohci_isochronous_td *topDescriptor);
ohci_isochronous_td *firstDescriptor,
ohci_isochronous_td *lastDescriptor,
ohci_isochronous_td *first,
ohci_isochronous_td *last);