intro(3)
๐ intro(3) โ your bestie's guide to library functions ๐
okay so hi bestie!! welcome to section 3 of the manual, aka the library functions page. this is the intro, so like, read this first and then go slay. ๐ธ
โจ NAME โจ
intro โ introduction to library functions ๐ซถ
๐ DESCRIPTION ๐
okay so section 3 of the manual is where all the library functions live โ but not the library functions (system call wrappers) that are described in section 2, because those ones actually implement system calls. different vibes, different section, no cap. ๐
a bunch of the functions in this section are part of the Standard C Library (libc). but some of them are guests in other libraries โ like the math library, libm, or the real-time library, librt. when that's the case, the manual page will literally tell you which linker option you need to link against the required library (for those two examples it's -lm and -lrt, respectively, bestie, respectively ๐).
and here's the thing that gets people every single time: sometimes the programmer must define a feature test macro in order to obtain the declaration of a function from the header file that's listed in the man page SYNOPSIS section. and girlie, if you need it, you have to define it before including any header files โ before!! not after!! ๐ in those cases, the required macro is described in the man page. want the full lore on feature test macros? see feature_test_macros(7). โจ
๐ Subsections ๐
section 3 of this manual is organized into subsections that reflect the complex structure of the standard C library and its many implementations:
3const3head3type
okay and now for the real talk ๐ซฃ โ this difficult history frequently makes it a poor example to follow in design, implementation, and presentation. like, not iconic behaviour, we're just being honest here. ๐
ideally, a library for the C language is designed such that each header file presents the interface to a coherent software module. it provides a small number of function declarations and exposes only data types and constants that are required for use of those functions. together, these are termed an API or application program interface. types and constants to be shared among multiple APIs should be placed in header files that declare no functions. this organization permits a C library module to be documented concisely with one header file per manual page. and honestly?? that approach improves the readability and accessibility of library documentation, and thereby the usability of the software. main character design energy, fr fr. ๐
โญ STANDARDS โญ
certain terms and abbreviations are used to indicate UNIX variants and standards to which calls in this section conform. see standards(7). ๐
๐ NOTES ๐
๐ฆ Authors and copyright conditions ๐ฆ
look at the header of the manual page source for the author(s) and copyright conditions. and bestie, note that these can be different from page to page! so don't assume, always check. ๐ญ
๐ธ SEE ALSO ๐ธ
intro(2)errno(3)capabilities(7)credentials(7)environ(7)feature_test_macros(7)libc(7)math_error(7)path_resolution(7)pthreads(7)signal(7)standards(7)system_data_types(7)
and that's the whole page, bestie!! this one's from Linux man-pages 6.20, dated 2026-02-08 โ so you know it's fresh. now go read a real man page and absolutely devour it. periodt. ๐ โจ๐๐ฆ๐
๐ฆ where this page comes from
- arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages 6.20
- ๐ the page's license: Linux-man-pages-copyleft
- Copyright 2007, Michael Kerrisk <mtk.manpages@gmail.com>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms