This commit is contained in:
Peter Pentchev 2003-01-12 18:20:55 +00:00
parent f372fa718b
commit 1f359cbbab
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=15623
63 changed files with 260 additions and 260 deletions

View file

@ -18,7 +18,7 @@ $FreeBSD$
</chapterinfo>
<title>Bootstrapping and kernel initialization</title>
<sect1>
<sect1 id="boot-synopsis">
<title>Synopsis</title>
<para>This chapter is an overview of the boot and system
@ -28,7 +28,7 @@ $FreeBSD$
architecture is used as an example.</para>
</sect1>
<sect1>
<sect1 id="boot-overview">
<title>Overview</title>
<para>A computer running FreeBSD can boot by several methods,
@ -117,7 +117,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
</informaltable>
</sect1>
<sect1>
<sect1 id="boot-bios">
<title>BIOS POST</title>
<para>When the PC powers on, the processor's registers are set
@ -173,7 +173,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
sector.</para></footnote>.</para>
</sect1>
<sect1>
<sect1 id="boot-boot0">
<title><literal>boot0</literal> stage</title>
<para>Take a look at the file <filename>/boot/boot0</filename>.
@ -257,7 +257,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
<filename>boot2</filename>.</para>
</sect1>
<sect1>
<sect1 id="boot-boot2">
<title><literal>boot2</literal> stage</title>
<para>You might wonder, why <literal>boot2</literal> comes after
@ -444,7 +444,7 @@ struct bootinfo {
0, 0, 0, VTOP(&amp;bootinfo));</programlisting>
</sect1>
<sect1>
<sect1 id="boot-loader">
<title><application>loader</application> stage</title>
<para><application>loader</application> is a BTX client as well.
@ -461,7 +461,7 @@ struct bootinfo {
module_formats[km->m_loader]->l_exec(km);</programlisting>
</sect1>
<sect1>
<sect1 id="boot-kernel">
<title>Kernel initialization</title>
<para>To where exactly is the execution passed by the loader,

View file

@ -11,7 +11,7 @@
variety of sources including the intro(4) manual page by
&a.joerg;.</para>
<sect1>
<sect1 id="driverbasics-intro">
<title>Introduction</title>
<para>This chapter provides a brief introduction to writing device
drivers for FreeBSD. A device in this context is a term used
@ -41,7 +41,7 @@
</sect1>
<sect1>
<sect1 id="driverbasics-kld">
<title>Dynamic Kernel Linker Facility - KLD</title>
<para>The kld interface allows system administrators to
@ -130,7 +130,7 @@ KMOD=skeleton
</sect2>
</sect1>
<sect1>
<sect1 id="driverbasics-access">
<title>Accessing a device driver</title>
<para>Unix provides a common set of system calls for user
@ -164,7 +164,7 @@ KMOD=skeleton
</sect1>
<sect1>
<sect1 id="driverbasics-char">
<title>Character Devices</title>
<para>A character device driver is one that transfers data
@ -364,7 +364,7 @@ Test Data</screen>
</para>
</sect1>
<sect1>
<sect1 id="driverbasics-net">
<title>Network Drivers</title>
<para>Drivers for network devices do not use device nodes in order

View file

@ -14,7 +14,7 @@
</emphasis>
</para>
<sect1>
<sect1 id="isa-driver-synopsis">
<title>Synopsis</title>
<para>This chapter introduces the issues relevant to writing a
@ -26,7 +26,7 @@
<literal>ep</literal> and <literal>aha</literal> are good sources of information.</para>
</sect1>
<sect1>
<sect1 id="isa-driver-basics">
<title>Basic information</title>
<para>A typical ISA driver would need the following include
@ -177,7 +177,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-device-t">
<title>Device_t pointer</title>
<para><structname>Device_t</structname> is the pointer type for
@ -246,7 +246,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-config">
<title>Configuration file and the order of identifying and probing
during auto-configuration</title>
@ -383,7 +383,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-resources">
<title>Resources</title>
<para>The information that a user enters into the kernel
@ -691,7 +691,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-busmem">
<title>Bus memory mapping</title>
<para>In many cases data is exchanged between the driver and the
@ -1469,7 +1469,7 @@
<!--_________________________________________________________________________-->
<!--~~~~~~~~~~~~~~~~~~~~END OF SECTION~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<sect1>
<sect1 id="isa-driver-dma">
<title>DMA</title>
<!-- Section Marked up by Wylie -->
<para>
@ -1703,7 +1703,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="isa-driver-probe">
<title>xxx_isa_probe</title>
<!-- Section marked up by Wylie -->
@ -2133,7 +2133,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-attach">
<title>xxx_isa_attach</title>
<!-- Section Marked up by Wylie -->
@ -2341,7 +2341,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-detach">
<title>xxx_isa_detach</title>
<para>
@ -2404,7 +2404,7 @@
</para>
</sect1>
<sect1>
<sect1 id="isa-driver-shutdown">
<title>xxx_isa_shutdown</title>
<para>
@ -2424,7 +2424,7 @@
</para>
</sect1>
<sect1>
<sect1 id="isa-driver-intr">
<title>xxx_intr</title>
<para>

View file

@ -43,7 +43,7 @@
article in Sys Admin Magazine, May 2001, entitled "Securing
FreeBSD using <application>Jail</application>."</para>
<sect1>
<sect1 id="jail-arch">
<title>Architecture</title>
<para>
@ -315,7 +315,7 @@ if (p2->p_prison) {
</sect2>
</sect1>
<sect1>
<sect1 id="jail-restrictions">
<title>Restrictions</title>
<para>Throughout the kernel there are access restrictions relating
@ -591,7 +591,7 @@ int ufs.setattr(ap)
</sect1>
<sect1>
<sect1 id="jail-jailng">
<title>Jail NG</title>
<para>Jail NG is a "from-scratch re-implementation of Jail" by

View file

@ -14,7 +14,7 @@
interface at run time and without breaking binary
compatibility.</para>
<sect1>
<sect1 id="kernel-objects-term">
<title>Terminology</title>
<variablelist>
@ -45,7 +45,7 @@
</variablelist>
</sect1>
<sect1>
<sect1 id="kernel-objects-operation">
<title>Kobj Operation</title>
<para>Kobj works by generating descriptions of methods. Each
@ -77,7 +77,7 @@
</sect1>
<sect1>
<sect1 id="kernel-objects-using">
<title>Using Kobj</title>
<sect2>

View file

@ -20,7 +20,7 @@
are protected simply by always using atomic operations to access
them.</para>
<sect1>
<sect1 id="locking-mutexes">
<title>Mutexes</title>
<para>A mutex is simply a lock used to guarantee mutual exclusion.
@ -270,7 +270,7 @@
</table>
</sect1>
<sect1>
<sect1 id="locking-lockmgr">
<title>Lock Manager Locks</title>
<para>Locks that are provided via the &man.lockmgr.9; interface
@ -309,7 +309,7 @@
</table>
</sect1>
<sect1>
<sect1 id="locking-atomic">
<title>Atomically Protected Variables</title>
<para>An atomically protected variable is a special variable that

View file

@ -10,7 +10,7 @@
<para>This chapter will talk about the FreeBSD mechanisms for
writing a device driver for a device on a PCI bus.</para>
<sect1>
<sect1 id="pci-probe">
<title>Probe and Attach</title>
<para>Information here about how the PCI bus code iterates through
@ -215,7 +215,7 @@ DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);</programlisting>
</para>
</sect1>
<sect1>
<sect1 id="pci-bus">
<title>Bus Resources</title>
<para>FreeBSD provides an object-oriented mechanism for requesting

View file

@ -11,7 +11,7 @@
Modifications for the handbook made by
&a.murray;.</emphasis></para>
<sect1>
<sect1 id="scsi-synopsis">
<title>Synopsis</title>
<para>This document assumes that the reader has a general
@ -53,7 +53,7 @@
</sect1>
<sect1>
<sect1 id="scsi-general">
<title>General architecture</title>
<para>CAM stands for Common Access Method. It is a generic way to
@ -1396,7 +1396,7 @@ CCB as done.</para>
</sect1>
<sect1>
<sect1 id="scsi-polling">
<title>Polling</title>
<funcSynopsis><funcPrototype>
@ -1440,7 +1440,7 @@ xxx_poll(struct cam_sim *sim)
</sect1>
<sect1>
<sect1 id="scsi-async">
<title>Asynchronous Events</title>
<para>If an asynchronous event callback has been set up then the
@ -1490,7 +1490,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)<
</sect1>
<sect1>
<sect1 id="scsi-interrupts">
<title>Interrupts</title>
<para>The exact type of the interrupt routine depends on the type
@ -1853,7 +1853,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)<
</sect1>
<sect1>
<sect1 id="scsi-errors">
<title>Errors Summary</title>
<para>When executing an I/O request many things may go wrong. The
@ -1936,7 +1936,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)<
</itemizedlist>
</sect1>
<sect1>
<sect1 id="scsi-timeout">
<title>Timeout Handling</title>
<para>When the timeout for an HCB expires that request should be

