This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Filesystem get/setinfo
- From: Savin Zlobec <savin dot zlobec at email dot si>
- To: Nick Garnett <nickg at ecoscentric dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Mon, 20 Oct 2003 20:25:17 +0200
- Subject: Re: [ECOS] Filesystem get/setinfo
- References: <3F93D904.7090204@elatec.si> <m3fzho3qj3.fsf@miso.calivar.com>
On Mon, 20 Oct 2003 at 19:07:19, Nick Garnett wrote:
> Savin Zlobec <savin@elatec.si> writes:
>
> > I need to write some filesystem specific functions.
> > The get/setinfo calls seem to be the right way to do this,
> > but I can't find any functions to access them from my application.
> >
> > The following functions would do the trick for me:
> >
> > int cyg_fs_getinfo(const char *path, int key, void *buf, int len);
> > int cyg_fs_setinfo(const char *path, int key, void *buf, int len);
> > int cyg_fs_fgetinfo(int fd, int key, void *buf, int len);
> > int cyg_fs_fsetinfo(int fd, int key, void *buf. int len);
> >
> > Or is there any way to do this already without accessing internal
> > structures?
>
> For filesystems you should be using ioctl() for these sorts of
> out-of-band control operations. That's what it's there for, and more
> than likely there is already a code defined for what you want to do.
I could work with ioctl, but if the desired operation is filesystem
oriented (as opposed to file oriented), then I would need to open a
file just to get a file descriptor for use with ioctl.
> What do you need these functions for?
Currently I need fs info like total/free/used sectors count,
status flags (if it was cleanly unmounted and if there were any IO errors).
Later I may need some sort of special access to reserved sectors...
savin
____________________
http://www.email.si/
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss