Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Dec 2005 09:33:37 +0530
From:      rashmi ns <nsrashmi@gmail.com>
To:        freebsd-hackers@freebsd.org, freebsd-drivers@freebsd.org
Subject:   Help Reqd: "uiomove" transferring zero bytes from user-kernel space
Message-ID:  <9f9993160512112003i56f25cd6t78533717fec580d1@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello Team,
                  when i use  "uiomove"  in the character device
interface the no of bytes transfrerred between kernel and userspace is
zero .but the actual data transferred when trraced through
"uio->resid" is correct .can  any one explain why this is happening ?

/*Character Device Interfaces*/
static struct cdevsw  hdlc_cdevsw =3D {

        .d_maj      =3D CDEV_MAJOR,
        .d_open     =3D hdlc_open,
        .d_read     =3D hdlc_read,
        .d_write     =3D hdlc_write,
        .d_ioctl    =3D hdlc_ioctl,
        .d_close    =3D hdlc_close,
        .d_version  =3D D_VERSION,
};
static int hdlc_write(dev_t dev, struct uio *uio, int ioflag)
{
        int     towrite,written;  /*char device inf*/
     written=3Duiomove((void *)write_tx_buffer,towrite,uio);
     uprintf("uio->resid=3D%d",uio->uio_resid);
    uprintf("No of bytes written  =3D%d",written);




}

Thanks and Regards,
Rashmi.N.S



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9f9993160512112003i56f25cd6t78533717fec580d1>