⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvb_device.h

📁 DVB软件,基于CT216软件的开发源程序.
💻 H
字号:
#ifndef _DVB_DEVICE_H_
#define _DVB_DEVICE_H_
/*! \file
* This module provides the mass storage device and file system control API.
*
*/

#include "ct_type.h"

#include "dvb_list.h"
#include "dvb_file.h"

//--------------------------------------------------------------------

typedef enum 
{
	EN_DEV_STATUS_SUCCESS,
	EN_DEV_STATUS_FALSE
} EN_PENDEV_STATUS;

typedef enum 
{
	EN_MEDIA_ANY,

	EN_MEDIA_ALBUM,
	EN_MEDIA_MUSIC,
	EN_MEDIA_MOVIE,
	EN_MEDIA_FAVORITE,
	EN_MEDIA_SSU,
	EN_MEDIA_TS,

	EN_MEDIA_NOT_SUPPORT = 255,
} EN_MEDIA_TYPE;

typedef enum 
{
	EN_DEV_CR_LUN0 = 0x00,

	EN_DEV_USB_LUN0 = 0x10,
	EN_DEV_USB_LUN1,
	EN_DEV_USB_LUN2,
	EN_DEV_USB_LUN3,
	EN_DEV_USB_LUN4,
	EN_DEV_USB_LUN5,
	EN_DEV_USB_LUN6,
	EN_DEV_USB_LUN7,
	EN_DEV_USB_LUN8,
	EN_DEV_USB_LUN9,
	EN_DEV_USB_LUN10,
	EN_DEV_USB_LUN11,
	EN_DEV_USB_LUN12,
	EN_DEV_USB_LUN13,
	EN_DEV_USB_LUN14,
	EN_DEV_USB_LUN15,
	EN_DEV_USB_LUN16,
	EN_DEV_USB_LUN17,
	EN_DEV_USB_LUN18,
	EN_DEV_USB_LUN19,
	EN_DEV_USB_LUN20,
	EN_DEV_USB_LUN21,
	EN_DEV_USB_LUN22,
	EN_DEV_USB_LUN23,
	EN_DEV_USB_LUN24,
	EN_DEV_USB_LUN25,
	EN_DEV_USB_LUN26,
	EN_DEV_USB_LUN27,
	EN_DEV_USB_LUN28,
	EN_DEV_USB_LUN29,
	EN_DEV_USB_LUN30,
	EN_DEV_USB_LUN31,

	EN_DEV_NOT_SUPPORT = 0xFF,
} EN_PENDEV_LUN;

typedef struct
{
	EN_MEDIA_TYPE	enMediaType;
	EN_PENDEV_LUN   enDeviceType;
	bool8			b8Ready;		// connect, fs
	s8              as8DeviceName[16];
	void            *pstDevicePartition;
	void			*pstPathChainList;
	void			*pstFileInfoList;
	void			*pstDirInfoList;
    void            *pstFileHandleList;
} ST_PENDEV_HANDLEINFO;

typedef void (*DVB_DEVCTRL_NOTIFY)(EN_PENDEV_LUN enDeviceLun);

#ifdef PVR_ENABLE
typedef void(*DVB_DEVCTRL_MSG_NOTIFY)(bool8 b8Show);
#endif

//--------------------------------------------------------------------

EN_PENDEV_STATUS DVB_DEVCTRL_Initial(void);

EN_PENDEV_STATUS DVB_DEVCTRL_RegisterDevice(EN_PENDEV_LUN enDeviceLun);
EN_PENDEV_STATUS DVB_DEVCTRL_UnRegisterDevice(EN_PENDEV_LUN enDeviceLun);

EN_PENDEV_STATUS DVB_DEVCTRL_LookupByMedia(EN_MEDIA_TYPE enMediaType, ST_PENDEV_HANDLEINFO *pstDeviceInfo);
EN_PENDEV_STATUS DVB_DEVCTRL_LookupByLun(EN_PENDEV_LUN enDeviceLun, ST_PENDEV_HANDLEINFO *pstDeviceInfo);

EN_PENDEV_STATUS DVB_DEVCTRL_GetLunAvailable(u32 *au32DeviceAvail);

EN_PENDEV_STATUS DVB_DEVCTRL_Open(EN_MEDIA_TYPE enMediaType, EN_PENDEV_LUN enDeviceLun);
EN_PENDEV_STATUS DVB_DEVCTRL_Close(EN_MEDIA_TYPE enMediaType);

EN_PENDEV_STATUS DVB_DEVCTRL_SwitchFs(EN_MEDIA_TYPE enMediaType);

EN_PENDEV_STATUS DVB_DEVCTRL_RegisterPluginNotify(DVB_DEVCTRL_NOTIFY pfNotifyFun);
EN_PENDEV_STATUS DVB_DEVCTRL_RegisterPlugoutNotify(DVB_DEVCTRL_NOTIFY pfNotifyFun, EN_MEDIA_TYPE enMediaType);
#ifdef PVR_ENABLE
EN_PENDEV_STATUS DVB_DEVCTRL_MsgShowNotify(DVB_DEVCTRL_MSG_NOTIFY pfNotifyFun);
void DVB_DEVCTRL_Update_Partition_FreeSize(EN_PENDEV_LUN enDevLUN, u8 u8Partition, bool8 b8ShowMsg);
#endif

//--------------------------------------------------------------------

#endif	/* _DVB_DEVICE_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -