program access_dir; {$mode objfpc} uses nds9, fat, ctypes; var i: integer; filename: string[255]; handle: P_FILE; st: stat; dir: PDIR_ITER; begin consoleDemoInit(); printf('fatInit()...'); if (fatInitDefault()) then begin printf(#9 + 'Success' + #10); dir := diropen('/'); if (dir = nil) then iprintf ('Unable to open the directory.'#10) else begin while dirnext(dir, pchar(@filename), @st) = 0 do begin // st.st_mode & _IFDIR indicates a directory if (st.st_mode and $4000) <> 0 then iprintf ('%s: %s'#10, ' DIR', pchar(@filename)) else iprintf ('%s: %s'#10, 'FILE', pchar(@filename)); end; end; end else printf(#9 + 'Failure' + #10); while true do; end.