📄 fs51closedir.c
字号:
#ifdef FSS_FTR#define ACCESS_RIGHTS_INTERNAL_FS#define FS51CLOSEDIR_C#include "Fs.h"#undef FILE_NUMBER#define FILE_NUMBER 51 #undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 1void Fs51_01CloseDir( void * pp_Param ){ t_FsCmdCloseDir * pl_Param = (t_FsCmdCloseDir *) pp_Param; t_fsDIR * pl_DirPtr = pl_Param->p_DirPtr; /* Verify if dir pointer point on a dir if not OK set an error */ MC_FS_CO_VERIFY_IF_IS_DIR_OF_ENTITY( pl_Param, pl_DirPtr ); if ( MC_FS_STATUS(pl_Param) != FS_OK ) return; /* Set the interlayer table pointer on new volume */ MC_FS_LL_SET_NEW_VOL(MC_FS_VD_GET_VOL_PTR_OF_DIR( pl_DirPtr )); /* Closes the directory */ Fs51_03CloseADir( pl_DirPtr ); }#undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 2u32 Fs51_02ProcessCloseDir( u8 vp_Behaviour, t_fsDIR * pp_DirPtr ){ /* Reserve message space */ t_FsCmdCloseDir * pl_CloseDir = ( t_FsCmdCloseDir * ) MC_FS_GET_MEMORY(sizeof(t_FsCmdCloseDir)); /* Fill message with input parameters */ pl_CloseDir->p_DirPtr = pp_DirPtr; /* Send message by setting operation and return command identifier */ return( MC_FS_MA_SEND_CMD_MSG_TO_FS(vp_Behaviour, (void*)pl_CloseDir,FS_CMD_CLOSEDIR_REQ));}#undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 3void Fs51_03CloseADir( t_fsDIR * pp_DirPtr ){ s32 vl_Status = FS_OK; /* Close the directory for lower layers */ MC_FS_LL_CLOSEDIR( pp_DirPtr->p_FmPrivateDirInfo, &vl_Status ); /* Extract dir from entity's list */ MC_FS_ED_DELETE_DIR( pp_DirPtr ); /* Extract dir from the volume list */ MC_FS_VD_DELETE_DIR_FROM_VOL( pp_DirPtr); /* Invalid DIR structure */ pp_DirPtr->v_Pattern = 0; /* Release dir structure */ MC_FS_FREE_MEMORY( pp_DirPtr ); }#endif /* FSS_FTR */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -