delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/13/06:51:12

Date: Mon, 13 Apr 1998 13:49:43 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: djgpp AT delorie DOT com
Subject: Re: Using djgpp on WINNT
In-Reply-To: <slrn6j38jk.10q.bignose@rose.spamalot.org.au>
Message-ID: <Pine.SUN.3.91.980413133412.6982D-100000@is>
MIME-Version: 1.0

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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019