View file

@ -18,7 +18,7 @@
<title>Sound subsystem</title>
<sect1>
<sect1 id="oss-intro">
<title>Introduction</title>
<para>The FreeBSD sound subsystem cleanly separates generic sound
@ -73,7 +73,7 @@
</sect1>
<sect1>
<sect1 id="oss-files">
<title>Files</title>
<para>All the relevant code currently (FreeBSD 4.4) lives in
@ -188,7 +188,7 @@
</sect1>
<sect1>
<sect1 id="oss-interfaces">
<title>Interfaces</title>
<para>The interface between the <devicename>pcm</devicename> core

View file

@ -20,7 +20,7 @@
using the <quote>kernel linker</quote> and <quote>linker
sets</quote>.</para>
<sect1>
<sect1 id="sysinit-term">
<title>Terminology</title>
<variablelist>
@ -36,7 +36,7 @@
</variablelist>
</sect1>
<sect1>
<sect1 id="sysinit-operation">
<title>Sysinit Operation</title>
<para>Sysinit relies on the ability of the linker to take static
@ -63,7 +63,7 @@
</sect1>
<sect1>
<sect1 id="sysinit-using">
<title>Using Sysinit</title>
<sect2>

View file

@ -10,7 +10,7 @@
<para><emphasis>This chapter was written by &a.nhibma;. Modifications made for
the handbook by &a.murray;.</emphasis></para>
<sect1>
<sect1 id="usb-intro">
<title>Introduction</title>
<para>The Universal Serial Bus (USB) is a new way of attaching

View file

@ -18,7 +18,7 @@
<title>Virtual Memory System</title>
<sect1>
<sect1 id="vm-physmem">
<title>Management of physical
memory&mdash;<literal>vm_page_t</literal></title>
@ -80,7 +80,7 @@
launder or swap-out a page.</para>
</sect1>
<sect1>
<sect1 id="vm-cache">
<title>The unified buffer
cache&mdash;<literal>vm_object_t</literal></title>
@ -104,7 +104,7 @@
instances.</para>
</sect1>
<sect1>
<sect1 id="vm-fileio">
<title>Filesystem I/O&mdash;<literal>struct buf</literal></title>
<para>vnode-backed VM objects, such as file-backed objects, generally
@ -139,7 +139,7 @@
problem.</para>
</sect1>
<sect1>
<sect1 id="vm-pagetables">
<title>Mapping Page Tables&mdash;<literal>vm_map_t, vm_entry_t</literal></title>
<para>FreeBSD separates the physical page table topology from the VM
@ -165,7 +165,7 @@
across the board.</para>
</sect1>
<sect1>
<sect1 id="vm-kvm">
<title>KVM Memory Mapping</title>
<para>FreeBSD uses KVM to hold various kernel structures. The single
@ -187,7 +187,7 @@
overview of current KVM utilization broken down by zone.</para>
</sect1>
<sect1>
<sect1 id="vm-tuning">
<title>Tuning the FreeBSD VM system</title>
<para>A concerted effort has been made to make the FreeBSD kernel

View file

