AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
usbh_api.h

USB HOST API Wrapper Header

USB HOST API Wrapper提供ヘッダ。

none

AXELL CORPORATION

2017_02_22 初版 

2017_10_26 Ver2.0

1: 9: 10: 14: #ifndef __USBH_API_H__ 15: #define __USBH_API_H__ 16: 17: 18: 19: 20: 21: 22: 23: #include "uhs_type.h" 24: #include "depend_cfg.h" 25: #include "open_usbdi.h" 26: #include "wrapper_kernel.h" 27: #include "usbc_api.h" 28: 29: 50: struct usbh_overcurrent_info { 51: struct usbd_usb_deviceinfo *usbhub; 52: uhs_ubit8_t port_num; 53: uhs_ubit8_t ovcr_kind; 54: }; 55: 56: 57: struct usbh_split_err_notify_info { 58: 59: struct usbd_usb_spliterrinfo *split_err_info; 61: }; 62: 63: 64: 67: 68: 69: typedef struct usbd_usb_deviceinfo *PUSB_DEVICE; 70: 71: 72: typedef enum { 73: DEV_TYPE_NONE, 74: DEV_TYPE_OTHER, 75: DEV_TYPE_ROOT, 76: DEV_TYPE_HUB, 77: DEV_TYPE_STOR, 78: DEV_TYPE_CDC, 79: DEV_TYPE_HID 80: } DEVICE_TYPE; 81: 82: 85: 86: 87: 90: 91: 92: typedef enum _usb_logtype { 93: USB_MSGMON_LOGTYPE_ANALYSIS, 94: USB_MSGMON_LOGTYPE_NORMALOP 95: } usb_logtype; 96: 97: 98: 101: typedef struct _usb_msgformat { 102: uhs_ubit8_t msglayer; 103: uhs_ubit8_t msgsublayer; 104: uhs_ubit8_t msgtype; 105: uhs_ubit8_t msglevel; 106: uhs_ubit16_t msgdata; 107: uhs_ubit16_t extdatasize; 108: void * extdata; 109: SYSTIM rcvdtime; 110: } usb_msgformat; 111: 112: 113: 117: uhs_ubit8_t msgsublayer; 118: uhs_ubit8_t msgtype; 119: uhs_ubit8_t msglevel; 120: uhs_ubit16_t msgdata; 121: uhs_ubit16_t extdatasize; 122: void * extdata; 123: SYSTIM rcvdtime; 124: } usb_simple_msgformat; 125: 126: 127: 128: typedef enum _usb_msglayer { 129: USB_MSGMON_LAYER_USBH_HCD, 130: USB_MSGMON_LAYER_USBH_CORE, 131: USB_MSGMON_LAYER_USBH_CLASSDRIVER, 132: USB_MSGMON_LAYER_USBH_FILESYSTEM 133: } usb_msglayer; 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: typedef enum _usb_msgsublayer_hcd { 144: USB_MSGMON_SUBLAYER_HCD_OHCI, 145: USB_MSGMON_SUBLAYER_HCD_EHCI 146: } usb_msgsublayer_hcd; 147: 148: 149: typedef enum _usb_msgsublayer_clsdrv { 150: USB_MSGMON_SUBLAYER_CLSDRV_STOR, 151: USB_MSGMON_SUBLAYER_CLSDRV_HUB, 152: USB_MSGMON_SUBLAYER_CLSDRV_CDC, 153: USB_MSGMON_SUBLAYER_CLSDRV_HID 154: } usb_msgsublayer_clsdrv; 155: 156: 157: 158: 159: 160: 161: typedef enum _usg_msglevel { 162: USB_MSGMON_MSGLVL_MILESTONE, 163: USB_MSGMON_MSGLVL_ERROR, 164: USB_MSGMON_MSGLVL_WARNING 165: } usb_msglevel; 166: 167: 168: 169: 170: #define USBHC_ILLEGAL_ERROR (1) 171: 172: #define USBHC_RESOURCE_UNAVAIL (2) 173: 174: #define USBHC_INVALID_PARAMETER (3) 175: 180: 181: #define USBHC_EHCI_INIT_COMP (1) 182: 183: #define USBHC_EHCI_EXIT_COMP (2) 184: 185: #define USBHC_DEVICE_CONNECT (3) 186: 187: #define USBHC_DEVICE_DISCONNECT (4) 188: 189: #define USBHC_EHCI_PORTPOWER_ON (5) 190: 191: #define USBHC_EHCI_PORTPOWER_OFF (6) 192: 193: 194: 195: #define USBC_INVALID_ADDRESS (1) 196: 197: #define USBC_INVALID_INTERFACE (2) 198: 199: #define USBC_INVALID_ENDPOINT (3) 200: 201: #define USBC_INVALID_PIPE (4) 202: 203: #define USBC_INVALID_PARAMETER (5) 204: 205: #define USBC_PIPE_HALT_ERROR (6) 206: 207: #define USBC_NO_BANDWIDTH (7) 208: 209: #define USBC_INIT_ERROR (8) 210: 211: #define USBC_HOST_INIT_ERROR (9) 212: 213: #define USBC_ILLEGAL_ERROR (10) 214: 215: #define USBC_RESOURCE_UNAVAIL (11) 216: 217: #define USBC_BUS_SUSPEND (12) 218: 219: #define USBC_REQUEST_QUEUE_FULL (13) 220: 221: 222: 223: #define USBC_INIT_COMP (1) 224: 225: #define USBC_EXIT_COMP (2) 226: 227: #define USBC_ENUM_START (3) 228: 229: #define USBC_ENUM_END (4) 230: 231: 232: 233: #define USBCLS_HUB_DETECT_OVERCURRENT (1) 234: 235: #define USBCLS_HUB_ILLEGAL_ERROR (2) 236: 237: #define USBCLS_HUB_RESOURCE_UNAVAIL (3) 238: 239: #define USBCLS_HUB_INVALID_PARAMETER (4) 240: 241: #define USBCLS_HUB_IMPORTANT_ERROR (5) 242: 243: #define USBCLS_HUB_INVALID_STATUS (6) 244: 245: #define USBCLS_HUB_OVERCONN (7) 246: 247: 248: 249: #define USBCLS_HUB_INIT_COMP (1) 250: 251: #define USBCLS_HUB_EXIT_COMP (2) 252: 253: #define USBCLS_HUB_DEVICE_CONNECTED (3) 254: 255: #define USBCLS_HUB_DEVICE_DISCONNECTED (4) 256: 257: #define USBCLS_HUB_DEVICE_CONNECT_NG (5) 258: 259: 260: 261: 264: 265: 266: 267: 268: 269: #define USBH_ASSERT_MEM_TOPID (0x00010000) 270: 271: #define USBH_ASSERT_MEM_CREATE (USBH_ASSERT_MEM_TOPID | 0x00000001) 272: 273: #define USBH_ASSERT_MEM_ALLOC (USBH_ASSERT_MEM_TOPID | 0x00000002) 274: 275: #define USBH_ASSERT_MEM_FREE (USBH_ASSERT_MEM_TOPID | 0x00000003) 276: 277: #define USBH_ASSERT_MEM_DELETE (USBH_ASSERT_MEM_TOPID | 0x00000004) 278: 279: 280: #define USBH_ASSERT_SEM_TOPID (0x00020000) 281: 282: #define USBH_ASSERT_SEM_CREATE (USBH_ASSERT_SEM_TOPID | 0x00000001) 283: 284: #define USBH_ASSERT_SEM_ACQU (USBH_ASSERT_SEM_TOPID | 0x00000002) 285: 286: #define USBH_ASSERT_SEM_REL (USBH_ASSERT_SEM_TOPID | 0x00000003) 287: 288: #define USBH_ASSERT_SEM_DELETE (USBH_ASSERT_SEM_TOPID | 0x00000004) 289: 290: 291: #define USBH_ASSERT_EVF_TOPID (0x00030000) 292: 293: #define USBH_ASSERT_EVF_CREATE (USBH_ASSERT_EVF_TOPID | 0x00000001) 294: 295: #define USBH_ASSERT_EVF_SET (USBH_ASSERT_EVF_TOPID | 0x00000002) 296: 297: #define USBH_ASSERT_EVF_WAIT (USBH_ASSERT_EVF_TOPID | 0x00000003) 298: 299: #define USBH_ASSERT_EVF_DELETE (USBH_ASSERT_EVF_TOPID | 0x00000004) 300: 301: 302: #define USBH_ASSERT_DTQ_TOPID (0x00040000) 303: 304: #define USBH_ASSERT_DTQ_CREATE (USBH_ASSERT_DTQ_TOPID | 0x00000001) 305: 306: #define USBH_ASSERT_DTQ_SND (USBH_ASSERT_DTQ_TOPID | 0x00000002) 307: 308: #define USBH_ASSERT_DTQ_RCV (USBH_ASSERT_DTQ_TOPID | 0x00000003) 309: 310: #define USBH_ASSERT_DTQ_DELETE (USBH_ASSERT_DTQ_TOPID | 0x00000004) 311: 312: 313: #define USBH_ASSERT_TIM_TOPID (0x00050000) 314: 315: #define USBH_ASSERT_TIM_GET (USBH_ASSERT_TIM_TOPID | 0x00000001) 316: 317: #define USBH_ASSERT_TIM_WAIT (USBH_ASSERT_TIM_TOPID | 0x00000002) 318: 319: 320: #define USBH_ASSERT_CYC_TOPID (0x00060000) 321: 322: #define USBH_ASSERT_CYC_CREATE (USBH_ASSERT_CYC_TOPID | 0x00000001) 323: 324: #define USBH_ASSERT_CYC_INACT (USBH_ASSERT_CYC_TOPID | 0x00000002) 325: 326: #define USBH_ASSERT_CYC_DELETE (USBH_ASSERT_CYC_TOPID | 0x00000003) 327: 328: 329: #define USBH_ASSERT_THREAD_TOPID (0x00070000) 330: 331: #define USBH_ASSERT_THREAD_CREATE (USBH_ASSERT_THREAD_TOPID | 0x00000001) 332: 333: #define USBH_ASSERT_THREAD_EXIT (USBH_ASSERT_THREAD_TOPID | 0x00000002) 334: 335: #define USBH_ASSERT_THREAD_DELETE (USBH_ASSERT_THREAD_TOPID | 0x00000003) 336: 337: 338: #define USBH_ASSERT_MBOX_TOPID (0x00080000) 339: 340: #define USBH_ASSERT_MBOX_CREATE (USBH_ASSERT_MBOX_TOPID | 0x00000001) 341: 342: #define USBH_ASSERT_MBOX_SND (USBH_ASSERT_MBOX_TOPID | 0x00000002) 343: 344: #define USBH_ASSERT_MBOX_RCV (USBH_ASSERT_MBOX_TOPID | 0x00000003) 345: 346: #define USBH_ASSERT_MBOX_DELETE (USBH_ASSERT_MBOX_TOPID | 0x00000004) 347: 348: 349: #define USBH_ASSERT_INT_TOPID (0x00090000) 350: 351: #define USBH_ASSERT_INT_REG (USBH_ASSERT_INT_TOPID | 0x00000001) 352: 353: #define USBH_ASSERT_INT_ENA (USBH_ASSERT_INT_TOPID | 0x00000002) 354: 355: #define USBH_ASSERT_INT_DIS (USBH_ASSERT_INT_TOPID | 0x00000003) 356: 357: #define USBH_ASSERT_INT_UNREG (USBH_ASSERT_INT_TOPID | 0x00000004) 358: 359: 360: 361: 362: typedef int (*usb_class_init_callback_t)(void * stCallback); 363: 364: 365: 366: 375: typedef struct _app_callback_info { 376: 377: class_driver_type clsdrv_type; 378: usb_common_callback_t attach_callback; 379: usb_common_callback_t detach_callback; 380: usb_class_init_callback_t class_ini_callback; 381: uhs_boolean_t is_lastnode; 382: 383: } app_callback_info; 384: 385: 386: 390: typedef struct _usbh_regist_info { 391: 392: 393: 394: usb_common_callback_t overload_callback; 395: usb_common_callback_t status_notify_callback; 396: usb_common_callback_t split_err_notify_callback; 397: usb_common_callback_t assert_callback; 398: usb_logtype logtype; 399: 400: 401: 402: app_callback_info * app_callback; 403: 404: } usbh_regist_info; 405: 406: 407: extern uhs_status_t Usbh_Init( usbh_regist_info init ); 408: extern uhs_status_t Usbh_Exit( void ); 409: extern uhs_status_t Usbh_Api_RegistAppCallback( usbh_regist_info init ); 410: extern uhs_status_t Usbh_Api_DriverRegister(struct class_driver_reginfo * driver_info); 411: extern void Usbh_Api_DriverUnRegister(struct class_driver_reginfo * driver_info); 412: extern uhs_status_t Usbh_Api_OpenPipe(struct usb_control_block* ucb); 413: extern uhs_status_t Usbh_Api_ClosePipe(struct usb_control_block* ucb); 414: extern uhs_status_t Usbh_Api_ControlMsg(struct usb_control_block* ucb); 415: extern uhs_status_t Usbh_Api_BulkMsg(struct usb_control_block* ucb); 416: extern uhs_status_t Usbh_Api_IntMsg(struct usb_control_block* ucb); 417: extern uhs_status_t Usbh_Api_SyncControlMsg(struct usb_control_block* ucb, const udi_ubit8_t bmRequestType, const udi_ubit8_t bRequest, 418: const udi_ubit8_t wValue0, const udi_ubit8_t wValue1, const udi_ubit8_t wIndex0, const udi_ubit8_t wIndex1, void *buf, const uhs_ubit32_t size); 419: extern uhs_status_t Usbh_Api_SyncBulkMsg( struct usb_control_block* ucb ); 420: extern uhs_status_t Usbh_Api_CancelPipe(struct usb_control_block* ucb); 421: extern uhs_status_t Usbh_Api_GetDescriptor(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit8_t type, const uhs_ubit8_t index, const uhs_ubit16_t wIndex, void *buf, const uhs_ubit32_t size); 422: extern uhs_status_t Usbh_Api_SetDescriptor(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit8_t type, const uhs_ubit8_t index, const uhs_ubit16_t wIndex, void *buf, const uhs_ubit32_t size); 423: extern uhs_status_t Usbh_Api_ClearFeature(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit8_t bmRequest, const uhs_ubit16_t feature_select, const uhs_ubit16_t wIndex); 424: extern uhs_status_t Usbh_Api_SetFeature(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit8_t bmRequest, const uhs_ubit16_t feature_select, const uhs_ubit16_t wIndex); 425: extern uhs_status_t Usbh_Api_GetStatus(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit8_t bmRequest, const uhs_ubit16_t wIndex, void *buf); 426: extern uhs_status_t Usbh_Api_SetAddress(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit16_t address); 427: extern uhs_status_t Usbh_Api_GetConfiguration(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, void *buf); 428: extern uhs_status_t Usbh_Api_SetConfiguration(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit16_t config_num); 429: extern uhs_status_t Usbh_Api_GetInterface(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit16_t wIndex, void *buf); 430: extern uhs_status_t Usbh_Api_SetInterface(struct usb_control_block* ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit16_t intf_num, const uhs_ubit16_t alt_num); 431: extern uhs_status_t Usbh_Api_AllocUsbCtrlBlock(struct usb_control_block ** ucb); 432: extern uhs_status_t Usbh_Api_FreeUsbCtrlBlock(struct usb_control_block * ucb); 433: extern void Usbh_Api_FixupUsbCtrlBlock(struct usb_control_block * ucb, struct usbd_usb_deviceinfo* usbdev, const uhs_ubit32_t pipe, usb_device_request_t *setup_data, void *data_buf, const uhs_ubit32_t data_len, const uhs_ubit8_t interval, usb_common_callback_t complete_func, void *context); 434: extern void Usbh_Api_FixupPipeInfo( uhs_ubit32_t *pipe, const uhs_ubit8_t usb_addr, const uhs_ubit8_t ep_num, const uhs_ubit8_t packet_id, const uhs_ubit8_t ep_type, const uhs_ubit32_t maxpkt_size); 435: extern uhs_boolean_t Usbh_Api_PipeIsOpened(struct usb_control_block* ucb); 436: extern uhs_ubit32_t Usbh_Api_GetPipeAddr(const uhs_ubit32_t pipe); 437: extern uhs_ubit32_t Usbh_Api_GetPipeEpNum(const uhs_ubit32_t pipe); 438: extern uhs_ubit32_t Usbh_Api_GetPipePID(const uhs_ubit32_t pipe); 439: extern uhs_boolean_t Usbh_Api_GetPipeDirIn(const uhs_ubit32_t pipe); 440: extern uhs_ubit32_t Usbh_Api_GetPipeEpType(const uhs_ubit32_t pipe); 441: extern uhs_ubit32_t Usbh_Api_GetPipeMaxPktSize(const uhs_ubit32_t pipe); 442: extern uhs_ubit8_t Usbh_Api_GetPortPower(struct usbd_usb_deviceinfo *usbhub, const uhs_ubit8_t port_num); 443: extern void Usbh_Api_SetPortPower(struct usbd_usb_deviceinfo *usbhub, const uhs_ubit8_t port_num, const uhs_ubit8_t stat); 444: extern struct usbd_usb_deviceinfo * Usbh_Api_EnumRootHub( struct usbd_usb_deviceinfo * pRootHub ); 445: extern struct usbd_usb_deviceinfo * Usbh_Api_EnumDevice( struct usbd_usb_deviceinfo * pParent, struct usbd_usb_deviceinfo * pChild ); 446: extern uhs_ubit8_t Usbh_Api_GetDeviceType( struct usbd_usb_deviceinfo * pDev ); 447: extern uhs_boolean_t Usbh_Api_GetVidPid( struct usbd_usb_deviceinfo * pDev, udi_ubit16_t *pVid, udi_ubit16_t *pPid ); 448: extern uhs_boolean_t Usbh_Api_GetSerial( struct usbd_usb_deviceinfo * pDev, udi_ubit8_t *pSerial, udi_ubit8_t bufsize ); 449: extern uhs_status_t Usbh_Api_GetVersion(uhs_ubit8_t* pu8MajorVersion, uhs_ubit8_t* pu8MinorVersion); 450: extern uhs_status_t Usbh_Api_ResetTT(struct usbd_usb_deviceinfo *usbhub, const uhs_ubit16_t tt_num); 451: extern uhs_status_t Usbh_Api_ClearTTBuffer(struct usbd_usb_deviceinfo *usbhub, const uhs_ubit16_t tt_num, struct usbd_usb_spliterrinfo *split_err_info); 452: extern void Usb_Core_ReportStatus( const char *pFileName, uhs_ubit32_t nLine, usb_msglevel level, uhs_ubit16_t msgdata ); 453: extern void Hcd_EHCI_ReportStatus( const char *pFileName, uhs_ubit32_t nLine, usb_msglevel level, uhs_ubit16_t msgdata ); 454: extern uhs_status_t Usbh_Api_ReqDisableAttDet( void ); 455: extern uhs_status_t Usbh_Api_CancelDisableAttDet( void ); 456: extern uhs_status_t Usbh_Api_ReqSuspend( void ); 457: extern uhs_status_t Usbh_Api_ReqResume( void ); 458: 459: 460: 461: 462: 463: 464: #define Usbh_FixupCtrlUcb(ucb, usbdev, pipe, setup, buf, size, function, context) \ 465: Usbh_Api_FixupUsbCtrlBlock(ucb, usbdev, pipe, setup, buf, size, 0x00, function, context) 466: 467: #define Usbh_FixupBulkUcb(ucb, usbdev, pipe, buf, size, function, context) \ 468: Usbh_Api_FixupUsbCtrlBlock(ucb, usbdev, pipe, NULL, buf, size, 0, function, context) 469: 470: #define Usbh_FixupIntrUcb(ucb, usbdev, pipe, buf, size, interval, function, context) \ 471: Usbh_Api_FixupUsbCtrlBlock(ucb, usbdev, pipe, NULL, buf, size, interval, function, context) 472: 473: #define Usbh_FixupIsoUcb(ucb, usbdev, pipe, buf, size, function, context) \ 474: Usbh_Api_FixupUsbCtrlBlock(ucb, usbdev, pipe, NULL, buf, size, 0, function, context) 475: 476: 477: #endif
 
名前 
説明 
 
ログ種別指定用 
 
メッセージの送信元階層 ( msglayer ) 
 
クラスドライバの副階層 
 
HCD の副階層 
 
メッセージレベル ( msglevel ) 
 
デバイスのクラスタイプ 
 
ログ種別指定用 
 
メッセージの送信元階層 ( msglayer ) 
 
メッセージレベル ( msglevel ) 
 
クラスドライバの副階層 
 
HCD の副階層 
 
名前 
説明 
 
USB Control Block の確保 
 
バルク転送発行要求API 
 
USB HOSTスタックに対してアタッチ/デタッチ処理禁止のキャンセルを要求する。 
 
指定されたパイプにつながれた全ての転送を中断 
 
CLEAR_FEATUREを発行 
 
HUBにCLR_TT_BUFFERを発行する。 
 
通信用のパイプをクローズ 
 
コントロール転送を実行 
 
クラスドライバ登録API 
 
クラスドライバ登録解除 
 
ハブデバイスに接続されたデバイス情報を取得する 
 
ルートハブデバイスを取得する。 
 
Pipe情報の初期化 
 
USBコントロールブロック情報格納 
 
USB Control Block の開放 
 
GET_CONFIGURATION を発行 
 
GET_DESCRIPTORを発行 
 
