RUNSRV is a utility program which is used by Eloquence to start the
Eloquence dialog server process (DLGSRV) on a remote PC.
To achive this, the RUNSRV program must be active on the remote PC.
Please refer to hpuxSetup for informations on installation
and HP-UX platform prerequisites.
You may configure RUNSRV using the eloq.ini config file on the HP-UX system.
Please refer to ELOQ.INI file on the HP-UX System for further reference.
PC Operation
If you start RUNSRV.EXE (on client PC), it will iconize itself waiting
for a request.
If you restore the RUNSRV window, a log of the recent operations
performed by RUNSRV is displayed.
If RUNSRV is unable to handle a request, a message box pops up.
Common problems
Network software not loaded
You either did not load the required network software or your
network software is not compatible.
Service runsrv (tcp) not found in your SERVICES file
You did not install the runsrv service name in your services file.
Address already in use
The port number you used by RUNSRV is already in use.
This may happen if the port number is not unique or if you
try to run RUNSRV a second time.
WinExec failed (nn): Error Message
RUNSRV was unable to perform the requested operation.
Error number and message reflect a problem detected by MS Windows.
ELOQ.INI file
RUNSRV uses the configuration infomation of the section named [runsrv]
in the eloq.ini file on the PC (located in your WINDOWS directory) and
the eloq.ini file on the HP-UX system (located in the /usr/eloquence
directory).
See corresponding documentation for further reference.
Depending on eloq.ini settings, RUNSRV.EXE on the PC uses one of the
following DLL's to interface the network software.
EQSRVWS.DLL - WINSOCK 1.1
EQSRVSO.DLL - WSOCKETS
RunSrv.DLL
RUNSRV is not limited to start the Dialog Manager server process only.
It may be used to execute any command on a remote PC.
Using the RunSrv.DLL, you may use the RUNSRV functionality in your
own programs:
Load the RunSrv.DLL (it's located in the /usr/eloquence/dll directory).
LOAD DLL Run,"/usr/eloquence/dll/RunSrv.DLL",1024
Call the function RunSrv in the RunSrv DLL.
You have to specify the hostname, remote command (to be xecuted on
remote hosts) and INTEGER variable to receive an error number
and a string variable to receive an error messsage.
CALL DLL Run("RunSrv",Host$,Cmd$,Errn,Msg$)
Shutdown the DLL process if you don't need it any more.
DEL DLL Run
The following error numbers are returned by Runsrv:
2000 - Memory allocation failed
2001 - Invalid argument
2002 - Other error (see error string for details)
For an example see the RUNSRV.PROG example program.
RUNSRV Protocol
RUNSRV uses the following protocol:
Each message is preceeded by a 4 byte length field in network order.
The following structure is used to transmit a request:
struct Job {
char type[4]; /* type of request, \0 terminated */
char data[1]; /* additional data for request */
};
Currently there are two job types supported:
DLG
Start the Eloquence dialog server. Connection information
transmitted by Eloquence is merged with commandline
given in ELOQ.INI file (dlgsrv configuration item).
RUN
For the "RUN" request type, data must hold the commandline
to be executed (terminated by null byte).