usbredir 0 7內容詳解(二)

2021-07-05 21:43:25 字數 3331 閱讀 2920

usbredir-0.7內容詳解(二)

/*****

*****

*****

*****

*****

*****

*****

******

usb_redir_header.type: usb_redir_inte***ce_info

usb_redir_header.length: sizeof(usb_redir_inte***ce_info_header)

usb_redir_header.id: 0 (always as this is an unsolicited packet)

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****/

struct usb_redir_inte***ce_info_header

/* usb-host傳送這個訊息包,告知usb-guest這個裝置的介面.它包括介面數量,類和協議資訊.這個資訊將會在初始化鏈結成功set_config和set_alt_setting後才會被傳送*/

usb_redir_header.type: usb_redir_ep_info 

usb_redir_header.length: sizeof(usb_redir_ep_info_header)

usb_redir_header.id: 0 (always as this is an unsolicited packet)

enum

struct usb_redir_ep_info_header

/*usb-host傳送這個包,讓usb-guest得知端點型別,分割槽,和介面,他包含所有可能的端點,先是0-15 out端點,再是0-15的 in 端點.這個包是在初始化鏈結成功set_config和set_alt_setting後才會被傳送.

當雙方(usb-host和usb-guest)都含有sb_redir_cap_ep_info_max_packet_size時僅僅會傳送max_packet_size,如果不是這種情況,這個包的大小至少是64位元組!

當雙方都含有usb_redir_cap_bulk_streams時max_streams才會被傳送,如果不是這種情況這個包至少長度為128位元組!

注意在使用usb_redir_cap_bulk_streams 的時候必須要含有usb_redir_cap_ep_info_max_packet_size,缺少了usb_redir_cap_ep_info_max_packet_size是不合法的.

*/

usb_redir_header.type: usb_redir_set_configuration 

usb_redir_header.length: sizeof(usb_redir_set_configuration_header)

struct usb_redir_set_configuration_header

/*usb-guest傳送這個包去設定或者改變usb-device的配置*/

usb_redir_header.type: usb_redir_get_configuration 

usb_redir_header.length: 0

/*usb-guest來傳送它,今兒得到(查詢)usb-device的主動配置*/

usb_redir_header.type: usb_redir_configuration_status 

usb_redir_header.length: sizeof(usb_redir_configuration_status_header)

struct usb_redir_configuration_status_header

/*這個包就是usb-host回應usb_redir_set_configuration和

usb_redir_get_configuration ,它包含狀態碼和陳宮的配置資訊*/

/*注意:在usb_redir_set_configuration命令成功後,usbredir-host 必須首先傳送乙個usb_redir_ep_info包,其次在傳送usb_redir_configuration_status之前傳送usb_redir_inte***ce_info,當開始使用新的配置時,來確保usb-guest含有新的資訊*/

usb_redir_header.type: usb_redir_set_alt_setting 

usb_redir_header.length: sizeof(usb_redir_set_alt_setting_header)

struct usb_redir_set_alt_setting_header

/*usb-guest傳送這個包,設定(修改)介面的alt_setting 由 到

usb_redir_header.type: usb_redir_get_alt_setting 

usb_redir_header.length: sizeof(usb_redir_get_alt_setting_header)

struct usb_redir_get_alt_setting_header

/*usb-guest傳送,來獲取(查詢)乙個usb-device介面的主動alt_setting*/

usb_redir_header.type: usb_redir_alt_setting_status 

usb_redir_header.length: sizeof(usb_redir_alt_setting_status_header)

struct usb_redir_alt_setting_status_header

/*這個包是usb-host用來回應usb_redir_set_alt_setting 和

usb_redir_get_alt_setting ,他包含狀態碼,響應介面,和介面的alt_setting*/

/*注意:在usb_redir_set_alt_setting 命令成功後,usbredir-host 必須首先傳送乙個usb_redir_ep_info包,其次在傳送usb_redir_alt_setting_status之前傳送usb_redir_inte***ce_info,當開始使用新的配置時,來確保usb-guest含有新的資訊*/

07 CMD set命令詳解

set命令詳解 作用 顯示 設定或刪除 cmd.exe 環境變數。格式 set variable string variable 指定環境變數名。string 指定要指派給變數的一系列字串。說明 1 set 顯示所有環境變數 2 set var 清楚var的值 3 var 引用變數的值 舉例 d c...

07 詳解scala函式程式設計

在main函式體外面的原始碼 def test str string unit def main args array string unit 在main函式體裡面的原始碼 def main args array string unit test 張三 def test unit def test1...

redis info內容詳解

以一種易於解釋 parse 且易於閱讀的格式,返回關於 redis 伺服器的各種資訊和統計數值。通過給定可選的引數 section 可以讓命令只返回某一部分的資訊 clients 已連線客戶端資訊,包含以下域 memory 記憶體資訊,包含以下域 在理想情況下,used memory rss 的值應...