Hello everybody :)
I need some help on this one, I couldn't find anything on google or in
the archives of the mailing list. Here it goes:
I want to trigger an action when "opening" a directory of the procfs.
This is easy for files, but how is it done for directories...???
With files this is simple, all we have to do is to change some structs:
static struct file_operations FILE_fops = {
open: FILE_open,
read: seq_read,
llseek: seq_lseek,
release: seq_release,
};
and
static struct seq_operations FILE_ops = {
start: FILE_start,
next: FILE_next,
stop: FILE_stop,
show: FILE_show
};
and insert some code.
But for directories, the same doesn't work:
tipcDir = proc_mkdir("tipc",&proc_root);
if (tipcDir) {
tipcDir->proc_fops = &tipcDir_fops;
}
...
because when tyring to enter the directory of tipcDir, it says "tipc not
a directory", probably because I try to use a "fops" (file operation).
But I can't find any other ways to do this
Any ideas?
On Mon, Sep 29, 2003 at 01:40:03PM -0400, Jean-Guillaume wrote:
> Hello everybody :)
> I need some help on this one, I couldn't find anything on google or in
> the archives of the mailing list. Here it goes:
>
> I want to trigger an action when "opening" a directory of the procfs.
> This is easy for files, but how is it done for directories...???
With a separate filesystem. Don't do that on procfs, it's messy enough as
it is.
[email protected] wrote:
>On Mon, Sep 29, 2003 at 01:40:03PM -0400, Jean-Guillaume wrote:
>
>
>>Hello everybody :)
>>
>>
>
>
>
>>I need some help on this one, I couldn't find anything on google or in
>>the archives of the mailing list. Here it goes:
>>
>>I want to trigger an action when "opening" a directory of the procfs.
>>This is easy for files, but how is it done for directories...???
>>
>>
>
>With a separate filesystem. Don't do that on procfs, it's messy enough as
>it is.
>
>
lol, ok then :)
I have indeed noticed some funny things with the procfs. Like, doing a
"ls" on my tipc dir said the directory was empty, but I could do a "vi
/proc/tipc/file" and see the content of file. Invisible file? :)