93 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /***********************************************************************
 | ||
|  | * $Id:: mw_usbd_rom_api.h 197 2011-06-12 20:22:41Z usb06052                   $ | ||
|  | * | ||
|  | * Project: USB device ROM Stack | ||
|  | * | ||
|  | * Description: | ||
|  | *     ROM API Module definitions. | ||
|  | * | ||
|  | *********************************************************************** | ||
|  | *   Copyright(C) 2011, NXP Semiconductor | ||
|  | *   All rights reserved. | ||
|  | * | ||
|  | * Software that is described herein is for illustrative purposes only | ||
|  | * which provides customers with programming information regarding the | ||
|  | * products. This software is supplied "AS IS" without any warranties. | ||
|  | * NXP Semiconductors assumes no responsibility or liability for the | ||
|  | * use of the software, conveys no license or title under any patent, | ||
|  | * copyright, or mask work right to the product. NXP Semiconductors | ||
|  | * reserves the right to make changes in the software without | ||
|  | * notification. NXP Semiconductors also make no representation or | ||
|  | * warranty that such application will be suitable for the specified | ||
|  | * use without further testing or modification. | ||
|  | **********************************************************************/ | ||
|  | #ifndef __MW_USBD_ROM_API_H
 | ||
|  | #define __MW_USBD_ROM_API_H
 | ||
|  | /** \file
 | ||
|  |  *  \brief ROM API for USB device stack. | ||
|  |  * | ||
|  |  *  Definition of functions exported by ROM based USB device stack. | ||
|  |  * | ||
|  |  */ | ||
|  | 
 | ||
|  | #include "error.h"
 | ||
|  | #include "mw_usbd.h"
 | ||
|  | #include "mw_usbd_hw.h"
 | ||
|  | #include "mw_usbd_desc.h"
 | ||
|  | #include "mw_usbd_core.h"
 | ||
|  | #include "mw_usbd_mscuser.h"
 | ||
|  | #include "mw_usbd_dfuuser.h"
 | ||
|  | #include "mw_usbd_hiduser.h"
 | ||
|  | #include "mw_usbd_cdcuser.h"
 | ||
|  | 
 | ||
|  | /** \brief Main USBD API functions structure.
 | ||
|  |  *  \ingroup Group_USBD | ||
|  |  * | ||
|  |  *  This structure contains pointer to various USB Device stack's sub-module  | ||
|  |  *  function tables. This structure is used as main entry point to access | ||
|  |  *  various methods (grouped in sub-modules) exposed by ROM based USB device  | ||
|  |  *  stack. | ||
|  |  * | ||
|  |  */ | ||
|  | typedef struct USBD_API  | ||
|  | { | ||
|  |   const USBD_HW_API_T* hw; /**< Pointer to function table which exposes functions 
 | ||
|  |                            which interact directly with USB device stack's core  | ||
|  |                            layer.*/ | ||
|  |   const USBD_CORE_API_T* core; /**< Pointer to function table which exposes functions 
 | ||
|  |                            which interact directly with USB device controller  | ||
|  |                            hardware.*/ | ||
|  |   const USBD_MSC_API_T* msc; /**< Pointer to function table which exposes functions 
 | ||
|  |                            provided by MSC function driver module. | ||
|  |                            */ | ||
|  |   const USBD_DFU_API_T* dfu; /**< Pointer to function table which exposes functions 
 | ||
|  |                            provided by DFU function driver module. | ||
|  |                            */ | ||
|  |   const USBD_HID_API_T* hid; /**< Pointer to function table which exposes functions 
 | ||
|  |                            provided by HID function driver module. | ||
|  |                            */ | ||
|  |   const USBD_CDC_API_T* cdc; /**< Pointer to function table which exposes functions 
 | ||
|  |                            provided by CDC-ACM function driver module. | ||
|  |                            */ | ||
|  |   const uint32_t* reserved6; /**< Reserved for future function driver module.
 | ||
|  |                            */ | ||
|  |   const uint32_t version; /**< Version identifier of USB ROM stack. The version is
 | ||
|  |                           defined as 0x0CHDMhCC where each nibble represnts version  | ||
|  |                           number of the corresponding component. | ||
|  |                           CC -  7:0  - 8bit core version number | ||
|  |                            h - 11:8  - 4bit hardware interface version number | ||
|  |                            M - 15:12 - 4bit MSC class module version number | ||
|  |                            D - 19:16 - 4bit DFU class module version number | ||
|  |                            H - 23:20 - 4bit HID class module version number | ||
|  |                            C - 27:24 - 4bit CDC class module version number | ||
|  |                            H - 31:28 - 4bit reserved  | ||
|  |                            */ | ||
|  | 
 | ||
|  | } USBD_API_T; | ||
|  | 
 | ||
|  | extern const  USBD_API_T usb_api; | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif /*__MW_USBD_ROM_API_H*/
 | ||
|  | 
 |