Mail Archives: djgpp/2004/05/19/16:00:36
Eli Zaretskii <eliz AT gnu DOT org> wrote in message news:<uoeok2abs DOT fsf AT gnu DOT org>...
> > From: 048321887-0001 AT t-online DOT de (Udo Kuhnt)
> >
> > I am running DJGPP in DR-DOS and wondered if it might be possible to use the
> > DR-DOS multitasking API in DJGPP programs.
>
> This discussion should probably be moved to djgpp-workers AT delorie DOT com.
> That's where DJGPP development is normally discussed.
Hm, I am not very fond of mailing lists since I already get lots of mail. Is
there also a web forum or newsgroup for these topics?
> > However, I do not know how this function would have to be called from a
> > DJGPP program, as I am not familiar with calling DOS functions in protected
> > mode.
>
> Sections 18.1 to 18.5 of the DJGPP FAQ list explain that, and you
> have real-life examples in the library sources (djlsr203.zip).
Thanks, this answers my first question.
> > Also, since this functionality is normally part of the C lib on other
> > platforms, I do not know whether calling this system call directly would
> > interfere with functions in the library or cause any other problems.
>
> Well, I'm not sure whether this could be used by DJGPP, given the DPMI
> limitations (I will read the stuff whose URL you posted and try to
> figure that out), but the first question would be: how can we find out
> whether a program runs on this specific flavor of DOS? That's because
> `fork', if rewritten to support this API, will have to use it only
> when the program runs on DR-DOS that provides these services.
>
> So: what version(s) of DR-DOS support this API, and how can a DJGPP
> program know whether it runs on such a version of DR-DOS?
All versions of the 7.0x series feature this API, probably including v8.0.
Since the multitasking API can be disabled in these versions, an installation
check exists to verify that MT is active; this is done by function 1101h of
the MT API. If CX is zero after calling this function, the MT API is present;
if it still contains 1101h, then it is not present.
- Raw text -