Listing 2: recls types are defined differently.
// from recls_platform_types.h struct recls_strptrs_t { char const *begin; char const *end; }; struct recls_strptrsptrs_t { struct recls_strptrs_t const *begin; struct recls_strptrs_t const *end; }; struct recls_fileinfo_t { recls_uint32_t attributes; struct recls_strptrs_t path; #if defined(RECLS_PLATFORM_IS_WIN32) char drive; #endif /* RECLS_PLATFORM_IS_WIN32 */ struct recls_strptrs_t directory; struct recls_strptrs_t fileName; struct recls_strptrs_t fileExt; #if defined(RECLS_PLATFORM_IS_WIN32) struct recls_strptrs_t shortFile; #endif /* RECLS_PLATFORM_IS_WIN32 */ struct recls_strptrsptrs_t directoryParts; #if defined(RECLS_PLATFORM_IS_WIN32) recls_time_t creationTime; #endif /* RECLS_PLATFORM_IS_WIN32 */ recls_time_t modificationTime; recls_time_t lastAccessTime; #if defined(RECLS_PLATFORM_IS_UNIX) recls_time_t lastStatusChangeTime; #endif /* RECLS_PLATFORM_IS_UNIX */ recls_filesize_t size; recls_byte_t data[1]; };