@ -18,7 +18,7 @@ $FreeBSD$
</chapterinfo>
<title>Bootstrapping and kernel initialization</title>
<sect1>
<sect1 id="boot-synopsis">
<title>Synopsis</title>
<para>This chapter is an overview of the boot and system
@ -28,7 +28,7 @@ $FreeBSD$
architecture is used as an example.</para>
</sect1>
<sect1>
<sect1 id="boot-overview">
<title>Overview</title>
<para>A computer running FreeBSD can boot by several methods,
@ -117,7 +117,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
</informaltable>
</sect1>
<sect1>
<sect1 id="boot-bios">
<title>BIOS POST</title>
<para>When the PC powers on, the processor's registers are set
@ -173,7 +173,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
sector.</para></footnote>.</para>
</sect1>
<sect1>
<sect1 id="boot-boot0">
<title><literal>boot0</literal> stage</title>
<para>Take a look at the file <filename>/boot/boot0</filename>.
@ -257,7 +257,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
<filename>boot2</filename>.</para>
</sect1>
<sect1>
<sect1 id="boot-boot2">
<title><literal>boot2</literal> stage</title>
<para>You might wonder, why <literal>boot2</literal> comes after
@ -444,7 +444,7 @@ struct bootinfo {
0, 0, 0, VTOP(&amp;bootinfo));</programlisting>
</sect1>
<sect1>
<sect1 id="boot-loader">
<title><application>loader</application> stage</title>
<para><application>loader</application> is a BTX client as well.
@ -461,7 +461,7 @@ struct bootinfo {
module_formats[km->m_loader]->l_exec(km);</programlisting>
</sect1>
<sect1>
<sect1 id="boot-kernel">
<title>Kernel initialization</title>
<para>To where exactly is the execution passed by the loader,

View file

@ -11,7 +11,7 @@
variety of sources including the intro(4) manual page by
&a.joerg;.</para>
<sect1>
<sect1 id="driverbasics-intro">
<title>Introduction</title>
<para>This chapter provides a brief introduction to writing device
drivers for FreeBSD. A device in this context is a term used
@ -41,7 +41,7 @@
</sect1>
<sect1>
<sect1 id="driverbasics-kld">
<title>Dynamic Kernel Linker Facility - KLD</title>
<para>The kld interface allows system administrators to
@ -130,7 +130,7 @@ KMOD=skeleton
</sect2>
</sect1>
<sect1>
<sect1 id="driverbasics-access">
<title>Accessing a device driver</title>
<para>Unix provides a common set of system calls for user
@ -164,7 +164,7 @@ KMOD=skeleton
</sect1>
<sect1>
<sect1 id="driverbasics-char">
<title>Character Devices</title>
<para>A character device driver is one that transfers data
@ -364,7 +364,7 @@ Test Data</screen>
</para>
</sect1>
<sect1>
<sect1 id="driverbasics-net">
<title>Network Drivers</title>
<para>Drivers for network devices do not use device nodes in order

View file

@ -20,7 +20,7 @@
</chapterinfo>
<title>Introduction</title>
<sect1>
<sect1 id="introduction-devel">
<title>Developing on FreeBSD</title>
<para>So here we are. System all installed and you are ready to
@ -37,7 +37,7 @@
</sect1>
<sect1>
<sect1 id="introduction-bsdvision">
<title>The BSD Vision</title>
<para>To produce the best UNIX-like operating system package
@ -46,7 +46,7 @@
stability.</para>
</sect1>
<sect1>
<sect1 id="introduction-archguide">
<title>Architectural Guidelines</title>
<para>Our ideology can be described by the following
@ -88,7 +88,7 @@
</sect1>
<sect1>
<sect1 id="introduction-layout">
<title>The Layout of
<filename class="directory">/usr/src</filename></title>

View file

@ -14,7 +14,7 @@
</emphasis>
</para>
<sect1>
<sect1 id="isa-driver-synopsis">
<title>Synopsis</title>
<para>This chapter introduces the issues relevant to writing a
@ -26,7 +26,7 @@
<literal>ep</literal> and <literal>aha</literal> are good sources of information.</para>
</sect1>
<sect1>
<sect1 id="isa-driver-basics">
<title>Basic information</title>
<para>A typical ISA driver would need the following include
@ -177,7 +177,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-device-t">
<title>Device_t pointer</title>
<para><structname>Device_t</structname> is the pointer type for
@ -246,7 +246,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-config">
<title>Configuration file and the order of identifying and probing
during auto-configuration</title>
@ -383,7 +383,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-resources">
<title>Resources</title>
<para>The information that a user enters into the kernel
@ -691,7 +691,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-busmem">
<title>Bus memory mapping</title>
<para>In many cases data is exchanged between the driver and the
@ -1469,7 +1469,7 @@
<!--_________________________________________________________________________-->
<!--~~~~~~~~~~~~~~~~~~~~END OF SECTION~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<sect1>
<sect1 id="isa-driver-dma">
<title>DMA</title>
<!-- Section Marked up by Wylie -->
<para>
@ -1703,7 +1703,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="isa-driver-probe">
<title>xxx_isa_probe</title>
<!-- Section marked up by Wylie -->
@ -2133,7 +2133,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-attach">
<title>xxx_isa_attach</title>
<!-- Section Marked up by Wylie -->
@ -2341,7 +2341,7 @@
</sect1>
<sect1>
<sect1 id="isa-driver-detach">
<title>xxx_isa_detach</title>
<para>
@ -2404,7 +2404,7 @@
</para>
</sect1>
<sect1>
<sect1 id="isa-driver-shutdown">
<title>xxx_isa_shutdown</title>
<para>
@ -2424,7 +2424,7 @@
</para>
</sect1>
<sect1>
<sect1 id="isa-driver-intr">
<title>xxx_intr</title>
<para>

View file

@ -43,7 +43,7 @@
article in Sys Admin Magazine, May 2001, entitled "Securing
FreeBSD using <application>Jail</application>."</para>
<sect1>
<sect1 id="jail-arch">
<title>Architecture</title>
<para>
@ -315,7 +315,7 @@ if (p2->p_prison) {
</sect2>
</sect1>
<sect1>
<sect1 id="jail-restrictions">
<title>Restrictions</title>
<para>Throughout the kernel there are access restrictions relating
@ -591,7 +591,7 @@ int ufs.setattr(ap)
</sect1>
<sect1>
<sect1 id="jail-jailng">
<title>Jail NG</title>
<para>Jail NG is a "from-scratch re-implementation of Jail" by

View file

@ -9,7 +9,7 @@
<para><emphasis>Contributed by &a.paul; and &a.joerg;</emphasis></para>
<sect1>
<sect1 id="kerneldebug-gdb">
<title>Debugging a Kernel Crash Dump with <command>gdb</command></title>
<para>Here are some instructions for getting kernel debugging
@ -239,7 +239,7 @@
</variablelist>
</sect1>
<sect1>
<sect1 id="kerneldebug-ddd">
<title>Debugging a Crash Dump with DDD</title>
<para>Examining a kernel crash dump with a graphical debugger like
@ -255,7 +255,7 @@
<command>ddd</command>'s graphical interface.</para>
</sect1>
<sect1>
<sect1 id="kerneldebug-post-mortem">
<title>Post-Mortem Analysis of a Dump</title>
<para>What do you do if a kernel dumped core but you did not expect it,
@ -293,7 +293,7 @@
cases.</para>
</sect1>
<sect1>
<sect1 id="kerneldebug-online-ddb">
<title>On-Line Kernel Debugging Using DDB</title>
<para>While <command>gdb <option>-k</option></command> as an off-line debugger provides a very
@ -498,7 +498,7 @@
single-stepping the kernel.</para>
</sect1>
<sect1>
<sect1 id="kerneldebug-online-gdb">
<title>On-Line Kernel Debugging Using Remote GDB</title>
<para>This feature has been supported since FreeBSD 2.2, and it is
@ -564,7 +564,7 @@ Debugger (msg=0xf01b0383 "Boot flags requested debugger")
window), etc.</para>
</sect1>
<sect1>
<sect1 id="kerneldebug-kld">
<title>Debugging Loadable Modules Using GDB</title>
<para>When debugging a panic that occurred within a module, or
@ -623,7 +623,7 @@ Reading symbols from /sys/modules/linux/linux.ko...done.
module.</para>
</sect1>
<sect1>
<sect1 id="kerneldebug-console">
<title>Debugging a Console Driver</title>
<para>Since you need a console driver to run DDB on, things are more

View file

@ -14,7 +14,7 @@
interface at run time and without breaking binary
compatibility.</para>
<sect1>
<sect1 id="kernel-objects-term">
<title>Terminology</title>
<variablelist>
@ -45,7 +45,7 @@
</variablelist>
</sect1>
<sect1>
<sect1 id="kernel-objects-operation">
<title>Kobj Operation</title>
<para>Kobj works by generating descriptions of methods. Each
@ -77,7 +77,7 @@
</sect1>
<sect1>
<sect1 id="kernel-objects-using">
<title>Using Kobj</title>
<sect2>

View file

@ -7,7 +7,7 @@
<chapter id="l10n">
<title>Localization and Internationalization - L10N and I18N</title>
<sect1>
<sect1 id="l10n-programming">
<title>Programming I18N Compliant Applications</title>
<indexterm><primary>Qt</primary></indexterm>
<indexterm><primary>GTK</primary></indexterm>

View file

@ -20,7 +20,7 @@
are protected simply by always using atomic operations to access
them.</para>
<sect1>
<sect1 id="locking-mutexes">
<title>Mutexes</title>
<para>A mutex is simply a lock used to guarantee mutual exclusion.
@ -270,7 +270,7 @@
</table>
</sect1>
<sect1>
<sect1 id="locking-lockmgr">
<title>Lock Manager Locks</title>
<para>Locks that are provided via the &man.lockmgr.9; interface
@ -309,7 +309,7 @@
</table>
</sect1>
<sect1>
<sect1 id="locking-atomic">
<title>Atomically Protected Variables</title>
<para>An atomically protected variable is a special variable that

View file

@ -10,7 +10,7 @@
<para>This chapter will talk about the FreeBSD mechanisms for
writing a device driver for a device on a PCI bus.</para>
<sect1>
<sect1 id="pci-probe">
<title>Probe and Attach</title>
<para>Information here about how the PCI bus code iterates through
@ -215,7 +215,7 @@ DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);</programlisting>
</para>
</sect1>
<sect1>
<sect1 id="pci-bus">
<title>Bus Resources</title>
<para>FreeBSD provides an object-oriented mechanism for requesting

