summaryrefslogtreecommitdiff
path: root/devel/sfio/DESCR
blob: 292156226dceb2d80a7923d2af836a5f609649a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sfio is a portable library for managing I/O streams. It provides
similar functionality to the ANSI C Standard I/O functions known
collectively as Stdio. However, it has a distinct interface and is
generally faster and more robust than most Stdio implementations.
(For backward compatibility, Sfio provides two Stdio emulation packages.)
Sfio also introduces a number of new features and concepts beyond
Stdio stream I/O processing:

+ Automatic locking to avoid concurrent stream accesses,
+ I/O disciplines to pre/post-process read/write data from/to streams,
+ Stream stacking for recursive processing of nested streams,
+ Stream pooling for automatic stream synchronization when I/O
       operations are performed on different streams,
+ Buffer reservation for safe access to the internal buffers of streams,
+ Robust handling of variable-sized records, and
+ Extensible printf/scanf-like formatting I/O operations.

The current distribution of Sfio is Sfio1998. The library handles 64-bit
streams on platforms that support 64-bit files. The formatting family of
functions (e.g., sfprintf() and sfscanf()) have been extended so that
applications can redefine the meanings of predefined patterns as well as
define new patterns.