Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Aug 2009 18:09:35 -0700 (PDT)
From:      Michelle Li <michelle_li_001@yahoo.com>
To:        freebsd-hackers@freebsd.org
Subject:   device drivers (Krassimir Slavchev) REPLY  fd = open("/dev/xxx0", O_RDWR)
Message-ID:  <884424.91640.qm@web65411.mail.ac4.yahoo.com>
In-Reply-To: <20090810120020.1A75610656BC@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Krassimir~

open() fails with [ENXIO]...or other?

Please advise~
Regards
m_li


--- On Mon, 8/10/09, freebsd-hackers-request@freebsd.org <freebsd-hackers-r=
equest@freebsd.org> wrote:

From: freebsd-hackers-request@freebsd.org <freebsd-hackers-request@freebsd.=
org>
Subject: freebsd-hackers Digest, Vol 333, Issue 1
To: freebsd-hackers@freebsd.org
Date: Monday, August 10, 2009, 8:00 AM

Send freebsd-hackers mailing list submissions to
=A0=A0=A0 freebsd-hackers@freebsd.org

To subscribe or unsubscribe via the World Wide Web, visit
=A0=A0=A0 http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
or, via email, send a message with subject or body 'help' to
=A0=A0=A0 freebsd-hackers-request@freebsd.org

You can reach the person managing the list at
=A0=A0=A0 freebsd-hackers-owner@freebsd.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of freebsd-hackers digest..."


Today's Topics:

=A0=A0=A01. Help with device drivers (Krassimir Slavchev)


----------------------------------------------------------------------

Message: 1
Date: Mon, 10 Aug 2009 14:39:31 +0300
From: Krassimir Slavchev <krassi@bulinfo.net>
Subject: Help with device drivers
To: freebsd-hackers@freebsd.org
Message-ID: <4A8006F3.5020800@bulinfo.net>
Content-Type: text/plain; charset=3DISO-8859-1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi All,

Looking at sys/dev/usb/misc/ufm.c

...
static int
ufm_open(struct usb_fifo *dev, int fflags)
{
=A0 =A0 =A0 =A0 if ((fflags & (FWRITE | FREAD)) !=3D (FWRITE | FREAD)) {
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return (EACCES);
=A0 =A0 =A0 =A0 }
=A0 =A0 =A0 =A0 return (0);
}
...

and sys/dev/usb/storage/urio.c
...
static int
urio_open(struct usb_fifo *fifo, int fflags)
{
=A0 =A0 =A0 =A0 struct urio_softc *sc =3D usb_fifo_softc(fifo);

=A0 =A0 =A0 =A0 if ((fflags & (FWRITE | FREAD)) !=3D (FWRITE | FREAD)) {
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return (EACCES);
=A0 =A0 =A0 =A0 }
...

If I try to open the device from userland with:
fd =3D open("/dev/xxx0", O_RDWR) it fails because open() tries to open the
device for reading first and then for writing.

Do I use the wrong function to open such devices?

Best Regards
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFKgAbyxJBWvpalMpkRAt2ZAKCWfTWtaCu+1Xcf70Z9RM3+peZJ/ACgof4q
ybg2Mu3tDnz6Jwc1MA/Zwzs=3D
=3DUsso
-----END PGP SIGNATURE-----


------------------------------

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"

End of freebsd-hackers Digest, Vol 333, Issue 1
***********************************************
=0A=0A=0A      



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