delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/12/01/18:21:42

From: Mark <mark1smi AT almaden DOT ibm DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: vxd file system drivers and DPMI
Date: Fri, 01 Dec 2000 13:43:35 -0800
Organization: IBM Almaden Research Center
Lines: 27
Message-ID: <3A281B86.19CFEB8A@almaden.ibm.com>
NNTP-Posting-Host: socks1.almaden.ibm.com
Mime-Version: 1.0
X-Mailer: Mozilla 4.73 [en] (WinNT; U)
X-Accept-Language: en
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hello,

Even if you don't understand this first paragraph, you still may be able
to help.
I have been writing a distributed file system driver for windows 9x.
During the course of this process, it became clear that I would need to
do a gethostbyname while holding the Win16Mutex. Unfortunately,
gethostbyname is not available in the kernel. The standard way of doing
a gethostbyname from kernel code is to synchronize with a win32 dll
which will do the gethostbyname for you and repond. However, this
assumes that you don't hold the Win16Mutex since the win32 dll may
require it during the gethostbyname and cause the machine to deadlock.
All was dreary and bleak until I found the CODA filesystem from CMU
which had the exact same problem and solved it by synchronizing with a
"DOS Box" DPMI program compiled with DJGPP. This works because these
"DOS Box" programs never require the Win16Mutex.
So, I am trying to write such a program with DPMI which will basically
just do gethostbyname for my kernel vxd. However, I have 2 questions.
First, how do I call into my DOS Box program from the kernel? And
second, if this is an asynchronous call, how do I call into my kernel
vxd from my DOS Box program?
Perhaps somebody has an example program which communicates with a vxd? I
hope this newsgroup can help, I feel you are my last hope.

Thanks,
Mark

- Raw text -


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