1.\" $OpenBSD: intro.3,v 1.11 2001/08/03 15:21:16 mpech Exp $ 2.\" $NetBSD: intro.3,v 1.5 1995/05/10 22:46:24 jtc Exp $ 3.\" 4.\" Copyright (c) 1980, 1991, 1993 5.\" The Regents of the University of California. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. All advertising materials mentioning features or use of this software 16.\" must display the following acknowledgement: 17.\" This product includes software developed by the University of 18.\" California, Berkeley and its contributors. 19.\" 4. Neither the name of the University nor the names of its contributors 20.\" may be used to endorse or promote products derived from this software 21.\" without specific prior written permission. 22.\" 23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33.\" SUCH DAMAGE. 34.\" 35.\" @(#)intro.3 8.1 (Berkeley) 6/5/93 36.\" 37.Dd June 5, 1993 38.Dt INTRO 3 39.Os 40.Sh NAME 41.Nm intro 42.Nd introduction to the C libraries 43.Sh DESCRIPTION 44This section provides an overview of the C library functions, their error 45returns, and other common definitions and concepts. 46Most of these functions are available from the C library, 47.Em libc . 48Other libraries, such as the math library, 49.Em libm , 50must be indicated at compile time with the 51.Fl l 52option of the compiler. 53.Pp 54The various libraries (followed by the loader flag): 55.Bl -tag -width Ds 56.It libc Pq Fl l Ns Ar c 57Standard C library functions. 58When using the C compiler 59.Xr cc 1 , 60it is not necessary to supply the loader flag 61.Fl l Ns Ar c 62for these functions. 63There are several 64.Dq libraries 65or groups of functions included inside of 66.Xr libc : the standard 67.Tn I/O 68routines, 69database routines, 70bit operators, 71string operators, 72character tests and character operators, 73DES encryption routines, 74storage allocation, 75time functions, 76signal handling, 77and more. 78.It libc_r Pq Fl l Ns Ar c_r 79Reentrant C library. 80Contains POSIX 1003.1c 81.Xr pthreads 3 82API and thread scheduler, as well as all of the functions found in 83.Xr libc . 84.It libcurses Pq Fl l Ns Ar curses 85Terminal independent screen management routines for two-dimensional 86non-bitmap display terminals. 87See 88.Xr curses 3 . 89.It libcompat Pq Fl l Ns Ar compat 90Functions which are obsolete but are available for compatibility with 91.Bx 4.3 . 92In particular, a number of system call interfaces provided in previous 93releases of 94.Bx 95have been included for source code compatibility. 96Use of these routines should, for the most part, be avoided. 97The manual page entry for each compatibility routine 98indicates the proper interface to use. 99.It libkvm Pq Fl l Ns Ar kvm 100Kernel virtual interface library. 101See 102.Xr kvm 3 . 103.It libl Pq Fl l Ns Ar l 104The library for 105.Xr lex 1 . 106.It libm Pq Fl l Ns Ar m 107The math library, 108.Em libm . 109See 110.Xr math 3 . 111.It libtermcap Pq Fl l Ns Ar termcap 112The terminal independent operation library package. 113(See 114.Xr termcap 3 . ) 115.El 116.Sh FILES 117.Bl -tag -width /usr/lib/libgnumalloc.a -compact 118.It Pa /usr/lib/libacl.a 119.It Pa /usr/lib/libbfd.a 120.It Pa /usr/lib/libc.a 121C library 122.It Pa /usr/lib/libc_r.a 123reentrant C library (see 124.Xr pthreads 3 ) 125.It Pa /usr/lib/libcom_err.a 126.It Pa /usr/lib/libcompat.a 1274.3 compatibility library 128.It Pa /usr/lib/libcrypto.a 129.Xr ssl 8 130support library 131.It Pa /usr/lib/libcurses++.a 132C++ 133.Xr curses 3 134library 135.It Pa /usr/lib/libcurses.a 136.Xr curses 3 137library 138.It Pa /usr/lib/libdes.a 139.It Pa /usr/lib/libedit.a 140.It Pa /usr/lib/libfl.a 141.It Pa /usr/lib/libform.a 142.It Pa /usr/lib/libg2c.a 143.It Pa /usr/lib/libgmp.a 144.It Pa /usr/lib/libiberty.a 145.It Pa /usr/lib/libkadm.a 146.Xr kerberos 1 147support library 148.It Pa /usr/lib/libkafs.a 149.Xr afsd 8 150support library 151.It Pa /usr/lib/libkdb.a 152.It Pa /usr/lib/libkeycap.a 153.It Pa /usr/lib/libkeynote.a 154.It Pa /usr/lib/libkrb.a 155.It Pa /usr/lib/libkvm.a 156.Xr kvm 3 157kernel virtual memory access library 158.It Pa /usr/lib/libl.a 159.It Pa /usr/lib/libm.a 160.Xr math 3 161library. 162.It Pa /usr/lib/libmenu.a 163.It Pa /usr/lib/libmmalloc.a 164.It Pa /usr/lib/libobjc.a 165.It Pa /usr/lib/libocurses.a 166The 167.Xr ocurses 3 168library is compatible with the 169.Em curses 170library provided in 4.3. 171.It Pa /usr/lib/libopcodes.a 172.It Pa /usr/lib/libossaudio.a 173.It Pa /usr/lib/libotermcap.a 1744.3-compatible termcap library. 175For use with 176.Xo 177.Xr libocurses 178.Pf ( i.e., Fl l Ns Ar ocurses 179.Fl l Ns Ar otermcap ) 180.Xc 181.It Pa /usr/lib/libpanel.a 182.Xr panel 3 183library for use with 184.Xo 185.Xr libcurses 186.Pf ( i.e., Fl l Ns Ar panel 187.Fl l Ns Ar curses ) 188.Xc 189.It Pa /usr/lib/libpcap.a 190.Xr pcap 3 191library. 192.It Pa /usr/lib/libreadline.a 193.It Pa /usr/lib/libresolv.a 194The 195.Xr resolver 3 196routines are included in 197.Em libc . 198For legacy applications, this library contains only those functions. 199.It Pa /usr/lib/librpcsvc.a 200generated by 201.Xr rpcgen 1 , 202containing stub functions for many common 203.Xr rpc 3 204protocols 205.It Pa /usr/lib/libskey.a 206support library for the 207.Xr skey 1 208authentication toolkit 209.It Pa /usr/lib/libssl.a 210.Xr ssl 8 211support library 212.It Pa /usr/lib/libstdc++.a 213.It Pa /usr/lib/libtelnet.a 214.It Pa /usr/lib/libtermcap.a 215.It Pa /usr/lib/libtermlib.a 216.It Pa /usr/lib/libutil.a 217.It Pa /usr/lib/libwrap.a 218.It Pa /usr/lib/liby.a 219.It Pa /usr/lib/libz.a 220.Pp 221.It Pa /usr/lib/libm_i387.a 222.It Pa /usr/lib/libi386.a 223.El 224.\" Must talk about shared libraries, _p profiled libraries, and how to tell the 225.\" C compiler to use them, and any other issues. 226.Sh SEE ALSO 227.Xr cc 1 , 228.Xr ld 1 , 229.Xr ld.so 1 , 230.Xr nm 1 , 231.Xr intro 2 , 232.Xr math 3 , 233.Xr pthreads 3 , 234.Xr stdio 3 235.\" .Sh LIST OF FUNCTIONS 236.\" .Bl -column "strncasecmpxxx" "system" 237.\" .Sy Name Description 238.\" .El 239.Sh HISTORY 240An 241.Nm 242manual appeared in 243.At v7 . 244