summaryrefslogtreecommitdiff
path: root/support/dktools/dk4.dox
blob: 18f4a8fb9d19d0c6d60d68263d87ccc293e88734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/**	@mainpage	Dirk Krause's libraries.

The dklib project consists of a set of libraries.

The @ref changes
page lists the changes from 3.x.x to 4.x.x.

Before going into the details I recommend to read the
@ref conceptions
page.

The following libraries are available:

@section	seclibdk4base	libdk4base

The @ref libdk4base library contains
basic functionality, i.e.  for the following purposes:<br>
- Configuration of the library set
- Data types, numeric constants
- Error reporting from called function to caller
- Memory management
- String functions for char, wchar_t and dkChar strings.

@section	seclibdk4ma	Mathematical library

The @ref libdk4ma library contains arithmetic operations on integers of
different bit width and comparison operations. The arithmetic operations
check for overflow and prevent divisions by zero.
The comparison operations can compare signed and unsigned integers
properly.

@section	seclibdk4maio	Number I/O libraries

These libraries convert integer and double numbers to text and vice versa.
Data types char, wchar_t and dkChar are supported, use either decimal
or hexadecimal notation.

Data type | Notation | Library
:-------: | :------: | :-----:
char | decimal | @ref libdk4maio8d
char | hexadecimal | @ref libdk4maio8h
wchar_t | decimal | @ref libdk4maiowd
wchar_t | hexadecimal | @ref libdk4maiowh
dkChar | decimal | @ref libdk4maiodd
dkChar | hexadecimal | @ref libdk4maiodh

@section	seclibdk4c	libdk4c

The @ref libdk4c library contains modules
for various purposes, including:
- Information retrieval
  - Current users name, home directory, language, region, encoding
  - Host name, executable name, process ID
- Information storage
  - Sorted and unsorted storage in AVL trees or double linked lists
  - Preferences handling
- File and directory processing
  - String operations on path names
  - Information about files
  - Traverse, create and delete directories
  - File search
  - Unique file IDs
  - Open files with additional security checks
  - File operations using file descriptors
- Generic I/O
  - Generic API to read or write single bytes or byte buffers
  - Text output with recoding to a specified output encoding
  - Plain files, gzip or bzip2 compressed files supported
- Text processing and recoding
  - Recoding of characters and strings from and to ASCII, ANSI,
    UTF-8, UTF-16 and 32 bit characters.
  - Search for byte order marker (BOM) at beginning of data stream
  - Read byte input stream, convert to ASCII, ANSI, UTF-8, UTF-16
    or 32 bit characters, process character by character or line
    by line
  - String tables to support internationalization
  - File search for configuration and data files, i.e. for string tables.
  - Command line option handling
- Data encoding (run-length, ASCII-hex, ASCII-85) and decoding.
- Bit handling (bit shifting, bit fields, bit matrices).
- Timestamp handling and conversion to text.
- Command line option handling.
- Tool functions for daemons.

@section seclibdk4dbi	libdk4dbi

The @ref libdk4dbi library provides a generic
interface to Berkeley DB, NDBM and in-memory databases and allows
to store text in these databases.


@section seclibdk4mdrnd	libdk4mdrnd

The @ref libdk4mdrnd library generates message digests and random
numbers.

@section seclibdk4sock	libdk4sock

The @ref libdk4sock library contains functions for socket operations
both for networking and local UNIX domain sockets.

@section seclibdk4app	libdk4app

The @ref libdk4app library provides some equivalents for libdk4c functions
with included localized diagnostics and other application support.

@section seclibdk4lab	libdk4lat

The @ref libdk4lat library contains code to
find LaTeX representations for 32 bit characters.

@section seclibdk4dbia	libdk4dbia

The @ref libdk4dbia provides some equivalents for libdk4dbi functions with
included localized diagnostics.

@section seclibdk4socka	libdk4socka

The @ref libdk4socka library provides some equivalents for libdk4sock functions
with included localized diagnostics.

@section seclibdk4wx	libdk4wx

The @ref libdk4wx library provides helper classes to build
wxWidgets base GUI applications.

*/