Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com X-Posting-Agent: Hamster/1.3.22.0 Message-ID: <01b301c0b97b$3178cc10$e984953e@aldebaran> From: "Hyperion" To: Subject: Native Windows NT POSIX capabilities Date: Sat, 31 Mar 2001 02:36:08 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-OriginalArrivalTime: 31 Mar 2001 00:53:43.0432 (UTC) FILETIME=[08B23080:01C0B97D] As some of you already know (well, I guess), Windows NT has native (incomplete) POSIX support. This is true since the obsolete Windows NT 3, but only in Windows NT 5, with the improvements to the file system, the POSIX support makes sense (still incomplete, but functional). They even released a package named Interix, it's the equivalent of Cygwin (shells, complilers, perl, even a X server) but runs directly on the POSIX API, instead of emulating it with the Win32 API. Obviously it doesn't support any Windows NT below 5. My question is: has anyone tried to build a GNU util linking against crtdll (Microsoft C Runtime) and psxdll (POSIX API)? is it difficult or just a trivial joke? Is it possible, at the present time, to build a cross-compiler that works with the native POSIX API implementation of Windows NT? I'd love to handle this myself, but I know zip about compilers and I'm no C programmer (hint: my programs always begin with "program" and end with "end." ;), and I'm afraid the porting wouldn't be that easy. If this had been discussed before, I'll just quit asking. Anyway the advatages would be a better file system support (case-sensitive filenames, filenames not supported by Win32, native path remapping, etc) and really improved performance. It would have a limited target (Windows 2000 or better), but it would piss off Microsoft too ;) And it would be a great way to push Cygwin as a commercial product. The only thing that pisses me off is the moronic implementation of Berkeley sockets :( (darn WSAStartup()!) FYI, here are the functions exported by psxdll.dll: (is something missing?) access alarm cfgetispeed cfgetospeed cfsetispeed cfsetospeed chdir chmod chown close closedir creat ctermid cuserid dup dup2 execl execle execlp execv execve execvp _exit fcntl fileno fork fpathconf fstat ftruncate getcwd getegid getenv geteuid getgid getgrgid getgrnam getgroups getlogin getpgrp getpid getppid GetProcessHeap getpwnam getpwuid getreg getuid HeapAlloc HeapFree HeapReAlloc HeapSize isatty isatty2 kill link lseek mkdir mkfifo open opendir pathconf pause __PdxGetCmdLine __PdxInitializeData pipe raise read readdir remove rename rewinddir rmdir RtlAnsiCharToUnicodeChar RtlFillMemory RtlMoveMemory RtlMultiByteToUnicodeN RtlUnicodeToMultiByteN RtlUnicodeToMultiByteSize RtlUnwind RtlUpcaseUnicodeChar RtlUpcaseUnicodeToMultiByteN RtlZeroMemory setgid setpgid setsid setuid sigaction sigaddset sigdelset sigemptyset sigfillset sigismember _sigjmp_store_mask siglongjmp signal sigpending sigprocmask sigsuspend sleep stat sysconf system tcdrain tcflow tcflush tcgetattr tcgetpgrp tcsendbreak tcsetattr tcsetpgrp time times ttyname umask uname unlink utime wait waitpid write -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple