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

📄 fslowlayer.him

📁 我今天开始上传5份TI、NXP、MTK的手机开发全套资料。希望对大家有很大的帮助
💻 HIM
字号:
#ifndef FSLOWLAYER_HIM#define FSLOWLAYER_HIM/* Low layer initialization */#define MC_FS_LL_INIT_LOW_LAYER( pp_Config ) Fs84_01LLInitLowLayer( pp_Config )#define MC_FS_LL_THREAD_COMM_INIT(pp_LayerCom, vp_TypeOfThread)					\		 Fs84_02LLThreadComInit( pp_LayerCom, vp_TypeOfThread )/****************************************************************************************//*											*//* This macro calls the lower layer function READ, the prototype of this macro is	*//*	MC_FS_LL_READ ( t_LayerCommunication pp_LayCom, t_fsVolStruct * pp_VolumeContext,*//*			t_fsFILE *pp_FileStream, ascii * pp_Buff, u32 vp_FilePosition, *//*			u32 vp_Size, u16* p_Status); 					*//*											*//****************************************************************************************/#define MC_FS_LL_INIT( pp_Status )								\   {												\      t_fs_llInit s_Init;									\												\	s_Init.p_Status = pp_Status;								\												\        /* Call lower layer for init operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_INIT, &s_Init );					\   }#define MC_FS_LL_FORMAT_VOLUME( pp_Status )							\   {												\      t_fs_llFormatVolume s_FormatVolume;							\												\	s_FormatVolume.p_Status = pp_Status;							\												\        /* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_FORMAT_VOL, &s_FormatVolume );				\   }#define  MC_FS_LL_READ( vp_Id, pp_Buff, vp_FilePosition, vp_Size, pp_status )			\   {												\      t_fs_llRead s_Read;									\												\ 	s_Read.v_Id = vp_Id;									\	s_Read.p_Buff = pp_Buff;								\	s_Read.v_FilePosition = vp_FilePosition;						\	s_Read.v_Size = vp_Size;								\	s_Read.p_Status = pp_status;								\												\	/* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_READ, &s_Read );					\   }	#define MC_FS_LL_UPDATE_IOBUFF_CONF( vp_Size, pp_FileIOBuffMngt, pp_Status )			\   {												\      t_fs_llUpdateIOBuffConf s_UpdateIOBuffConf;						\												\	s_UpdateIOBuffConf.v_Size = vp_Size;							\	s_UpdateIOBuffConf.p_FileIOBuffMngt = pp_FileIOBuffMngt;				\	s_UpdateIOBuffConf.p_Status = pp_Status;						\												\	/* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_UPDATE_IOBUFF_CONF, &s_UpdateIOBuffConf );	\   }#define MC_FS_LL_WRITE_COMPLEX( pp_WriteHeader, pp_Status )					\   {												\      t_fs_llWriteComplex s_WriteComplex;							\												\	s_WriteComplex.p_Status = pp_Status;							\	s_WriteComplex.p_WriteHeader = pp_WriteHeader;						\												\	/* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_WRITE_COMPLEX, &s_WriteComplex );			\   }#define MC_FS_LL_OPEN_FILE(pp_ObjInfo, pp_Status )						\   {												\      t_fs_llFOpen s_OpenFile;									\												\	s_OpenFile.p_ObjInfo = pp_ObjInfo;							\	s_OpenFile.p_Status = pp_Status;							\												\        /* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_OPEN_FILE, &s_OpenFile );				\   }#define MC_FS_LL_CLOSE_FILE(vp_ID, pp_Status )							\   {												\      t_fs_llFClose s_CloseFile;								\												\	s_CloseFile.v_Id = vp_ID;								\	s_CloseFile.p_Status = pp_Status;							\												\        /* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_CLOSE_FILE, &s_CloseFile );			\   }#define MC_FS_LL_CREATE_OBJ( pp_ObjInfo, vp_MaxFileSize, vp_ObjType, pp_Status )		\   {												\      t_fs_llFCreate s_CreateFile;								\												\	s_CreateFile.p_ObjInfo = pp_ObjInfo;							\	s_CreateFile.v_ObjType = vp_ObjType;							\	s_CreateFile.v_MaxFileSize = vp_MaxFileSize;						\	s_CreateFile.p_Status = pp_Status;							\												\        /* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_CREATE_FILE, &s_CreateFile );			\   }#define MC_FS_LL_GET_OBJECT_INFO(pp_ObjInfo, pp_RestOfPath, pp_Status)				\   {												\      t_fs_llGetObjInfo s_GetObjectInfo;							\												\	s_GetObjectInfo.p_ObjInfo = pp_ObjInfo;							\	s_GetObjectInfo.p_RestOfPath = pp_RestOfPath;						\	s_GetObjectInfo.p_Status = pp_Status;							\												\        /* Call lower layer for read operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_GET_OBJ_INFO, &s_GetObjectInfo );			\   }#define MC_FS_LL_REMOVE_FILE( pp_ObjInfo, pp_Status )						\   {												\      t_fs_llRemove s_RemoveFile;								\												\	 s_RemoveFile.p_ObjInfo = pp_ObjInfo;							\	 s_RemoveFile.p_Status = pp_Status;							\												\        /* Call lower layer for remove operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_REMOVE, &s_RemoveFile );				\   }    #define MC_FS_LL_RENAME( pp_ObjInfoOld, pp_RestOfPathOld, pp_ObjInfoNew, pp_RestOfPathNew,	\							 pp_Status )				\   {												\      t_fs_llRename s_RenameFile;								\												\	s_RenameFile.p_ObjInfoOld = pp_ObjInfoOld;						\	s_RenameFile.p_RestOfPathOld = pp_RestOfPathOld;					\	s_RenameFile.p_ObjInfoNew = pp_ObjInfoNew;						\	s_RenameFile.p_RestOfPathNew = pp_RestOfPathNew;					\	s_RenameFile.p_Status = pp_Status;							\												\        /* Call lower layer for rename operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_RENAME, &s_RenameFile );				\   }#define MC_FS_LL_FFLUSH( vp_Id, pp_Status )							\   {												\      t_fs_llFFlush s_FlushFile;								\												\	s_FlushFile.v_Id = vp_Id;								\	s_FlushFile.p_Status = pp_Status;							\												\        /* Call lower layer for file flush operation */						\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_FFLUSH, &s_FlushFile );				\   }#define MC_FS_LL_GET_VOL_INFO( pp_VolumeInfo, pp_Status )					\   {												\      t_fs_llGetVolInfo s_GetVolInfo;								\												\      	s_GetVolInfo.p_VolumeInfo = pp_VolumeInfo;							\	s_GetVolInfo.p_Status = pp_Status;							\												\        /* Call lower layer for get volume info operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_GET_VOL_INFO, &s_GetVolInfo );			\   }#define MC_FS_LL_OPEN_DIR( pp_ObjInfo, pp_FmPrivateDirInfo, pp_Status)				\   {												\      t_fs_llOpenDir s_OpenDir;									\												\	s_OpenDir.p_ObjInfo = pp_ObjInfo;							\	s_OpenDir.p_FmPrivateDirInfo = pp_FmPrivateDirInfo;					\	s_OpenDir.p_Status = pp_Status;								\												\        /* Call lower layer for open directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_OPEN_DIR, &s_OpenDir );				\   }#define MC_FS_LL_READDIR( vp_Which, pp_FmPrivateDirInfo, pp_DirName, pp_Found,			\						 pp_Status )					\   {												\      t_fs_llReadDir s_ReadDir;									\												\	s_ReadDir.v_Which = vp_Which;								\	s_ReadDir.p_FmPrivateDirInfo = pp_FmPrivateDirInfo;					\	s_ReadDir.p_DirName = pp_DirName;							\	s_ReadDir.p_Found = pp_Found;								\	s_ReadDir.p_Status = pp_Status;								\												\        /* Call lower layer for read directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_READDIR, &s_ReadDir );				\   }#define MC_FS_LL_CLOSEDIR( pp_FmPrivateDirInfo, pp_Status  )					\   {												\      t_fs_llCloseDir s_CloseDir;								\												\	s_CloseDir.p_FmPrivateDirInfo = pp_FmPrivateDirInfo;					\	s_CloseDir.p_Status = pp_Status;							\												\        /* Call lower layer for read directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_CLOSEDIR, &s_CloseDir );				\   }#define MC_FS_LL_CLOSEDIR( pp_FmPrivateDirInfo, pp_Status  )					\   {												\      t_fs_llCloseDir s_CloseDir;								\												\	s_CloseDir.p_FmPrivateDirInfo = pp_FmPrivateDirInfo;					\	s_CloseDir.p_Status = pp_Status;							\												\        /* Call lower layer for read directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_CLOSEDIR, &s_CloseDir );				\   }#define MC_FS_LL_FREEZE_UNFREEZE_VOL( vp_Action, pp_Status )					\   {												\      t_fs_llFreezeUnFreezeVol s_FreezeUnFreezeVol;						\												\	s_FreezeUnFreezeVol.v_Action = vp_Action;						\	s_FreezeUnFreezeVol.p_Status = pp_Status;						\												\        /* Call lower layer for read directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_FREEZEUNFREEZEVOL, &s_FreezeUnFreezeVol );	\   }#define MC_FS_LL_GET_FILES_ADDR( vp_Type, vp_Id, vp_Which, pp_FmPrivateDirInfo, 		\		vp_NumbFilesToGet, pp_FileAddr, vp_BuffSize, pp_NumbOfFiles, pp_Status )	\   {												\      t_fs_llGetFilesAddr s_GetFilesAddr;							\												\	s_GetFilesAddr.v_Type = vp_Type;							\	s_GetFilesAddr.v_Id = vp_Id;								\	s_GetFilesAddr.v_Which = vp_Which;							\	s_GetFilesAddr.p_FmPrivateDirInfo = pp_FmPrivateDirInfo;				\	s_GetFilesAddr.v_NumbFilesToGet = vp_NumbFilesToGet;					\	s_GetFilesAddr.p_FileAddr = pp_FileAddr;						\	s_GetFilesAddr.v_BuffSize = vp_BuffSize;						\	s_GetFilesAddr.p_NumbOfFiles = pp_NumbOfFiles;						\	s_GetFilesAddr.p_Status = pp_Status;							\												\        /* Call lower layer for read directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_GETFILESADDR, &s_GetFilesAddr );			\   }#define MC_FS_LL_GARBAGE_VOL( vp_GarbageMode, pp_Status )					\   {												\      t_fs_llGarbageVol s_GarbageVol;								\												\	s_GarbageVol.v_GarbageMode = vp_GarbageMode;						\	s_GarbageVol.p_Status = pp_Status;							\												\        /* Call lower layer for read directory operation */					\	MC_FS_LL_CALL_LOWER_LAYER( FS_LL_OPER_GARBAGEVOL, &s_GarbageVol );			\   }#endif

⌨️ 快捷键说明

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