AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
usbd_usb_deviceinfo 構造体
Syntax
C++
struct usbd_usb_deviceinfo { uhs_ubit8_t usbdev_DevNum; uhs_sbit32_t usbdev_DevSpeed; struct usb_device_descriptor * usbdev_DevDescriptor; uhs_ubit8_t * raw_config; struct drv_usb_configuration_descriptor * Drv_ConfDescriptor; uhs_ubit32_t usbdev_EpMaxpktIn[16]; uhs_ubit32_t usbdev_EpMaxpktOut[16]; uhs_ubit16_t usbdev_EpHalt[2]; uhs_ubit16_t usbdev_EpToggle[2]; struct usbd_usb_deviceinfo * usbdev_UpperHub; struct usbd_usb_deviceinfo * usbdev_LowerHub[USB_MAX_LOWER_DEV+1]; uhs_ubit8_t usbdev_LanguageId[2]; uhs_sbit8_t * usbdev_StringManu; uhs_sbit8_t * usbdev_StringProduct; uhs_sbit8_t * usbdev_StringSerial; uhs_ubit8_t usbdev_TotalConfig; uhs_ubit8_t usbdev_ActConfig; void * drv_info; struct hcd_info * hcd_info; void * hc_context; kernel_context_t usbdev_sem; kernel_context_t usbdev_mbx; uhs_boolean_t connect_status; void * context; struct split_infomation split_info; };

usbc_main.h

メンバ 
説明 
uhs_ubit8_t usbdev_DevNum; 
デバイス番号 
uhs_sbit32_t usbdev_DevSpeed; 
デバイスのスピード 
struct usb_device_descriptor * usbdev_DevDescriptor; 
デバイスディスクリプタ 
uhs_ubit8_t * raw_config; 
ゲットディスクリプタ・コンフィグレーション発行時に 受信したデータバッファポインタ 
struct drv_usb_configuration_descriptor * Drv_ConfDescriptor; 
コンフィグレーションディスクリプタ 
uhs_ubit32_t usbdev_EpMaxpktIn[16]; 
各エンドポイントのマックスパケットサイズ 
uhs_ubit32_t usbdev_EpMaxpktOut[16]; 
各エンドポイントのマックスパケットサイズ 
uhs_ubit16_t usbdev_EpHalt[2]; 
各エンドポイントのHALT状態
各ビットをフラグとして使用
[0]・・・アウトエンドポイント
[1]・・・インエンドポイント 
uhs_ubit16_t usbdev_EpToggle[2]; 
各エンドポイントのHALT状態
各ビットをフラグとして使用
[0]・・・アウトエンドポイント
[1]・・・インエンドポイント 
struct usbd_usb_deviceinfo * usbdev_UpperHub; 
上位ハブのデバイス構造体アドレス 
struct usbd_usb_deviceinfo * usbdev_LowerHub[USB_MAX_LOWER_DEV+1]; 
ハブの下位デバイス構造体アドレス
[1]-[n]がポートに対応 
uhs_ubit8_t usbdev_LanguageId[2]; 
言語ID保存バッファ 
uhs_sbit8_t * usbdev_StringManu; 
ベンダ情報格納バッファアドレス 
uhs_sbit8_t * usbdev_StringProduct; 
製造番号格納バッファアドレス 
uhs_sbit8_t * usbdev_StringSerial; 
シリアル番号格納バッファアドレス 
uhs_ubit8_t usbdev_TotalConfig; 
全コンフィグ数 
uhs_ubit8_t usbdev_ActConfig; 
現在設定されているコンフィグレーション番号 
void * drv_info; 
ドライバ情報格納バッファポインタ ⇒ unknown device はNULL 
struct hcd_info * hcd_info; 
接続元のHCD情報 
void * hc_context; 
HCD固有データ格納 
kernel_context_t usbdev_sem; 
USBデバイス保護用セマフォ 
kernel_context_t usbdev_mbx; 
コントロール転送用メールボックス 
uhs_boolean_t connect_status; 
接続状態ステータス 
void * context; 
コンテキストデータ格納 
struct split_infomation split_info; 
split infomation 

USBデバイス管理用構造体 (USBデバイス接続時に生成する情報) 

USB HostはUSBペリフェラルデバイスの情報を、接続デバイス毎に本構造体を生成し管理します。 

また、デバイス接続時・切断時にクラスドライバへのコールバックの引数として本構造体は使われます。 

クラスドライバはデバイス接続時のコールバックで受け取った本構造体をクラスドライバ内部で保持し、 各APIの引数として直接、またはUSBコントロールブロックのメンバ等として間接的に使用します。 

クラスドライバはデバイス接続時のコールバックで受け取った本構造体を解放する事を禁止します。 また、メンバへの書き込みも禁止です。 

生成タイミング : デバイス接続時 

削除タイミング : デバイス切断時

Copyright (c) 2017-2025 Axell Corporation. All rights reserved.