![]() |
PATH![]() |
This section lists the isochronous version 1.1 USBPB parameter block, and discusses things to be aware of when using the isochronous variant of the USBPB .
The isochronous version 1.1 USBPB structure is defined as:
struct USBIsocFrame {
OSStatus frStatus; /* Frame status information */
UInt16 frReqCount; /* Bytes to transfer */
UInt16 frActCount; /* Actual bytes transferred */
};
struct usbIsocBits {
USBIsocFrame *FrameList;
UInt32 NumFrames;
};
struct usbControlBits {
UInt8 BMRequestType; /* For control transactions */
UInt8 BRequest; /* Specific control request */
USBRqValue WValue; /* For control transactions, the */
/* value field of the setup packet */
USBRqIndex WIndex; /* For control transactions, the */
/* value field of the setup packet */
UInt16 reserved4; /* Reserved */
};
struct USBPB{
void *qlink;
UInt16 qType;
UInt16 pbLength;
/* Length of parameter block */
UInt16 pbVersion;
/* Parameter block version number */
/* kUSBIsocPBVersion for iscohronous */
 
/* version 1.1 USBPB */
UInt16 reserved1;
/* Reserved */
UInt32 reserved2;
/* Reserved */
OSStatus usbStatus;
/* Completion status of the call */
USBCompletion usbCompletion; /* Completion routine */
UInt32 usbRefcon;
/* For use by the completion routine */
USBReference usbReference;
/* Device, pipe, interface, endpoint */
/* reference as appropriate */
void *usbBuffer;
/* Pointer to the data to be sent */
/* to or received from the device */
USBCount usbReqCount;
/* Length of usbBuffer */
USBCount usbActCount;
/* Number of bytes sent or received */
USBFlags usbFlags;
/* Miscellaneous flags */
UInt32 usbFrame;
/* Start frame of transfer */
union{
usbControlBits cntl;
/* usbControlBits struct */
/* used for control transactions */
usbIsocBits isoc;
/* usbIsocBits frames structure */
}usb;
UInt8 usbClassType;
/* Class for interfaces, */
/* transfer type for endpoints */
UInt8 usbSubclass;
/* Subclass for interfaces */
UInt8 usbProtocol;
/* Protocol for interfaces */
UInt8 usbOther;
/* General purpose value */
UInt32 reserved6;
/* Reserved */
UInt16 reserved7;
/* Reserved */
UInt16 reserved8;
/* Reserved */
Previous | Back Up One Level | Next |