1.\" Copyright (c) 1980, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. All advertising materials mentioning features or use of this software 13.\" must display the following acknowledgement: 14.\" This product includes software developed by the University of 15.\" California, Berkeley and its contributors. 16.\" 4. Neither the name of the University nor the names of its contributors 17.\" may be used to endorse or promote products derived from this software 18.\" without specific prior written permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.\" @(#)intro.3 8.1 (Berkeley) 6/5/93 33.\" 34.Dd June 5, 1993 35.Dt INTRO 3 36.Os BSD 4 37.Sh NAME 38.Nm intro 39.Nd introduction to the C libraries 40.Sh DESCRIPTION 41This section provides an overview of the C 42library functions, their error returns and other 43common definitions and concepts. 44Most of these functions are available from the C library, 45.Em libc 46(see 47.Xr libc 3 ) . 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 54A subset of the 55.Xr libc functions 56are available from Fortran; 57they are described separately in 58.Xr intro 3f . 59.Pp 60The various libraries (followed by the loader flag): 61.Bl -tag -width "libc (-lc)" 62.It Xr libc Pq Fl l Ns Ar c 63Standard C library functions. (See 64.Xr libc 3 . ) When using the C compiler 65.Xr cc 1 , 66it is not necessary 67to supply the loader flag 68.Fl l Ns Ar c 69for these functions. 70There are several `libraries' or groups of functions included inside of 71.Xr libc : the standard 72.Tn I/O 73routines, 74database routines, 75bit operators, 76string operators, 77character tests and character operators, 78des encryption routines, 79storage allocation, time functions, signal handling and more. 80.It Xo 81.Xr libcurses 82.Pf ( Fl l Ns Ar curses 83.Fl l Ns Ar termcap ) 84.Xc 85Terminal independent screen management routines 86for two dimensional non-bitmap display terminals. 87(See 88.Xr curses 3 . ) 89.It Xr libcompat Pq Fl l Ns Ar compat 90Functions which are obsolete but are available for compatibility with 91.Bx 4.3 . 92In particular, 93a number of system call interfaces provided in previous releases 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 Xr libkvm 100.It Xr libl Pq Fl l Ns Ar l 101The library for 102.Xr lex 1 . 103.\" .It Xr libln 104.It Xr libm Pq Fl l Ns Ar m 105The math library, 106.Em libm . 107The math library is loaded as needed by the Pascal compiler 108.Xr pc 1 , 109but not by the C compiler which requires the 110.Fl l Ns Ar m 111flag. 112(See 113.Xr math 3 . ) 114.It Xr libmp Pq Fl l Ns Ar mp 115.\" .It Xr libom 116.\" Old math library. 117.It Xr libplot Pq Fl l Ns Ar plot 118Device independent plotting functions. 119(See 120.Xr plot 3 . ) 121.It Xr libplotf77 Pq Fl l Ns Ar plotf77 122The device independent plotting functions for fortran. 123(See 124.Xr plot 3 . ) 125.\" .It Xr libresolv Pq Fl l Ns Ar resolv 126.\" Routines for network address resolution. 127.It Xr libtermcap Fl l Ns Ar termcap 128The terminal independent operation library package. (See 129.Xr termcap 3 . ) 130.\" .It libvt0.a 131.It Xr liby Pq Fl l Ns Ar y 132The library for 133.Xr yacc 1 . 134.El 135.Sh FILES 136.Bl -tag -width /usr/lib/libm_p.a -compact 137.It Pa /usr/lib/libc.a 138the C library 139.It Pa /usr/lib/libm.a 140the math library 141.It Pa /usr/lib/libc_p.a 142the C library compiled for profiling 143.It Pa /usr/lib/libm_p.a 144the math library compiled for profiling 145.El 146.Sh SEE ALSO 147.\" .Xr libc 3 , 148.Xr stdio 3 , 149.Xr math 3 , 150.Xr intro 2 , 151.Xr cc 1 , 152.Xr ld 1 , 153.Xr nm 1 154.\" .Sh LIST OF FUNCTIONS 155.\" .Bl -column "strncasecmpxxx" "system" 156.\" .Sy Name Description 157.\" .El 158.Sh HISTORY 159An 160.Nm intro 161manual appeared in 162.At v7 . 163