public TS_URB_SELECT_INTERFACE(uint requestId, byte noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_SELECT_INTERFACE;
     header.RequestId = requestId;
     header.NoAck = noAck;
 }
 public TS_URB_CONTROL_DESCRIPTOR_REQUEST()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }
        /// <summary>
        /// The Constructor function of TS_URB_CONTROL_TRANSFER_EX
        /// </summary>
        public TS_URB_CONTROL_TRANSFER_EX()
        {
            header = new TS_URB_HEADER();
            header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_CONTROL_TRANSFER_EX;
            header.RequestId = 0;
            header.NoAck = (byte)0;

            setupPacket = new byte[PACKET_SIZE];
        }
 public TS_URB_CONTROL_VENDOR_OR_CLASS_REQUEST(uint requestId, byte noAck, URB_FUNCTIONID functionId)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = functionId;
     header.RequestId = requestId;
     header.NoAck = noAck;
 }
 public TS_URB_CONTROL_GET_CONFIGURATION_REQUEST(uint requestId, byte noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_CONFIGURATION;
     header.RequestId = requestId;
     header.NoAck = noAck;
     header.Size = 8;
 }
 /// <summary>
 /// The Constructor function of TS_URB_CONTROL_GET_STATUS_REQUEST
 /// </summary>
 public TS_URB_CONTROL_GET_STATUS_REQUEST()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_STATUS_FROM_DEVICE;
     header.RequestId = 0;
     header.NoAck = (byte)0;
     header.Size = 12;
 }
 public TS_URB_ISOCH_TRANSFER(uint requestId, bool noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_ISOCH_TRANSFER;
     header.RequestId = requestId;
     header.NoAck = (byte)(noAck ? 1 : 0);
 }
 public TS_URB_CONTROL_FEATURE_REQUEST(uint requestId, bool noAck, URB_FUNCTIONID functionId)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = functionId;
     header.RequestId = requestId;
     header.NoAck = (byte)(noAck ? 1 : 0);
 }
 public TS_URB_BULK_OR_INTERRUPT_TRANSFER(uint requestId, byte noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER;
     header.RequestId = requestId;
     header.NoAck = noAck;
 }
 /// <summary>
 /// The Constructor function of TS_URB_ISOCH_TRANSFER
 /// </summary>
 public TS_URB_ISOCH_TRANSFER()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_ISOCH_TRANSFER;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }
 public TS_URB_GET_CURRENT_FRAME_NUMBER(uint requestId, byte noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_CURRENT_FRAME_NUMBER;
     header.RequestId = requestId;
     header.NoAck = noAck;
     header.Size = 8;
 }
 /// <summary>
 /// The Constructor function of TS_URB_GET_CURRENT_FRAME_NUMBER
 /// </summary>
 public TS_URB_GET_CURRENT_FRAME_NUMBER()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_CURRENT_FRAME_NUMBER;
     header.RequestId = 0;
     header.NoAck = (byte)0;
     header.Size = 8;
 }
 /// <summary>
 /// The Constructor function of TS_URB_BULK_OR_INTERRUPT_TRANSFER
 /// </summary>
 public TS_URB_BULK_OR_INTERRUPT_TRANSFER()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }
 public TS_URB()
 {
     header = new TS_URB_HEADER();
 }
 public TS_URB_OS_FEATURE_DESCRIPTOR_REQUEST(uint requestId, byte noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR;
     header.RequestId = requestId;
     header.NoAck = noAck;
     header.Size = 16;
     padding2 = new byte[PADDING_SIZE];
 }
 /// <summary>
 /// The Constructor function of TS_URB_CONTROL_FEATURE_REQUEST
 /// </summary>
 public TS_URB_CONTROL_FEATURE_REQUEST()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }
 /// <summary>
 /// The Constructor function of TS_URB_PIPE_REQUEST
 /// </summary>
 public TS_URB_PIPE_REQUEST()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_SYNC_RESET_PIPE;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }
 /// <summary>
 /// The Constructor function of TS_URB_CONTROL_GET_CONFIGURATION_REQUEST
 /// </summary>
 public TS_URB_CONTROL_GET_CONFIGURATION_REQUEST()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_CONFIGURATION;
     header.RequestId = 0;
     header.NoAck = (byte)0;
     header.Size = 8;
 }
 public TS_URB_PIPE_REQUEST(uint requestId, byte noAck, URB_FUNCTIONID functionId)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = functionId;
     header.RequestId = requestId;
     header.NoAck = noAck;
 }
 public TS_URB_CONTROL_GET_INTERFACE_REQUEST(uint requestId, byte noAck)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_GET_INTERFACE;
     header.RequestId = requestId;
     header.NoAck = noAck;
     header.Size = 12;
 }
        public TS_URB_SELECT_CONFIGURATION(uint requestId, byte noAck)
        {
            header = new TS_URB_HEADER();
            header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_SELECT_CONFIGURATION;
            header.RequestId = requestId;
            header.NoAck = noAck;

            padding = new byte[PADDING_SIZE];
            for (int i = 0; i < PADDING_SIZE; i++)
            {
                padding[i] = 0;
            }
        }
 public TS_URB_CONTROL_GET_STATUS_REQUEST(uint requestId, byte noAck, URB_FUNCTIONID functionId)
 {
     header = new TS_URB_HEADER();
     header.URB_Function = functionId;
     header.RequestId = requestId;
     header.NoAck = noAck;
     header.Size = 12;
 }
 /// <summary>
 /// The Constructor function of TS_URB_SELECT_INTERFACE
 /// </summary>
 public TS_URB_SELECT_INTERFACE()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_SELECT_INTERFACE;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }
        public TS_URB_CONTROL_TRANSFER_EX(uint requestId, bool noAck)
        {
            header = new TS_URB_HEADER();
            header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_CONTROL_TRANSFER_EX;
            header.RequestId = requestId;
            header.NoAck = (byte)(noAck ? 1 : 0);

            setupPacket = new byte[PACKET_SIZE];
        }
 /// <summary>
 /// The Constructor function of TS_URB_CONTROL_VENDOR_OR_CLASS_REQUEST
 /// </summary>
 public TS_URB_CONTROL_VENDOR_OR_CLASS_REQUEST()
 {
     header = new TS_URB_HEADER();
     header.URB_Function = URB_FUNCTIONID.URB_FUNCTION_VENDOR_DEVICE;
     header.RequestId = 0;
     header.NoAck = (byte)0;
 }