From bea9d4e38c5eebb1471e71a81f91acd6d6487bb4 Mon Sep 17 00:00:00 2001 From: Wolfram Schneider Date: Fri, 3 Oct 1997 20:53:38 +0000 Subject: [PATCH] Add links to manpages. --- FAQ/FAQ.sgml | 122 ++++++++++++++++------ en/tutorials/ddwg/ddwg.sgml | 40 ++++--- en_US.ISO_8859-1/tutorials/ddwg/ddwg.sgml | 40 ++++--- 3 files changed, 144 insertions(+), 58 deletions(-) diff --git a/FAQ/FAQ.sgml b/FAQ/FAQ.sgml index 2b1f47dcb3..a00e5e21aa 100644 --- a/FAQ/FAQ.sgml +++ b/FAQ/FAQ.sgml @@ -1,12 +1,12 @@ - +
Frequently Asked Questions for FreeBSD 2.X <author>Maintainer: Peter da Silva <tt><htmlurl url='mailto:peter@taronga.com' name='<peter@taronga.com>'></tt> -<date>$Date: 1997-09-30 18:40:19 $</date> +<date>$Date: 1997-10-03 20:53:27 $</date> <abstract> This is the FAQ for FreeBSD systems version 2.X All entries are @@ -825,7 +825,9 @@ make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release ``<tt/sys/'' (kernel) source kit, which includes sources for the kernel. There is nothing in the system which requires the presence of the sources to operate, however, except for the - kernel-configuration program <tt/config(8)/. With the exception + kernel-configuration program + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?config" + name="config">. With the exception of the kernel sources, our build structure is set up so that you can read-only mount the sources from elsewhere via NFS and still be able to make new binaries. (Because of the kernel-source @@ -1038,7 +1040,8 @@ make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release Some unnamed clone cards have also been known to work, especially those that claim to be AST compatible. - Check the <tt/sio(4)/ man page to get more information on + Check the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" + name="sio">n man page to get more information on configuring such cards. <sect1> @@ -1107,7 +1110,9 @@ options PSM_CHECKSYNC #checks the header byte for sync. <p>FreeBSD 2.2 supports SCSI changers using the <tt/ch/ device and the <tt/chio/ command. The details of how you actually control the - changer can be found in the <tt/chio(1)/ man page. + changer can be found in the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio" + name="chio"> man page. If you're not using <tt/AMANDA/ or some other product that already understands changers, remember that they're only know how to move a @@ -1333,7 +1338,9 @@ quit at the prompt, and install your system as usual. While it's recommendable to compile and install a custom kernel anyway, - <tt/dset(8)/ now also understands to save this value. + + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dset" + name="dset"> now also understands to save this value. Hopefully, future version will have a proper fix for this problem. @@ -1409,11 +1416,17 @@ quit <sect1> <heading>When I mount a CDROM, I get ``Incorrect super block''.</heading> <p> - You have to tell <tt/mount(8)/ the type of the device that you - want to mount. By default, <tt/mount(8)/ will assume the + You have to tell + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" + name="mount"> the type of the device that you + want to mount. By default, + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" + name="mount"> will assume the filesystem is of type ``<tt/ufs/''. You want to mount a CDROM filesystem, and you do this by specifying the ``<tt/-t cd9660/'' - option to <tt/mount(8)/. This does, of course, assume that the + option to + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" + name="mount">. This does, of course, assume that the CDROM contains an ISO 9660 filesystem, which is what most CDROMs have. As of 1.1R, FreeBSD automatically understands the Rock Ridge (long filename) extensions as well. @@ -1912,7 +1925,8 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx Finally, if you need to see your original boot messages again to compile a new kernel that's better tailored to your hardware, try - the <tt/dmesg(8)/ command. It should print out all the boot-time + the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dmesg" + name="dmesg"> command. It should print out all the boot-time messages printed by your old kernel, some of which may be quite helpful in configuring the new one. @@ -2072,7 +2086,9 @@ disk fd1 at fdc0 drive 1 <p> <label id="2_1-disklabel-fix"> If the above does not work for you, or if you're a total masochist - who likes arcane interfaces, this is how to use disklabel(8) manually: + who likes arcane interfaces, this is how to use + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel"> manually: <p> <em>WARNING: There is no substitute for reading carefully & understanding what you are doing! Things described here may @@ -2081,8 +2097,11 @@ disk fd1 at fdc0 drive 1 <p> <tt /sysinstall/ used to be broken up to 2.1.5-RELEASE and will insist on mounting something at / in the disklabel editor. You will - have to manually run <tt /disklabel(8)/ before you can run - <tt /newfs(8)/. This means doing the math for partitions + have to manually run + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel"> before you can run + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?newfs" + name="newfs">/. This means doing the math for partitions yourself. This is rumoured to be easy :-) See if you can obtain a skeletal label with ''<tt>disklabel -r <diskname></tt>'' <em>(eg. </em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em>, assuming @@ -2155,8 +2174,10 @@ drivedata: 0 <p> <bf /Note:/ You can directly edit the disklabel with - ''<tt>disklabel -e wd0s2</tt>''. See <tt /disklabel(8)/. - <p> + ''<tt>disklabel -e wd0s2</tt>''. See + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel">. + <p> If you have at least FreeBSD 2.1.5, and you want to dedicate an entire disk to FreeBSD without any care for other systems, you might shorten the steps above to something like: @@ -2185,7 +2206,9 @@ drivedata: 0 required that you run the script <tt>/dev/MAKEDEV</tt> before in order to create the desired device nodes. - And mount your new filesystems (See <tt /mount(8)/):- + And mount your new filesystems (See + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" + name="mount">):- <verb> mount /dev/wd0s2e /mnt/foo @@ -2337,7 +2360,8 @@ drivedata: 0 of the disk partitioning for the operating system in question. <p> <bf/ Linux/: 2.2 and later have support for <bf/ext2fs/ partitions. - See mount_ext2fs(8) for more information. + See <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs" + name="mount_ext2fs"> for more information. Any other information on this subject would be appreciated. @@ -2582,7 +2606,9 @@ vnconfig -ce /dev/vn0c /usr/swap0 swap </verb> Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/ - extension are assumed by <tt/kbdcontrol(1)/. + extension are assumed by + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol" + name="kbdcontrol">. This can be configured in <tt>/etc/sysconfig</tt> (or <tt/rc.conf/). See the @@ -3068,7 +3094,9 @@ vnconfig -ce /dev/vn0c /usr/swap0 swap This is because of the way console permissions are set by default. On a multi-user system, one doesn't necessarily want just any user to be able to write on the system console. For users who are logging - directly onto a machine with a VTY, the <tt/fbtab(5)/ file exists + directly onto a machine with a VTY, the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab" + name="fbtab"> file exists to solve such problems. In a nutshell, make sure an uncommented line of the form @@ -3138,7 +3166,9 @@ vnconfig -ce /dev/vn0c /usr/swap0 swap In most cases, you will also need to run a routing process to tell other systems on your network about your router; FreeBSD - comes with the standard BSD routing daemon <tt/routed(8)/, or for + comes with the standard BSD routing daemon + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?routed" + name="routed">, or for more complex situations you may want to try <em/GaTeD/ (available by FTP from <tt/ftp.gated.Merit.EDU/) which supports FreeBSD as of 3_5Alpha7. @@ -3181,8 +3211,16 @@ vnconfig -ce /dev/vn0c /usr/swap0 swap <heading>Does FreeBSD support SLIP and PPP?</heading> <p> - Yes. See the man pages for <tt/slattach(8)/, <tt/sliplogin(8)/, - <tt/pppd(8)/ and <tt/ppp(8)/. <tt/pppd/ and <tt/ppp/ provide + Yes. See the man pages for + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach" + name="slattach">, + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sliplogin" + name="sliplogin">, + + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppd" + name="pppd"> and + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp">. <tt/pppd/ and <tt/ppp/ provide support for both incoming and outgoing connections. <tt/Sliplogin/ deals exclusively with incoming connections and <tt/slattach/ deals exclusively with outgoing connections. @@ -3211,19 +3249,25 @@ vnconfig -ce /dev/vn0c /usr/swap0 swap <p> If you have a subnet (one or more local machines), but have been allocated only a single IP number from your Internet - provider, you may want to look at the <tt/natd(8)/ program. + provider, you may want to look at the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?natd" + name="natd"> program. <tt/Natd/ allows you to connect an entire subnet to the internet using only a single IP number. <p> - The <tt/ppp(8)/ program has similar functionality built in via + The + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp"> program has similar functionality built in via the <tt/-alias/ switch. <sect1> <heading>I can't make <tt/ppp/ work. What am I doing wrong ?</heading> <p> - You should first read the <tt/ppp(8)/ manual page and + You should first read the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp"> manual page and the <url url="../handbook/userppp.html" name="ppp section of the handbook">. Enable logging with the command @@ -3326,8 +3370,13 @@ MYADDR: file, or to type it at the prompt in interactive mode. It is also possible to adjust it on the fly while the line is active by connecting to <tt/ppp/s server socket using - <tt/telnet(1)/ or <tt/pppctl(8)/. Refer to the <tt/ppp(8)/ - man page for further details. + + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?telnet" + name="telnet"> or + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppctl" + name="pppctl">. Refer to the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp"> man page for further details. <sect2> <heading>My connection drops under heavy load</heading> @@ -3539,7 +3588,9 @@ MYADDR: <p> If you want to use the other ports, you'll have to specify an - additional parameter on the <tt/ifconfig(1)/ command line. The + additional parameter on the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ifconfig" + name="ifconfig"> command line. The default port is ``<tt/link0/''. To use the AUI port instead of the BNC one, use ``<tt/link2/''. @@ -4200,7 +4251,9 @@ domain foo.bar.edu FreeBSD tries to work around this problem somewhat by providing a utility for <em>branding</em> a known <tt/ELF/ executable with information about the ABI it's compliant with. - See the man page for brandelf(1) for more information.</item> + See the man page for + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?brandelf" + name="brandelf"> for more information.</item> </itemize> <p>FreeBSD comes from the "classic" camp and uses the @@ -4234,14 +4287,19 @@ domain foo.bar.edu <heading>Why doesn't chmod change the permissions on symlinks?</heading> <p> You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with - the ``<tt/-R/'' option to make this work. See the <tt/chmod(1)/ - and <tt/symlink(7)/ man pages for more info. + the ``<tt/-R/'' option to make this work. See the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod" + name="chmod"> and + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?symlink" + name="symlink"> man pages for more info. <bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/ <tt/chmod/. Be careful about specifying directories or symlinks to directories to <tt/chmod/. If you want to change the permissions of a directory referenced by a symlink, use - <tt/chmod(1)/ without any options and follow the symlink with a + + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod" + name="chmod"> without any options and follow the symlink with a trailing slash (``<tt>/</tt>''). For example, if ``<tt/foo/'' is a symlink to directory ``<tt/bar/'', and you want to change the permissions of ``<tt/foo/'' (actually ``<tt/bar/''), you would do diff --git a/en/tutorials/ddwg/ddwg.sgml b/en/tutorials/ddwg/ddwg.sgml index 41cbbafa64..9cb25739aa 100644 --- a/en/tutorials/ddwg/ddwg.sgml +++ b/en/tutorials/ddwg/ddwg.sgml @@ -6,7 +6,7 @@ ++ ++ Copyright Eric L. Hernes - Wednesday, August 2, 1995 ++ - ++ $Id: ddwg.sgml,v 1.3 1996-12-28 23:36:51 mpp Exp $ + ++ $Id: ddwg.sgml,v 1.4 1997-10-03 20:53:38 wosch Exp $ ++ ++ Sgml doc for something --> @@ -58,7 +58,8 @@ device opened. These are available through the macros <tt/major()/ and <tt/minor()/ <p> -The <tt/flag/ and <tt/mode/ arguments are as described in the open(2) +The <tt/flag/ and <tt/mode/ arguments are as described in the +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?open(2)" name="open(2)"> manual page. It is recommended that you check these for access modes in <sys/fcntl.h> and do what is required. For example if <tt/flag/ is (O_NONBLOCK | O_EXLOCK) the open should fail if either it would @@ -106,8 +107,10 @@ int d_write(dev_t dev, struct uio *uio, int flat) </code> -The d_read() and d_write() entry points are called when read(2) and -write(2) are called on your device from user-space. The transfer +The d_read() and d_write() entry points are called when +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?read(2)" name="read(2)"> and +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?write(2)" name="write(2)"> +are called on your device from user-space. The transfer of data can be handled through the kernel support routine uiomove(). <sect3> d_ioctl() @@ -120,7 +123,9 @@ d_ioctl(dev_t dev, int cmd, caddr_t arg, int flag, struct proc *p) d_ioctl() is a catch-all for operations which don't make sense in a read/write paradigm. Probably the most famous of all ioctl's is on -tty devices, through stty(1). The ioctl entry point is called from +tty devices, through +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?stty(1)" name="stty(1)">. +The ioctl entry point is called from ioctl() in sys/kern/sys_generic.c<p> There are four different types of ioctl's which can be implemented. @@ -228,7 +233,8 @@ scatter-gather io via the readv() and writev() system calls. <sect3> <tt/struct isa_device/ Structure <p> -This structure is required, but generally it is created by config(8) +This structure is required, but generally it is created by +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> from the kernel configuration file. It is required on a per-device basis, meaning that if you have a driver which controls two serial boards, you will have two isa_device structures. If you build a @@ -281,7 +287,8 @@ initialize your device. The <tt/probe/ member is a pointer to your device probe function; the <tt/attach/ member is a pointer to your attach function. The <tt/name/ member is a character pointer to the two or three letter name for your driver. This is the name reported -during the probe/attach process (and probably also in lsdev(8)). The +during the probe/attach process (and probably also in +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?lsdev(8)" name="lsdev(8)">). The <tt/sensitive_hw/ member is a flag which helps the probe code determine probing order. @@ -422,7 +429,8 @@ public device register declarations, macros, and other driver specific declarations. Some drivers call this devvar.h instead. Some drivers, such as the dgb (for the Digiboard PC/Xe), require microcode to be loaded onto the board. For the dgb driver -the microcode is compiled and dumped into a header file ala file2c(1). +the microcode is compiled and dumped into a header file ala +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?file2c(1)" name="file2c(1)">. <p> If the driver has data structures and ioctl's which are specific to @@ -455,7 +463,8 @@ The steps required to add your driver to the standard FreeBSD kernel are <item> Add to the driver list <item> Add an entry to the [bc]devsw <item> Add the driver entry to the kernel config file -<item> config(8), compile, and install the kernel +<item> <htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)">, +compile, and install the kernel <item> make required nodes. <item> reboot. </itemize> @@ -476,7 +485,9 @@ The first field is the pathname of the driver module relative to /usr/src/sys. For the case of a binary driver the path would be something like ``i386/OBJ/joy.o''. -The second field tells config(8) that this is an optional driver. Some +The second field tells +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> +that this is an optional driver. Some devices are required for the kernel to even be built. The third field is the name of the device. @@ -512,7 +523,8 @@ d_ioctl_t joyioctl; This either defines your entry points, or null entry points which will return ENXIO when called (the #else clause). -The include file ``joy.h'' is automatically generated by config(8) when +The include file ``joy.h'' is automatically generated by +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> when the kernel build tree is created. This usually has only one line like: <code> #define NJOY 1 @@ -569,7 +581,8 @@ the network class. It uses interrupt 10. It uses 32k of shared memory at physical address 0xd0000. It also defines it's interrupt handler to be ``ixintr()'' -<sect2>config(8) the kernel. +<sect2><htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> +the kernel. <p> Now with our config file in hand, we can create a kernel compile directory. This is done by simply typing: @@ -632,7 +645,8 @@ Lines 17 - 26 -- This includes the file ``pca.h'' and conditionally compiles the rest of the LKM on whether or not we have a pcaudio device defined. This -mimics the behavior of config. In a standard device driver, config(8) +mimics the behavior of config. In a standard device driver, +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> generates the pca.h file from the number pca devices in the config file. <code> 17 /* diff --git a/en_US.ISO_8859-1/tutorials/ddwg/ddwg.sgml b/en_US.ISO_8859-1/tutorials/ddwg/ddwg.sgml index 41cbbafa64..9cb25739aa 100644 --- a/en_US.ISO_8859-1/tutorials/ddwg/ddwg.sgml +++ b/en_US.ISO_8859-1/tutorials/ddwg/ddwg.sgml @@ -6,7 +6,7 @@ ++ ++ Copyright Eric L. Hernes - Wednesday, August 2, 1995 ++ - ++ $Id: ddwg.sgml,v 1.3 1996-12-28 23:36:51 mpp Exp $ + ++ $Id: ddwg.sgml,v 1.4 1997-10-03 20:53:38 wosch Exp $ ++ ++ Sgml doc for something --> @@ -58,7 +58,8 @@ device opened. These are available through the macros <tt/major()/ and <tt/minor()/ <p> -The <tt/flag/ and <tt/mode/ arguments are as described in the open(2) +The <tt/flag/ and <tt/mode/ arguments are as described in the +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?open(2)" name="open(2)"> manual page. It is recommended that you check these for access modes in <sys/fcntl.h> and do what is required. For example if <tt/flag/ is (O_NONBLOCK | O_EXLOCK) the open should fail if either it would @@ -106,8 +107,10 @@ int d_write(dev_t dev, struct uio *uio, int flat) </code> -The d_read() and d_write() entry points are called when read(2) and -write(2) are called on your device from user-space. The transfer +The d_read() and d_write() entry points are called when +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?read(2)" name="read(2)"> and +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?write(2)" name="write(2)"> +are called on your device from user-space. The transfer of data can be handled through the kernel support routine uiomove(). <sect3> d_ioctl() @@ -120,7 +123,9 @@ d_ioctl(dev_t dev, int cmd, caddr_t arg, int flag, struct proc *p) d_ioctl() is a catch-all for operations which don't make sense in a read/write paradigm. Probably the most famous of all ioctl's is on -tty devices, through stty(1). The ioctl entry point is called from +tty devices, through +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?stty(1)" name="stty(1)">. +The ioctl entry point is called from ioctl() in sys/kern/sys_generic.c<p> There are four different types of ioctl's which can be implemented. @@ -228,7 +233,8 @@ scatter-gather io via the readv() and writev() system calls. <sect3> <tt/struct isa_device/ Structure <p> -This structure is required, but generally it is created by config(8) +This structure is required, but generally it is created by +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> from the kernel configuration file. It is required on a per-device basis, meaning that if you have a driver which controls two serial boards, you will have two isa_device structures. If you build a @@ -281,7 +287,8 @@ initialize your device. The <tt/probe/ member is a pointer to your device probe function; the <tt/attach/ member is a pointer to your attach function. The <tt/name/ member is a character pointer to the two or three letter name for your driver. This is the name reported -during the probe/attach process (and probably also in lsdev(8)). The +during the probe/attach process (and probably also in +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?lsdev(8)" name="lsdev(8)">). The <tt/sensitive_hw/ member is a flag which helps the probe code determine probing order. @@ -422,7 +429,8 @@ public device register declarations, macros, and other driver specific declarations. Some drivers call this devvar.h instead. Some drivers, such as the dgb (for the Digiboard PC/Xe), require microcode to be loaded onto the board. For the dgb driver -the microcode is compiled and dumped into a header file ala file2c(1). +the microcode is compiled and dumped into a header file ala +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?file2c(1)" name="file2c(1)">. <p> If the driver has data structures and ioctl's which are specific to @@ -455,7 +463,8 @@ The steps required to add your driver to the standard FreeBSD kernel are <item> Add to the driver list <item> Add an entry to the [bc]devsw <item> Add the driver entry to the kernel config file -<item> config(8), compile, and install the kernel +<item> <htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)">, +compile, and install the kernel <item> make required nodes. <item> reboot. </itemize> @@ -476,7 +485,9 @@ The first field is the pathname of the driver module relative to /usr/src/sys. For the case of a binary driver the path would be something like ``i386/OBJ/joy.o''. -The second field tells config(8) that this is an optional driver. Some +The second field tells +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> +that this is an optional driver. Some devices are required for the kernel to even be built. The third field is the name of the device. @@ -512,7 +523,8 @@ d_ioctl_t joyioctl; This either defines your entry points, or null entry points which will return ENXIO when called (the #else clause). -The include file ``joy.h'' is automatically generated by config(8) when +The include file ``joy.h'' is automatically generated by +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> when the kernel build tree is created. This usually has only one line like: <code> #define NJOY 1 @@ -569,7 +581,8 @@ the network class. It uses interrupt 10. It uses 32k of shared memory at physical address 0xd0000. It also defines it's interrupt handler to be ``ixintr()'' -<sect2>config(8) the kernel. +<sect2><htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> +the kernel. <p> Now with our config file in hand, we can create a kernel compile directory. This is done by simply typing: @@ -632,7 +645,8 @@ Lines 17 - 26 -- This includes the file ``pca.h'' and conditionally compiles the rest of the LKM on whether or not we have a pcaudio device defined. This -mimics the behavior of config. In a standard device driver, config(8) +mimics the behavior of config. In a standard device driver, +<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config(8)" name="config(8)"> generates the pca.h file from the number pca devices in the config file. <code> 17 /*