File operations on a Windows Driver (character device)

Larry Hall (Cygwin) reply-to-list-only-lh@cygwin.com
Mon May 18 15:30:00 GMT 2015


On 05/18/2015 05:42 AM, Alessio Faina wrote:
> Hello everyone,
>
> I'm developing a port of a FreeBSD/Linux application that consists of
> two parts: a kernel and a user land part.
> The kernel part is build as a WDM driver and is compiled with VS2013
> and WDK 8.1: the userspace is going to
> be compiled under Cygwin for compatibility with user land programs
> already written for other OSs.
>
> My problem is that the user space program invokes Open(), ioctl(),
> mmap/munmap(), select() and poll().
>
> I've build a test Win32 app to open with CreateFile the DosDevice with
> the "\\\\.\\uniioctl" name and everything goes fine,
> but I've tried to do the same thing with Open(...) with a lot of
> variants (\\DosDevice\\uniioctl, \dev\uniioctl....) but I'm
> unable to open the character device. There is some way to do this?

Sorry I can't help with allot of specifics on your questions but I can
say that when using Cygwin, you are best off if you stick to POSIX syntax
and semantics and don't mix in Windows code and Windowisms.  That includes
path separators (i.e. use '/', not '\').  See this page in the User's Guide
for information on how Cygwin handles device emulation too:

<https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-posixdevices>



-- 
Larry

_____________________________________________________________________

A: Yes.
 > Q: Are you sure?
 >> A: Because it reverses the logical flow of conversation.
 >>> Q: Why is top posting annoying in email?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list