nshlib/, examples/: Update to show newer file system object types returned by stat().
This commit is contained in:
parent
525e52ff70
commit
4bbfdbb9fa
@ -102,6 +102,7 @@ static void show_stat(const char *path, struct stat *ps)
|
|||||||
{
|
{
|
||||||
printf("%s stat:\n", path);
|
printf("%s stat:\n", path);
|
||||||
printf("\tmode : %08x\n", ps->st_mode);
|
printf("\tmode : %08x\n", ps->st_mode);
|
||||||
|
|
||||||
if (S_ISREG(ps->st_mode))
|
if (S_ISREG(ps->st_mode))
|
||||||
{
|
{
|
||||||
printf("\ttype : File\n");
|
printf("\ttype : File\n");
|
||||||
@ -118,6 +119,30 @@ static void show_stat(const char *path, struct stat *ps)
|
|||||||
{
|
{
|
||||||
printf("\ttype : Block driver\n");
|
printf("\ttype : Block driver\n");
|
||||||
}
|
}
|
||||||
|
else if (S_ISMQ(ps->st_mode))
|
||||||
|
{
|
||||||
|
printf("\ttype : Message queue\n");
|
||||||
|
}
|
||||||
|
else if (S_ISSEM(ps->st_mode))
|
||||||
|
{
|
||||||
|
printf("\ttype : Named semaphore\n");
|
||||||
|
}
|
||||||
|
else if (S_ISSHM(ps->st_mode))
|
||||||
|
{
|
||||||
|
printf("\ttype : Shared memory\n");
|
||||||
|
}
|
||||||
|
else if (S_ISSOCK(ps->st_mode))
|
||||||
|
{
|
||||||
|
printf("\ttype : Socket\n");
|
||||||
|
}
|
||||||
|
else if (S_ISMTD(ps->st_mode))
|
||||||
|
{
|
||||||
|
printf("\ttype : Named MTD driver\n");
|
||||||
|
}
|
||||||
|
else if (S_ISLNK(ps->st_mode))
|
||||||
|
{
|
||||||
|
printf("\ttype : Symbolic link\n");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("\ttype : Unknown\n");
|
printf("\ttype : Unknown\n");
|
||||||
|
@ -115,6 +115,10 @@ static void dump_stat(FAR struct stat *buf)
|
|||||||
{
|
{
|
||||||
details[0] = 'l'; /* Takes precedence over type of the target */
|
details[0] = 'l'; /* Takes precedence over type of the target */
|
||||||
}
|
}
|
||||||
|
else if (S_ISBLK(buf->st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'b';
|
||||||
|
}
|
||||||
else if (S_ISCHR(buf->st_mode))
|
else if (S_ISCHR(buf->st_mode))
|
||||||
{
|
{
|
||||||
details[0] = 'c';
|
details[0] = 'c';
|
||||||
@ -123,9 +127,25 @@ static void dump_stat(FAR struct stat *buf)
|
|||||||
{
|
{
|
||||||
details[0] = 'd';
|
details[0] = 'd';
|
||||||
}
|
}
|
||||||
else if (S_ISBLK(buf->st_mode))
|
else if (S_ISMTD(buf->st_mode))
|
||||||
{
|
{
|
||||||
details[0] = 'b';
|
details[0] = 'f';
|
||||||
|
}
|
||||||
|
else if (S_ISSHM(buf->st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'h';
|
||||||
|
}
|
||||||
|
else if (S_ISMQ(buf->st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'm';
|
||||||
|
}
|
||||||
|
else if (S_ISSOCK(buf->st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'n';
|
||||||
|
}
|
||||||
|
else if (S_ISSEM(buf->st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 's';
|
||||||
}
|
}
|
||||||
else if (!S_ISREG(buf->st_mode))
|
else if (!S_ISREG(buf->st_mode))
|
||||||
{
|
{
|
||||||
|
@ -192,18 +192,48 @@ static int ls_handler(FAR struct nsh_vtbl_s *vtbl, FAR const char *dirpath,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (S_ISDIR(buf.st_mode))
|
if (S_ISBLK(buf.st_mode))
|
||||||
{
|
{
|
||||||
details[0] = 'd';
|
details[0] = 'b';
|
||||||
}
|
}
|
||||||
else if (S_ISCHR(buf.st_mode))
|
else if (S_ISCHR(buf.st_mode))
|
||||||
{
|
{
|
||||||
details[0] = 'c';
|
details[0] = 'c';
|
||||||
}
|
}
|
||||||
else if (S_ISBLK(buf.st_mode))
|
else if (S_ISDIR(buf.st_mode))
|
||||||
{
|
{
|
||||||
details[0] = 'b';
|
details[0] = 'd';
|
||||||
}
|
}
|
||||||
|
#ifdef CONFIG_MTD
|
||||||
|
else if (S_ISMTD(buf.st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'f';
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_FS_SHM
|
||||||
|
else if (S_ISSHM(buf.st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'h';
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_DISABLE_MQUEUE
|
||||||
|
else if (S_ISMQ(buf.st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'm';
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NET
|
||||||
|
else if (S_ISSOCK(buf.st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 'n';
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_FS_NAMED_SEMAPHORES
|
||||||
|
else if (S_ISSEM(buf.st_mode))
|
||||||
|
{
|
||||||
|
details[0] = 's';
|
||||||
|
}
|
||||||
|
#endif
|
||||||
else if (!S_ISREG(buf.st_mode))
|
else if (!S_ISREG(buf.st_mode))
|
||||||
{
|
{
|
||||||
details[0] = '?';
|
details[0] = '?';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user