.fp 5 CW
.de Af
.if \\$2 .nr ;G \\$1
.ie !\\$3 \{\
\\f\\$1\\$3\\f\\$2
.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8"
\}
..
.de aF
.nr ;G \\n(.f
.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8"
.ft \\n(;G
..
.de L
.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de LR
.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de RL
.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de EX \" start example
.ta 1i 2i 3i 4i 5i 6i
.PP
.RS
.PD 0
.ft 5
.nf
..
.de EE \" end example
.fi
.ft
.PD
.RE
.PP
..
.TH LIBAST 3
.UC 4
.SH NAME
libast \- introduction to the ast library
.SH DESCRIPTION
This section describes the
.I AST
(AT&T Software Technology) library functions of the
.B libast
library.
.B libast
serves three major purposes.
First, it presents (a subset of) POSIX/ANSI standard headers and interfaces on
non-compliant systems.
Second, it provides a portable base of routines that implement concepts
common to all UNIX system variants.
Finally, it is a forum for
modern implementations of features present (or lacking)
in the standard C libraries.
Features better provided by separate libraries are omitted from
.BR libast .
For example, most terminal driver interface issues are left for
special purpose libraries such as
.IR curses (3).
.PP
The
.B libast
related header files are installed in the directories
.LR include/ast .
Routines that do not advertize their own headers are prototyped in
.LR <ast.h> .
.L <ast.h>
is ANSI, K&R and C++ compatible and includes or defines the equivalent of
.LR <limits.h> ,
.LR <stddef.h> ,
.LR <stdlib.h> ,
.LR <sys/types.h> ,
.L <string.h>
and
.LR <unistd.h> .
Other libraries that depend on
.B libast
may also have headers installed in the
.L include/ast
directories.
.SH FILES
.nf
include/ast the \fBast\fP package header directory
lib/libast.a the \fBlibast\fP library
lib/libast-g.a the \fBlibast\fP library compiled for debugging
lib/libast-pg.a the \fBlibast\fP library compiled for profiling
lib/libast.so.4.0 the \fBlibast\fP shared library
.fi
.SH "SEE ALSO"
intro(3),
intro(2),
cc(1)
.SH CAVEATS
The library documentation is still under construction.
Yes, some of it has been in this state for 20 years.
Thank goodness our commands self-document.