h6. [[Programmer's Reference Manuals]] h6(. » [[Service Calls|Part 16 – Service Calls]] h6((. » [[Service_USB]] h6(((. » USB Service Call Block h2. USB Service Call Block |_<^{width:4em}. Offset |_<^. Contents | |>^. +0|<^. Sum length of the block including the appended descriptors | |>^. +2|<^. Offset to the descriptors | |>^. +4|<^. Device name as appears in DeviceFS, NULL terminated | |>^. +24|<^. Bus number, 0-255 | |>^. +25|<^. USB address, 1-127 | |>^. +26|<^. USB address of upstream port 0-127 | |>^. +27|<^. Port on host address | |>^. +28|<^. Device speed (1=low, 2=full, 3=high, 4=super) | |>^. +29|<^. Reserved | |>^. +30|<^. Reserved | |>^. +31|<^. Reserved | |>^. +n|<^. Device descriptors per "USB specification":http://www.usb.org/| h4. Notes A USB device is completely described by the block (or list of blocks) pointed to by R2 in the USB service calls. The block includes a copy of the device descriptor, followed immediately by zero or more descriptors. A length byte of zero marks the end of the block, which is then padded with zeros to achieve word alignment. Prior to USBDriver 0.27 the speed value at +28 was 0's based. Do not use or support this old scheme. h4. See also * [[Service Calls]] * [[Service_USB]]