how can i get a file name knowing its descriptor?
Uladzislau Rezki
v.rezkii at sam-solutions.net
Thu Jul 3 11:39:41 UTC 2008
Hi all,
I've been writing a small kernel module, that provides information about
modification of the filesystem to user_land/userspace through the
character device. I'm using FreeBSD 4.10
So, my question is: Is there any way to get file name knowing its descriptor?
static int
xxx_write (struct proc *p, struct write_args *uap)
{
struct vnode *vn;
struct file *file;
int sys_error;
/* do system call */
sys_error = write(p, uap);
if (sys_error != 0)
goto leave_call;
/* get the file */
file = curproc->p_fd->fd_ofiles[uap->fd];
/* get the vnode */
vn = (struct vnode *) file->f_data;
/* do we have a regular */
if (vn->v_type == VREG) {
...
...
...
}
As you can see we just know uap->fd.
Thanks.
--
Uladzislau Rezki
More information about the freebsd-hackers
mailing list