[ale] Programming /proc

Benjamin Dixon beatle at arches.uga.edu
Thu Nov 15 13:10:42 EST 2001



Yeah I finally found it last night with a little grep action. Thanks for
the reply though. Anyway, I've got my module printing out the data I
wanted but I don't know how to specify EOF under the new system! So it
prints the data forever. In the old system you could set the eof pointer
passed in to the function to 1 and it would work (if I remember right) but
I don't see how to do that in this scenario since there is no eof pointer
being passed in.

Ben

On Thu, 15 Nov 2001, Bao C. Ha wrote:

> 
> Since /proc is a pseudo-filesystem, I look for it in
> <linux/fs.h>.
> 
> struct file {
>         struct list_head        f_list;
>         struct dentry           *f_dentry;
>         struct vfsmount         *f_vfsmnt;
>         struct file_operations  *f_op;
>         atomic_t                f_count;
>         unsigned int            f_flags;
>         mode_t                  f_mode;
>         loff_t                  f_pos;
>         unsigned long           f_reada, f_ramax, f_raend, f_ralen, f_rawin;
>         struct fown_struct      f_owner;
>         unsigned int            f_uid, f_gid;
>         int                     f_error;
> 
>         unsigned long           f_version;
> 
>         /* needed for tty driver, and maybe others */
>         void                    *private_data;
> 
>         /* preallocated helper kiobuf to speedup O_DIRECT */
>         struct kiobuf           *f_iobuf;
>         long                    f_iobuf_lock;
> };
> 
> Bao
> 
> > -----Original Message-----
> > From: Benjamin Dixon [mailto:beatle at arches.uga.edu]
> > Sent: Wednesday, November 14, 2001 10:58 PM
> > To: ale at ale.org
> > Subject: [ale] Programming /proc
> >
> >
> >
> > Hi all,
> >
> > I'm trying to write a kernel module that has proc support but I don't
> > fully understand the new calling procedures under 2.4. I have
> > successfully
> > set up my module code (easy enough) and now I want to let the
> > user access
> > some information using my output function which I register
> > for "read" in a
> > file_operations structure. So my function prototype looks like this:
> >
> > static ssize_t output(struct file *file, char *buffer, size_t len,
> >                       loff_t *offset);
> >
> > My only problem is, I'm not entirely sure how to handle the
> > *file. Does
> > anyone know where that structure is defined? I've searched through the
> > kernel, specifically includes, but can't find it. And more
> > generally, does
> > anyone know of a good resource for *2.4 kernel* /proc
> > programming, its a
> > bit different from 2.2 and previous kernels and I can't find
> > any updated
> > information. (BTW, I did find a procfs_example.c file in the
> > Documentation
> > directory but it doesn't tell me what I want to know, which
> > is what those
> > structures look like).
> >
> > Ben
> >
> >
> > ---
> > This message has been sent through the ALE general discussion list.
> > See http://www.ale.org/mailing-lists.shtml for more info.
> > Problems should be
> > sent to listmaster at ale dot org.
> >
> 

Today's Random Quote--------------------------------------

 Most people don't need a great deal of love nearly so much as
they need a steady supply.

-----------------------------------------------------------


---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
sent to listmaster at ale dot org.






More information about the Ale mailing list