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.

BTW, it would be fine to get a few web resources concerning FreeBSD
kernel programming.

Thanks.

--
Uladzislau Rezki
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to