OS/2 server and client library to provide device IOCtl capability for co-operating applications across a TCP/IP network.
Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).
Following ones are the download links for manual installation:
DEVSERV v. 1.3 (2/5/2004) | Readme/What's new |
DEVSERV V1.3
by
Paul Ratcliffe
(c) May 2004
DEVSERV comprises an OS/2 server and client library to provide device IOCtl
capability for co-operating applications across a TCP/IP network. The
program is freeware and as such:
USE OF THIS PROGRAM IS ENTIRELY AT YOUR OWN RISK.
SERVER
The server process is run as a daemon which listens for client calls on TCP
port 50000. It accepts client requests and makes calls to device drivers'
IOCtl functions using the supplied parameters and data, returning any
parameters and data from the driver to the client.
Installation requires the daemon to be started either from CONFIG.SYS e.g.
RUN=x:\path\DEVSERV.EXE [/P<port>] [/D]
or from the command line:
DETACH x:\path\DEVSERV.EXE [/P<port>] [/D]
where x:\path is the drive and directory in which you installed DEVSERV.EXE
/P<port> is an alternative TCP port to listen on
/D enables Debug mode
The server may also be started non-detached which will allow observation of
the debug output - debug mode is pointless if the program is started
detached.
SECURITY
This program can potentially leave your system wide open to attack.
Security is a necessary part of installation. A configuration file called
DEVSERV.CNF should be created and installed in the same directory as
DEVSERV.EXE .
If no configuration file is found, DEVSERV will only allow access to the IP
address 127.0.0.1 (the local loopback address).
The configuration file is checked for changes every time a new client
attempts to connect.
The configuration file consists of 1 or more lines containing an IP address
and a mask in the form:
<IP address> <Mask>
The mask can be specified to allow access to 1 or more clients using
similar IP addressed. This is best explained by way of examples:
192.168.0.1 255.255.255.255 allows access only to 192.168.0.1
192.168.3.0 255.255.255.0 allows access to all of 192.168.3.x
195.8.0.0 255.255.0.0 allows access to all of 195.8.x.x
10.0.0.0 255.0.0.0 allows access to all of 10.x.x.x
0.0.0.0 0.0.0.0 allows access to any host
Basically, the client's IP address is logically Anded with the mask and
compared to the IP address specified in the configuration file - if it
matches, access is granted; if it doesn't, the connection is immediately
closed.
CLIENT
The client application has to be written to make either IOCtl calls to
local device drivers or to remote device drivers via the DEVCLI.DLL library.
See the sample code REBOOT.C for an example of how this is achieved (you
should now see why security is so important!).
The client library DEVCLI.DLL must be present in either the same directory
as the client application, or preferably somewhere along the LIBPATH.
The client is then started almost as normal - there will be some method of
telling the application to use a remote host and port though, but this is
application dependent.
HISTORY
Version 1.3 02-05-04
Bug fix for incorrect file handle on automatic reconnect.
Version 1.2 29-09-03
Removed reliance on PR0UTIL.DLL - Warp 4 now required.
Version 1.1 26-03-02
Configuration file now read when client connects, if it has changed.
Version 1.0 14-05-99
Initial release.
OTHER
This program was initially developed under Warp 3 (without Win-OS/2) and
now is developed under Warp 4 using VisualAge C++ 3.0 for OS/2.
If you use this program could you please let me know. Also if you have any
comments, criticisms, bug reports or anything that could be improved.
I will reply to all messages received (remove the numbers from the address).
Paul Ratcliffe: Internet: devserv@orac12.clara34.co56.uk78 |
home.clara.net/orac/files/os2/devsrv13.zip |
This work is licensed under a Creative Commons Attribution 4.0 International License.
Add new comment