Date: Mon, 13 Apr 1998 13:49:43 +0300 (IDT) From: Eli Zaretskii To: djgpp AT delorie DOT com Subject: Re: Using djgpp on WINNT In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On 13 Apr 1998, The Nose Who Knows wrote: > Okay, time for a DJGpp-newbie question: does anyone know whether and > what plans are underway to get LFN support into DJGpp? DJGPP cannot access LFN on NT, period. Barring the improbable course of events whereby Microsoft adds the DOS LFN API to the NT DOS box, the only way to have LFN on the NT is for somebody to write a free NT device driver or TSR which will provide the LFN services to DOS programs. > I'm sure this > should be a FAQ, but all the FAQ document said was "No, they don't work > under NT - yes, we know why." I was expecting a "here's what we're > doing about that", but no. Who is ``we''? In the case of DJGPP, there's no ``we''. There's me, and there's you, and there are other DJGPP users. These are all the forces available to solve problems; nothing in DJGPP gets done unless there's somebody with enough motivation and resources to get it done. As long as no one of the NT users is bothered enough or determined enough to sit down and make the above solution happen, there will be no solution. > Surely this problem isn't insoluble. I haven't investigated it, but I > know that at the least, Info-ZIP supports LFNs under NT without any > trouble; I assume it would be using freely distributable code. I think you misunderstand the nature of the problem. InfoZip supports long names on NT *only* in the version compiled as a Win32 application using a commercial compiler and proprietary libraries. This is the same way Microsoft compiles CMD.EXE or any other command-line program supplied with NT. Win32 programs, including console applications, gain access to the long file names by using special Win32 API functions. In contrast, DJGPP cannot produce Win32 programs. It only produces DOS executables. DOS programs cannot call the Win32 API, to the best of my knowledge. (If you know otherwise, please tell us quickly how to do that, since Win32 includes a lot of useful services which DOS programs cannot access, besides the long file names.) Windows 9X includes a set of special LFN functions of the DOS Interrupt 21h, and that is how DJGPP programs get long names on Windows 9X.