1 /* mbed Microcontroller Library - FATDirHandle
2 * Copyright (c) 2008, sford
9 #include "FATDirHandle.h"
10 #include "FATFileSystem.h"
14 FATDirHandle::FATDirHandle(const DIR_t
&the_dir
) {
18 int FATDirHandle::closedir() {
23 struct dirent
*FATDirHandle::readdir() {
26 static char lfn
[_MAX_LFN
* (_LFN_UNICODE
? 2 : 1) + 1];
28 finfo
.lfsize
= sizeof(lfn
);
30 FRESULT res
= f_readdir(&dir
, &finfo
);
31 if(res
!= 0 || finfo
.fname
[0]==0) {
37 fn
= *finfo
.lfname
? finfo
.lfname
: finfo
.fname
;
38 stringSize
= *finfo
.lfname
? finfo
.lfsize
: sizeof(finfo
.fname
);
41 stringSize
= sizeof(finfo
.fname
);
43 memcpy(cur_entry
.d_name
, fn
, stringSize
);
44 cur_entry
.d_isdir
= (finfo
.fattrib
& AM_DIR
);
45 cur_entry
.d_fsize
= finfo
.fsize
;
50 void FATDirHandle::rewinddir() {
54 off_t
FATDirHandle::telldir() {
58 void FATDirHandle::seekdir(off_t location
) {