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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/pt_BR/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.}(hj hhhNhNubah}(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&]j j uh1hhhhK+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).}(hj(hhhNhNubah}(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) | | <---------------------------------------------- | | |}hj6sbah}(h]h ]h"]h$]h&]j j uh1hhhhK^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.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] architectureah ]h"] architectureah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hProtocol Versionh]hProtocol Version}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhhhhhKubh)}(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.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZhhubh)}(h/This is defined in tools/usb/usbip/configure.ach]h/This is defined in tools/usb/usbip/configure.ac}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZhhubeh}(h]protocol-versionah ]h"]protocol versionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hMessage Formath]hMessage Format}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_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&]uh1jhjhhhhhNubhtable)}(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}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hLengthh]hLength}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hValueh]hValue}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjNubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h USBIP versionh]h USBIP version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x8005h]h0x8005}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h8Command code: Retrieve the list of exported USB devices.h]h8Command code: Retrieve the list of exported USB devices.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h4h]h4}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hjOh]h4}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjaubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(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&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1jhjhhhhhNubj)}(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}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hLengthh]hLength}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjAubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hValueh]hValue}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjXubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(h Descriptionh]h Description}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjoubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h USBIP versionh]h USBIP version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0005h]h0x0005}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h-Reply code: The list of exported USB devices.h]h-Reply code: The list of exported USB devices.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hjOh]h4}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjPubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hjOh]h4}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hStatus: 0 for OKh]hStatus: 0 for OK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h8h]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnh]hn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x0Ch]h0x0C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(h256h]h256}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj]ubj)}(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&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x10Ch]h0x10C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h32h]h32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x12Ch]h0x12C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbusnumh]hbusnum}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x130h]h0x130}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hjOh]h4}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjmubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hdevnumh]hdevnum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x134h]h0x134}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hspeedh]hspeed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x138h]h0x138}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hidVendorh]hidVendor}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x13Ah]h0x13A}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjXubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hjh]h2}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjoubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h idProducth]h idProduct}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x13Ch]h0x13C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h bcdDeviceh]h bcdDevice}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x13Eh]h0x13E}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h1h]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h bDeviceClassh]h bDeviceClass}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj; ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x13Fh]h0x13F}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ ubah}(h]h ]h"]h$]h&]uh1jhjX ubj)}(hhh]h)}(hj h]h1}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjr ubah}(h]h ]h"]h$]h&]uh1jhjX ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjX ubj)}(hhh]h)}(hbDeviceSubClassh]hbDeviceSubClass}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjX ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x140h]h0x140}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hj h]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbDeviceProtocolh]hbDeviceProtocol}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x141h]h0x141}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hj h]h1}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbConfigurationValueh]hbConfigurationValue}(hj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj= ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x142h]h0x142}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj] ubah}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]h)}(hj h]h1}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjt ubah}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZ ubj)}(hhh]h)}(hbNumConfigurationsh]hbNumConfigurations}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjZ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x143h]h0x143}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hj h]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbNumInterfacesh]hbNumInterfaces}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x144h]h0x144}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hm_0h]hm_0}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj) ubah}(h]h ]h"]h$]h&]uh1jhj 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:}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj] ubj)}(hhh]h)}(hj h]h1}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhji ubah}(h]h ]h"]h$]h&]uh1jhj] ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj] ubj)}(hhh]h)}(hbInterfaceClassh]hbInterfaceClass}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj] ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x145h]h0x145}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hj h]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbInterfaceSubClassh]hbInterfaceSubClass}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x146h]h0x146}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hj h]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbInterfaceProtocolh]hbInterfaceProtocol}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x147h]h0x147}(hjW hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjT ubah}(h]h ]h"]h$]h&]uh1jhjQ ubj)}(hhh]h)}(hj h]h1}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjk ubah}(h]h ]h"]h$]h&]uh1jhjQ ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjQ ubj)}(hhh]h)}(h0padding byte for alignment, shall be set to zeroh]h0padding byte for alignment, shall be set to zero}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjQ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1jhjhhhhhNubj)}(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}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjo ubah}(h]h ]h"]h$]h&]uh1jhjl ubj)}(hhh]h)}(hLengthh]hLength}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjl ubj)}(hhh]h)}(hValueh]hValue}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjl ubj)}(hhh]h)}(h Descriptionh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjl ubeh}(h]h ]h"]h$]h&]uh1jhji ubah}(h]h ]h"]h$]h&]uh1jhj> ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]h2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h USBIP versionh]h USBIP version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hjh]h2}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjHubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h0x8003h]h0x8003}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h)Command code: import a remote USB device.h]h)Command code: import a remote USB device.}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(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&]uh1jhjubj)}(hhh]h)}(h32h]h32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj> ubeh}(h]h ]h"]h$]h&]colsKuh1jhj; ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hhh]j)}(h=OP_REP_IMPORT: Reply to import (attach) a remote USB device. h](j)}(hOP_REP_IMPORT:h]hOP_REP_IMPORT:}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjaubj)}(hhh]h)}(h-Reply to import (attach) a remote USB device.h]h-Reply to import (attach) a remote USB device.}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhhhKhj^ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1jhjubj)}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hValueh]hValue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hjh]h2}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjNubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h USBIP versionh]h USBIP version}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjmubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0003h]h0x0003}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 0x00000000h]h 0x00000000}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(hStatus:h]hStatus:}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubh block_quote)}(h- 0 for OK - 1 for errorh]h bullet_list)}(hhh](h list_item)}(h0 for OKh]h)}(hjSh]h0 for OK}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jOhjLubjP)}(h 1 for errorh]h)}(hjjh]h 1 for error}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jOhjLubeh}(h]h ]h"]h$]h&]bullet-uh1jJhhhMhjFubah}(h]h ]h"]h$]h&]uh1jDhhhMhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(hjh]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h256h]h256}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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 hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x108h]h0x108}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(h32h]h32}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj*ubj)}(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.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x128h]h0x128}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbusnumh]hbusnum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x12Ch]h0x12C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdevnumh]hdevnum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x130h]h0x130}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hjOh]h4}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hspeedh]hspeed}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x134h]h0x134}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hidVendorh]hidVendor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x136h]h0x136}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h idProducth]h idProduct}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x138h]h0x138}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hjh]h2}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h bcdDeviceh]h bcdDevice}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x13Ah]h0x13A}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hj h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h bDeviceClassh]h bDeviceClass}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x13Bh]h0x13B}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hj h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbDeviceSubClassh]hbDeviceSubClass}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x13Ch]h0x13C}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hj h]h1}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjKubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hbDeviceProtocolh]hbDeviceProtocol}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjjubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x13Dh]h0x13D}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hj h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbConfigurationValueh]hbConfigurationValue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x13Eh]h0x13E}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hj h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbNumConfigurationsh]hbNumConfigurations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h0x13Fh]h0x13F}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hj h]h1}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjMubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hbNumInterfacesh]hbNumInterfaces}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjlubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(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-hjhhubh)}(husbip_header_basic:h]husbip_header_basic:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjhhubj)}(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&]uh1jhjubj)}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj9ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hjOh]h4}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjOubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hcommandh]hcommand}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjeubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh]h)}(hjh]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh]h)}(h0xCh]h0xC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(h direction:h]h direction:}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjJubjE)}(hs%- 0: USBIP_DIR_OUT - 1: USBIP_DIR_IN h]jK)}(hhh](jP)}(h0: USBIP_DIR_OUTh]h)}(hjdh]h0: USBIP_DIR_OUT}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjbubah}(h]h ]h"]h$]h&]uh1jOhj_ubjP)}(h1: USBIP_DIR_IN h]h)}(h1: USBIP_DIR_INh]h1: USBIP_DIR_IN}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjyubah}(h]h ]h"]h$]h&]uh1jOhj_ubeh}(h]h ]h"]h$]h&]jjuh1jJhhhMDhj[ubah}(h]h ]h"]h$]h&]uh1jDhhhMDhjJubh)}(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&]uh1hhhhMGhjJubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh]h)}(h0x10h]h0x10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hhh]j)}(h USBIP_CMD_SUBMIT: Submit an URB h](j)}(hUSBIP_CMD_SUBMIT:h]hUSBIP_CMD_SUBMIT:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMOhjubj)}(hhh]h)}(h Submit an URBh]h Submit an URB}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhMOhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjRubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjRubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjRubj)}(hhh]j)}(hhh](j)}(hhh]h)}(hOffseth]hOffset}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjyubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h20h]h20}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x14h]h0x14}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjJubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x18h]h0x18}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(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&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x1Ch]h0x1C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x20h]h0x20}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x24h]h0x24}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjQubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hjOh]h4}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjhubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj~ubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x28h]h0x28}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x30h]h0x30}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h0x30+nh]h0x30+n}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj8ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hmh]hm}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjOubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hiso_packet_descriptorh]hiso_packet_descriptor}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjfubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]colsKuh1jhjOubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1jhjhhhhhNubj)}(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&]uh1jhjubj)}(hhh]h)}(hLengthh]hLength}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Descriptionh]h Description}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj&ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h20h]h20}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjeubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h1usbip_header_basic, 'command' shall be 0x00000003h]h5usbip_header_basic, ‘command’ shall be 0x00000003}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj|ubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x14h]h0x14}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x18h]h0x18}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x1Ch]h0x1C}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hjOh]h4}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(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}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x20h]h0x20}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x24h]h0x24}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjOh]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h error_counth]h error_count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x28h]h0x28}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h8}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x30h]h0x30}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hjh]hn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(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&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h0x30+nh]h0x30+n}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjTh]hm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hiso_packet_descriptorh]hiso_packet_descriptor}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1jhjhhhhhNubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjO ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjO ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjO ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(hOffseth]hOffset}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv ubah}(h]h ]h"]h$]h&]uh1jhjs ubj)}(hhh]h)}(hLengthh]hLength}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjs ubj)}(hhh]h)}(h Descriptionh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjs ubeh}(h]h ]h"]h$]h&]uh1jhjp ubah}(h]h ]h"]h$]h&]uh1jhjO ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h20h]h20}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj 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&]uh1jhj!ubj)}(hhh]h)}(hjOh]h4}(hj4!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h.unlink_seqnum, of the SUBMIT request to unlinkh]h.unlink_seqnum, of the SUBMIT request to unlink}(hjJ!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjG!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h0x18h]h0x18}(hjj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjg!ubah}(h]h ]h"]h$]h&]uh1jhjd!ubj)}(hhh]h)}(h24h]h24}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~!ubah}(h]h ]h"]h$]h&]uh1jhjd!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&]uh1jhjd!ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjO ubeh}(h]h ]h"]h$]h&]colsKuh1jhjL ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1jhjhhhhhNubj)}(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&]uh1jhj$"ubj)}(hhh]h)}(hLengthh]hLength}(hjA"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>"ubah}(h]h ]h"]h$]h&]uh1jhj$"ubj)}(hhh]h)}(h Descriptionh]h Description}(hjX"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjU"ubah}(h]h ]h"]h$]h&]uh1jhj$"ubeh}(h]h ]h"]h$]h&]uh1jhj!"ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~"ubah}(h]h ]h"]h$]h&]uh1jhj{"ubj)}(hhh]h)}(h20h]h20}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj{"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&]uh1jhj{"ubeh}(h]h ]h"]h$]h&]uh1jhjx"ubj)}(hhh](j)}(hhh]h)}(h0x14h]h0x14}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hjOh]h4}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"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&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhjx"ubj)}(hhh](j)}(hhh]h)}(h0x18h]h0x18}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(h24h]h24}(hj2#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hpadding, shall be set to 0h]hpadding, shall be set to 0}(hjI#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhjx"ubeh}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]colsKuh1jhj!ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]message-formatah ]h"]message formatah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hEXAMPLEh]hEXAMPLE}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~#hhhhhMubjE)}(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&]uh1jDhhhMhj~#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&]j j uh1hhhhMhj~#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_backlinksjfootnote_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#jWjTjjj{#jx#j#j#u nametypes}(j#jWjj{#j#uh}(j#hjThjjZjx#jj#j~#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.