Driver/kfun packages for DGD

As has been mentioned before DGD is built with a minimalistic philosophy. This has resulted in a number of people issuing "packages" for DGD. The general idea behind most of these is to extend the functionality of DGD in some way that is of use to the author (and hopefully others) but that isn't essential. Currently the following packages are available (in the pkg directory unless otherwise specified) for the stable branch of DGD development. These packages must all be installed prior to compilation. Those listed in the following table were all written for DGD 1.1 or DGD 1.2.

Table 2-3. Packages for DGD (stable)

AuthorPackageDGDDescription
Th. Lockert of SigmaSoftalarms1.1Replaces the call_out related kfuns with kfuns that provide fraction (1/10th) of a second alarms and which are repeatable.
comment1.1Allows LPC coders to use C++ style // comments.
ctors1.1Provides LPC objects with constructors/destructors.
str2val1.1Converts any variable to and from the string format used in save files produced by save_object.
strftime1.1Ability to format dates and times as per the C strftime function is provided by this package.
wildmat1.1A subset of regexp string pattern matching functionality is provided by this package.
Richard Braakmannet-101.1The network package extends the IP networking features, allowing you to open/close TCP ports, start outgoing TCP connections and receive and send UDP packets.
precomp-31.1This package makes it easier to compile your LPC objects into C by keeping track of inherited programs for objects you wish to compile this way. It is only available for Unix-like operating systems.
Wim van der Vegt95-api1.1Adds 4 kfuns to dgd which make use of the win32 API and thus are specifically for Windows 95/NT.
NT-api1.1Adds an extra 2 kfuns on top of the 95-api package which makes specific use of the NT API. This package is specifically for Windows NT.
ansi1.1By default DGD filters out the escape code of the so-called ANSI colour codes and the VT100 terminal codes. This package provides a patch which allows these codes to be input and output successfully.
Robert Lesliergx1.1Full regular expression string pattern matching facilities are provided by this package. It was written for DGD 1.0.9 and uses the GNU regex library.
Greg Lewismdbm1.1This package provides a kfun interface for manipulation of ndbm/gdbm databases.
regex1.1Full regular expression string pattern matching facilities are provided by this package in a somewhat different fashion than that used by the rgx package (no external libraries are involved).
object_info1.1Provides kfuns which give you information about inherited programs, functions and global variables in an LPC object.
Unknownrusage1.1Borrows the rusage efun code from the 3.2 LPC (Amylaar) driver and adds it as a kfun. It uses the getrusage(2) system call.

In addition to those available for the stable branch of DGD, the following table lists packages (by name and DGD version) which have tracked at least partially into the experimental development line(s):

Table 2-4. Packages for DGD (experimental)

AuthorPackageDGDDescription
Richard Braakmannet-111.1.64The network package extends the IP networking features, allowing you to open/close TCP ports, start outgoing TCP connections and receive and send UDP packets. (Last maintained by Erwin Harte.)
precomp-31.1.44This package makes it easier to compile your LPC objects into C by keeping track of inherited programs for objects you wish to compile this way. It is only available for Unix-like operating systems at the moment.
Erwin Harteepp-2.31.2.48EPP is for "Easy Precompilation Package". Similar in purpose to the precomp-3 package, it is a package to allow LPC objects to be easily precompiled into the DGD driver. While we have noted, for consistency, the driver version this package was produced for it should work with any later version of DGD too, as it doesn't actually require any DGD source code alterations.

If you wish to use a Unix-only package on a Windows 95/NT box I suggest looking over the Cygwin package. Alternatively, if you wish to use a win32-only package on a (PC-based) Unix box then look at Wine (specifically, details on winelib, not the wine program itself).