デバイスの種別を取得する。 
 
GET_INTERFACE を発行 
 
Pipe 情報からデバイスアドレスを取得 
 
Pipe 情報からPipeのデータ転送方向がINか確認 
 
Pipe 情報からエンドポイント番号を取得 
 
Pipe 情報からエンドポイントのタイプを取得 
 
Pipe 情報からマックスパケットサイズを取得 
 
Pipe 情報からPIDを取得 
 
ルートハブの指定ポートへの電源供給状態(ON/OFF)を取得 
 
デバイスのシリアル番号をもったストリングディスクリプタを取得する。 
 
GET_STATUSを発行 
 
ファームウェアバージョン情報を取得をする。 
 
指定したデバイスのVIDとPIDを取得する。 
 
インタラプト転送発行要求API 
 
通信用のパイプをオープン 
 
Pipeのオープン状態の確認 
 
アプリケーションのコールバック関数を登録 
 
USB HOSTスタックに対してアタッチ/デタッチ処理禁止を要求する。 
 
USB HOSTスタックに対してRESUMEを要求する。 
 
USB HOSTスタックに対してSUSPENDを要求する。 
 
HUBにRESET_TTを発行する。 
 
SET_ADDRESS を発行 
 
SET_CONFIGURATION を発行 
 
SET_DESCRIPTOR を発行 
 
