Date: Mon, 20 Mar 2000 22:34:41 -0500 From: "Gary T. Corcoran" <garycor@home.com> To: Darrell Anderson <anderson@cs.duke.edu> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: How to read a file from a device driver? Message-ID: <38D6EDD1.990EAF13@home.com> References: <200003201606.LAA12793@cold.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Darrell, > > I'm trying to initialize a network device, and I'm trying to download > > code *into* my device from some binary system files. There is no "user > > space" or user process, for that matter, to deal with at this point. I > > just want to (at this step) open a file(s) directly from my device > > driver, read the file(s), and download the relevant parts to my device. > > sysctl might also do the trick. to answer your question, here's some code: > > struct vnode * > vp_open(char *fname) > { > struct vnode *vp; > struct nameidata nd; > int error; > > NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, fname, curproc); < rest of good code sample snipped - see previous message> This is great - thanks! One question though (since I'm new to FreeBSD drivers): Is "curproc" a global variable that will be set to the "right thing" while my device driver is executing? Presuming that it is, it looks like I can just take your sample code and run with it... :) Thanks, Gary To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38D6EDD1.990EAF13>