Listing 1: The Recls_GetNext(), Recls_GetDetails() and Recls_GetNextDetails() functions.
// from recls.h struct recls_fileinfo_t; typedef struct recls_fileinfo_t const *recls_info_t; /* Search open/close */ recls_rc_t Recls_Search( char const *searchRoot , char const *pattern , recls_uint32_t flags , hrecls_t *phSrch); void Recls_SearchClose(hrecls_t hSrch); /* Enumeration */ recls_rc_t Recls_GetNext(hrecls_t hSrch); recls_rc_t Recls_GetDetails( hrecls_t hSrch, recls_info_t *pinfo); recls_rc_t Recls_GetNextDetails( hrecls_t hSrch , recls_info_t *pinfo); void Recls_CloseDetails(recls_info_t fileInfo); /* File-system entries */ recls_rc_t Recls_CopyDetails( recls_info_t fileInfo, recls_info_t *pinfo); recls_rc_t Recls_OutstandingDetails( hrecls_t hSrch, recls_uint32_t *count); size_t Recls_GetPathProperty( recls_info_t fileInfo , char *buffer , size_t cchBuffer); void Recls_GetDriveProperty( recls_info_t fileInfo , char *pchDrive); size_t Recls_GetDirectoryProperty( recls_info_t fileInfo , char *buffer , size_t cchBuffer); size_t Recls_GetFileProperty( recls_info_t fileInfo , char *buffer , size_t cchBuffer); size_t Recls_GetShortFileProperty( recls_info_t fileInfo , char *buffer , size_t cchBuffer); size_t Recls_GetFileNameProperty( recls_info_t fileInfo , char *buffer , size_t cchBuffer); size_t Recls_GetFileExtProperty( recls_info_t fileInfo , char *buffer , size_t cchBuffer); size_t Recls_GetDirectoryPartProperty( recls_info_t fileInfo , int part , char *buffer , size_t cchBuffer); recls_bool_t Recls_IsFileReadOnly(recls_info_t fileInfo); recls_bool_t Recls_IsFileDirectory(recls_info_t fileInfo); recls_bool_t Recls_IsFileLink(recls_info_t fileInfo);