From: "Grigoriy Strokin" Newsgroups: comp.os.msdos.djgpp Subject: Re: Fw: Long file names under Windows NT Date: Thu, 25 Dec 1997 20:24:13 +0300 Lines: 69 NNTP-Posting-Host: isabase.philol.msu.ru Message-ID: <34a296c3.0@boy.nmd.msu.ru> To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk >On Thu, 25 Dec 1997, Grigoriy Strokin wrote: > >> Please tell me how to make all DJGPP GNU utilities see long file names under >> Windows NT 4.0. >> I seem to have looked through all FAQs and DOCs, but thay only mention that >> long file names are supported under Windows 95. > >The FAQ clearly says (in section 3.3) that the long file names are NOT >supported on NT. Here's an excerpt from that section: > > Note that the long filename API (the special LFN-aware functions of Int 21h) > for DOS box is not supported by current versions of Win/NT, so you cannot > have long filenames there from DJGPP programs. > >Somebody is working on a solution for this, so this situation may change >in the near future. Until then, blame Microsoft. > >> I have investigated how _use_lfn.c module determines whether to use LFN >> support. It DOS (int 21h) function number >> 71h to get volume information, and disables LFN if 7100h is returned in AX, >> and NT returns exactly that value. Why? > >Because NT doesn't support those functions of Int 21h. > >> What does this mean? That NT is worse in supporting LFN? > >The DJGPP LFN support is based on certain functions of DOS Int 21h. The >NT DOS box doesn't support these functions, it's as simple as that. >Native NT programs can see long names because they don't use the Int 21h >interface, but DOS programs such as what DJGPP produces don't have access >to long names on NT. Thank you for your answer. I might have missed the sense of that phrase from FAQ, because many other DOCs said that all one have to do is not to set $LFN to 'n' and all programs support long file names. Please advise me the better direction in which I must investigate the problem if I still want to make DJGPP to support LFN in NT myself: 1) Can I find any TSR-program emulating long file name support for DOS programs under NT? 2) Is there any documentation on how to implement those int 21h functions myself? I am not a very experienced low-level programmer, but I could try to implement them. 3) May be you would recommend trying to recompile all of the programs with RSX/NT toolkit or Visual C++ and so get 32-bit windows code, or such a task will be to complicated because of several incompatibilities? 4) Some other solutions? Apologies for my ignorance, and thank you in advance. Grigoriy Strokin.