sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget&/translations/zh_CN/usb/usbip_protocolmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/zh_TW/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/it_IT/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/ja_JP/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/ko_KR/usb/usbip_protocolmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(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}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh@/var/lib/git/docbuild/linux/Documentation/usb/usbip_protocol.rsthKubh)}(hhh](h)}(h Architectureh]h Architecture}(hhhhhNhNubah}(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.}(hhhhhNhNubah}(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.}(hhhhhNhNubah}(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 | | <---------------------------------------------- | | |}hhsbah}(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.}(hhhhhNhNubah}(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) | | <---------------------------------------------- | | . | | : |}hjsbah}(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).}(hjhhhNhNubah}(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) | | <---------------------------------------------- | | |}hj"sbah}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] architectureah ]h"] architectureah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hProtocol Versionh]hProtocol Version}(hjIhhhNhNubah}(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.}(hjWhhhNhNubah}(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}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjFhhubeh}(h]protocol-versionah ]h"]protocol versionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hMessage Formath]hMessage Format}(hj~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:}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hValueh]hValue}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj:ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjThhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1j hjyubj )}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h0x8005h]h0x8005}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1j hj3ubj )}(hhh]h)}(hj;h]h4}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1j hj3ubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjfhhhNhNubah}(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}(hj}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:}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hValueh]hValue}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(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)}(h USBIP versionh]h USBIP version}(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)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h0x0005h]h0x0005}(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.}(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?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(hj;h]h4}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjRubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1j hj9ubj )}(hhh]h)}(hStatus: 0 for OKh]hStatus: 0 for OK}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hnh]hn}(hjhhhNhNubah}(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.}(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)}(h0x0Ch]h0x0C}(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}(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.}(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}(h]h ]h"]h$]h&]uh1j hjIubj )}(hhh]h)}(h256h]h256}(hjXhhhNhNubah}(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.}(hjxhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h32h]h32}(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)}(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.}(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)}(h0x12Ch]h0x12C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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%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}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1j hj?ubj )}(hhh]h)}(hj;h]h4}(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{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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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}(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)}(h0x138h]h0x138}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(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)}(hidVendorh]hidVendor}(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}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1j hjAubj )}(hhh]h)}(hjh]h2}(hj^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}(hj}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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(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)}(h bcdDeviceh]h bcdDevice}(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)}(h0x13Eh]h0x13E}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h1h]h1}(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* 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}(hjJ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjG ubah}(h]h ]h"]h$]h&]uh1j hjD ubj )}(hhh]h)}(hj h]h1}(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 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(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 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(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, 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}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjI ubah}(h]h ]h"]h$]h&]uh1j hjF ubj )}(hhh]h)}(hj h]h1}(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 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(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 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 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 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:}(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}(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}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(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 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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hj h]h1}(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# 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}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ ubah}(h]h ]h"]h$]h&]uh1j hj= ubj )}(hhh]h)}(hj h]h1}(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}(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 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 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 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 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^ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ ubah}(h]h ]h"]h$]h&]uh1j hjX ubj )}(hhh]h)}(hLengthh]hLength}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjr ubah}(h]h ]h"]h$]h&]uh1j hjX ubj )}(hhh]h)}(hValueh]hValue}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hjX ubj )}(hhh]h)}(h Descriptionh]h Description}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hjh]h2}(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 USBIP versionh]h USBIP version}(hjhhhNhNubah}(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}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h0x8003h]h0x8003}(hjMhhhNhNubah}(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.}(hjdhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hj~ubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h32h]h32}(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)}(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.}(hjhhhNhNubah}(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:}(hjQhhhNhNubah}(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.}(hjbhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hValueh]hValue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(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}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hjh]h2}(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 USBIP versionh]h USBIP version}(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}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1j hjvubj )}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjvubj )}(hhh]h)}(h0x0003h]h0x0003}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h 0x00000000h]h 0x00000000}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](h)}(hStatus:h]hStatus:}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh block_quote)}(h- 0 for OK - 1 for errorh]h bullet_list)}(hhh](h list_item)}(h0 for OKh]h)}(hj?h]h0 for OK}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1j;hj8ubj<)}(h 1 for errorh]h)}(hjVh]h 1 for error}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1j;hj8ubeh}(h]h ]h"]h$]h&]bullet-uh1j6hhhMhj2ubah}(h]h ]h"]h$]h&]uh1j0hhhMhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hjh]h8}(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}(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.}(hjhhhNhNubah}(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}(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)}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h32h]h32}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(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.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x128h]h0x128}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1j hjmubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjmubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjmubj )}(hhh]h)}(hbusnumh]hbusnum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjmubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x12Ch]h0x12C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hspeedh]hspeed}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x134h]h0x134}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1j hjoubj )}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjoubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjoubj )}(hhh]h)}(hidVendorh]hidVendor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjoubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x136h]h0x136}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(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)}(h idProducth]h idProduct}(hjhhhNhNubah}(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!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h2}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h bcdDeviceh]h bcdDevice}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Ah]h0x13A}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjtubah}(h]h ]h"]h$]h&]uh1j hjqubj )}(hhh]h)}(hj h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1j hjqubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjqubj )}(hhh]h)}(h bDeviceClassh]h bDeviceClass}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1j hjqubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Bh]h0x13B}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Ch]h0x13C}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj7ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbDeviceProtocolh]hbDeviceProtocol}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjVubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Dh]h0x13D}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjvubah}(h]h ]h"]h$]h&]uh1j hjsubj )}(hhh]h)}(hj h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1j hjsubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjsubj )}(hhh]h)}(hbConfigurationValueh]hbConfigurationValue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1j hjsubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Eh]h0x13E}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x13Fh]h0x13F}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj"ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj h]h1}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj9ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hbNumInterfacesh]hbNumInterfaces}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjXubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj{hhubh)}(husbip_header_basic:h]husbip_header_basic:}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(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}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj%ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hj;h]h4}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj;ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hcommandh]hcommand}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjQubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hj;h]h4}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjqubah}(h]h ]h"]h$]h&]uh1j hjnubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1j hjnubj )}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1j hjnubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(hjh]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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}(hjhhhNhNubah}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh](h)}(h direction:h]h direction:}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj6ubj1)}(h%- 0: USBIP_DIR_OUT - 1: USBIP_DIR_IN h]j7)}(hhh](j<)}(h0: USBIP_DIR_OUTh]h)}(hjPh]h0: USBIP_DIR_OUT}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjNubah}(h]rh ]h"]h$]h&]uh1j;hjKubj<)}(h1: USBIP_DIR_IN h]h)}(h1: USBIP_DIR_INh]h1: USBIP_DIR_IN}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjeubah}(h]h ]h"]h$]h&]uh1j;hjKubeh}(h]h ]h"]h$]h&]jqjruh1j6hhhMDhjGubah}(h]h ]h"]h$]h&]uh1j0hhhMDhj6ubh)}(h/only used by client, for server this shall be 0h]h/only used by client, for server this shall be 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhj6ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x10h]h0x10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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}(hjhhhNhNubah}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMOhjubj)}(hhh]h)}(h Submit an URBh]h Submit an URB}(hjhhhNhNubah}(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}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjeubah}(h]h ]h"]h$]h&]uh1j hjbubj )}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj|ubah}(h]h ]h"]h$]h&]uh1j hjbubj )}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1j hjbubeh}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jhj>ubju)}(hhh](j)}(hhh](j )}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h20h]h20}(hjhhhNhNubah}(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}(hjhhhNhNubah}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj ubah}(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.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj6ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjVubah}(h]h ]h"]h$]h&]uh1j hjSubj )}(hhh]h)}(hj;h]h4}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjmubah}(h]h ]h"]h$]h&]uh1j hjSubj )}(hhh]h)}(h6transfer_buffer_length: use URB transfer_buffer_lengthh]h6transfer_buffer_length: use URB transfer_buffer_length}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1j hjSubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x1Ch]h0x1C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj hhhNhNubah}(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 hhhNhNubah}(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@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj=ubah}(h]h ]h"]h$]h&]uh1j hj:ubj )}(hhh]h)}(hj;h]h4}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjTubah}(h]h ]h"]h$]h&]uh1j hj:ubj )}(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}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjjubah}(h]h ]h"]h$]h&]uh1j hj:ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hhh]h)}(h0x28h]h0x28}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h8}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]hn}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj$ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hmh]hm}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj;ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hiso_packet_descriptorh]hiso_packet_descriptor}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjRubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jthj>ubeh}(h]h ]h"]h$]h&]colsKuh1jhj;ubah}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMxhjubj)}(hhh]h)}(hReply for submitting an URBh]hReply for submitting an URB}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(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}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj;ubah}(h]h ]h"]h$]h&]uh1j hj8ubj )}(hhh]h)}(h20h]h20}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjQubah}(h]h ]h"]h$]h&]uh1j hj8ubj )}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000003h]h5usbip_header_basic, ‘command’ shall be 0x00000003}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjhubah}(h]h ]h"]h$]h&]uh1j hj8ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x14h]h0x14}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x1Ch]h0x1C}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(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}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x20h]h0x20}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1j hjlubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjlubj )}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjlubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x24h]h0x24}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj;h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(h error_counth]h error_count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x28h]h0x28}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hjh]h8}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x30h]h0x30}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1j hjSubj )}(hhh]h)}(hjh]hn}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1j hjSubj )}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjSubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j )}(hhh]h)}(h0x30+nh]h0x30+n}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hj@h]hm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubj )}(hhh]h)}(hiso_packet_descriptorh]hiso_packet_descriptor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhj5ubeh}(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 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj ubj)}(hhh]h)}(h Unlink an URBh]h Unlink an URB}(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}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb ubah}(h]h ]h"]h$]h&]uh1j hj_ ubj )}(hhh]h)}(hLengthh]hLength}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjy ubah}(h]h ]h"]h$]h&]uh1j hj_ ubj )}(hhh]h)}(h Descriptionh]h Description}(hj 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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h20h]h20}(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 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 !hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hj!ubj )}(hhh]h)}(hj;h]h4}(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!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3!ubah}(h]h ]h"]h$]h&]uh1j hj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hjV!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS!ubah}(h]h ]h"]h$]h&]uh1j hjP!ubj )}(hhh]h)}(h24h]h24}(hjm!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjj!ubah}(h]h ]h"]h$]h&]uh1j hjP!ubj )}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1j hjP!ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jthj; ubeh}(h]h ]h"]h$]h&]colsKuh1jhj8 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!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj!ubj)}(hhh]h)}(hReply for URB unlinkh]hReply for URB unlink}(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"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hLengthh]hLength}(hj-"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(h Descriptionh]h Description}(hjD"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjA"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}(hjm"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjj"ubah}(h]h ]h"]h$]h&]uh1j hjg"ubj )}(hhh]h)}(h20h]h20}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hjg"ubj )}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000004h]h5usbip_header_basic, ‘command’ shall be 0x00000004}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hjg"ubeh}(h]h ]h"]h$]h&]uh1jhjd"ubj)}(hhh](j )}(hhh]h)}(h0x14h]h0x14}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubj )}(hhh]h)}(hj;h]h4}(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"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1j hj"ubeh}(h]h ]h"]h$]h&]uh1jhjd"ubj)}(hhh](j )}(hhh]h)}(h0x18h]h0x18}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1j hj#ubj )}(hhh]h)}(h24h]h24}(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#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2#ubah}(h]h ]h"]h$]h&]uh1j hj#ubeh}(h]h ]h"]h$]h&]uh1jhjd"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#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjj#hhhhhMubj1)}(hTThe following data is captured from wire with Human Interface Devices (HID) payload h]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#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{#ubah}(h]h ]h"]h$]h&]uh1j0hhhMhjj#hhubh)}(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}hj#sbah}(h]h ]h"]h$]h&]hhuh1hhhhMhjj#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.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_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_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j#j#jCj@jxjujg#jd#j#j#u nametypes}(j#jCjxjg#j#uh}(j#hj@hjujFjd#j{j#jj#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.