#NEWLINE# def ctrl_transfer( self , dev_handle , bmRequestType , bRequest , wValue , wIndex , data , timeout ) : #NEWLINE# #INDENT# 'Perform a control transfer on the endpoint 0.\n\n        The direction of the transfer is inferred from the bmRequestType\n        field of the setup packet.\n\n        dev_handle is the value returned by the open_device() method.\n        bmRequestType, bRequest, wValue and wIndex are the same fields\n        of the setup packet. data is an array object, for OUT requests\n        it contains the bytes to transmit in the data stage and for\n        IN requests it is the buffer to hold the data read. The number\n        of bytes requested to transmit or receive is equal to the length\n        of the array times the data.itemsize field. The timeout parameter\n        specifies a time limit to the operation in miliseconds.\n\n        Return the number of bytes written (for OUT transfers) or the data\n        read (for IN transfers), as an array.array object.\n        ' #NEWLINE# _not_implemented ( bRequest . ctrl_transfer )