The package now compiles with VC++ 5.0 (due to the new winsock2 include, "windows.h" must be included in rpc.h instead of "winsock.h"). Also, everthing now installs nicer with InstallShield.
Harald Albrecht, Chair of Process Control Engineering, Aachen University of Technology, has adapted the sources to Borland C++ 5.0 (See his read_bc.txt (included also in the distribution)). The binaries and executables contained in this package have been compiled with BC++ 5.0. The package is based on version 1.11 and is still compilable using VC++ 4.2. If you are using V1.11 already with VC++ there is no need to upgrade to V1.12bc but future changes will be based on V1.12bc.
Changes made to V 1.11:
READ_BC.TXT --
This readme file is new.
MAKEBC.BAT --
Compiles everything using BC++. Enjoy!
RPC\SVC.H --
Corrected the line specifying import information when another application
includes the ONC/RPC header files: _declspec(dllimport) fd_set svc_fdset;
Also added the necessary changes for BC++.
RPC\CLNT.H --
Added some stuff, such that the following variable is now properly exported
from the DLL and imported into other applications: struct rpc_createerr
rpc_createerr; Also added the necessary changes for BC++.
LIBRPC\ONCRPC.DEF --
Added the line "rpc_createerr DATA" at the end of this .DEF file.
Added the line "_null_auth DATA" at the end of this .DEF file.
LIBRPC\MAKEFILE.BC --
TEST\MAKEFILE.BC --
RPCINFO\MAKEFILE.BC --
RPCGEN\MAKEFILE.BC --
SERVICE\MAKEFILE.BC --
New Makefiles suitable for Borland C++. You must edit the BC makro to addapt
them to your local BC setup.
SERVICE\INSTALL --
Installs the ONC/RPC package into %SystemRoot%\system32 and copies the
"RPC" file into %SystemRoot%\system32\drivers\etc. You only have
to start the service using "Control Panel|Services|Portmap".
LIBRPC\ONCBCIMP.DEF --
Necessary to bypass the strange behaviour of MSVC to export the names of
C functions in DLLs without the leading underscore! This file is used by
IMPLIB to create a import library which maps the real function names containing
the underscore to the names exported by the ONCRPC.DLL.
LIBRPC\ONCRPCBC.DEF --
Necessary to be compatible with the MSVC++. This exports the names of the
C functions from the DLL without the leading underscore.
LIBRPC\RPC_PROT.C --
Changed to be compliant with BC++, which is behaves much better according
to the ANSI C++ spec:
#ifdef WIN32 extern #endif struct opaque_auth _null_auth;
LIBRPC\RPC_COMM.C --
Same as above...
#if definded(WIN32) && defined(__BORLANDC__) __declspec(dllexport) #endif struct opaque_auth _null_auth; #ifdef FD_SETSIZE #if definded(WIN32) && defined(__BORLANDC__) __declspec(dllexport) #endif fd_set svc_fdset; #else int svc_fds; #endif /* def FD_SETSIZE */ #if definded(WIN32) && defined(__BORLANDC__) __declspec(dllexport) #endif struct rpc_createerr rpc_createerr;
LIBRPC\GETRPCEN.C --
Corrected wrong prototype for "interpret()". It was missing the
"char *val"
... static struct rpcent * interpret(val, len) char *val; { ...
RPCGEN\RPC_MAIN.C --
Addapted for Borland's CPP Makro Preprocessor.
RPCINFO\GETOPT.C --
Removed strange "extern strlen(), _write();" which caused compilation
errors.