Standards & Docs

This is a collection of references to essential documentation about programming issues and API standards. Especially it focuses on public available resources, namely stuff which may legally be retrieved from the internet.

Official Standard Documents
Often the official standard documents are rather expensive, even if purchased without a hardcopy. So the clever people know where the (final) drafts can be found ... (and they are aware that those are not the "real" standard documents!)

C

 * ANSI C standard (ISO WG 14)
 * ANSI C89 rationale (HTML version)
 * ANSI C99 rationale (draft) (also as a PDF, and an older version)
 * ANSI C99 standard (draft) (also http, in html and in PDF format)

C++

 * ANSI C++ standard (ISO WG21)
 * Standard (draft, December 1996)
 * dto (HTMLized online version)

Fortran

 * Fortran 77 standard document
 * Overview about ISO Fortran standard drafts
 * Fortran 95 drafts
 * Fortran 200x drafts (here as well)

un*x & related API References

 * POSIX
 * Standard for an operating systems environment, including tools and libc. There are no legal copies available for free
 * Austin Group standard drafts:
 * X/Open and POSIX join now to create a unique definition. You can get the drafts for free if you register (at no cost). Latest is draft 7, the final one!
 * There's an HTML version of the final standard online.
 * older drafts


 * UNIX
 * Unix man pages (Single UNIX Specification)
 * API, standards reference table (older version)

Library References

 * X11
 * X11 home
 * XFree86 - A free X server (including all related programming stuff)
 * X11 and related references (man pages)
 * Info about Imake
 * Motiffi
 * Motif home
 * Open Motif Docs
 * Links to info about M*tif

Misc Programming

 * Maths Programming, Numerics
 * Infos about floating point maths, IEEE 754, etc.
 * Drafts for ISO/IEC 10967−1 (standard for language−independent arithmetic (LIA−1))
 * Internet Standards
 * Requests For Comments (RFC) (alternative site)
 * RFC drafts
 * UNICODE
 * UNICDE standard documents
 * Binary Formats
 * Object/executable file formats
 * List of several file formats

FAQs
Frequently Asked Questions are often compiled by some volunteers and made available in the net for free. Of course they also contain some more or less good, precise, valuable answers...
 * C FAQ ( alternative site; older version in HTML)
 * C++ FAQ
 * C++ FAQ lite
 * comp.std.c++ frequently asked questions
 * Fortran FAQ
 * Another Fortran FAQ
 * FAQ for un*x programming

Implementations
Sometimes it might be helpful to see real−world examples of the standards given above. So I also collect some links to implementations. Take care to read the according docs, which will (hopefully) tell you about the conformance with the related standards.
 * Misc un*x Stuff
 * Useful UNIX links
 * Information about various un*x flavours
 * Porting across un*x flavours
 * BSD Systems
 * FreeBSD
 * FreeBSD sources
 * FreeBSD sources cross−reference
 * NetBSD
 * OpenBSD
 * Linux
 * Linux source code reference
 * Miscellaneous Linux documentations
 * Linux man pages
 * Sources, Libraries
 * Freely Distributable LIBM (fdlibm) - Missing math stuff can be found here
 * cephes - Math library, too

"Non−Programming" Standards
One also frequently requires non−programming standards, e.g. when writing documentation, etc.
 * SGML & friends
 * "WebSGML"
 * Document Style Semantics and Specification Language (DSSSL): last draft of ISO standard
 * Extensible Markup Language (XML) (subset of SGML)
 * HTML & friends
 * ISO HTML
 * HTML 2.0
 * HTML 3.2
 * HTML 4.01
 * XHTML 1.0
 * Portable Document Format (PDF)
 * PDF reference
 * PostScript (PS)
 * Postscript Language Reference

Definitions
The following list is taken from the Linux man pages (INTRO(2) Linux Programmer's Manual), which is not up−to−date. So I will correct & update it when I find some time ...
 * SVr4:System V Release 4 Unix, as described in the "Programmer's Reference Manual: Operating System API (Intel processors)" (Prentice−Hall 1992, ISBN 0-13-951294-2)
 * SVID:System V Interface Definition, as described in "The System V Interface Definition, Fourth Edition",
 * POSIX.1:IEEE 1003.1−1990 part 1, aka ISO/IEC 9945−1:1990s, aka "IEEE Portable Operating System Interface for Computing Environments", as elucidated in Donald Lewine's "POSIX Programmer's Guide" (O'Reilly & Associates, Inc., 1991, ISBN 0-937175-73-0.)
 * POSIX.1b:IEEE Std 1003.1b−1993 (POSIX.1b standard) describing real-time facilities for portable operating systems, aka ISO/IEC 9945−1:1996, as elucidated in "Programming for the real world − POSIX.4" by Bill O. Gallmeister (O'Reilly & Associates, Inc. ISBN 1-56592-074-0).
 * SUS, SUSv2:Single Unix Specification. (Developed by X/Open and The Open Group. See also http://www.unix.org/version2/.)
 * 4.3BSD/4.4BSD:The 4.3 and 4.4 distributions of Berkeley Unix. 4.4BSD was upward-compatible from 4.3.
 * V7:Version 7, the ancestral Unix from Bell Labs.