Hi Angelo,
I wrote this code some months ago. I believe it is still working. Please, try it and share your results:

/******************************************************/
int_32 test_find(int_32 argc, char_ptr argv[] )
{
_mqx_int error_code = MFS_NO_ERROR;
MFS_SEARCH_DATA search_data;
MFS_SEARCH_PARAM search;
char filepath [6]= "a:\\*.*";
MQX_FILE_PTR fs_ptr = NULL;
fs_ptr = _io_get_fs_by_name("a:");
search.ATTRIBUTE = MFS_SEARCH_ANY;
search.WILDCARD = (char_ptr)&filepath;
search.SEARCH_DATA_PTR = &search_data;
error_code = ioctl(fs_ptr, IO_IOCTL_FIND_FIRST_FILE, (uint_32_ptr) &search);
while (error_code == MFS_NO_ERROR)
{
printf ("%-12.12s %6lu %02lu-%02lu-%04lu %02lu:%02lu:%02lu\n",
search_data.NAME,
search_data.FILE_SIZE,
(uint_32)(search_data.DATE & MFS_MASK_MONTH) >>MFS_SHIFT_MONTH,
(uint_32)(search_data.DATE & MFS_MASK_DAY) >>MFS_SHIFT_DAY,
(uint_32)((search_data.DATE & MFS_MASK_YEAR) >>MFS_SHIFT_YEAR) + 1980,
(uint_32)(search_data.TIME & MFS_MASK_HOURS) >>MFS_SHIFT_HOURS,
(uint_32)(search_data.TIME & MFS_MASK_MINUTES) >>MFS_SHIFT_MINUTES,
(uint_32)(search_data.TIME & MFS_MASK_SECONDS) << 1);
error_code = ioctl(fs_ptr, IO_IOCTL_FIND_NEXT_FILE,(uint_32_ptr) &search_data);
}
return error_code;
}
/******************************************************/
Regards,
Garabo
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------