c - Single callback for multiple /proc entries - find the caller entry -


first of all, api /proc (linux 3.10+) seems different 1 specified in old kernel books.

i creating several /proc entries, have same write function associated callback. same stands read function.

if write or read 1 of /proc entries mentioned above, know entry written or read , able have information inside callback function.

i using proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct file_operations *proc_fops).

the callback functions have following list of arguments: (struct file *filp, char *buf, size_t count, loff_t *offp).

i can't figure out give me clue regarding file has call been triggered. first thought struct file* might help. i've found struct file contains struct path contains struct dentry contains struct qstr contains const unsigned char *name. way thing should handled or easier, more elegant way (haven't tested char *name yet)?

i recommend using struct proc_dir_entry *proc_create_data(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct file_operations *proc_fops, void *data) in case, allows attach arbitrary private data each entry , act upon in other functions.
can implement .open callback in proc_fops struct. has signature int my_open(struct inode *inode, struct file *filp);. private data can accessed calling pde_data(inode) , should copied filp->private_data later use in other functions filp , don't inode.


Comments

Popular posts from this blog

dns - How To Use Custom Nameserver On Free Cloudflare? -

python - Pygame screen.blit not working -

c# - Web API response xml language -