This package contains the full source code, Linux binary programs and documentation for the September 2000 article in C/C++ Users Journal titled A TCP/IP Socket Location Server. This version is designated 1.24-2000.07.05 which is a package version. The change log will completely describe the new or changed material. Each application also has its own version.
This package contains all necessary modules to compile socloc and all applications mentioned in the article. In order to maintain the integrity of the HTML links, the included documentation covers all current Future Lab GPL software. Note that the term package does not refer to a Red Hat package built using RPM, but rather the distribution file.
You must have enough disk space for the decompressed contents of this package which is about 1.17MB currently.
You also must be running Linux. The binaries included in this package were compiled for Red Hat Linux 5.2 using GNU C V2.95.2.
You must also have the TCP/IP protocol defined and operational.
Since all of the enclosed software is extremely compact and not at all bloated, the memory requirements are minimal.
If you want to re-compile this GPL code, you will need a copy of GNU C installed under Linux. Re-compiling the source code under GNU C is completely discussed below.
This GPL code is very generic. You may also use the compiler of your choice providing the compiler is full ANSI C complaint and the full Berkeley socket API and library is present. Make sure you understand the code structure and the module dependencies.
This Linux package is distributed in gzip tared format. You first will have to decompress the package and then untar the decompressed package. To decompress the package, you will need to have the gzip program installed. All files in this package use the 8.3 naming convention except for the HTML documentation which uses the '.html' extension (for compatibility with Unix).
To install the package:
This package contains all the source code, executable programs and documentation.
Files in the package are distributed with the owner root and group root. The file mode bits have been set to allow anyone read/write access.
The directory structure of the package is as follows:In order to recompile the source code included in this package, you will need to have GNU C installed.
Edit the main include file stdhead.h and make sure the correct platform is selected via the appropriate define. Also make sure the define MULTIUSER is not defined as it is not used in this version of the package.
Use the build scripts contained in the package to compile all or part of the applications. You will have to change the assumed directory structure in the scripts to the one that you are using.
While building the Future Lab GPL software under Red Hat Linux, I discovered that the declaration of the function prototype getdirentry which is contained in the include file fio.h which should be a standard OS function caused a parse error in compiler. I have commented out this function prototype under the Red Hat Linux version.
Most of the single user applications can be run immediately from the command line. All of the applications are text console-based. Many of the applications have one or more configuration files that need to be read. You should execute all of the Future Lab GPL applications from within the same directory where they are stored. You should also store all configuration files within this same directory. Here is a list of all Future Lab GPL applications and their runtime requirements:
This is the multi user client socket application that interfaces with the dumsocks server. This application requires at least one socloc server to be running and needs to be executed in a directory that also contains the socloc startup file. Refer to the dumsockc application doc for more information.
This application is a dumb socket server which accepts a very limited number of commands. The server is intended to be used for testing along with the dumsockc client application. This application requires at least one socloc server to be running and needs to be executed in a directory that also contains the socloc startup file. Refer to the dumsocks application doc for more information.
This socket server application serves as an information depot for all other socket servers. Socket client applications can connect to socket servers by obtaining server details from a socloc server. Multiple socloc servers can be running to provide redundancy. Multiple socket servers of the same type (identified by service name) can also be running. The socloc APIs provide automatic fail over protection for client applications interfacing with socloc servers. Automatic fail over protection is easy to accomplish with socket servers.
Here is a complete guide to the included package documentation. Note that I have tried to make sure that most links function properly. You will find that all links that refer to the Future Lab GPL software function. Links that refer to other parts of the Future Lab web site will not function properly from this readme file. In that case, please refer to the actual Future Lab web site.