delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/27/10:09:11

From: "Javier Calleja" <dismuntel AT apdo DOT com>
To: <djgpp AT delorie DOT com>
Subject: Put an interrupr function in DOS mermory with 'dosputmem'.
Date: Mon, 27 Apr 1998 16:05:56 +0200
Message-ID: <01bd71e5$98f53c60$0100a8c0@dismuntel.ctv.es>
MIME-Version: 1.0

This is a multi-part message in MIME format.

------=_NextPart_000_000B_01BD71F6.5C7E0C60
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


  Hello:

  I'm still programming the aplication which uses the PacketDriver =
functions. I need to put an interrupt function handler int the DOS =
memory and I need to use its segment:offset.

  I could do it with the _go32_dpimi_allocate_real_mode_callback_ret =
function or similar, but I have read that it's so slow because this =
function calls to the interrupt function handler which is allocated in =
the dpmi memory.

  I've also read that I can put my interrupt function directly in the =
part of the DOS memory if I use an seginfo structure to know where it is =
allocated my interrupt function code and I use the dosputmem function to =
copy it to DOS memory.

  But, how can I know how much bytes I need to copy with the dosputmem =
(I must put in a field of this function the number of bytes to copy)?

  And how must I write this interrupt function? This function is a void =
far interrupt in C standar and I don=B4t know if I must end it with any =
special return or if it needs any special parameter to call (as any =
pointer to a structure register)

  Could someone help me?

  I'm looking forward your answer, and any sample is welcome.


Kind regards from Spain

Javier Calleja
Av. Pais Valenciano 155, E
46680-Algemes=ED (Valencia)
Espa=F1a
Tlf:+34-96-2481217
FAX:+34-96-2481217
=20
email:dismuntel AT apdo DOT com

------=_NextPart_000_000B_01BD71F6.5C7E0C60
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.71.1712.3"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>&nbsp; =
Hello:</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; I'm still programming the =
aplication which=20
uses the <STRONG>P</STRONG><STRONG>acketDriver</STRONG> functions. I =
need to put=20
an interrupt function handler int the DOS memory and I need to use its=20
segment:offset.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; I could do it with the=20
<EM>_go32_dpimi_allocate_real_mode_callback_ret</EM> function or =
similar, but I=20
have read that it's so slow because this function calls to the interrupt =

function handler which is allocated in the dpmi memory.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; I've also read that I can put my =
interrupt=20
function directly in the part of the DOS memory if I use an =
<EM>seginfo</EM>=20
structure to know where it is allocated my interrupt function code and I =
use the=20
<EM>dosputmem</EM> function to copy it to DOS memory.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; But, how can I know how much =
bytes I need to=20
copy with the <EM>dosputmem</EM> (I must put in a field of this function =
the=20
number of bytes to copy)?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; And how must I write this =
interrupt=20
function? This function is a <STRONG>void far interrupt</STRONG> in C =
standar=20
and I don&acute;t know if I must end it with any special return or if it =
needs=20
any special parameter to call (as any pointer to a structure=20
register)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; Could someone help =
me?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp; I'm looking forward your answer, =
and any=20
sample is welcome.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kind regards from Spain</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>Javier Calleja<BR>Av. =
Pais Valenciano=20
155, E<BR>46680-Algemes&iacute;=20
(Valencia)<BR>Espa&ntilde;a<BR>Tlf:+34-96-2481217<BR>FAX:+34-96-2481217<B=
R>=20
<BR><A=20
href=3D"mailto:email:dismuntel AT apdo DOT com">email:dismuntel AT apdo DOT com</A></FO=
NT></DIV></BODY></HTML>

------=_NextPart_000_000B_01BD71F6.5C7E0C60--

- Raw text -


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