]> pd.if.org Git - pdclib/blob - man3/pdclib.3
dos2unix
[pdclib] / man3 / pdclib.3
1 .\" This file is part of the Public Domain C Library (PDCLib).
2 .\" Permission is granted to use, modify, and / or redistribute at will.
3 .\"
4 .Dd
5 .Dt PDCLIB 3
6 .Os
7 .\"
8 .Sh NAME
9 .Nm PDCLib
10 .Nd Public domain, portable C library
11 .\"
12 .Sh LIBRARY
13 .Lb pdclib
14 .Sh SYNOPSIS
15 .In assert.h
16 .In ctype.h
17 .In errno.h
18 .In inttypes.h
19 .In iso646.h
20 .In limits.h
21 .In locale.h
22 .In signal.h
23 .In stdarg.h
24 .In stdbool.h
25 .In stddef.h
26 .In stdint.h
27 .In stdio.h
28 .In stdlib.h
29 .In stdnoreturn.h
30 .In string.h
31 .In threads.h
32 .In time.h
33 .In wchar.h
34 .\"
35 .Sh DESCRIPTION
36 The
37 .Nm
38 library is a portable, public domain C library. It aims at full conformance with
39 ISO C89, C95, C99 and C11 when used in combination with a conformant compiler. 
40 In addition, it aims at conformance with the portion of ISO C++97 and C++2011 
41 which is derived from said standards.
42 .Pp
43 .Nm
44 aims for strict conformance with the selected C/C++ standard. Therefore, unlike
45 most C libraries, it does not by default expose any extensions. Some extensions
46 (from POSIX or the Single Unix Specification) can be selected by defining the 
47 appropriate feature selection macro, such as 
48 .Dv _POSIX_C_SOURCE
49 or
50 .Dv _XOPEN_SOURCE
51 to the appropriate value. For example, in the following definition:
52 .Bd -offset indent
53 .Sy #define _XOPEN_SOURCE || _POSIX_C_SOURCE >= 200809L
54 .br
55 .Sy #include
56 .In string.h
57 .br
58 .Fn "char * strdup" "const char *"
59 .Ed
60 .\"
61 it is documented that defining either 
62 .Dv _XOPEN_SOURCE
63 or
64 .Dv _POSIX_C_SOURCE
65 to have a value greater than
66 .Li 200809L
67 before the first inclusion of
68 .In string.h
69 will expose a definition of the function
70 .Fn strdup
71 .\"
72 .Sh SEE ALSO
73 .Xr cc 1 ,
74 .Xr c++ 7
75 .Sh STANDARDS
76 When compiled with a C compiler, conformant with 
77 .St -isoC-90 ,
78 .St -isoC-amd1 ,
79 .St -isoC-tcor1 ,
80 .St -isoC-tcor2 ,
81 .St -isoC-99 or
82 .St -isoC-2011
83 as dependent upon the version of C the compiler declares conformance with.
84 .Pp
85 When compiled with a C++ compiler, conformant with ISO/IEC 14882:1997 or ISO/IEC
86 14882:2011 "The C++ Programming Language" as dependent upon the version of C++
87 the compiler declares conformance with.
88 .Sh AUTHORS
89 The
90 .Nm
91 library is maintained by by
92 .An Owen Shepherd ,
93 .Mt pdclib@owenshepherd.net .
94 Based upon work by
95 .An Martin "Solar" Baute ,
96 .Mt solar@rootdirectory.de .