SET_FEATUREを発行 
 
SET_INTERFACE を発行 
 
ルートハブの指定ポートへの電源供給(VBUS)を ON/OFF する 
 
バルク転送を発行する 
 
コントロール転送を同期実行 
 
USBドライバスタック終了処理 
 
USBドライバスタック初期化 
名前 
説明 
パスSUSPEND 
エニュメレーション終了 
エニュメレーション開始 
CORE終了処理完了 
HOST初期化ERR 
イリーガルERR 
CORE マイルストーン CORE初期化完了 
初期化ERR 
CORE ステータスコード( msgdata ) アドレスERR 
エンドポイントERR 
インターフェースERR 
パラメータERR 
パイプERR 
バンド幅ERR 
パイプHALT 
リクエストキューFULL 
リソースERR 
HUB ステータスコード( msgdata ) オーバーカレント検出 
HUBデバイス接続失敗 
PORTへの有効デバイス接続検出 
PORTにからのデバイス切断検出 
HUB終了処理正常完了 
イリーガルERR 
PORT_RESETに失敗 
HUB マイルストーン HUB初期化処理正常完了 
パラメータERR 
ステータスERR 
接続可能台数オーバー 
リソースERR 
Assert種別コード 周期ハンドラ CREATE 
Assert種別コード 周期ハンドラ DELETE 
Assert種別コード 周期ハンドラ INACT 
Assert種別コード 周期ハンドラ TOPID 
Assert種別コード データキュー CREATE 
Assert種別コード データキュー DELETE 
Assert種別コード データキュー RCV 
Assert種別コード データキュー SND 
Assert種別コード データキュー TOPID 
Assert種別コード イベントフラグ CREATE 
Assert種別コード イベントフラグ DELETE 
Assert種別コード イベントフラグ SET 
Assert種別コード イベントフラグ TOPID 
Assert種別コード イベントフラグ WAIT 
Assert種別コード 割込み DIS 
Assert種別コード 割込み ENA 
Assert種別コード 割込み REG 
Assert種別コード 割込み TOPID 
Assert種別コード 割込み UNREG 
Assert種別コード MailBox CREATE 
Assert種別コード MailBox DELETE 
Assert種別コード MailBox RCV 
Assert種別コード MailBox SND 
Assert種別コード MailBox TOPID 
Assert種別コード メモリ ALLOC 
Assert種別コード メモリ CREATE 
Assert種別コード メモリ DELETE 
Assert種別コード メモリ FREE 
Assert種別コード 
Assert種別コード セマフォ ACQU 
Assert種別コード セマフォ CREATE 
Assert種別コード セマフォ DELETE 
Assert種別コード セマフォ REL 
Assert種別コード セマフォ TOPID 
Assert種別コード スレッド CREATE 
Assert種別コード スレッド DELETE 
Assert種別コード スレッド EXIT 
Assert種別コード スレッド TOPID 
Assert種別コード 時刻取得 GET 
Assert種別コード 時刻取得 TOPID 
Assert種別コード 時刻取得 WAIT 
CALLBACK関数Return値(NG[理由問わず]) 
CALLBACK関数Return値(NG[接続制限OVER]) 
CALLBACK関数Return値(OK) 
オーバーカレントCALLBACK種別(汎用HUB全体でのオーバーカレント検出) 
オーバーカレントCALLBACK種別(汎用HUBの特定ポートでのオーバーカレント検出) 
オーバーカレントCALLBACK種別(ルートHUBでのオーバーカレント検出) 
電源供給状態(OFF) 
電源供給状態(ON) 
デバイス接続 
デバイス切断 
削除完了 
EHCI マイルストーン 初期化完了 
ポートOFF 
ポートON 
EHCI ステータスコード( msgdata ) イリーガルERR 
パラメータERR 
リソースERR 
FORCE_RESUME ビット0に戻らない。 
 
名前 
説明 
 
各クラスドライバのCALLBACK情報
USB Hostを初期化する際にクラスドライバの初期化関数、及び、アプリケーションレベルのアタッチ/デタッチ CALLBACK関数のポインタを指定するためのデータ構造。
Usbh_init の呼出にて、本構造体に定義されたクラスドライバの初期化関数が呼び出され、USB COREブロックに クラスドライバが登録されます。
本構造体は配列として宣言することで、USB HOSTスタックの初期化時に複数のクラスドライバを登録する事が 出来ます。
生成タイミング : USB Host初期化時
削除タイミング : USB Host初期化後、任意のタイミング 
 
解析ログ用メッセージフォーマット
USB Host 各層は本構造体を使ってメッセージを投げて下さい。
解析ログ指定時、アプリケーションには本構造体で通知を行います。 
 
運用中用メッセージフォーマット
運用中ログ指定時、アプリケーションには本構造体で通知を行います。 
 
USB HOSTの初期化関数に渡す 各種CALLBACK情報
各種コールバックをNULLに設定した場合はコールバックは行われません。
生成タイミング : USB Host初期化時
削除タイミング : USB Host初期化後、任意のタイミング 
 
各クラスドライバのCALLBACK情報
USB Hostを初期化する際にクラスドライバの初期化関数、及び、アプリケーションレベルのアタッチ/デタッチ CALLBACK関数のポインタを指定するためのデータ構造。
Usbh_init の呼出にて、本構造体に定義されたクラスドライバの初期化関数が呼び出され、USB COREブロックに クラスドライバが登録されます。
本構造体は配列として宣言することで、USB HOSTスタックの初期化時に複数のクラスドライバを登録する事が 出来ます。
生成タイミング : USB Host初期化時
削除タイミング : USB Host初期化後、任意のタイミング 
 
解析ログ用メッセージフォーマット
USB Host 各層は本構造体を使ってメッセージを投げて下さい。
解析ログ指定時、アプリケーションには本構造体で通知を行います。 
 
運用中用メッセージフォーマット
運用中ログ指定時、アプリケーションには本構造体で通知を行います。 
 
USB HOSTの初期化関数に渡す 各種CALLBACK情報
各種コールバックをNULLに設定した場合はコールバックは行われません。
生成タイミング : USB Host初期化時
削除タイミング : USB Host初期化後、任意のタイミング 
名前 
説明 
デバイス情報 
クラスドライバ初期化関数用コールバック型 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.