View file

@ -11,7 +11,7 @@
Modifications for the handbook made by
&a.murray;.</emphasis></para>
<sect1>
<sect1 id="scsi-synopsis">
<title>Synopsis</title>
<para>This document assumes that the reader has a general
@ -53,7 +53,7 @@
</sect1>
<sect1>
<sect1 id="scsi-general">
<title>General architecture</title>
<para>CAM stands for Common Access Method. It is a generic way to
@ -1396,7 +1396,7 @@ CCB as done.</para>
</sect1>
<sect1>
<sect1 id="scsi-polling">
<title>Polling</title>
<funcSynopsis><funcPrototype>
@ -1440,7 +1440,7 @@ xxx_poll(struct cam_sim *sim)
</sect1>
<sect1>
<sect1 id="scsi-async">
<title>Asynchronous Events</title>
<para>If an asynchronous event callback has been set up then the
@ -1490,7 +1490,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)<
</sect1>
<sect1>
<sect1 id="scsi-interrupts">
<title>Interrupts</title>
<para>The exact type of the interrupt routine depends on the type
@ -1853,7 +1853,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)<
</sect1>
<sect1>
<sect1 id="scsi-errors">
<title>Errors Summary</title>
<para>When executing an I/O request many things may go wrong. The
@ -1936,7 +1936,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)<
</itemizedlist>
</sect1>
<sect1>
<sect1 id="scsi-timeout">
<title>Timeout Handling</title>
<para>When the timeout for an HCB expires that request should be

View file

