Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Subject: 2nd Try 1.57 on Win2k or WinXP. Not more than 16 com ports. Differences between //./comX and /dev/comX Date: Mon, 19 Apr 2004 20:14:00 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: =?iso-8859-1?Q?Lutz_H=F6rl?= To: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id i3JIEJ7b017723 Hello, thank you Dave, thank you Larry. But unfortunately your advice to use "//./devX" did NOT solve the problem. Dave: Cygwin uses upto 16 COM ports, not only 8. I did not compile with open("\\.\com8",...) but with open(buf,...) so I did not get warnings from the compiler. I corrected the examples below and got the result described. What makes me nervous ist the errno = 20. I must add that I use Win32-API to set baudrate and to read the modem lines (DSR, DCD). I use the Win32 functions GetCommModemStatus() EscapeCommFunction() GetCommState() SetCommState() in my program. That works fine as long as I use "/dev/comX" with X=1...16. But it does not work with "//./comX". I want to use (Windows-) COM port numbers greater than 16, but when I use open() to get a file descriptor for the devices I get the behaviour: ---1.case----------------------------------------- errno = 0; fd = open("/dev/com8", O_RDWR | O_NONBLOCK); -> fd = 3, errno = 0 -> everything is OK, I can use the opened COM port ---2.case----------------------------------------- errno = 0; fd = open("//./com8", O_RDWR | O_NONBLOCK); -> fd = 3, errno = 20 = ERROR_BAD_UNIT = "The system cannot find the device specified" -> I can not use the opened COM port. The port number 1...16 versus 17...255 does NOT matter. ---3.case----------------------------------------- errno = 0; fd = open("/dev/com23", O_RDWR | O_NONBLOCK); -> fd = -1, errno = 2 = ERROR_FILE_NOT_FOUND = "The system cannot find the file specified" -> I can not use the opened COM port. The port number 1...16 (OK) 17...255 (not OK) DOES matter. ---end cases------------------------------------ Is there a workaround? Lutz Hoerl Thorlabs GmbH Gauss-Strasse 11 D-85757 Karlsfeld Germany Tel. +49 (0)8131 5956 44 FAX +49 (0)8131 5956 99 M A I L lhoerl at thorlabs dot com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/