File: README

package info (click to toggle)
libflux0 0.3.0-5
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,244 kB
  • ctags: 2,028
  • sloc: ansic: 15,937; sh: 7,704; java: 470; makefile: 126; lex: 108
file content (90 lines) | stat: -rw-r--r-- 3,242 bytes parent folder | download
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
About Flux
----------

Flux is a survival-through-structure library, whose goal is to reduce the
complexity of C programming. To this end, it supplies high-level functions
for manipulating data and communication with specialized handles, masking
typically tedious programming tasks. Common instruction blocks are wrapped
in higher-level calls with intuitive names. In short: Do it once, do it right,
then forget about it.

Abstracting things this way involves speed compromises. In Flux, these should
be minimal, and sometimes, when superiour algorithms are easily accessible,
efficiency is actually gained.

Another important goal is bridging gaps between typical tasks - like parsing,
storage, retrieval, buffering and transfer, data structures - like generic
tree structures, generic network structures, XML and presentation formats,
and protocols - like FluxComm, Unix protocols and IRC. (Note: IRC protocols
are hairy and ill-defined. Unification and masking is particularly useful
here).


About this release
------------------

This is version 0.3.0. The fact that it is pre-1.0 means the library is
still a long way from its inteded level of usefulness - there is no promised
functionality (and probably plenty of bugs/features).

The API for 0.3.0 is totally incompatible with the 0.2 series, but will from
now remain the same for all overseeable future.


Getting updates
---------------

FTP: The latest release version of Flux is always available for download from
     <ftp://ftp.styx.net/projects/flux>.

CVS: Sources can always be checked out anonymously thgough the following
     procedure:

     cvs -d :pserver:anonymous@cvs.styx.net:/cvs login
     (blank password)
     cvs checkout flux

     Developer CVS (write access) is available on request.


Directories and their contents
------------------------------

doc/       General and C API documentation.
src/       C sources.
include/   C includes.
java/      Java documentation, source and bytecode.
util/      Maintainer and user utilities.

The source is split over a hilariously large number of subdirectories,
separating the (arguably) major areas of functionality:

cgi/        CGI utilities.
cipher/     Cryptography and hashing.
comm/     * Flux-native block/tree communication.
fifobuf/    General-purpose FIFO buffering.
log/      * Logging.
mem/        Memory functions (for debugging, logging and security).
misc/       Miscellaneous. Small functions.
proc/     * Process control (execution proxies and daemons).
random/     Generating quality entropy.
sock/     * Wrappers for socket and pipe communication.
fstring/    Extensions to the string functions found in your environment.
tn/         Generic (token) network structures.
tt/       * Generic (token) tree structures.
mt/       * Tree structures specialized for markup data, like XML.
url/        URL handling.
xml/        XML import and export.

(*) Properly documented.

Regrettably, header files and the sources themselves are the only references
available for the other parts of the library. This is something we're
working on.


Supported configurations
------------------------

Should support most Unix-like configurations. You can find specifics in
doc/plain/builds/ from the package root.