@ -9,7 +9,7 @@
<para>This chapter was written by &a.murray;.</para>
<sect1><title>Synopsis</title>
<sect1 id="secure-synopsis"><title>Synopsis</title>
<para>This chapter describes some of the security issues that
have plagued Unix programmers for decades and some of the new
@ -36,7 +36,7 @@
operations are rarely atomic.</para>
</sect1>
<sect1><title>Buffer Overflows</title>
<sect1 id="secure-bufferov"><title>Buffer Overflows</title>
<para>Buffer Overflows have been around since the very
beginnings of the Von-Neuman <xref linkend="COD"> architecture.
@ -322,7 +322,7 @@ int main() {
</sect2>
</sect1>
<sect1><title>SetUID issues</title>
<sect1 id="secure-setuid"><title>SetUID issues</title>
<indexterm><primary>seteuid</primary></indexterm>
@ -451,7 +451,7 @@ int main() {
</sect1>
<sect1><title>Trust</title>
<sect1 id="secure-trust"><title>Trust</title>
<para>An application should never assume that anything about the
users environment is sane. This includes (but is certainly not

View file

@ -18,7 +18,7 @@
<title>Sound subsystem</title>
<sect1>
<sect1 id="oss-intro">
<title>Introduction</title>
<para>The FreeBSD sound subsystem cleanly separates generic sound
@ -73,7 +73,7 @@
</sect1>
<sect1>
<sect1 id="oss-files">
<title>Files</title>
<para>All the relevant code currently (FreeBSD 4.4) lives in
@ -188,7 +188,7 @@
</sect1>
<sect1>
<sect1 id="oss-interfaces">
<title>Interfaces</title>
<para>The interface between the <devicename>pcm</devicename> core

View file

@ -20,7 +20,7 @@
using the <quote>kernel linker</quote> and <quote>linker
sets</quote>.</para>
<sect1>
<sect1 id="sysinit-term">
<title>Terminology</title>
<variablelist>
@ -36,7 +36,7 @@
</variablelist>
</sect1>
<sect1>
<sect1 id="sysinit-operation">
<title>Sysinit Operation</title>
<para>Sysinit relies on the ability of the linker to take static
@ -63,7 +63,7 @@
</sect1>
<sect1>
<sect1 id="sysinit-using">
<title>Using Sysinit</title>
<sect2>

View file

@ -23,7 +23,7 @@
</chapterinfo>
<title>Programming Tools</title>
<sect1><title>Synopsis</title>
<sect1 id="tools-synopsis"><title>Synopsis</title>
<para>This chapter is an introduction to using some of the
programming tools supplied with FreeBSD, although much of it
@ -35,7 +35,7 @@
</sect1>
<sect1><title>Introduction</title>
<sect1 id="tools-intro"><title>Introduction</title>
<para>FreeBSD offers an excellent development environment.
Compilers for C, C++, and Fortran and an assembler come with the
@ -62,7 +62,7 @@
</sect1>
<sect1>
<sect1 id="tools-programming">
<title>Introduction to Programming</title>
<para>A program is a set of instructions that tell the computer to
@ -340,7 +340,7 @@
</sect1>
<sect1>
<sect1 id="tools-compiling">
<title>Compiling with <command>cc</command></title>
<para>This section deals only with the GNU compiler for C and C++,
@ -1051,7 +1051,7 @@ free(foo);
</sect2>
</sect1>
<sect1>
<sect1 id="tools-make">
<title>Make</title>
<sect2>
@ -2282,7 +2282,7 @@ in font-lock-auto-mode-list"
</sect2>
</sect1>
<sect1>
<sect1 id="tools-reading">
<title>Further Reading</title>
<itemizedlist>

View file

@ -10,7 +10,7 @@
<para><emphasis>This chapter was written by &a.nhibma;. Modifications made for
the handbook by &a.murray;.</emphasis></para>
<sect1>
<sect1 id="usb-intro">
<title>Introduction</title>
<para>The Universal Serial Bus (USB) is a new way of attaching

View file

@ -18,7 +18,7 @@
<title>Virtual Memory System</title>
<sect1>
<sect1 id="vm-physmem">
<title>Management of physical
memory&mdash;<literal>vm_page_t</literal></title>
@ -80,7 +80,7 @@
launder or swap-out a page.</para>
</sect1>
<sect1>
<sect1 id="vm-cache">
<title>The unified buffer
cache&mdash;<literal>vm_object_t</literal></title>
@ -104,7 +104,7 @@
instances.</para>
</sect1>
<sect1>
<sect1 id="vm-fileio">
<title>Filesystem I/O&mdash;<literal>struct buf</literal></title>
<para>vnode-backed VM objects, such as file-backed objects, generally
@ -139,7 +139,7 @@
problem.</para>
</sect1>
<sect1>
<sect1 id="vm-pagetables">
<title>Mapping Page Tables&mdash;<literal>vm_map_t, vm_entry_t</literal></title>
<para>FreeBSD separates the physical page table topology from the VM
@ -165,7 +165,7 @@
across the board.</para>
</sect1>
<sect1>
<sect1 id="vm-kvm">
<title>KVM Memory Mapping</title>
<para>FreeBSD uses KVM to hold various kernel structures. The single
@ -187,7 +187,7 @@
overview of current KVM utilization broken down by zone.</para>
</sect1>
<sect1>
<sect1 id="vm-tuning">
<title>Tuning the FreeBSD VM system</title>
<para>A concerted effort has been made to make the FreeBSD kernel

View file

@ -123,10 +123,10 @@
</abstract>
</bookinfo>
<preface>
<preface id="preface">
<title>Preface</title>
<sect1>
<sect1 id="preface-prompts">
<title>Shell Prompts</title>
<para>The following table shows the default system prompt and superuser
@ -157,7 +157,7 @@
</informaltable>
</sect1>
<sect1>
<sect1 id="preface-conventions">
<title>Typographic Conventions</title>
<para>The following table describes the typographic conventions used in
@ -228,7 +228,7 @@ Password:</screen></entry>
</informaltable>
</sect1>
<sect1>
<sect1 id="preface-notes">
<title>Notes, tips, important information, warnings, and examples</title>
<para>Within the text appear notes, warnings, and examples.</para>
@ -265,7 +265,7 @@ Password:</screen></entry>
</example>
</sect1>
<sect1>
<sect1 id="preface-acknowledgements">
<title>Acknowledgments</title>
<para>My thanks to Sue Blake, Patrick Durusau, Jon Hamilton, Peter

View file

@ -61,7 +61,7 @@
</listitem>
</itemizedlist>
<sect1>
<sect1 id="doc-build-toolset">
<title>The FreeBSD Documentation Build Toolset</title>
<para>Here are your tools. Use them every way you can.</para>
@ -102,7 +102,7 @@
</note>
</sect1>
<sect1>
<sect1 id="doc-build-makefiles">
<title>Understanding Makefiles in the Documentation tree</title>
<para>There are three main types of <filename>Makefile</filename>s

View file

@ -52,7 +52,7 @@
stylesheets by the FreeBSD Documentation Project. This makes them more
useful as generic DocBook examples.</para>
<sect1>
<sect1 id="examples-docbook-book">
<title>DocBook <sgmltag>book</sgmltag></title>
<example>
@ -104,7 +104,7 @@
</example>
</sect1>
<sect1>
<sect1 id="examples-docbook-article">
<title>DocBook <sgmltag>article</sgmltag></title>
<example>
@ -149,7 +149,7 @@
</example>
</sect1>
<sect1>
<sect1 id="examples-formatted">
<title>Producing formatted output</title>
<para>This section assumes that you have installed the software listed in

View file

@ -74,7 +74,7 @@
</listitem>
</itemizedlist>
<sect1>
<sect1 id="overview-doc">
<title>The FreeBSD Documentation Set</title>
<para>The FDP is responsible for four categories of FreeBSD
@ -145,7 +145,7 @@
possible.</para>
</sect1>
<sect1>
<sect1 id="overview-before">
<title>Before you start</title>
<para>This document assumes that you already know:</para>
@ -168,7 +168,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="overview-quick-start">
<title>Quick Start</title>
<para>If you just want to get going, and feel confident you can pick

View file

@ -38,7 +38,7 @@
information about these, you are encouraged to see the following web
sites.</para>
<sect1>
<sect1 id="see-also-fdp">
<title>The FreeBSD Documentation Project</title>
<itemizedlist>
@ -53,7 +53,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="see-also-sgml">
<title>SGML</title>
<itemizedlist>
@ -69,7 +69,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="see-also-html">
<title>HTML</title>
<itemizedlist>
@ -85,7 +85,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="see-also-docbook">
<title>DocBook</title>
<itemizedlist>
@ -109,7 +109,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="see-also-linuxdoc">
<title>The Linux Documentation Project</title>
<itemizedlist>

View file

@ -59,7 +59,7 @@
break (and other processing) when it is encountered.</para>
</note>
<sect1>
<sect1 id="sgml-markup-html">
<title>HTML</title>
<para>HTML, the HyperText Markup Language, is the markup language of
@ -655,7 +655,7 @@
</sect2>
</sect1>
<sect1>
<sect1 id="sgml-markup-docbook">
<title>DocBook</title>
<para>DocBook was designed by the <ulink

View file

@ -41,7 +41,7 @@
<para>Portions of this section were inspired by Mark Galassi's <ulink
url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro/docbook-intro.html">Get Going With DocBook</ulink>.</para>
<sect1>
<sect1 id="sgml-primer-overview">
<title>Overview</title>
<para>Way back when, electronic text was simple to deal with. Admittedly,
@ -802,7 +802,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished</screen>
document&hellip;</para>
</sect1>
<sect1>
<sect1 id="sgml-primer-comments">
<title>Comments</title>
<para>Comments are an SGML construction, and are normally only valid
@ -906,7 +906,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished</screen>
</sect2>
</sect1>
<sect1>
<sect1 id="sgml-primer-entities">
<title>Entities</title>
<para>Entities are a mechanism for assigning names to chunks of content.
@ -1093,7 +1093,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished</screen>
</sect2>
</sect1>
<sect1>
<sect1 id="sgml-primer-include">
<title>Using entities to include files</title>
<para>Entities (both <link
@ -1558,7 +1558,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished</screen>
</sect2>
</sect1>
<sect1>
<sect1 id="sgml-primer-conclusion">
<title>Conclusion</title>
<para>That is the conclusion of this SGML primer. For reasons of space

View file

@ -60,7 +60,7 @@
encodings. It is important that the structure of the documentation tree
does not enforce any particular defaults or cultural preferences.</para>
<sect1>
<sect1 id="structure-top">
<title>The top level, <filename>doc/</filename></title>
<para>There are two types of directory under <filename>doc/</filename>,
@ -99,7 +99,7 @@
</segmentedlist>
</sect1>
<sect1>
<sect1 id="structure-locale">
<title>The
<filename><replaceable>lang</replaceable>.<replaceable>encoding</replaceable>/</filename> directories</title>
@ -146,7 +146,7 @@
team.</para>
</sect1>
<sect1>
<sect1 id="structure-document">
<title>Document specific information</title>
<para>This section contains specific notes about particular documents

View file

@ -41,7 +41,7 @@
<para>For DocBook, we are using stylesheets written in DSSSL. For HTML we
are using CSS.</para>
<sect1>
<sect1 id="stylesheets-dsssl">
<title>* DSSSL</title>
<para>The Documentation Project uses a slightly customised version of
@ -62,7 +62,7 @@
formatted.</para>
</sect1>
<sect1>
<sect1 id="stylesheets-css">
<title>CSS</title>
<para>Cascading Stylesheets (CSS) are a mechanism for attaching style

View file

@ -33,7 +33,7 @@
<chapter id="the-website">
<title>The Website</title>
<sect1>
<sect1 id="the-website-prep">
<title>Preparation</title>
<para>Get 200MB free disk space. You will need the disk space for the
@ -68,7 +68,7 @@
<literal>ports</literal> - is currently 650MB large.</para>
</sect1>
<sect1>
<sect1 id="the-website-build">
<title>Build the web pages from scratch</title>
<procedure>
@ -106,7 +106,7 @@
</procedure>
</sect1>
<sect1>
<sect1 id="the-website-install">
<title>Install the web pages into your web server</title>
<procedure>
@ -137,7 +137,7 @@
</procedure>
</sect1>
<sect1>
<sect1 id="the-website-env">
<title>Environment variables</title>
<variablelist>

View file

@ -77,7 +77,7 @@
PostScript or PDF output require TeX.</para>
</tip>
<sect1>
<sect1 id="tools-mandatory">
<title>Mandatory tools</title>
<sect2>
@ -203,7 +203,7 @@
</sect2>
</sect1>
<sect1>
<sect1 id="tools-optional">
<title>Optional tools</title>
<para>You do not need to have any of the following installed. However,

View file

@ -157,7 +157,7 @@
url="http://www.bartleby.com/141/">Elements of
Style</ulink>, by William Strunk.</para>
<sect1>
<sect1 id="writing-style-guide">
<title>Style guide</title>
<para>To keep the source for the Handbook consistent when many different
@ -352,7 +352,7 @@ GB. Hardware compression &hellip;</literallayout>
</sect2>
</sect1>
<sect1>
<sect1 id="writing-style-word-list">
<title>Word list</title>
<para>The following is a small list of words spelled the way they

View file

@ -7,7 +7,7 @@
<chapter id="advanced-networking">
<title>Advanced Networking</title>
<sect1>
<sect1 id="advanced-networking-synopsis">
<title>Synopsis</title>
<para>This chapter will cover some of the more frequently used network

View file

@ -7,7 +7,7 @@
<chapter id="backups">
<title>Backups</title>
<sect1>
<sect1 id="backups-synopsis">
<title>Synopsis</title>
<para>The following chapter will cover methods of backing up data, and

View file

@ -18,7 +18,7 @@
<title>Unix Basics</title>
<sect1>
<sect1 id="basics-synopsis">
<title>Synopsis</title>
<indexterm><primary>basics</primary></indexterm>
@ -956,7 +956,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
this can be changed with the <option>s</option> option.</para>
</sect1>
<sect1>
<sect1 id="basics-daemons">
<title>Daemons, Signals, and Killing Processes</title>
<para>When you run an editor it is easy to control the editor, tell it to
@ -1391,7 +1391,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
will save you much more time in the long run.</para>
</sect1>
<sect1>
<sect1 id="basics-devices">
<title>Devices and Device Nodes</title>
<para>A device is a term used mostly for hardware-related
@ -1660,7 +1660,7 @@ console none unknown off secure</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="basics-more-information">
<title>For More Information</title>
<sect2 id="basics-man">

View file

@ -106,7 +106,7 @@
&chap.preface;
<part>
<part id="getting-started">
<title>Getting Started</title>
<partintro>
@ -151,7 +151,7 @@
<![ %chap.x11; [ &chap.x11; ]]>
</part>
<part>
<part id="system-administration">
<title>System Administration</title>
<partintro>
@ -188,7 +188,7 @@
<![ %chap.linuxemu; [ &chap.linuxemu; ]]>
</part>
<part>
<part id="appendicies">
<title>Appendices</title>
<![ %chap.mirrors; [ &chap.mirrors; ]]>

View file

@ -4,7 +4,7 @@
$FreeBSD$
-->
<colophon>
<colophon id='colophon'>
<para>This book is the combined work of hundreds of contributors to
<quote>The FreeBSD Documentation Project</quote>. The text is authored in SGML
according to the DocBook DTD and is formatted from SGML into many

View file

@ -31,7 +31,7 @@
<title>Configuration and Tuning</title>
<sect1>
<sect1 id="config-synopsis">
<title>Synopsis</title>
<indexterm><primary>system configuration/optimization</primary></indexterm>
@ -413,7 +413,7 @@ exit 0
system boot.</para>
</sect1>
<sect1>
<sect1 id="config-network-setup">
<sect1info>
<authorgroup>
<author>

View file

@ -38,7 +38,7 @@
<title>The Cutting Edge</title>
<sect1>
<sect1 id="cutting-edge-synopsis">
<title>Synopsis</title>
<para>&os; is under constant development between releases. For

View file

@ -28,7 +28,7 @@
<title>Installing FreeBSD</title>
<sect1>
<sect1 id="install-synopsis">
<title>Synopsis</title>
<indexterm><primary>installation</primary></indexterm>
@ -2610,7 +2610,7 @@ Mounting root from ufs:/dev/md0c
</sect2>
</sect1>
<sect1>
<sect1 id="install-choosing">
<title>Choosing What To Install</title>
<sect2 id="distset">
@ -4898,7 +4898,7 @@ Please press any key to reboot.</screen>
</sect2>
</sect1>
<sect1>
<sect1 id="install-supported-hardware">
<title>Supported Hardware</title>
<indexterm><primary>hardware</primary></indexterm>

View file

@ -18,7 +18,7 @@
<title>Introduction</title>
<sect1>
<sect1 id="introduction-synopsis">
<title>Synopsis</title>
<para>Thank you for your interest in FreeBSD! The following chapter

View file

@ -26,7 +26,7 @@
<title>Configuring the FreeBSD Kernel</title>
<sect1>
<sect1 id="kernelconfig-synopsis">
<title>Synopsis</title>
<indexterm>
@ -72,7 +72,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="kernelconfig-custom-kernel">
<title>Why Build a Custom Kernel?</title>
<para>Traditionally, FreeBSD has had what is called a

View file

@ -25,7 +25,7 @@
<title>Localization - I18N/L10N Usage and Setup</title>
<sect1>
<sect1 id="l10n-synopsis">
<title>Synopsis</title>
<para>FreeBSD is a very distributed project with users and
@ -58,7 +58,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="l10n-basics">
<title>The Basics</title>
<sect2>
@ -658,7 +658,7 @@ keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="l10n-compiling">
<title>Compiling I18N Programs</title>
<para>Many FreeBSD Ports have been ported with I18N support. Some

View file

@ -29,7 +29,7 @@
<title>Linux Binary Compatibility</title>
<sect1>
<sect1 id="linuxemu-synopsis">
<title>Synopsis</title>
<indexterm><primary>Linux binary compatibility</primary></indexterm>
<indexterm>
@ -2939,7 +2939,7 @@ options SHMMAXPGS=393216
</sect2>
</sect1>
<sect1>
<sect1 id="linuxemu-advanced">
<title>Advanced Topics</title>
<para>If you are curious as to how the Linux binary compatibility

View file

@ -25,7 +25,7 @@
<title>Electronic Mail</title>
<sect1>
<sect1 id="mail-synopsis">
<title>Synopsis</title>
<indexterm><primary>email</primary></indexterm>
<indexterm><primary>electronic mail</primary></indexterm>

View file

@ -7,7 +7,7 @@
<appendix id="mirrors">
<title>Obtaining FreeBSD</title>
<sect1>
<sect1 id="mirrors-cdrom">
<title>CDROM Publishers</title>
<sect2>

View file

@ -7,7 +7,7 @@
<chapter id="ports">
<title>Installing Applications: Packages and Ports</title>
<sect1>
<sect1 id="ports-synopsis">
<title>Synopsis</title>
<indexterm><primary>ports</primary></indexterm>
@ -38,7 +38,7 @@
</itemizedlist>
</sect1>
<sect1>
<sect1 id="ports-overview">
<title>Overview of Software Installation</title>
<para>If you have used a Unix system before you will know that the typical
@ -206,7 +206,7 @@
ports to install and manage third party software on FreeBSD.</para>
</sect1>
<sect1>
<sect1 id="ports-finding-applications">
<title>Finding Your Application</title>
<para>Before you can install any applications you need to know what you

View file

@ -18,7 +18,7 @@
<title>PPP and SLIP</title>
<sect1>
<sect1 id="ppp-and-slip-synopsis">
<title>Synopsis</title>
<indexterm id="ppp-ppp">
<primary>PPP</primary>

View file

@ -26,7 +26,7 @@
<title>Printing</title>
<sect1>
<sect1 id="printing-synopsis">
<title>Synopsis</title>
<indexterm><primary>LPD spooling system</primary></indexterm>
<indexterm><primary>printing</primary></indexterm>

View file

@ -19,7 +19,7 @@
<title>Security</title>
<indexterm><primary>security</primary></indexterm>
<sect1>
<sect1 id="security-synopsis">
<title>Synopsis</title>
<para>This chapter will provide a basic introduction to system security

View file

@ -61,7 +61,7 @@
creating an abstract device which stores its data on a number of disks.</para>
</sect1>
<sect1>
<sect1 id="vinum-access-bottlenecks">
<title>Access bottlenecks</title>
<para>Modern systems frequently need to access data in a highly
concurrent manner. For example, large FTP or HTTP servers can maintain
@ -181,7 +181,7 @@
</para>
</sect1>
<sect1>
<sect1 id="vinum-data-integrity">
<title>Data integrity</title>
<para>The final problem with current disks is that they are unreliable.
Although disk drive reliability has increased tremendously over the last
@ -673,7 +673,7 @@
</sect2>
</sect1>
<sect1>
<sect1 id="vinum-object-naming">
<title>Object naming</title>
<para>As described above, Vinum assigns default names to plexes and
subdisks, although they may be overridden. Overriding the default names

View file

@ -7,7 +7,7 @@
<chapter id="x11">
<title>The X Window System</title>
<sect1>
<sect1 id="x11-synopsis">
<title>Synopsis</title>
<para>FreeBSD uses <application>XFree86</application> to provide users with

View file

@ -39,7 +39,7 @@
</bookinfo>
<chapter>
<chapter id="own-port">
<title>Making a port yourself</title>
<para>So, now you are interested in making your own port or
@ -88,7 +88,7 @@
have to refer to the next section too.</para>
</note>
<sect1>
<sect1 id="porting-makefile">
<title>Writing the <filename>Makefile</filename></title>
<para>The minimal <filename>Makefile</filename> would look something
@ -121,7 +121,7 @@ USE_IMAKE= yes
linkend="porting-samplem">sample Makefile</link> section.</para>
</sect1>
<sect1>
<sect1 id="porting-desc">
<title>Writing the description files</title>
<para>There are three description files that are required for
@ -221,7 +221,7 @@ lib/X11/oneko/mouse.xpm
</sect2>
</sect1>
<sect1>
<sect1 id="porting-checksum">
<title>Creating the checksum file</title>
<para>Just type <command>make makesum</command>. The ports make rules
@ -378,7 +378,7 @@ lib/X11/oneko/mouse.xpm
</sect1>
</chapter>
<chapter>
<chapter id="slow">
<title>Slow Porting</title>
<para>Ok, so it was not that simple, and the port required some
@ -386,7 +386,7 @@ lib/X11/oneko/mouse.xpm
step by step, how to modify it to get it to work with the ports
paradigm.</para>
<sect1>
<sect1 id="slow-work">
<title>How things work</title>
<para>First, this is the sequence of events which occurs when the user
@ -514,7 +514,7 @@ lib/X11/oneko/mouse.xpm
create the perfect port.</para>
</sect1>
<sect1>
<sect1 id="slow-sources">
<title>Getting the original sources</title>
<para>Get the original sources (normally) as a compressed tarball
@ -560,7 +560,7 @@ lib/X11/oneko/mouse.xpm
linkend="porting-patchfiles">PATCHFILES</link> below).</para>
</sect1>
<sect1>
<sect1 id="slow-modifying">
<title>Modifying the port</title>
<para>Unpack a copy of the tarball in a private directory and make
@ -586,7 +586,7 @@ lib/X11/oneko/mouse.xpm
</note>
</sect1>
<sect1>
<sect1 id="slow-patch">
<title>Patching</title>
<para>In the preparation of the port, files that have been added or
@ -637,7 +637,7 @@ lib/X11/oneko/mouse.xpm
it up into one source file per patch file.</para>
</sect1>
<sect1>
<sect1 id="slow-configure">
<title>Configuring</title>
<para>Include any additional customization commands in your
@ -648,7 +648,7 @@ lib/X11/oneko/mouse.xpm
<filename>post-configure</filename>.</para>
</sect1>
<sect1>
<sect1 id="slow-user-input">
<title>Handling user input</title>
<para>If your port requires user input to build, configure, or install,
@ -667,7 +667,7 @@ lib/X11/oneko/mouse.xpm
</sect1>
</chapter>
<chapter>
<chapter id="makefile">
<title>Configuring the Makefile</title>
<para>Configuring the Makefile is pretty simple, and again we suggest
@ -680,7 +680,7 @@ lib/X11/oneko/mouse.xpm
<para>Now, consider the following problems in sequence as you design
your new Makefile:</para>
<sect1>
<sect1 id="makefile-source">
<title>The original source</title>
<para>Does it live in <makevar>DISTDIR</makevar> as a standard
@ -703,7 +703,7 @@ lib/X11/oneko/mouse.xpm
necessary.</para>
</sect1>
<sect1>
<sect1 id="makefile-naming">
<title>Naming</title>
<para>The first part of the port's <filename>Makefile</filename> names
@ -1196,7 +1196,7 @@ PORTEPOCH= 1</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="makefile-categories">
<title>Categorisation</title>
<sect2>
@ -1755,7 +1755,7 @@ PORTEPOCH= 1</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="makefile-distfiles">
<title>The distribution files</title>
<para>The second part of the <filename>Makefile</filename> describes the
@ -2610,7 +2610,7 @@ PATCHFILES= patch1:test</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="makefile-maintainer">
<title><makevar>MAINTAINER</makevar></title>
<para>Set your mail-address here. Please. <!-- smiley
@ -2621,7 +2621,7 @@ PATCHFILES= patch1:test</programlisting>
Makefiles</ulink> section.</para>
</sect1>
<sect1>
<sect1 id="makefile-depend">
<title>Dependencies</title>
<para>Many ports depend on other ports. There are five variables that
@ -2963,7 +2963,7 @@ PATCHFILES= patch1:test</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="makefile-wrkdir">
<title>Specifying the working directory</title>
<para>Each port is extracted in to a working directory, which must be
@ -3008,7 +3008,7 @@ PORTVERSION= 1.0</programlisting>
</sect2>
</sect1>
<sect1>
<sect1 id="makefile-build">
<title>Building mechanisms</title>
<para>If your package uses GNU <command>make</command>, set
@ -3050,7 +3050,7 @@ PORTVERSION= 1.0</programlisting>
</sect1>
</chapter>
<chapter>
<chapter id="special">
<title>Special considerations</title>
<para>There are some more things you have to take into account when you
@ -3467,7 +3467,7 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
</table>
</sect1>
<sect1>
<sect1 id="using-gnome">
<title>Using GNOME</title>
<para>The FreeBSD/GNOME project uses a system called
@ -3479,7 +3479,7 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
</sect1>
<sect1>
<sect1 id="using-kde">
<title>Using KDE</title>
<table frame="none">
@ -3539,31 +3539,31 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
</sect1>
<sect1>
<sect1 id="using-bison">
<title>Using Bison</title>
<para></para>
</sect1>
<sect1>
<sect1 id="using-java">
<title>Using Java</title>
<para></para>
</sect1>
<sect1>
<sect1 id="using-python">
<title>Using Python</title>
<para></para>
</sect1>
<sect1>
<sect1 id="using-emacs">
<title>Using Emacs</title>
<para></para>
</sect1>
<sect1>
<sect1 id="using-ruby">
<title>Using Ruby</title>
<para></para>
@ -3797,7 +3797,7 @@ MASTERDIR= ${.CURDIR}/../xdvi300
resolution set to 118.</para>
</chapter>
<chapter>
<chapter id="shared">
<title>Shared library versions</title>
<para>Please read our <ulink url="../developers-handbook/policies-shlib.html">policy on
@ -3922,7 +3922,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
binaries linked either dynamically (for people who are compiling from
the port) or statically (for people who distribute packages).</para>
<sect1>
<sect1 id="motif-use">
<title><makevar>USE_MOTIF</makevar></title>
<para>If your port requires Motif, define this variable in the
@ -3930,7 +3930,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
from even attempting to build it.</para>
</sect1>
<sect1>
<sect1 id="motif-lib">
<title><makevar>MOTIFLIB</makevar></title>
<para>This variable will be set by <filename>bsd.port.mk</filename> to
@ -3965,7 +3965,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
</sect1>
</chapter>
<chapter>
<chapter id="x11-fonts">
<title>X11 fonts</title>
<para>If your port installs fonts for the X Window System, put them in
@ -4242,7 +4242,7 @@ diff -u -r1.15 pkg-plist
</procedure>
</chapter>
<chapter>
<chapter id="pkg-files">
<title>The <filename>pkg-<replaceable>*</replaceable></filename> files</title>
<para>There are some tricks we have not mentioned yet about the
@ -4267,7 +4267,7 @@ diff -u -r1.15 pkg-plist
</note>
</sect1>
<sect1>
<sect1 id="pkg-install">
<title><filename>pkg-install</filename></title>
<para>If your port needs to execute commands when the binary package
@ -4292,7 +4292,7 @@ diff -u -r1.15 pkg-plist
</note>
</sect1>
<sect1>
<sect1 id="pkg-req">
<title><filename>pkg-req</filename></title>
<para>If your port needs to determine if it should install or not, you
@ -4360,7 +4360,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<makevar>TMPPLIST</makevar>.</para>
</sect1>
<sect1>
<sect1 id="pkg-names">
<title id="porting-pkgfiles">Changing the names of
<filename>pkg-<replaceable>*</replaceable></filename> files</title>
@ -4436,7 +4436,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<chapter id="testing">
<title>Testing your port</title>
<sect1>
<sect1 id="testing-portlint">
<title>Portlint</title>
<para>Do check your work with <link
@ -4510,7 +4510,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
moved the whole `/usr/local' tree somewhere else.</para>
</sect1>
<sect1>
<sect1 id="testing-freshports">
<title>FreshPorts sanity tests</title>
<para><ulink url="http://www.FreshPorts.org/">FreshPorts</ulink> has
@ -4577,7 +4577,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
it faster for us to commit them, and prove that you know what you are
doing.</para>
<sect1>
<sect1 id="dads-strip">
<title>Stripping Binaries</title>
<para>Do not strip binaries manually unless you have to. All binaries
@ -4601,7 +4601,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
will instead exit cleanly.</para>
</sect1>
<sect1>
<sect1 id="dads-install">
<title>INSTALL_* macros</title>
<para>Do use the macros provided in <filename>bsd.port.mk</filename>
@ -5581,7 +5581,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
</note>
</sect1>
<sect1>
<sect1 id="dads-after-port-mk">
<title>Writing something after
<filename>bsd.port.mk</filename></title>
@ -5701,7 +5701,7 @@ post-install:
.endif</programlisting>
</sect1>
<sect1>
<sect1 id="dads-documentation">
<title>Install additional documentation</title>
<para>If your software has some documentation other than the standard
@ -5747,7 +5747,7 @@ post-install:
</note>
</sect1>
<sect1>
<sect1 id="dads-subdirs">
<title>Subdirectories</title>
<para>Try to let the port put things in the right subdirectories of
@ -5800,7 +5800,7 @@ lib/X11/oneko/sounds/cat.au
empty due to other ports installing some files in there.</para>
</sect1>
<sect1>
<sect1 id="dads-uid">
<title>UIDs</title>
<para>If your port requires a certain user to be on the installed
@ -5851,7 +5851,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
keep the list of reserved IDs up to date.</para>
</sect1>
<sect1>
<sect1 id="dads-rational">
<title>Do things rationally</title>
<para>The <filename>Makefile</filename> should do things simply and
@ -5865,7 +5865,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
+= --prefix=&dollar;{PREFIX}</literal>.</para>
</sect1>
<sect1>
<sect1 id="dads-cc">
<title>Respect both <makevar>CC</makevar> and
<makevar>CXX</makevar></title>
@ -5897,7 +5897,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
anything previously defined.</para>
</sect1>
<sect1>
<sect1 id="dads-cflags">
<title>Respect <makevar>CFLAGS</makevar></title>
<para>The port should respect the <makevar>CFLAGS</makevar> variable.
@ -5923,7 +5923,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
defined.</para>
</sect1>
<sect1>
<sect1 id="dads-config">
<title>Configuration files</title>
<para>If your port requires some configuration files in
@ -5941,7 +5941,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
to work.</para>
</sect1>
<sect1>
<sect1 id="dads-freedback">
<title>Feedback</title>
<para>Do send applicable changes/patches to the original
@ -5950,7 +5950,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
release.</para>
</sect1>
<sect1>
<sect1 id="dads-readme">
<title><filename>README.html</filename></title>
<para>Do not include the <filename>README.html</filename> file. This
@ -5959,7 +5959,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
</para>
</sect1>
<sect1>
<sect1 id="dads-misc">
<title>Miscellanea</title>
<para>The files <filename>pkg-comment</filename>,
@ -5974,7 +5974,7 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
illegally distribute software!</para>
</sect1>
<sect1>
<sect1 id="dads-stuck">
<title>If you are stuck&hellip;</title>
<para>Do look at existing examples and the
@ -6130,7 +6130,7 @@ pre-install:
<link linkend="porting-shlibs">shared libraries</link> section.</para>
</chapter>
<chapter>
<chapter id="changes">
<title>Changes to this document and the ports system</title>
<para>If you maintain a lot of ports, you should consider following the

View file

@ -4,7 +4,7 @@
$FreeBSD$
-->
<legalnotice>
<legalnotice id="legalnotice">
<para>Redistribution and use in source (SGML DocBook) and 'compiled'
forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without
modification, are permitted provided that the following conditions are