nuttx/fs/procfs
Gregory Nutt ea13e24392 Correct a problem that was causing an apparent directory to be reported as a file instead of a directory by opendir.
This happened after adding these three new procfs entries:

  fs/block
  fs/mount
  fs/usage

Of course, there is no directory fs in this case, only three files that have fs/ in their relative pathnames.  The logic was detecting that fs was the name of the enty to report, but it was then declaring that fs was a file (because fs/block is of type file).

This was fixed by adding a check for matching lenghts.  i.e., if strlen(fs) != strlen(fs/block), then report fs as a directory instead of a file.
2017-10-26 16:30:59 -06:00
..
fs_procfs.c Correct a problem that was causing an apparent directory to be reported as a file instead of a directory by opendir. 2017-10-26 16:30:59 -06:00
fs_procfscpuload.c procfs: Most stat() implementations were not initializating the st_atime, st_ctime, and st_mtime fields. 2017-02-15 09:59:09 -06:00
fs_procfskmm.c procfs: Most stat() implementations were not initializating the st_atime, st_ctime, and st_mtime fields. 2017-02-15 09:59:09 -06:00
fs_procfsproc.c Add file missed in last commit. Fix naming in some configuration items. 2017-08-12 07:26:20 -06:00
fs_procfsuptime.c procfs: Fix incorrect uptime with CONFIG_SYSTEM_TIME64 2017-04-25 10:58:38 +09:00
fs_procfsutil.c Remove some block comments before empty code sections 2016-04-11 18:16:04 -06:00
fs_skeleton.c procfs skeleton: Some additional, purely cosmetic updates. 2017-02-15 12:47:51 -06:00
Kconfig Squashed commit of the following: 2017-10-26 13:33:08 -06:00
Make.defs Add procfs/kmm to show the state of the kernel heap 2016-02-06 11:35:30 -06:00
README.txt

fs/procfs README
================

  This is a tiny procfs file system that allows read-only access to a few
  attributes of a task or thread.  This tiny procfs fs file system can be
  built into the system by enabling:

    CONFIG_FS_PROCFS=y

  It can then be mounted from the NSH command like like:

    nsh> mount -t procfs /proc

Example
=======

  NuttShell (NSH) NuttX-6.31
  nsh> mount -t procfs /proc

  nsh> ls /proc
  /proc:
   0/
   1/

  nsh> ls /proc/1
  /proc/1:
   status
   cmdline

  nsh> cat /proc/1/status
  Name:       init
  Type:       Task
  State:      Running
  Priority:   100
  Scheduler:  SCHED_FIFO
  SigMask:    00000000

  nsh> cat /proc/1/cmdline
  init

  nsh> sleep 100 &
  sleep [2:100]
  nsh> ls /proc
  ls /proc
  /proc:
   0/
   1/
   2/

  nsh> cat /proc/2/cmdline
  <pthread> 0x527420