delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/07/21/16:04:28

Date: Tue, 21 Jul 92 15:54:49 EDT
From: DJ Delorie <dj AT ctron DOT com>
To: ckgp!thomas AT uunet DOT uu DOT net
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Help! System locking up...

>   But when I try to do the same (open,write,close) in DJGPP The system
>freezes at the int21 ... (?)  I also have the option of doing IOCTL calls
>(int21,44h -- right?) 

Should work - in the end, you're calling the TurboC functions anyway.

>   Will it work if I use IOCTL? The prolem I have with this is that I am
>under the impression that I have to pass the FP_SEG and FP_OFF of the 
>string before calling the interrupt... Could I just pass the pointer to
>the string and 0x00 (for the SEG and OFF) so that the address is the same
>as if we were using  SEG and OFF?  I guess what I am asking is how does 
>DJGPP support interrupts? (specifically the IOCTL?) is IOCTL even
>supported? Oh and why doesn't the regular old open/write work???

In general, when an interrupt wants a segment:offset, ignore the
segment register and pass a 32-bit pointer in the register.  For
example, instead of es:di, pass edi.  Returns are converted the same
way.  You will not be able to perform interrupts that go32 can't
handle, but when it can't it prints a message to stderr and exits.

DJ
dj AT ctron DOT com
Life is a banana.

- Raw text -


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