📄 dvb_device.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 + -