ISO_ADV_PARAMS

CYUSB3

ISO_ADV_PARAMS

Top Previous Next

Header

cyioctl.h

 

 

Description

 

ISO_ADV_PARAMS is part of the a SINGLE_TRANSFER structure. It contains advanced parameters for Isochronous endpoint transfers when sending the IOCTL_ADAPT_SEND_NON_EP0_TRANSFER and IOCTL_ADAPT_SEND_NON_EP0_DIRECT commands.

 

The structure is defined as:

typedef struct  _ISO_ADV_PARAMS{

USHORT isoId;

USHORT isoCmd;

ULONG ulParam1;

ULONG ulParam2;

                                          } ISO_ADV_PARAMS, *PISO_ADV_PARAMS; 

 

Defines

 

#define USB_ISO_ID                     0x4945

#define USB_ISO_CMD_ASAP               0x8000

#define USB_ISO_CMD_CURRENT_FRAME      0x8001

#define USB_ISO_CMD_SET_FRAME          0x8002

 

 

Members

 

 

isoId

 ISO_ADV_PARAMS structure identifier must be set to USB_ISO_ID.

isoCmd

 Specifies one of the following types of Isoch transfers:

 

USB_ISO_CMD_ASAP

If no transfers have been submitted to the pipe since the pipe was opened or last reset, the transfer to begin on the next frame. Otherwise, the transfer will begin on the first frame following all currently queued requests for the pipe.

 

USB_ISO_CMD_CURRENT_FRAME

Causes the transfer to begin on the current frame number obtained from the host controller driver, plus an optional offset specified in the ulParam1 field.

 

USB_ISO_CMD_SET_FRAME

Causes the transfer to begin on the frame number specified in the ulParam1 field.

 

ulParam1 

If isoCMD is set to USB_ISO_CMD_ASAP, when the request is returned by the driver this field will contain the frame number that the transfer began on.

 

If isoCMD is set to USB_ISO_CMD_CURRENT_FRAME, this field contains the offset from the current frame number that this transfer will begin on.

 

If isoCMD is set to USB_ISO_CMD_SET_FRAME, this field contains the frame number that this transfer will begin on. 

 

ulParam2 

Reserved. Must be set to 0.