📄 fs57getfilesaddrofdir.c
字号:
#ifdef FSS_FTR#define ACCESS_RIGHTS_INTERNAL_FS#define FS57GETFILESADDROFDIR_C#undef FILE_NUMBER#define FILE_NUMBER 57 #include "Fs.h"#undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 1void Fs57_01GetFilesAddrOfDir( void * pp_Param ){ t_FsCmdGetFilesAddrOfDir * pl_Param = (t_FsCmdGetFilesAddrOfDir *) pp_Param; register t_fsDIR * pl_DirPtr = pl_Param->p_DirPtr; /* #ifdef FS_DEBUG */ /* 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;/* #endif */ /* If size of buffer negative or null set error and set */ if ( ( pl_Param->v_NumbFilesToGet <= 0 ) || ( pl_Param->v_BufferSize == 0 ) ) { MC_FS_STATUS(pl_Param) = FS_EINVAL; pl_Param->v_NumbOfFiles = FS_EOF; return; } /* Call lower layer to get addresses */ MC_FS_LL_GET_FILES_ADDR( FS_READ_FILES_IN_DIR, 0, pl_DirPtr->v_PosStatus, pl_DirPtr->p_FmPrivateDirInfo, pl_Param->v_NumbFilesToGet, &pl_Param->p_FileAddr, pl_Param->v_BufferSize, &pl_Param->v_NumbOfFiles, &MC_FS_STATUS(pl_Param) ); /* If error set number of files to EOF */ if ( MC_FS_STATUS(pl_Param) != FS_OK ) pl_Param->v_NumbOfFiles = FS_EOF; else { if (pl_Param->v_NumbOfFiles != 0 ) { pl_DirPtr->v_PosStatus = FS_NEXT_ELEM; } /* Zero element get -> end-of-file reached */ else { pl_DirPtr->v_PosStatus = FS_END_OF_FILE; } }}#undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 2u32 Fs57_02ProcessGetFilesAddrOfDir( t_fssDIR * pp_DirPtr, s32 vp_NumbFilesToGet, t_fssFileAddr * pp_FileAddr, u32 vp_BufferSize ){ /* Reserve message space */ t_FssCmdGetFilesAddrOfDir * pl_GetFilesAddrOfDir = (t_FssCmdGetFilesAddrOfDir *) MC_FS_GET_MEMORY(sizeof(t_FssCmdGetFilesAddrOfDir)); /* Fill message with input parameters */ pl_GetFilesAddrOfDir->p_DirPtr = pp_DirPtr; pl_GetFilesAddrOfDir->v_NumbFilesToGet = vp_NumbFilesToGet; pl_GetFilesAddrOfDir->p_FileAddr = pp_FileAddr; pl_GetFilesAddrOfDir->v_BufferSize = vp_BufferSize; /* Send message by setting operation and return command identifier */ return( MC_FS_MA_SEND_CMD_MSG_TO_FS( FS_WITH_ACK, (void*) pl_GetFilesAddrOfDir, FS_CMD_GETFILESADDROFDIR_REQ));}#endif /* FSS_FTR */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -