PROGBASE - Core function library for faster development

PROGBASE was written to provide a library of core program functions for simplified program development without the need to "reinvent the wheel" for every new program. It provides functions for logging, inter-process communication, file operations, memory management, double linked-lists, process handling and time-based execution.

On this page:


  • Simplified memory management; keeps track of every memory allocation and release. Support for tracing is available to locate memory allocation errors. Memory locking is also possible.
  • Consistent logging interface; support for writing to file and syslog with five different severities and debug sections for differentiated debug output.
  • SysV IPC interface; support for semaphores, shared memory and shared message queues is available for inter-process communication.
  • File handling interface; keeps track of opened files and their usage mode, and check for file types.
  • Consistent linked-list handling; one interface for all linked lists.
  • Process management; support functions for daemonizing, uid switching and pidfile operations.
  • Time-based execution; execute registered functions at regular intervals or at given time.
  • User information; extract data of system users and groups, including uid, gid, shell and home directory.





PROGBASE is released under the GNU General Public License (GPL) version 2.



The latest stable version of PROGBASE is 0.5.0 (06-Jul-2005).

The source distribution:
progbase-0.5.0.tar.gz [PGP] [NEWS] [ChangeLog]

A binary distribution for Sun Solaris 8, built on an Ultra-SPARC using GCC 3.3.2:
PPprogbase-0.5.0-sol8-sparc-local.gz [PGP]

Previous versions of PROGBASE can be found here.



The PROGBASE source distribution use the GNU autotools for configuration, so compilation and installation follows the familiar command sequence of "./configure; make; make install". For detailed installation instructions see the INSTALL file in the root directory of the source distribution.



The latest PROGBASE sources can always be obtained from the TLA Archive. Since no build scripts are included in the TLA archive, it is necessary to bootstrap the source tree after checkout using the bootstrap script "tools/" from the source tree. This requires recent build tools:


Last Modification: 2019-12-15 11:30 (CET)
© 2005-2019 Peter Pramberger
Client: (IPv4)
Image: Join the Free Software Foundation!