Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Allow LAN Server APIs in the DOS Box of OS/2 2.0+ without First Starting a DOS Redirector

IP.com Disclosure Number: IPCOM000112632D
Original Publication Date: 1994-Jun-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 4 page(s) / 107K

Publishing Venue

IBM

Related People

Pickering, JR: AUTHOR [+2]

Abstract

When OS/2* 2.x was introduced with the ability to emulate DOS/Windows and start real versions of DOS, a need arose to develop device drivers to communicate with OS/2 and external devices. OS/2

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Allow LAN Server APIs in the DOS Box of OS/2 2.0+ without First Starting
a DOS Redirector

      When OS/2* 2.x was introduced with the ability to emulate
DOS/Windows and start real versions of DOS, a need arose to develop
device drivers to communicate with OS/2 and external devices.  OS/2

LAN Server 3.0 allowed DOS/WINOS2 sessions to use resources that had
been redirected through an OS/2 session.  Although DOS sessions could
"see" the redirected devices, programs that ran in these DOS/WINOS2
sessions didn't always function correctly.   The problem was that the
applications were issuing APIs to get information about the
redirected devices and the network (redirector).  But since there was
no redirector running in the DOS/WINOS2 session, the APIs that were
issued would return errors and the application would behave as if it
was running stand-alone.

      The solution involved creating a Virtual Device Driver called
VNETAPI to intercept these API calls, pass them to the OS/2
redirector and return the results back to the application.  The
application then would behave as if it was running on top of a
redirector and everything functioned correctly.

Functional Description - The VNETAPI driver consists of four
executable modules:

1.  VNETAPI.OS2

2.  VNETRM.EXE

3.  VNRMINIT.EXE

4.  VNETAPI.SYS

      VNETAPI.OS2 is the main workhorse of the driver.  It runs at
ring 0 and interfaces directly with the DOS application.  When a
DOS/Windows application issues a network API call, this module gets
control.  This was implemented by hooking interrupts 21x, 2Ax, and
2Fx.  The module copies all the information from the calling
application into its staging buffer at ring 0.  The DOS
segment:offset pointers are converted to selectors, and the data is
packed into a format recognizable by the ring 3 module VNETRM.EXE.  A
call to VNETRM is then made.  When the call returns, the results from
the call are put back into the DOS applications registers and
buffers; selectors are converted back to segment:offset, and it is
then all returned to the calling application.

      VNETRM.EXE receives control from VNETAPI.OS2.  This module
contains the 16-bit interface into the O...