Date: Sun, 29 Mar 1998 13:28:57 +0300 (IDT) From: Eli Zaretskii To: "Ben N. Shadwick" cc: djgpp AT delorie DOT com Subject: Re: passing & retrieving buffer thru interrupt In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Thu, 26 Mar 1998, Ben N. Shadwick wrote: > I am using whatever version the HTML version on DJ's server is. That *is* the latest version. > The only > example code pertaining to passing the address of a buffer shown is how to > stuff the address of the DPMI transfer buffer into the es:di register pair. Section 18.4 (which is one of the two I mentioned) begins with the following question: **Q*: How can I move data between my program and the transfer buffer?* and then goes on to explain how to copy data in and out of the transfer buffer. Specifically, it mentions library functions `_farpeekX' and `_farpokeX', `dosmemget' and `dosmemput', and `movedata'. I believe these are the functions you need. > 1) perhaps the amount of feedback you have received on certain areas of > the FAQ might indicate that some improvements to those areas would be > helpful. I always try to do my best to incorporate any suggestions and address any feedback I get. But please note that for this I need more specific feedback than just ``it's confusing''. I usually do my best in explaining things as clearly as I can, so asking me to ``improve'' it doesn't help. I need specific references to specific paragraphs with some indication of *why* is it unclear or confusing; then I can sit down and try to rephrase, or to add what seems to be missing. > 2) if a "tutorial" is what is required to find out how to do what I am > asking, please point me to one. Shawn already mentioned the User's Guide. If the section there that deals with these issues is incomplete or in a need of improvement, please suggest them to the Guide maintainer. > I don't see anything on how to access the contents of the DPMI transfer > buffer after passing its linear address to an interrupt service. The second half of section 18.4 should explain that. If it doesn't, please tell what is missing there. > As for the int86x function, what are the SREGS for? Could someone give me > an example of how I would pass the address of a variable via the es:di > register pair to an interrupt service via the int86x function? Don't use `int86x' for that, use `__dpmi_int'. `int86x' is not general enough in the protected-mode environment, and will almost surely get you into trouble. It should be only used for a small number of functions supported by it (see the library docs for a list, if you need it).