Esempio n. 1
0
 List FAT::ls(const Dirent& ent) const
 {
   auto ents = std::make_shared<dirvector> ();
   // verify ent is a directory
   if (!ent.is_valid() || !ent.is_dir())
     return { { error_t::E_NOTDIR, ent.name() }, ents };
   // convert cluster to sector
   auto S = this->cl_to_sector(ent.block());
   // read result directory entries into ents
   auto err = int_ls(S, *ents);
   return { err, ents };
 }
Esempio n. 2
0
 void FAT::ls(const Dirent& ent, on_ls_func on_ls) const
 {
   auto dirents = std::make_shared<dirvector> ();
   // verify ent is a directory
   if (!ent.is_valid() || !ent.is_dir()) {
     on_ls( { error_t::E_NOTDIR, ent.name() }, dirents );
     return;
   }
   // convert cluster to sector
   uint32_t S = this->cl_to_sector(ent.block());
   // read result directory entries into ents
   int_ls(S, dirents, on_ls);
 }