nt9856x/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.h

105 lines
3.0 KiB
C
Executable File

/**************************************************************************
*
* Copyright (c) 2015-2021 by WuYuan Technology, Inc.
*
* This software is copyrighted by and is the property of SiFar
* Technology, Inc.. All rights are reserved by SiFar Technology, Inc..
* This software may only be used in accordance with the corresponding
* license agreement. Any unauthorized use, duplication, distribution,
* or disclosure of this software is expressly forbidden.
*
* This Copyright notice MUST not be removed or modified without prior
* written consent of SiFar Technology, Inc..
*
* WuYuan Technology, Inc. reserves the right to modify this software without notice.
*
* Author: Sober
* Ver: 1.0.0 2023.12.23
* Description: Creat
**************************************************************************/
#ifndef _SF_SYS_STRG_MNG_H_
#define _SF_SYS_STRG_MNG_H_
#include "sf_type.h"
#include "sf_param_common.h"
#include "sf_storeMng.h"
#define MMC_DEV_MAX_NUM (2)
#define SD_NODES_NAME "/dev/mmcblk0"
#define SD_DEVICE_NAME "/dev/mmcblk0p1"
#define SD_MOUNT_ROOT "/mnt/sd"
#define EMMC_NODES_NAME "/dev/mmcblk1"
#define EMMC_DEVICE_NAME "/dev/mmcblk1p1"
#define EMMC_MOUNT_ROOT "/mnt/sd2"
#define USE_MMC_DEV_CHECK (1)
// typedef enum
// {
// MMC_DEV_SD = 0,
// MMC_DEV_EMMC = 1,
// MMC_DEV_NO = 2,
// }MMC_DEV_TYPE;
// typedef enum
// {
// MMC_DEV_NODE_STATE_NO = 0,
// MMC_DEV_NODE_STATE_EXIST = 1,
// MMC_DEV_NODE_STATE_NO_EXIST = 2,
// }MMC_DEV_NODE_STATE;
// typedef enum
// {
// MMC_DEV_MOUNT_STATE_NO = 0,
// MMC_DEV_MOUNT_STATE_MOUNTED = 1,
// MMC_DEV_MOUNT_STATE_UNMOUNTED = 2,
// }MMC_DEV_MOUNT_STATE;
typedef enum
{
MMC_DEV_SPACE_STATE_NO = 0,
MMC_DEV_SPACE_STATE_ENOUGH = 1,
MMC_DEV_SPACE_STATE_NO_ENOUGH = 2,
}MMC_DEV_SPACE_STATE;
typedef enum
{
MMC_DEV_LOOP_STATE_NO = 0,
MMC_DEV_LOOP_STATE_ON = 1,
MMC_DEV_LOOP_STATE_OFF = 2,
}MMC_DEV_LOOP_STATE;
typedef enum DEV_FLAG_INIT {
DEV_FLAG_INIT_FILESYSOK = 0x00,
DEV_FLAG_INIT_FILENAMINGOK,
DEV_FLAG_GET,
DEV_FLAG_INIT_MAX_CNT = 32, //flag max bit cnt is 32
} DEV_FLAG_INIT;
typedef struct
{
MMC_DEV_TYPE dev_type;
MMC_DEV_NODE_STATE node;
MMC_DEV_MOUNT_STATE moumted_state;
MMC_DEV_SPACE_STATE space_state;
MMC_DEV_LOOP_STATE loop_state;
int dcf_handle;
}SF_ST_MMC_DEV;
void SF_StrgInit(void);
void SF_StrgUnInit(void);
void SF_StrgSetDcfHandle(UINT32 strg_id, UINT32 handle);
void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf);
SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void);
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev);
SF_ST_MMC_DEV *SF_GetMMCDev(void);
int sf_mmc_dev_check_start(void);
int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type);
void sf_dev_flag_set_done(DEV_FLAG_INIT boot_init);
void sf_file_sys_int_status(void);
void sf_thumb_dir(void);
#endif //_SF_SYS_STRG_MNG_H_