/** 
 * @brief           USBH Resouce Header
 * @author          AXELL CORPORATION
 * @description     USBH Resouce Header
 * @note            none
 * @history         2017_02_22	初版
 * @history         2017_10_26  Ver2.0
*/
/* DOM-IGNORE-BEGIN */
/*
 * This program was created by AXELL CORPORATION.
 * Copyright (C) 2017 AXELL CORPORATION, all rights reserved.
 */
/* DOM-IGNORE-END */



//	USB_HOST内のリソース・マネージャ

#ifndef		__USBH_RESOURCE_H__
#define		__USBH_RESOURCE_H__

// *************************************************************************************************
//	define
// *************************************************************************************************
#define		USBH_RSC_NOTUSE				(0x8000)								//	未使用マーカ(BIT15)
#define		USBH_ID_NOTFOUND			(-1)									//	ID見つからない。


// *************************************************************************************************
//	extern
// *************************************************************************************************
extern	uhs_status_t	USBH_rsc_create_sem( ID id );
extern	uhs_status_t	USBH_rsc_delete_sem( ID id );
extern	uhs_status_t	USBH_rsc_take_sem( ID id );
extern	uhs_status_t	USBH_rsc_free_sem( ID id );
extern	uhs_status_t	USBH_rsc_init( void );
extern	uhs_status_t	USBH_rsc_exit( void );
extern	ID				USBH_get_mpl_id( void );
extern	void			USBH_free_mpl_id( ID id );
extern	ID				USBH_get_tsk_id( void );
extern	void			USBH_free_tsk_id( ID id );
extern	ID				USBH_get_mbox_id( void );
extern	void			USBH_free_mbox_id( ID id );
extern	ID				USBH_get_sem_id( void );
extern	void			USBH_free_sem_id( ID id );
extern	ID				USBH_get_evflg_id( void );
extern	void			USBH_free_evflg_id( ID id );
extern	ID				USBH_get_cyc_id( void );
extern	void			USBH_free_cyc_id( ID id );
extern	ID				USBH_get_dtq_id( void );
extern	void			USBH_free_dtq_id( ID id );

#endif		//__USBH_RESOURCE_H__

