<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> <sect1 id="ch-tools-linux-headers" role="wrap"> <?dbhtml filename="linux-headers.html"?> <sect1info condition="script"> <productname>linux-headers</productname> <productnumber>&linux-version;</productnumber> <address>&linux-url;</address> </sect1info> <title>Linux-&linux-version; API Headers</title> <indexterm zone="ch-tools-linux-headers"> <primary sortas="a-Linux">Linux</primary> <secondary>tools, API headers</secondary> </indexterm> <sect2 role="package"> <title/> <para>The Linux API Headers (in linux-&linux-version;.tar.xz) expose the kernel's API for use by Glibc.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&linux-headers-tmp-sbu;</seg> <seg>&linux-headers-tmp-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of Linux API Headers</title> <para>The Linux kernel needs to expose an Application Programming Interface (API) for the system's C library (Glibc in LFS) to use. This is done by way of sanitizing various C header files that are shipped in the Linux kernel source tarball.</para> <para>Make sure there are no stale files embedded in the package:</para> <screen><userinput remap="pre">make mrproper</userinput></screen> <para>Now extract the user-visible kernel headers from the source. The recommended make target <quote>headers_install</quote> cannot be used, because it requires <application>rsync</application>, which may not be available. The headers are first placed in <filename class="directory">./usr</filename>, then copied to the needed location.</para> <screen><userinput remap="make">make headers find usr/include -type f ! -name '*.h' -delete </userinput><userinput remap="install">cp -rv usr/include $LFS/usr</userinput></screen> </sect2> <sect2 id="contents-linux-headers" role="content"> <title>Contents of Linux API Headers</title> <segmentedlist> <segtitle>Installed headers</segtitle> <segtitle>Installed directories</segtitle> <seglistitem> <seg>/usr/include/asm/*.h, /usr/include/asm-generic/*.h, /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h, /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, /usr/include/sound/*.h, /usr/include/video/*.h, and /usr/include/xen/*.h</seg> <seg>/usr/include/asm, /usr/include/asm-generic, /usr/include/drm, /usr/include/linux, /usr/include/misc, /usr/include/mtd, /usr/include/rdma, /usr/include/scsi, /usr/include/sound, /usr/include/video, and /usr/include/xen</seg> </seglistitem> </segmentedlist> <variablelist> <bridgehead renderas="sect3">Short Descriptions</bridgehead> <?dbfo list-presentation="list"?> <?dbhtml list-presentation="table"?> <varlistentry id="asm"> <term><filename class="headerfile">/usr/include/asm/*.h</filename></term> <listitem> <para>The Linux API ASM Headers</para> <indexterm zone="ch-tools-linux-headers asm"> <primary sortas="e-/usr/include/asm/*.h">/usr/include/asm/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="asm-generic"> <term><filename class="headerfile">/usr/include/asm-generic/*.h</filename></term> <listitem> <para>The Linux API ASM Generic Headers</para> <indexterm zone="ch-tools-linux-headers asm-generic"> <primary sortas="e-/usr/include/asm-generic/*.h">/usr/include/asm-generic/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="drm"> <term><filename class="headerfile">/usr/include/drm/*.h</filename></term> <listitem> <para>The Linux API DRM Headers</para> <indexterm zone="ch-tools-linux-headers drm"> <primary sortas="e-/usr/include/drm/*.h">/usr/include/drm/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="linux"> <term><filename class="headerfile">/usr/include/linux/*.h</filename></term> <listitem> <para>The Linux API Linux Headers</para> <indexterm zone="ch-tools-linux-headers linux"> <primary sortas="e-/usr/include/linux/*.h">/usr/include/linux/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="misc"> <term><filename class="headerfile">/usr/include/misc/*.h</filename></term> <listitem> <para>The Linux API Miscellaneous Headers</para> <indexterm zone="ch-tools-linux-headers misc"> <primary sortas="e-/usr/include/misc/*.h">/usr/include/misc/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="mtd"> <term><filename class="headerfile">/usr/include/mtd/*.h</filename></term> <listitem> <para>The Linux API MTD Headers</para> <indexterm zone="ch-tools-linux-headers mtd"> <primary sortas="e-/usr/include/mtd/*.h">/usr/include/mtd/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="rdma"> <term><filename class="headerfile">/usr/include/rdma/*.h</filename></term> <listitem> <para>The Linux API RDMA Headers</para> <indexterm zone="ch-tools-linux-headers rdma"> <primary sortas="e-/usr/include/rdma/*.h">/usr/include/rdma/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="scsi"> <term><filename class="headerfile">/usr/include/scsi/*.h</filename></term> <listitem> <para>The Linux API SCSI Headers</para> <indexterm zone="ch-tools-linux-headers scsi"> <primary sortas="e-/usr/include/scsi/*.h">/usr/include/scsi/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="sound"> <term><filename class="headerfile">/usr/include/sound/*.h</filename></term> <listitem> <para>The Linux API Sound Headers</para> <indexterm zone="ch-tools-linux-headers sound"> <primary sortas="e-/usr/include/sound/*.h">/usr/include/sound/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="video"> <term><filename class="headerfile">/usr/include/video/*.h</filename></term> <listitem> <para>The Linux API Video Headers</para> <indexterm zone="ch-tools-linux-headers video"> <primary sortas="e-/usr/include/video/*.h">/usr/include/video/*.h</primary> </indexterm> </listitem> </varlistentry> <varlistentry id="xen"> <term><filename class="headerfile">/usr/include/xen/*.h</filename></term> <listitem> <para>The Linux API Xen Headers</para> <indexterm zone="ch-tools-linux-headers xen"> <primary sortas="e-/usr/include/xen/*.h">/usr/include/xen/*.h</primary> </indexterm> </listitem> </varlistentry> </variablelist> </sect2> </sect1>