Future Lab - GPL Software for QNX 4.x

This package contains the full source code, binaries and documentation for all current Future Lab GPL applications for QNX 4.x. This version is designated 1.36-2006.09.17 which is a package version. Each application and the Bbuuzzb database engine also have their own versions. Any mention of QNX in this document refers to the QNX 4.x OS.

The QNX 4.x client/server applications do not use TCP/IP and sockets for interprocess communication (IPC). Since QNX has its own IPC method consisting of message passing, I have used this IPC method in the QNX GPL applications.

The QNX C code base has been merged with all other to form a single C code base. Proper compilation relies on the use of the IPC_QNX and MULTIUSER pre-processor defines.

All Future Lab GPL applications are currently supported under QNX except for the following:

The above applicaton code and binaries are not included but the documentation is included.

Differences From Other Platforms

Since this QNX software is not based on TCP/IP all protocol specific references have been removed. QNX client applications connect using the builtin nameloc service. QNX server applications register their service name (which is the same as the socket service name that socloc uses with the nameloc global indicator (/) prefixed to the name [to indicate a network global service]) with nameloc.

Since QNX nameloc does not allow more than one registration of the same name, the failover protection that is built into socloc and the other TCP/IP API's is currently not available under QNX.

All C++ code is not included due to the Watcom compiler being pre-ANSI.

The QNX shell scripts are slightly different than the normal Linux/Unix scripts. In particular, references to any socloc code are removed. This package includes the complete QNX scripts although the documentation discusses the standard Unix scripts.

System Requirements

You must have enough disk space for the decompressed contents of this package which is about 4.52MB currently.

You also must be running QNX. The binaries included in this package were compiled for QNX 4.23a using Watcom C 10.6.

In order to run the client/server applications, you must also have QNX message passing operational.

Since all of the enclosed software is extremely compact and not at all bloated, the memory requirements are minimal. I would say 1MB is more than enough to run all the servers together with one of the included client applications on a single machine.

If you want to re-compile this GPL code, you will need a copy of Watcom C installed under QNX. Re-compiling the source code is completely discussed below.

Installing the Package

The QNX 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:

Package Structure

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:

Recompiling the Source Code With Watcom C

In order to recompile the source code included in this package, you will need to have Watcom C installed.

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.

Running the Applications, A Quick Start

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:

datagen

This application only has a single user form and does not require configuration files. This application can be placed into any directory and may be run from any directory. Refer to the datagen application doc for more information.

datimec

This is the multi user client application that interfaces with the timesync server. This application requires at least one timesync server to be running. Refer to the datimec application doc for more information.

db

This application is the single user command line interface to the Bbuuzzb database engine. This application needs to be executed in a directory that also contains the Bbuuzzb database configuration file. Refer to the db application doc for more information.

dbm

This application is the multi user command line interface to the Bbuuzzb database server. In order to run this application, the Bbuuzzb database server must be running. Refer to the dbm application doc for more information.

dbgen

This application is the single user random data generator for the Bbuuzzb database engine. This application needs to be executed in a directory that also contains the Bbuuzzb database configuration file. Refer to the dbgen application doc for more information.

dbgenm

This application is the multi user random data generator for the Bbuuzzb database server. In order to run this application, the Bbuuzzb database server must be running.

This application needs to be executed in a directory that also contains a Bbuuzzb configuration file. Refer to the dbgenm application doc for more information.

dbsrv

This application is the Bbuuzzb database server. In order to run this server, the system log server must first be running. This application needs to be executed in a directory that also contains the Bbuuzzb configuration file.

You must be logged on as root to execute this application. When this server is executed, it will register the global name /Bbuuzzb with the nameloc service.

Refer to the dbsrv application doc for more information.

dbstresm

This application is the multi user database stress program. It sends operational commands to the Bbuuzzb database server. In order to run this application, the Bbuuzzb database server must be running.

Refer to the dbstresm application doc for more information.

dbstress

This application is the single user database stress program. It sends operational commands to the Bbuuzzb database engine. This application needs to be executed in a directory that also contains the Bbuuzzb database configuration file. Refer to the dbstress application doc for more information.

dumsockc

This application is the command line client for the dumsocks server. In order to successfully run this application, a dumsocks server must already be running. Refer to the dumsockc application doc for more information.

dumsocks

This application is a simple test server. You must be logged on as root to execute this application. When this server is executed, it will register the global name /dumsocks with the nameloc service. Refer to the dumsocks application doc for more infomation.

sockc

This application is a universal client which will talk to just about any server. Refer to the sockc application doc for more information.

sys_log

This program is the system log server. You must be logged on as root to execute this application. When this server is executed, it will register the global name /sys_log with the nameloc service. Refer to the sys_log application doc for more information.

timesync

This application is the time synchronization server. Refer to the timesync application doc for more information.

fxpstres

This application only has a single user form and does not require and configuration files. This application can be placed into any directory and may be run from any directory. Refer to the fxpstres application doc for more information.

dos2unix

This application only has a single user form and does not require and configuration files. This application can be placed into any directory and may be run from any directory. Refer to the dos2unix application doc for more information.

iex

This application is the single user ASCII import program into the Bbuuzzb database engine. This application needs to be executed in a directory that also contains the Bbuuzzb database configuration file. Refer to the iex application doc for more information.

iexm

This application is the multi user ASCII import program into the Bbuuzzb database server. In order to run this application, the Bbuuzzb database server must be running.

This application needs to be executed in a directory that also contains a socloc startup file and the Bbuuzzb configuration file. Refer to the iexm application doc for more information.

rmtree

This application will remove an entire directory tree from any disk. Refer to the rmtree application doc for more information.

daymvdel

This application will move or delete files or entire directory trees based on file age in days. This application requires a task list file before the program can be run. Refer to the daymvdel application doc for more information.

sched

This application will track your personal schedule of events including budget. This is a single user Bbuuzzb database application. This application needs to be executed in a directory that also contains a Bbuuzzb configuration file. Refer to the sched application doc for more information.

schedm

This application will track your personal schedule of events including budget. This is a client/server Bbuuzzb application. Refer to the sched application doc for more information.

Documentation Guide

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.

Goto Top | Contact Author | Future Lab Web Site | Feedback

Copyright © 1999-2006 Future Lab, Last Updated Sep 20, 2006