# dklibs 1.23.1

- Overview
- Download
- Installation
- Installation from source on Windows systems
- Usage
- FAQ
- Change log
- Other projects
- Tutorial
- Developer docu
- stc
- tracecc and trana
- tracecc GUI
- tracecc PDF man.
- API: sort and search
- API: Generic I/O
- Preferences
- File search
- Font configuration
- LaTeX encodings
- Security

## Usage

- Introduction only
- Library modules
- dkport library
- dkc library
- dknet library
- dktrace library
- dkbif library
- dklatsup library
- dksdbi library

### Introduction only

This page con only give a shot overview about the library set. Please consult the PDF manual for details, it contains both a reference and a tutorial.
Additionally the documentation created by doxygen is available.

### Library modules

#### dkport library

- dk.h
  includes other header files to set preprocessor defines matching your environment.
- dkerror.h
  defines constants for error conditions.
- dktypes.h
  defines data types.
- dkmem
  is in charge for dynamic memory allocation.
- dksignal
  provides portable signal handling.
- dkenc
  has functions to change data encoding.
- dkstr
  contains functions for dealing with strings.
- dkstrdc
  removes trailing comments from a string.
- dksf
  provides an interface to various system functions.
- dkma
  contains mathematical functions, does additional checks to avoid critical errors (i.e. 0 divisions).
- dkslsupp
  converts syslog "heaviness" (feature/priority) strings into the appropriate numeric values.
- dkss/dklog (obsoleted)
  provide functions for string search and logging. These modules are obsoleted and should not be used for new projects.

#### dkc library

- dkbf
  deals with bit fields (field of flags).
- dkstream
  provides generic I/O.
- dkof
  applies filtering to output streams in the generic I/O. Filters can be used to flate or ASCII-85-encode parts of the output and to buffer output.
- dksto
  implements unsorted and sorted data storage. Sorted storage can use AVL-trees (default) or double-linked lists.
- dkstt
  provides string table handling. A string table is a binary file containing key/value string pairs for one language.
- dkcp
  has functions for handling code pages. Some systems need different bytes i.e. to show german umlauts on a command prompt and in a text editor.
- dkapp
  is the module providing application functionality (i.e. logging, file search for localization, preference management...)

#### dknet library

- dktcpip
  gives a more convenient access to the sockets/Winsock API.

#### dktrace library

The dktrace library is needed for tracing programs when using the tracecc and trana tools.

#### dkbif library

- dkbif
  contains functions to read bitmap images and retrieve red, green, blue, gray and alpha values of pixels.
- dkbifja
  contains functions to analyze a JPEG file whether or not the dkbif library can transfer DCT-encoded data from the JPEG file directly to an output stream.
- dkbifpng, dkbifjpg, dkbifpbm and dkbiftif
  implement the dkbif functions using libpng, JPEG library, NetPBM library and the TIFF library.

#### dklatsup library

- dkl2l
  contains functions to convert ISO-LATIN-1 encoded characters into LaTeX sequences.
- dkle
  contains functions to convert 32-bit characters to LaTeX sequences.
  Conversion tables in text form are used to find the LaTeX encoding for a character.
- dkfont
  provides information about the 35 well-known PS fonts. For each font we can retrieve LaTeX and PS font name and a list of features:
  - Font family type (roman, sans-serif, typewriter)
  - Font features (bold, italic)
  - Font family name for SVG
  - GhostScript font alias name
  - GhostScript font file name
  Font configuration files can be used for comfortable and flexible substitutions.

#### dksdbi library

- dksdbi
  provides a unique API to access BDB, NDBM and GDBM libraries.
- dksdbdb, dksdndbm and dksdgdbm
  implement the functions for dksdbi using the BDB library, NDBM API and gdbm library.