1*b936cc79Snia.\" $NetBSD: intro.3,v 1.36 2021/04/14 07:56:23 nia Exp $ 2ee52468aSjtc.\" 3ee52468aSjtc.\" Copyright (c) 1980, 1991, 1993 4ee52468aSjtc.\" The Regents of the University of California. All rights reserved. 561f28255Scgd.\" 661f28255Scgd.\" Redistribution and use in source and binary forms, with or without 761f28255Scgd.\" modification, are permitted provided that the following conditions 861f28255Scgd.\" are met: 961f28255Scgd.\" 1. Redistributions of source code must retain the above copyright 1061f28255Scgd.\" notice, this list of conditions and the following disclaimer. 1161f28255Scgd.\" 2. Redistributions in binary form must reproduce the above copyright 1261f28255Scgd.\" notice, this list of conditions and the following disclaimer in the 1361f28255Scgd.\" documentation and/or other materials provided with the distribution. 14075022b3Sagc.\" 3. Neither the name of the University nor the names of its contributors 1561f28255Scgd.\" may be used to endorse or promote products derived from this software 1661f28255Scgd.\" without specific prior written permission. 1761f28255Scgd.\" 1861f28255Scgd.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1961f28255Scgd.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2061f28255Scgd.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2161f28255Scgd.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2261f28255Scgd.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2361f28255Scgd.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2461f28255Scgd.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2561f28255Scgd.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2661f28255Scgd.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2761f28255Scgd.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2861f28255Scgd.\" SUCH DAMAGE. 2961f28255Scgd.\" 30ee52468aSjtc.\" @(#)intro.3 8.1 (Berkeley) 6/5/93 3161f28255Scgd.\" 32de6863b7Snia.Dd April 14, 2021 3361f28255Scgd.Dt INTRO 3 345b40cb57Sgarbled.Os 3561f28255Scgd.Sh NAME 3661f28255Scgd.Nm intro 374889f499Sgmcgarry.Nd introduction to the system libraries 3861f28255Scgd.Sh DESCRIPTION 394889f499SgmcgarryThis section provides an overview of the system libraries, their 404889f499Sgmcgarryfunctions, error returns and other common definitions and concepts. 414889f499SgmcgarryMost of these functions are available from the standard C library, 425446dea1Sjtc.Em libc . 4361f28255ScgdOther libraries, such as the math library, 4461f28255Scgd.Em libm , 4561f28255Scgdmust be indicated at compile time with the 4661f28255Scgd.Fl l 4761f28255Scgdoption of the compiler. 485446dea1Sjtc.\" .Pp 495446dea1Sjtc.\" A subset of the 505446dea1Sjtc.\" .Xr libc functions 515446dea1Sjtc.\" are available from Fortran; 525446dea1Sjtc.\" they are described separately in 535446dea1Sjtc.\" .Xr intro 3f . 5461f28255Scgd.Pp 554889f499SgmcgarryThe various system libraries supplied in 564889f499Sgmcgarry.Nx 574889f499Sgmcgarry(followed by the linker flags) are: 5861f28255Scgd.Bl -tag -width "libc (-lc)" 594889f499Sgmcgarry.It Em libasn1 Pq Fl l Ns Ar asn1 604889f499SgmcgarryThe abstract syntax notation (ASN) library provides routines for the 614889f499Sgmcgarryspecification of abstract data types. 624889f499Sgmcgarry.It Em libbz2 Pq Fl l Ns Ar bz2 634889f499SgmcgarryBlock-sorting compressor library providing routines for fast and 644889f499Sgmcgarryefficient compression. 65f6b40a5fSfair.It Em libc Pq Fl l Ns Ar c 66ce2e52a4SwizThe standard C library. 67ce2e52a4SwizWhen using the C compiler 6861f28255Scgd.Xr cc 1 , 694889f499Sgmcgarryit is not necessary to supply the linker flag 7061f28255Scgd.Fl l Ns Ar c 71ce2e52a4Swizfor these functions. 72ce2e52a4SwizThere are several subsystems included inside 73f6b40a5fSfair.Em libc : 744889f499Sgmcgarry.Bl -tag -width "XXXXXX" 754889f499Sgmcgarry.It standard I/O routines 764889f499Sgmcgarrysee 774889f499Sgmcgarry.Xr stdio 3 784889f499Sgmcgarry.It database routines 794889f499Sgmcgarrysee 804889f499Sgmcgarry.Xr db 3 814889f499Sgmcgarry.It bit operators 824889f499Sgmcgarrysee 8360a7c7caSsnj.Xr bitstring 3 844889f499Sgmcgarry.It string operators 854889f499Sgmcgarrysee 864889f499Sgmcgarry.Xr string 3 874889f499Sgmcgarry.It character tests and character operators 884889f499Sgmcgarry.It Tn encryption and hash routines 894889f499Sgmcgarrysee 904889f499Sgmcgarry.Xr md4 3 914889f499Sgmcgarryand 924889f499Sgmcgarry.Xr md5 3 . 934889f499Sgmcgarry.It storage allocation 944889f499Sgmcgarrysee 954889f499Sgmcgarry.Xr mpool 3 964889f499Sgmcgarryand 974889f499Sgmcgarry.Xr malloc 3 984889f499Sgmcgarry.It time functions 994889f499Sgmcgarrysee 1004889f499Sgmcgarry.Xr time 3 1014889f499Sgmcgarry.It signal handling 1024889f499Sgmcgarrysee 1034889f499Sgmcgarry.Xr signal 3 1044889f499Sgmcgarry.El 1054889f499Sgmcgarry.It Em libcom_err Pq Fl l Ns Ar com_err 106ce2e52a4SwizThe common error description library. 107ce2e52a4SwizSee 1083b6720feSgmcgarry.Xr com_err 3 . 109f6b40a5fSfair.It Em libcompat Pq Fl l Ns Ar compat 11061f28255ScgdFunctions which are obsolete but are available for compatibility with 11161f28255Scgd.Bx 4.3 . 1124889f499SgmcgarryIn particular, a number of system call interfaces provided in previous 1134889f499Sgmcgarryreleases of 11461f28255Scgd.Bx 115ce2e52a4Swizhave been included for source code compatibility. 116ce2e52a4SwizUse of these routines should, for the most part, be avoided. 117ce2e52a4SwizThe manual page entry 1184889f499Sgmcgarryfor each compatibility routine indicates the proper interface to use. 1194889f499Sgmcgarry.It Em libcrypt Pq Fl l Ns Ar crypt 120ce2e52a4SwizThe crypt library. 121ce2e52a4SwizSee 1224889f499Sgmcgarry.Xr crypt 3 . 1234889f499Sgmcgarry.It Em libcrypto Pq Fl l Ns Ar crypto 124ce2e52a4SwizThe OpenSSL cryptographic library. 125ce2e52a4SwizSee 126*b936cc79Snia.Xr crypto 7 . 127258cf0abSroy.It Em libcurses Pq Fl l Ns Ar curses Fl l Ns Ar terminfo 1284889f499SgmcgarryTerminal independent screen management routines 129ce2e52a4Swizfor two dimensional non-bitmap display terminals. 130ce2e52a4SwizSee 1314889f499Sgmcgarry.Xr curses 3 . 1324889f499Sgmcgarry.It Em libdes Pq Fl l Ns Ar des 133ce2e52a4SwizThe OpenSSL cryptographic library for the DES algorithms. 134ce2e52a4SwizSee 1354889f499Sgmcgarry.Xr des 3 . 13683425a0fShaad.It Em libdm Pq Fl l Ns Ar dm 13783425a0fShaadThe device-mapper driver access library used for communication with 13883425a0fShaadkernel driver 13983425a0fShaad.Xr dm 4 14083425a0fShaadand for 14183425a0fShaad.Xr lvm 8 14283425a0fShaadsubsystem. 1434889f499Sgmcgarry.It Em libedit Pq Fl l Ns Ar edit 144ce2e52a4SwizThe command-line editor or editline library. 145ce2e52a4SwizThe editline library provides generic editing and history functions. 146ce2e52a4SwizSee 1474889f499Sgmcgarry.Xr editline 3 . 1484889f499Sgmcgarry.It Em libform Pq Fl l Ns Ar form 1493a3e29d8SgmcgarryThe curses form library provides a terminal-independent form system 150ce2e52a4Swizusing the curses library. 151ce2e52a4SwizThe form library provides facilities for defining forms on terminals. 152ce2e52a4SwizSee 1534889f499Sgmcgarry.Xr forms 3 . 1544889f499Sgmcgarry.It Em libgssapi Pq Fl l Ns Ar gssapi 155ce2e52a4SwizThe Generic Security Services (GSS) API library. 156ce2e52a4SwizThis library provides 1574889f499Sgmcgarryverification services to applications and usually sits above the 1584889f499Sgmcgarrycryptographic libraries. 1594889f499Sgmcgarry.It Em libhesiod Pq Fl l Ns Ar hesiod 160ce2e52a4SwizThe Hesiod library. 161ce2e52a4SwizThis library provides routines for performing 1623a3e29d8Sgmcgarrylookups of Hesiod information, which is stored as text records in the 163ce2e52a4SwizDomain Name Service. 164ce2e52a4SwizSee 1654889f499Sgmcgarry.Xr hesiod 3 . 1664889f499Sgmcgarry.It Em libhdb Pq Fl l Ns Ar hdb 1673a3e29d8SgmcgarryThe Heimdal Kerberos 5 authentication/authorisation database access 1683a3e29d8Sgmcgarrylibrary. 1694889f499Sgmcgarry.It Em libintl Pq Fl l Ns Ar intl 170ce2e52a4SwizThe internationalized message handling library. 171ce2e52a4SwizSee 1724889f499Sgmcgarry.Xr gettext 3 . 1734889f499Sgmcgarry.It Em libipsec Pq Fl l Ns Ar ipsec 174ce2e52a4SwizThe IPsec policy control library. 175ce2e52a4SwizSee 1764889f499Sgmcgarry.Xr ipsec_set_policy 3 1774889f499Sgmcgarryand 1784889f499Sgmcgarry.Xr ipsec_strerror 3 . 1794889f499Sgmcgarry.It Em libkadm5clnt Pq Fl l Ns Ar kadm5clnt 1804889f499SgmcgarryThe Kerberos 5 administration client library. 1814889f499Sgmcgarry.It Em libkadm5srv Pq Fl l Ns Ar kadm5srv 1824889f499SgmcgarryThe Kerberos 5 administration server library. 18396937491SsevanSee 18496937491Ssevan.Xr kadm5_pwcheck 3 . 1854889f499Sgmcgarry.It Em libkafs Pq Fl l Ns Ar kafs 186ce2e52a4SwizThe Kerberos IV AFS library. 187ce2e52a4SwizSee 1883a3e29d8Sgmcgarry.Xr kafs 3 . 1894889f499Sgmcgarry.It Em libkdb Pq Fl l Ns Ar kdb 1903a3e29d8SgmcgarryThe Kerberos IV authentication/authorisation database access library. 1914889f499Sgmcgarry.It Em libkrb Pq Fl l Ns Ar krb 1923a3e29d8SgmcgarryThe Kerberos IV library. 1934889f499Sgmcgarry.It Em libkrb5 Pq Fl l Ns Ar krb5 194ce2e52a4SwizThe Kerberos 5 library. 195ce2e52a4SwizSee 196965d17cdSgmcgarry.Xr krb5 3 . 1974889f499Sgmcgarry.It Em libkstream Pq Fl l Ns Ar kstream 1983a3e29d8SgmcgarryKerberos IV encrypted stream library. 1994889f499Sgmcgarry.It Em libkvm Pq Fl l Ns Ar kvm 200ce2e52a4SwizKernel data access library. 201ce2e52a4SwizSee 2024889f499Sgmcgarry.Xr kvm 3 . 203f6b40a5fSfair.It Em libl Pq Fl l Ns Ar l 20461f28255ScgdThe library for 20561f28255Scgd.Xr lex 1 . 206f6b40a5fSfair.It Em libm Pq Fl l Ns Ar m 207ce2e52a4SwizThe math library. 208ce2e52a4SwizSee 2094889f499Sgmcgarry.Xr math 3 . 2105446dea1Sjtc.\" The math library is loaded as needed by the Pascal compiler 2115446dea1Sjtc.\" .Xr pc 1 , 2125446dea1Sjtc.\" but not by the C compiler which requires the 2135446dea1Sjtc.\" .Fl l Ns Ar m 214f6b40a5fSfair.\" flag (see 215f6b40a5fSfair.\" .Xr math 3 ) . 216f6b40a5fSfair.\" .It Em libmp Pq Fl l Ns Ar mp 217f6b40a5fSfair.\" .It Em libom 21861f28255Scgd.\" Old math library. 219f6b40a5fSfair.\" .It Em libplot Pq Fl l Ns Ar plot 220f6b40a5fSfair.\" Device independent plotting functions (see 221f6b40a5fSfair.\" .Xr plot 3 ) . 222f6b40a5fSfair.\" .It Em libplotf77 Pq Fl l Ns Ar plotf77 223ce2e52a4Swiz.\" The device independent plotting functions for fortran (see 224f6b40a5fSfair.\" .Xr plot 3 ) . 225f6b40a5fSfair.\" .It Em libresolv Pq Fl l Ns Ar resolv 22661f28255Scgd.\" Routines for network address resolution. 2274889f499Sgmcgarry.It Em libmenu Pq Fl l Ns Ar menu 228ce2e52a4SwizThe curses menu library. 229ce2e52a4SwizSee 2304889f499Sgmcgarry.Xr menus 3 . 231de6863b7Snia.It Em libnvmm Pq Fl l Ns Ar nvmm 232de6863b7Snia.Nx 233de6863b7SniaVirtualization API. 234de6863b7SniaSee 235de6863b7Snia.Xr libnvmm 3 . 236de6863b7Snia.It Em libossaudio Pq Fl l Ns Ar ossaudio 237de6863b7SniaOpen Sound System compatibility library. 238de6863b7SniaSee 239de6863b7Snia.Xr ossaudio 3 . 240b86d7f33Skamil.It Em libpanel Pq Fl l Ns Ar panel 241b86d7f33SkamilThe curses panel library. 242b86d7f33SkamilSee 243b86d7f33Skamil.Xr panel 3 . 2444889f499Sgmcgarry.It Em libpcap Pq Fl l Ns Ar pcap 245ce2e52a4SwizThe packet capture library. 246ce2e52a4SwizSee 2474889f499Sgmcgarry.Xr pcap 3 . 2484889f499Sgmcgarry.It Em libpci Pq Fl l Ns Ar pci 249ce2e52a4SwizThe PCI bus access library. 250ce2e52a4SwizSee 2514889f499Sgmcgarry.Xr pci 3 . 2524889f499Sgmcgarry.It Em libposix Pq Fl l Ns Ar posix 25330a683b2SgmcgarryThe POSIX compatibility library provides a compatibility interface for 254ce2e52a4SwizPOSIX functions which differ from the standard BSD interfaces. 255ce2e52a4SwizSee 25630a683b2Sgmcgarry.Xr chown 2 25730a683b2Sgmcgarryand 25830a683b2Sgmcgarry.Xr rename 2 . 2594889f499Sgmcgarry.It Em libresolv Pq Fl l Ns Ar resolv 2604889f499SgmcgarryThe DNS resolver library. 2614889f499Sgmcgarry.It Em librmt Pq Fl l Ns Ar rmt 262ce2e52a4SwizRemote magnetic tape library. 263ce2e52a4SwizSee 2644889f499Sgmcgarry.Xr rmtops 3 . 2654889f499Sgmcgarry.It Em libroken Pq Fl l Ns Ar roken 266ce2e52a4SwizA library containing compatibility functions used by Kerberos. 267ce2e52a4SwizIt implements functionality required by the Kerberos implementation not 2684889f499Sgmcgarryimplemented in the standard 2694889f499Sgmcgarry.Nx 2704889f499Sgmcgarrylibraries. 2714889f499Sgmcgarry.It Em librpcsvc Pq Fl l Ns Ar rpcsvc 272ce2e52a4SwizThe Remote Procedure Call (RPC) services library. 273ce2e52a4SwizSee 2744889f499Sgmcgarry.Xr rpc 3 . 2754889f499Sgmcgarry.It Em libskey Pq Fl l Ns Ar skey 276ce2e52a4SwizThe S/Key one-time password library. 277ce2e52a4SwizSee 27822d5bd5eSgmcgarry.Xr skey 3 . 2794889f499Sgmcgarry.It Em libsl Pq Fl l Ns Ar sl 2804889f499Sgmcgarry.It Em libss Pq Fl l Ns Ar ss 2814889f499Sgmcgarry.It Em libssl Pq Fl l Ns Ar ssl 282ce2e52a4SwizThe secure sockets layer (SSL) library. 283ce2e52a4SwizSee 284*b936cc79Snia.Xr ssl 7 . 2854889f499Sgmcgarry.It Em libtelnet Pq Fl l Ns Ar telnet 2864889f499SgmcgarryThe telnet library. 287258cf0abSroy.It Em libterminfo Pq Fl l Ns Ar terminfo 288ce2e52a4SwizThe terminal-independent operation library. 289ce2e52a4SwizSee 290258cf0abSroy.Xr terminfo 3 . 291af8d65b9Swiz.It Em libusbhid Pq Fl l Ns Ar usbhid 2926d7c70fbSwizThe Universal Serial Bus (USB) Human Interface Devices access library. 293294c971bSokiSee 2946d7c70fbSwiz.Xr libusbhid 3 . 2954889f499Sgmcgarry.It Em libutil Pq Fl l Ns Ar util 296ce2e52a4SwizThe system utilities library. 297ce2e52a4SwizSee 298a81a662cSgmcgarry.Xr util 3 . 2994889f499Sgmcgarry.It Em libwrap Pq Fl l Ns Ar wrap 300ce2e52a4SwizThe TCP wrappers library. 301ce2e52a4SwizSee 30260a7c7caSsnj.Xr hosts_access 3 . 303f6b40a5fSfair.It Em liby Pq Fl l Ns Ar y 30461f28255ScgdThe library for 30561f28255Scgd.Xr yacc 1 . 3064889f499Sgmcgarry.It Em libz Pq Fl l Ns Ar z 3074889f499SgmcgarryGeneral-purpose compression library. 308294c971bSokiSee 309294c971bSoki.Xr zlib 3 . 31061f28255Scgd.El 31161f28255Scgd.Sh SEE ALSO 31261f28255Scgd.Xr cc 1 , 31361f28255Scgd.Xr ld 1 , 314039b7f50Senami.Xr nm 1 , 3154889f499Sgmcgarry.Xr rtld 1 , 3164889f499Sgmcgarry.Xr intro 2 31761f28255Scgd.Sh HISTORY 31861f28255ScgdAn 31960a7c7caSsnj.Nm 32061f28255Scgdmanual appeared in 32161f28255Scgd.At v7 . 322