sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}(hhparenthuba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget&/translations/zh_CN/usb/usbip_protocolmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}(hhhh2ubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/zh_TW/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}(hhhhFubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/it_IT/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}(hhhhZubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/ja_JP/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}(hhhhnubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/ko_KR/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}(hhhhubah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/sp_SP/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hUSB/IP protocolh]hUSB/IP protocol}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh@/var/lib/git/docbuild/linux/Documentation/usb/usbip_protocol.rsthKubh)}(hhh](h)}(h Architectureh]h Architecture}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hThe USB/IP protocol follows a server/client architecture. The server exports the USB devices and the clients import them. The device driver for the exported USB device runs on the client machine.h]hThe USB/IP protocol follows a server/client architecture. The server exports the USB devices and the clients import them. The device driver for the exported USB device runs on the client machine.}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXThe client may ask for the list of the exported USB devices. To get the list the client opens a TCP/IP connection to the server, and sends an OP_REQ_DEVLIST packet on top of the TCP/IP connection (so the actual OP_REQ_DEVLIST may be sent in one or more pieces at the low level transport layer). The server sends back the OP_REP_DEVLIST packet which lists the exported USB devices. Finally the TCP/IP connection is closed.h]hXThe client may ask for the list of the exported USB devices. To get the list the client opens a TCP/IP connection to the server, and sends an OP_REQ_DEVLIST packet on top of the TCP/IP connection (so the actual OP_REQ_DEVLIST may be sent in one or more pieces at the low level transport layer). The server sends back the OP_REP_DEVLIST packet which lists the exported USB devices. Finally the TCP/IP connection is closed.}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh literal_block)}(hXuvirtual host controller usb host "client" "server" (imports USB devices) (exports USB devices) | | | OP_REQ_DEVLIST | | ----------------------------------------------> | | | | OP_REP_DEVLIST | | <---------------------------------------------- | | |h]hXuvirtual host controller usb host "client" "server" (imports USB devices) (exports USB devices) | | | OP_REQ_DEVLIST | | ----------------------------------------------> | | | | OP_REP_DEVLIST | | <---------------------------------------------- | | |}(hhhhubah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhKhhhhubh)}(hXLOnce the client knows the list of exported USB devices it may decide to use one of them. First the client opens a TCP/IP connection to the server and sends an OP_REQ_IMPORT packet. The server replies with OP_REP_IMPORT. If the import was successful the TCP/IP connection remains open and will be used to transfer the URB traffic between the client and the server. The client may send two types of packets: the USBIP_CMD_SUBMIT to submit an URB, and USBIP_CMD_UNLINK to unlink a previously submitted URB. The answers of the server may be USBIP_RET_SUBMIT and USBIP_RET_UNLINK respectively.h]hXLOnce the client knows the list of exported USB devices it may decide to use one of them. First the client opens a TCP/IP connection to the server and sends an OP_REQ_IMPORT packet. The server replies with OP_REP_IMPORT. If the import was successful the TCP/IP connection remains open and will be used to transfer the URB traffic between the client and the server. The client may send two types of packets: the USBIP_CMD_SUBMIT to submit an URB, and USBIP_CMD_UNLINK to unlink a previously submitted URB. The answers of the server may be USBIP_RET_SUBMIT and USBIP_RET_UNLINK respectively.}(hhhhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hX virtual host controller usb host "client" "server" (imports USB devices) (exports USB devices) | | | OP_REQ_IMPORT | | ----------------------------------------------> | | | | OP_REP_IMPORT | | <---------------------------------------------- | | | | | | USBIP_CMD_SUBMIT(seqnum = n) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = n) | | <---------------------------------------------- | | . | | : | | | | USBIP_CMD_SUBMIT(seqnum = m) | | ----------------------------------------------> | | | | USBIP_CMD_SUBMIT(seqnum = m+1) | | ----------------------------------------------> | | | | USBIP_CMD_SUBMIT(seqnum = m+2) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = m) | | <---------------------------------------------- | | | | USBIP_CMD_SUBMIT(seqnum = m+3) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = m+1) | | <---------------------------------------------- | | | | USBIP_CMD_SUBMIT(seqnum = m+4) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = m+2) | | <---------------------------------------------- | | . | | : |h]hX virtual host controller usb host "client" "server" (imports USB devices) (exports USB devices) | | | OP_REQ_IMPORT | | ----------------------------------------------> | | | | OP_REP_IMPORT | | <---------------------------------------------- | | | | | | USBIP_CMD_SUBMIT(seqnum = n) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = n) | | <---------------------------------------------- | | . | | : | | | | USBIP_CMD_SUBMIT(seqnum = m) | | ----------------------------------------------> | | | | USBIP_CMD_SUBMIT(seqnum = m+1) | | ----------------------------------------------> | | | | USBIP_CMD_SUBMIT(seqnum = m+2) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = m) | | <---------------------------------------------- | | | | USBIP_CMD_SUBMIT(seqnum = m+3) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = m+1) | | <---------------------------------------------- | | | | USBIP_CMD_SUBMIT(seqnum = m+4) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = m+2) | | <---------------------------------------------- | | . | | : |}(hhhjubah}(h]h ]h"]h$]h&]hhuh1hhhhK+hhhhubh)}(hFor UNLINK, note that after a successful USBIP_RET_UNLINK, the unlinked URB submission would not have a corresponding USBIP_RET_SUBMIT (this is explained in function stub_recv_cmd_unlink of drivers/usb/usbip/stub_rx.c).h]hFor UNLINK, note that after a successful USBIP_RET_UNLINK, the unlinked URB submission would not have a corresponding USBIP_RET_SUBMIT (this is explained in function stub_recv_cmd_unlink of drivers/usb/usbip/stub_rx.c).}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhhhhubh)}(hX-virtual host controller usb host "client" "server" (imports USB devices) (exports USB devices) | | | USBIP_CMD_SUBMIT(seqnum = p) | | ----------------------------------------------> | | | | USBIP_CMD_UNLINK | | (seqnum = p+1, unlink_seqnum = p) | | ----------------------------------------------> | | | | USBIP_RET_UNLINK | | (seqnum = p+1, status = -ECONNRESET) | | <---------------------------------------------- | | | | Note: No USBIP_RET_SUBMIT(seqnum = p) | | <--X---X---X---X---X---X---X---X---X---X---X--- | | . | | : | | | | USBIP_CMD_SUBMIT(seqnum = q) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = q) | | <---------------------------------------------- | | | | USBIP_CMD_UNLINK | | (seqnum = q+1, unlink_seqnum = q) | | ----------------------------------------------> | | | | USBIP_RET_UNLINK | | (seqnum = q+1, status = 0) | | <---------------------------------------------- | | |h]hX-virtual host controller usb host "client" "server" (imports USB devices) (exports USB devices) | | | USBIP_CMD_SUBMIT(seqnum = p) | | ----------------------------------------------> | | | | USBIP_CMD_UNLINK | | (seqnum = p+1, unlink_seqnum = p) | | ----------------------------------------------> | | | | USBIP_RET_UNLINK | | (seqnum = p+1, status = -ECONNRESET) | | <---------------------------------------------- | | | | Note: No USBIP_RET_SUBMIT(seqnum = p) | | <--X---X---X---X---X---X---X---X---X---X---X--- | | . | | : | | | | USBIP_CMD_SUBMIT(seqnum = q) | | ----------------------------------------------> | | | | USBIP_RET_SUBMIT(seqnum = q) | | <---------------------------------------------- | | | | USBIP_CMD_UNLINK | | (seqnum = q+1, unlink_seqnum = q) | | ----------------------------------------------> | | | | USBIP_RET_UNLINK | | (seqnum = q+1, status = 0) | | <---------------------------------------------- | | |}(hhhj"ubah}(h]h ]h"]h$]h&]hhuh1hhhhK^hhhhubh)}(hThe fields are in network (big endian) byte order meaning that the most significant byte (MSB) is stored at the lowest address.h]hThe fields are in network (big endian) byte order meaning that the most significant byte (MSB) is stored at the lowest address.}(hj2hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] architectureah ]h"] architectureah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hProtocol Versionh]hProtocol Version}(hjKhjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhhhhhKubh)}(hoThe documented USBIP version is v1.1.1. The binary representation of this version in message headers is 0x0111.h]hoThe documented USBIP version is v1.1.1. The binary representation of this version in message headers is 0x0111.}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjFhhubh)}(h/This is defined in tools/usb/usbip/configure.ach]h/This is defined in tools/usb/usbip/configure.ac}(hjghjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjFhhubeh}(h]protocol-versionah ]h"]protocol versionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hMessage Formath]hMessage Format}(hjhj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{hhhhhKubhdefinition_list)}(hhh]hdefinition_list_item)}(h;OP_REQ_DEVLIST: Retrieve the list of exported USB devices. h](hterm)}(hOP_REQ_DEVLIST:h]hOP_REQ_DEVLIST:}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h*Retrieve the list of exported USB devices.h]h*Retrieve the list of exported USB devices.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hOffseth]hOffset}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hj(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hValueh]hValue}(hj?hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj:ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjVhjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubhtbody)}(hhh](j)}(hhh](j )}(hhh]h)}(h0h]h0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1j hjyubj )}(hhh]h)}(h2h]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjyubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjyubj )}(hhh]h)}(h USBIP versionh]h USBIP version}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjyubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h0x8005h]h0x8005}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h8Command code: Retrieve the list of exported USB devices.h]h8Command code: Retrieve the list of exported USB devices.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh](j )}(hhh]h)}(h4h]h4}(hj;hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1j hj3ubj )}(hhh]h)}(hj;h]h4}(hj;hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1j hj3ubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1j hj3ubj )}(hhh]h)}(h!Status: unused, shall be set to 0h]h!Status: unused, shall be set to 0}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1j hj3ubeh}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jthjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h=OP_REP_DEVLIST: Reply with the list of exported USB devices. h](j)}(hOP_REP_DEVLIST:h]hOP_REP_DEVLIST:}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(h,Reply with the list of exported USB devices.h]h,Reply with the list of exported USB devices.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hj2hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hValueh]hValue}(hjIhjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hj`hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h USBIP versionh]h USBIP version}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h0x0005h]h0x0005}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h-Reply code: The list of exported USB devices.h]h-Reply code: The list of exported USB devices.}(hj!hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(hj;h]h4}(hj;hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(hj;h]h4}(hj;hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjRubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjmhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(hStatus: 0 for OKh]hStatus: 0 for OK}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj9ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h8h]h8}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hnh]hn}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h8Number of exported devices: 0 means no exported devices.h]h8Number of exported devices: 0 means no exported devices.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x0Ch]h0x0C}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hFrom now on the exported n devices are described, if any. If no devices are exported the message ends with the previous "number of exported devices" field.h]hFrom now on the exported n devices are described, if any. If no devices are exported the message ends with the previous “number of exported devices” field.}(hj1hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h)}(h256h]h256}(hjZhjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjUubah}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h)}(hpath: Path of the device on the host exporting the USB device, string closed with zero byte, e.g. "/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2" The unused bytes shall be filled with zero bytes.h]hpath: Path of the device on the host exporting the USB device, string closed with zero byte, e.g. “/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2” The unused bytes shall be filled with zero bytes.}(hjzhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuubah}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x10Ch]h0x10C}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h32h]h32}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbusid: Bus ID of the exported device, string closed with zero byte, e.g. "3-2". The unused bytes shall be filled with zero bytes.h]hbusid: Bus ID of the exported device, string closed with zero byte, e.g. “3-2”. The unused bytes shall be filled with zero bytes.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x12Ch]h0x12C}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbusnumh]hbusnum}(hj'hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x130h]h0x130}(hjGhjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1j hj?ubj )}(hhh]h)}(hj;h]h4}(hj;hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]uh1j hj?ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj?ubj )}(hhh]h)}(hdevnumh]hdevnum}(hj}hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1j hj?ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x134h]h0x134}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hspeedh]hspeed}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x138h]h0x138}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hidVendorh]hidVendor}(hj)hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x13Ah]h0x13A}(hjIhjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1j hjAubj )}(hhh]h)}(hjh]h2}(hjhj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ubah}(h]h ]h"]h$]h&]uh1j hjAubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjAubj )}(hhh]h)}(h idProducth]h idProduct}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1j hjAubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x13Ch]h0x13C}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h bcdDeviceh]h bcdDevice}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x13Eh]h0x13E}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h1h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h bDeviceClassh]h bDeviceClass}(hj, hj* hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj' ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x13Fh]h0x13F}(hjL hjJ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjG ubah}(h]h ]h"]h$]h&]uh1j hjD ubj )}(hhh]h)}(hj h]h1}(hj hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ ubah}(h]h ]h"]h$]h&]uh1j hjD ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjD ubj )}(hhh]h)}(hbDeviceSubClassh]hbDeviceSubClass}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj} ubah}(h]h ]h"]h$]h&]uh1j hjD ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x140h]h0x140}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hbDeviceProtocolh]hbDeviceProtocol}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x141h]h0x141}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hbConfigurationValueh]hbConfigurationValue}(hj. hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj) ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x142h]h0x142}(hjN hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjI ubah}(h]h ]h"]h$]h&]uh1j hjF ubj )}(hhh]h)}(hj h]h1}(hj hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj` ubah}(h]h ]h"]h$]h&]uh1j hjF ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjF ubj )}(hhh]h)}(hbNumConfigurationsh]hbNumConfigurations}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjF ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x143h]h0x143}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hbNumInterfacesh]hbNumInterfaces}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x144h]h0x144}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hm_0h]hm_0}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hhFrom now on each interface is described, all together bNumInterfaces times, with the following 4 fields:h]hhFrom now on each interface is described, all together bNumInterfaces times, with the following 4 fields:}(hj1 hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj, ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjI ubj )}(hhh]h)}(hj h]h1}(hj hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjU ubah}(h]h ]h"]h$]h&]uh1j hjI ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjI ubj )}(hhh]h)}(hbInterfaceClassh]hbInterfaceClass}(hjy hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjt ubah}(h]h ]h"]h$]h&]uh1j hjI ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x145h]h0x145}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hbInterfaceSubClassh]hbInterfaceSubClass}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x146h]h0x146}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hbInterfaceProtocolh]hbInterfaceProtocol}(hj% hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0x147h]h0x147}(hjE hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ ubah}(h]h ]h"]h$]h&]uh1j hj= ubj )}(hhh]h)}(hj h]h1}(hj hjZ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjW ubah}(h]h ]h"]h$]h&]uh1j hj= ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj= ubj )}(hhh]h)}(h0padding byte for alignment, shall be set to zeroh]h0padding byte for alignment, shall be set to zero}(hj{ hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjv ubah}(h]h ]h"]h$]h&]uh1j hj= ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j )}(hhh]h)}(h0xC + i*0x138 + m_(i-1)*4h]h0xC + i*0x138 + m_(i-1)*4}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hAThe second exported USB device starts at i=1 with the path field.h]hAThe second exported USB device starts at i=1 with the path field.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jthjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h?OP_REQ_IMPORT: Request to import (attach) a remote USB device. h](j)}(hOP_REQ_IMPORT:h]hOP_REQ_IMPORT:}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh]h)}(h/Request to import (attach) a remote USB device.h]h/Request to import (attach) a remote USB device.}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj* ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj* ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj* ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhj* ubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hj` hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ ubah}(h]h ]h"]h$]h&]uh1j hjX ubj )}(hhh]h)}(hLengthh]hLength}(hjw hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjr ubah}(h]h ]h"]h$]h&]uh1j hjX ubj )}(hhh]h)}(hValueh]hValue}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjX ubj )}(hhh]h)}(h Descriptionh]h Description}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjX ubeh}(h]h ]h"]h$]h&]uh1jhjU ubah}(h]h ]h"]h$]h&]uh1jhj* ubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hjh]h2}(hjhj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h USBIP versionh]h USBIP version}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j )}(hhh]h)}(hjh]h2}(hjhj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h0x8003h]h0x8003}(hjOhjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h)Command code: import a remote USB device.h]h)Command code: import a remote USB device.}(hjfhjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjaubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubj )}(hhh]h)}(h!Status: unused, shall be set to 0h]h!Status: unused, shall be set to 0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j )}(hhh]h)}(hjh]h8}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h32h]h32}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbusid: the busid of the exported device on the remote host. The possible values are taken from the message field OP_REP_DEVLIST.busid. A string closed with zero, the unused bytes shall be filled with zeros.h]hbusid: the busid of the exported device on the remote host. The possible values are taken from the message field OP_REP_DEVLIST.busid. A string closed with zero, the unused bytes shall be filled with zeros.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jthj* ubeh}(h]h ]h"]h$]h&]colsKuh1jhj' ubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h=OP_REP_IMPORT: Reply to import (attach) a remote USB device. h](j)}(hOP_REP_IMPORT:h]hOP_REP_IMPORT:}(hjShjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjMubj)}(hhh]h)}(h-Reply to import (attach) a remote USB device.h]h-Reply to import (attach) a remote USB device.}(hjdhjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhhhKhjJubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hValueh]hValue}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hjh]h2}(hjhj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj:ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(h USBIP versionh]h USBIP version}(hj^hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hjh]h2}(hjhj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1j hjvubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjvubj )}(hhh]h)}(h0x0003h]h0x0003}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjvubj )}(hhh]h)}(hReply code: Reply to import.h]hReply code: Reply to import.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjvubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](h)}(hStatus:h]hStatus:}(hj$hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh block_quote)}(hhh]h bullet_list)}(hhh](h list_item)}(h0 for OKh]h)}(hj>h]h0 for OK}(hj>hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1j:hj7ubj;)}(h 1 for errorh]h)}(hjUh]h 1 for error}(hjUhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1j:hj7ubeh}(h]h ]h"]h$]h&]bullet-uh1j5hhhMhj2ubah}(h]h ]h"]h$]h&]uh1j0hjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hjh]h8}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hFrom now on comes the details of the imported device, if the previous status field was OK (0), otherwise the reply ends with the status field.h]hFrom now on comes the details of the imported device, if the previous status field was OK (0), otherwise the reply ends with the status field.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h256h]h256}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hpath: Path of the device on the host exporting the USB device, string closed with zero byte, e.g. "/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2" The unused bytes shall be filled with zero bytes.h]hpath: Path of the device on the host exporting the USB device, string closed with zero byte, e.g. “/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2” The unused bytes shall be filled with zero bytes.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x108h]h0x108}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h32h]h32}(hj4hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbusid: Bus ID of the exported device, string closed with zero byte, e.g. "3-2". The unused bytes shall be filled with zero bytes.h]hbusid: Bus ID of the exported device, string closed with zero byte, e.g. “3-2”. The unused bytes shall be filled with zero bytes.}(hjThjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x128h]h0x128}(hjthjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1j hjlubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjlubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjlubj )}(hhh]h)}(hbusnumh]hbusnum}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjlubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x12Ch]h0x12C}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hdevnumh]hdevnum}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x130h]h0x130}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hspeedh]hspeed}(hjVhjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x134h]h0x134}(hjvhjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1j hjnubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjnubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjnubj )}(hhh]h)}(hidVendorh]hidVendor}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjnubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x136h]h0x136}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h idProducth]h idProduct}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x138h]h0x138}(hj"hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h bcdDeviceh]h bcdDevice}(hjXhjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x139h]h0x139}(hjxhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjsubah}(h]h ]h"]h$]h&]uh1j hjpubj )}(hhh]h)}(hj h]h1}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1j hjpubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjpubj )}(hhh]h)}(h bDeviceClassh]h bDeviceClass}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1j hjpubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Ah]h0x13A}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbDeviceSubClassh]hbDeviceSubClass}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Bh]h0x13B}(hj$hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj6ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbDeviceProtocolh]hbDeviceProtocol}(hjZhjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjUubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Ch]h0x13C}(hjzhjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjuubah}(h]h ]h"]h$]h&]uh1j hjrubj )}(hhh]h)}(hj h]h1}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1j hjrubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjrubj )}(hhh]h)}(hbConfigurationValueh]hbConfigurationValue}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1j hjrubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Dh]h0x13D}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbNumConfigurationsh]hbNumConfigurations}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Eh]h0x13E}(hj&hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj!ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj8ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbNumInterfacesh]hbNumInterfaces}(hj\hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjWubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jthjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubh)}(hThe following four commands have a common basic header called 'usbip_header_basic', and their headers, called 'usbip_header' (before transfer_buffer payload), have the same length, therefore paddings are needed.h]hThe following four commands have a common basic header called ‘usbip_header_basic’, and their headers, called ‘usbip_header’ (before transfer_buffer payload), have the same length, therefore paddings are needed.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj{hhubh)}(husbip_header_basic:h]husbip_header_basic:}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj{hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj$ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hj;h]h4}(hj;hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj:ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hcommandh]hcommand}(hjUhjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjPubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hj;h]h4}(hj;hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjpubah}(h]h ]h"]h$]h&]uh1j hjmubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1j hjmubj )}(hhh]h)}(hjseqnum: sequential number that identifies requests and corresponding responses; incremented per connectionh]hjseqnum: sequential number that identifies requests and corresponding responses; incremented per connection}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1j hjmubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hjh]h8}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4z}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hdevid: specifies a remote USB device uniquely instead of busnum and devnum; for client (request), this value is ((busnum << 16) | devnum); for server (response), this shall be set to 0h]hdevid: specifies a remote USB device uniquely instead of busnum and devnum; for client (request), this value is ((busnum << 16) | devnum); for server (response), this shall be set to 0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0xCh]h0xC}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](h)}(h direction:h]h direction:}(hj:hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj5ubj1)}(hhh]j6)}(hhh](j;)}(h0: USBIP_DIR_OUTh]h)}(hjNh]h0: USBIP_DIR_OUT}(hjNhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjLubah}(h]h ]h"]h$]h&]uh1j:hjIubj;)}(h1: USBIP_DIR_IN h]h)}(h1: USBIP_DIR_INh]h1: USBIP_DIR_IN}(hjihjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjcubah}(h]h ]h"]h$]h&]uh1j:hjIubeh}(h]h ]h"]h$]h&]jpjquh1j5hhhMDhjFubah}(h]h ]h"]h$]h&]uh1j0hj5ubh)}(h/only used by client, for server this shall be 0h]h/only used by client, for server this shall be 0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhj5ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x10h]h0x10}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h`ep: endpoint number only used by client, for server this shall be 0; for UNLINK, this shall be 0h]h`ep: endpoint number only used by client, for server this shall be 0; for UNLINK, this shall be 0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jthjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h USBIP_CMD_SUBMIT: Submit an URB h](j)}(hUSBIP_CMD_SUBMIT:h]hUSBIP_CMD_SUBMIT:}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMOhjubj)}(hhh]h)}(h Submit an URBh]h Submit an URB}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhMOhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj<ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj<ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhj<ubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hjhhjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjcubah}(h]h ]h"]h$]h&]uh1j hj`ubj )}(hhh]h)}(hLengthh]hLength}(hjhj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjzubah}(h]h ]h"]h$]h&]uh1j hj`ubj )}(hhh]h)}(h Descriptionh]h Description}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1j hj`ubeh}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhj<ubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h20h]h20}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000001h]h5usbip_header_basic, ‘command’ shall be 0x00000001}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x14h]h0x14}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(htransfer_flags: possible values depend on the USBIP_URB transfer_flags. Refer to include/uapi/linux/usbip.h and Documentation/driver-api/usb/URB.rst. Refer to usbip_pack_cmd_submit() and tweak_transfer_flags() in drivers/usb/usbip/ usbip_common.c.h]htransfer_flags: possible values depend on the USBIP_URB transfer_flags. Refer to include/uapi/linux/usbip.h and Documentation/driver-api/usb/URB.rst. Refer to usbip_pack_cmd_submit() and tweak_transfer_flags() in drivers/usb/usbip/ usbip_common.c.}(hj9hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj4ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjTubah}(h]h ]h"]h$]h&]uh1j hjQubj )}(hhh]h)}(hj;h]h4}(hj;hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjkubah}(h]h ]h"]h$]h&]uh1j hjQubj )}(hhh]h)}(h6transfer_buffer_length: use URB transfer_buffer_lengthh]h6transfer_buffer_length: use URB transfer_buffer_length}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1j hjQubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x1Ch]h0x1C}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hgstart_frame: use URB start_frame; initial frame for ISO transfer; shall be set to 0 if not ISO transferh]hgstart_frame: use URB start_frame; initial frame for ISO transfer; shall be set to 0 if not ISO transfer}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x20h]h0x20}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hXnumber_of_packets: number of ISO packets; shall be set to 0xffffffff if not ISO transferh]hXnumber_of_packets: number of ISO packets; shall be set to 0xffffffff if not ISO transfer}(hj hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x24h]h0x24}(hj@hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj;ubah}(h]h ]h"]h$]h&]uh1j hj8ubj )}(hhh]h)}(hj;h]h4}(hj;hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjRubah}(h]h ]h"]h$]h&]uh1j hj8ubj )}(hhh]h)}(hIinterval: maximum time for the request on the server-side host controllerh]hIinterval: maximum time for the request on the server-side host controller}(hjmhjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjhubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x28h]h0x28}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h8}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h?setup: data bytes for USB setup, filled with zeros if not used.h]h?setup: data bytes for USB setup, filled with zeros if not used.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x30h]h0x30}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]hn}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(htransfer_buffer. If direction is USBIP_DIR_OUT then n equals transfer_buffer_length; otherwise n equals 0. For ISO transfers the padding between each ISO packets is not transmitted.h]htransfer_buffer. If direction is USBIP_DIR_OUT then n equals transfer_buffer_length; otherwise n equals 0. For ISO transfers the padding between each ISO packets is not transmitted.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x30+nh]h0x30+n}(hj'hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj"ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hmh]hm}(hj>hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj9ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hiso_packet_descriptorh]hiso_packet_descriptor}(hjUhjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjPubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jthj<ubeh}(h]h ]h"]h$]h&]colsKuh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h.USBIP_RET_SUBMIT: Reply for submitting an URB h](j)}(hUSBIP_RET_SUBMIT:h]hUSBIP_RET_SUBMIT:}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMxhjubj)}(hhh]h)}(hReply for submitting an URBh]hReply for submitting an URB}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj9ubah}(h]h ]h"]h$]h&]uh1j hj6ubj )}(hhh]h)}(h20h]h20}(hjThjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjOubah}(h]h ]h"]h$]h&]uh1j hj6ubj )}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000003h]h5usbip_header_basic, ‘command’ shall be 0x00000003}(hjkhjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjfubah}(h]h ]h"]h$]h&]uh1j hj6ubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x14h]h0x14}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hSstatus: zero for successful URB transaction, otherwise some kind of error happened.h]hSstatus: zero for successful URB transaction, otherwise some kind of error happened.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h>actual_length: number of URB data bytes; use URB actual_lengthh]h>actual_length: number of URB data bytes; use URB actual_length}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x1Ch]h0x1C}(hj%hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hgstart_frame: use URB start_frame; initial frame for ISO transfer; shall be set to 0 if not ISO transferh]hgstart_frame: use URB start_frame; initial frame for ISO transfer; shall be set to 0 if not ISO transfer}(hjRhjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x20h]h0x20}(hjrhjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1j hjjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjjubj )}(hhh]h)}(hXnumber_of_packets: number of ISO packets; shall be set to 0xffffffff if not ISO transferh]hXnumber_of_packets: number of ISO packets; shall be set to 0xffffffff if not ISO transfer}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x24h]h0x24}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj;hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h error_counth]h error_count}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x28h]h0x28}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h8}(hjhj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hj9hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x30h]h0x30}(hjYhjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1j hjQubj )}(hhh]h)}(hjh]hn}(hjhjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1j hjQubj )}(hhh]h)}(htransfer_buffer. If direction is USBIP_DIR_IN then n equals actual_length; otherwise n equals 0. For ISO transfers the padding between each ISO packets is not transmitted.h]htransfer_buffer. If direction is USBIP_DIR_IN then n equals actual_length; otherwise n equals 0. For ISO transfers the padding between each ISO packets is not transmitted.}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjQubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j )}(hhh]h)}(h0x30+nh]h0x30+n}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj>h]hm}(hj>hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hiso_packet_descriptorh]hiso_packet_descriptor}(hjhjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jthjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h USBIP_CMD_UNLINK: Unlink an URB h](j)}(hUSBIP_CMD_UNLINK:h]hUSBIP_CMD_UNLINK:}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj ubj)}(hhh]h)}(h Unlink an URBh]h Unlink an URB}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj9 ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj9 ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhj9 ubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hje hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj` ubah}(h]h ]h"]h$]h&]uh1j hj] ubj )}(hhh]h)}(hLengthh]hLength}(hj| hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjw ubah}(h]h ]h"]h$]h&]uh1j hj] ubj )}(hhh]h)}(h Descriptionh]h Description}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj] ubeh}(h]h ]h"]h$]h&]uh1jhjZ ubah}(h]h ]h"]h$]h&]uh1jhj9 ubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h20h]h20}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000002h]h5usbip_header_basic, ‘command’ shall be 0x00000002}(hj hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j )}(hhh]h)}(h0x14h]h0x14}(hj !hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hj;h]h4}(hj;hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(h.unlink_seqnum, of the SUBMIT request to unlinkh]h.unlink_seqnum, of the SUBMIT request to unlink}(hj6!hj4!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1!ubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hjV!hjT!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQ!ubah}(h]h ]h"]h$]h&]uh1j hjN!ubj )}(hhh]h)}(h24h]h24}(hjm!hjk!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjh!ubah}(h]h ]h"]h$]h&]uh1j hjN!ubj )}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hjN!ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jthj9 ubeh}(h]h ]h"]h$]h&]colsKuh1jhj6 ubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(h'USBIP_RET_UNLINK: Reply for URB unlink h](j)}(hUSBIP_RET_UNLINK:h]hUSBIP_RET_UNLINK:}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj!ubj)}(hhh]h)}(hReply for URB unlinkh]hReply for URB unlink}(hj!hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhj!ubj)}(hhh]j)}(hhh](j )}(hhh]h)}(hOffseth]hOffset}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hLengthh]hLength}(hj-"hj+"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj("ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h Descriptionh]h Description}(hjD"hjB"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?"ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1jhj "ubah}(h]h ]h"]h$]h&]uh1jhj!ubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhjk"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjh"ubah}(h]h ]h"]h$]h&]uh1j hje"ubj )}(hhh]h)}(h20h]h20}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~"ubah}(h]h ]h"]h$]h&]uh1j hje"ubj )}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000004h]h5usbip_header_basic, ‘command’ shall be 0x00000004}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hje"ubeh}(h]h ]h"]h$]h&]uh1jhjb"ubj)}(hhh](j )}(hhh]h)}(h0x14h]h0x14}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hj;h]h4}(hj;hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hstatus: This is similar to the status of USBIP_RET_SUBMIT (share the same memory offset). When UNLINK is successful, status is -ECONNRESET; when USBIP_CMD_UNLINK is after USBIP_RET_SUBMIT status is 0h]hstatus: This is similar to the status of USBIP_RET_SUBMIT (share the same memory offset). When UNLINK is successful, status is -ECONNRESET; when USBIP_CMD_UNLINK is after USBIP_RET_SUBMIT status is 0}(hj"hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1jhjb"ubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h24h]h24}(hj#hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hj5#hj3#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0#ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1jhjb"ubeh}(h]h ]h"]h$]h&]uh1jthj!ubeh}(h]h ]h"]h$]h&]colsKuh1jhj!ubah}(h]h ]h"]h$]h&]uh1jhj{hhhhhNubeh}(h]message-formatah ]h"]message formatah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hEXAMPLEh]hEXAMPLE}(hjm#hjk#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh#hhhhhMubj1)}(hhh]h)}(hSThe following data is captured from wire with Human Interface Devices (HID) payloadh]hSThe following data is captured from wire with Human Interface Devices (HID) payload}(hj~#hj|#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjy#ubah}(h]h ]h"]h$]h&]uh1j0hjh#hhhhhNubh)}(hXCmdIntrIN: 00000001 00000d05 0001000f 00000001 00000001 00000200 00000040 ffffffff 00000000 00000004 00000000 00000000 CmdIntrOUT: 00000001 00000d06 0001000f 00000000 00000001 00000000 00000040 ffffffff 00000000 00000004 00000000 00000000 ffffffff860008a784ce5ae212376300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 RetIntrOut: 00000003 00000d06 00000000 00000000 00000000 00000000 00000040 ffffffff 00000000 00000000 00000000 00000000 RetIntrIn: 00000003 00000d05 00000000 00000000 00000000 00000000 00000040 ffffffff 00000000 00000000 00000000 00000000 ffffffff860011a784ce5ae2123763612891b1020100000400000000000000000000000000000000000000000000000000000000000000000000000000000000h]hXCmdIntrIN: 00000001 00000d05 0001000f 00000001 00000001 00000200 00000040 ffffffff 00000000 00000004 00000000 00000000 CmdIntrOUT: 00000001 00000d06 0001000f 00000000 00000001 00000000 00000040 ffffffff 00000000 00000004 00000000 00000000 ffffffff860008a784ce5ae212376300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 RetIntrOut: 00000003 00000d06 00000000 00000000 00000000 00000000 00000040 ffffffff 00000000 00000000 00000000 00000000 RetIntrIn: 00000003 00000d05 00000000 00000000 00000000 00000000 00000040 ffffffff 00000000 00000000 00000000 00000000 ffffffff860011a784ce5ae2123763612891b1020100000400000000000000000000000000000000000000000000000000000000000000000000000000000000}(hhhj#ubah}(h]h ]h"]h$]h&]hhuh1hhhhMhjh#hhubeh}(h]exampleah ]h"]exampleah$]h&]uh1hhhhhhhhMubeh}(h]usb-ip-protocolah ]h"]usb/ip protocolah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj#error_encodingUTF-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confapep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacefile_insertion_enabled raw_enabledKline_length_limitM'syntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_link embed_imagesenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j#j#jCj@jxjuje#jb#j#j#u nametypes}(j#NjCNjxNje#Nj#Nuh}(j#hj@hjujFjb#j{j#jh#u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.