summaryrefslogtreecommitdiff
path: root/support/dktools/dk4.dox
blob: 7b3d9c68796f7c1c8c3c5fb4d1a136667564dce3 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/**	@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.

Character 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
wxChar | decimal | @ref libdk4maioxd

@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 seclibdk4sock	libdk4sock

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

@section seclibdk4bif	libdk4bif

The @ref libdk4bif library provides a unique API to read PNG, JPEG, NetPBM
and tiff images hiding the details of libpng, libjpeg and libtiff.
Additionally there are functions to convert pixels to other color spaces
and functions to resample pixels (change the number of bits per component).

@section seclibdk4gra	libdk4gra

The @ref libdk4gra library creates PDF, (E)PS and PGF graphics.
For PDF, PS and EPS it provides only non-text operations, for PGF output
text operations are available.

@section seclibdk4lab	libdk4lat

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

@section seclibdk4pppt	libdk4pppt

The libdk4pppt library creates file pairs PDF+TeX, (E)PS+TeX, or TeX
files. The libdk4gra library is used to place non-text graphics elements
in the PDF, (E)PS and TeX files, text labels are placed in the TeX files.

@section seclibdk4mdrnd	libdk4mdrnd

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

@section seclibdk4app	libdk4app

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

@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 seclibdk4bifa libdk4bifa

The libdk4bifap library provides some replacement functions for
libdk4bif functions containing dk4_app_t support, so the functions
can write diagnostic messages when an error occurs.

@section seclibdk4graa	libdk4graa

The libdk4graa library provides some replacement functions for
libdk4gra functions containing dk4_app_t support, so the functions
can write diagnostic messages when an error occurs.

@section seclibdk4lata	libdk4lata

The libdk4lata library provides some replacement functions for
libdk4lat functions containing dk4_app_t support, so the functions
can write diagnostic messages when an error occurs.

@section seclibdk4pppta	libdk4pppta

The libdk4pppta library provides some replacement functions for
libdk4lat functions containing dk4_app_t support, so the functions
can write diagnostic messages when an error occurs.

@section seclibdk4wx	libdk4wx

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

*/