diff --git a/en_US.ISO8859-1/articles/contributing/article.sgml b/en_US.ISO8859-1/articles/contributing/article.sgml
index 3b542e164d..c246b96038 100644
--- a/en_US.ISO8859-1/articles/contributing/article.sgml
+++ b/en_US.ISO8859-1/articles/contributing/article.sgml
@@ -1,7 +1,7 @@
@@ -592,8 +592,7 @@
wish to protect, replacing the text between the %%
with the appropriate information.
-
-Copyright (c) %%proper_years_here%%
+ Copyright (c) %%proper_years_here%%
%%your_name_here%%, %%your_state%% %%your_zip%%.
All rights reserved.
diff --git a/en_US.ISO8859-1/articles/fonts/article.sgml b/en_US.ISO8859-1/articles/fonts/article.sgml
index d5cbc64032..54d29ba0d9 100644
--- a/en_US.ISO8859-1/articles/fonts/article.sgml
+++ b/en_US.ISO8859-1/articles/fonts/article.sgml
@@ -1,4 +1,4 @@
-
+
@@ -230,8 +230,7 @@
your locale):
- font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO).
-
+ font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO).The command to actually switch the mode is
diff --git a/en_US.ISO8859-1/articles/new-users/article.sgml b/en_US.ISO8859-1/articles/new-users/article.sgml
index d1fa08de4d..78b47e6677 100644
--- a/en_US.ISO8859-1/articles/new-users/article.sgml
+++ b/en_US.ISO8859-1/articles/new-users/article.sgml
@@ -1,4 +1,4 @@
-
+
@@ -899,8 +899,7 @@
setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
-setenv XNLSPATH /usr/X11R6/lib/X11/nls
-
+setenv XNLSPATH /usr/X11R6/lib/X11/nlsThis assumes that the file XKeysymDB and the
diff --git a/en_US.ISO8859-1/articles/programming-tools/article.sgml b/en_US.ISO8859-1/articles/programming-tools/article.sgml
index 90587c0080..e0c0a9c99d 100644
--- a/en_US.ISO8859-1/articles/programming-tools/article.sgml
+++ b/en_US.ISO8859-1/articles/programming-tools/article.sgml
@@ -1,4 +1,4 @@
-
+
@@ -1069,8 +1069,7 @@ free(foo);
Here's a very simple make file:foo: foo.c
- cc -o foo foo.c
-
+ cc -o foo foo.cIt consists of two lines, a dependency line and a creation
line.
@@ -1114,8 +1113,7 @@ free(foo);
cc -o foo foo.c
install:
- cp foo /home/me
-
+ cp foo /home/me
We can tell make which target we want to make by
typing:
@@ -1168,8 +1166,7 @@ install:
MASTER_SITES= ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/
DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
-.include <bsd.port.mk>
-
+.include <bsd.port.mk>
Now, if we go to the directory for this port and type
make, the following happens:
@@ -1283,8 +1280,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
/usr/local/info directory to add an entry
for it. This involves adding a line like
- * Make: (make). The GNU Make utility.
-
+ * Make: (make). The GNU Make utility.to the file. Once you have done this, you can type
info and then select
@@ -1390,8 +1386,7 @@ main() {
int bazz(int anint) {
printf("You gave me %d\n", anint);
return anint;
-}
-
+}
This program sets i to be
5 and passes it to a function
@@ -1447,8 +1442,7 @@ main() {
i = 5;
printf("This is my program\n");
-&hellip>
-
+&hellip>
but we left the i=5; line out. As we
didn't initialise i, it had whatever number
@@ -2170,8 +2164,7 @@ in font-lock-auto-mode-list"
("\\.lsp$" . lisp-mode)
("\\.wiz$" . whizbang-mode)
("\\.scm$" . scheme-mode)
-…>
-
+…>
This means that Emacs will automatically go into
whizbang-mode when you edit a file ending
@@ -2184,8 +2177,7 @@ in font-lock-auto-mode-list"
;; Auto font lock mode
(defvar font-lock-auto-mode-list
(list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode)
- "List of modes to always start in font-lock-mode")
-
+ "List of modes to always start in font-lock-mode")
This means that Emacs will always enable
font-lock-mode (ie syntax highlighting)
diff --git a/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml b/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml
index 7efa1ce975..29cf0a05cb 100644
--- a/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml
+++ b/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml
@@ -1,7 +1,7 @@
@@ -60,8 +60,7 @@
Skeleton Layout of a kernel module
-
-/*
+/*
* KLD Skeleton
* Inspired by Andrew Reiter's Daemonnews article
*/
@@ -98,20 +97,17 @@ skel_loader(struct module *m, int what, void *arg)
/* Declare this module to the rest of the kernel */
-DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);
-
+DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);MakefileFreeBSD provides a makefile include that you can use
to quickly compile your kernel addition.
-
-SRCS=skeleton.c
+ SRCS=skeleton.c
KMOD=skeleton
-.include <bsd.kmod.mk>
-
+.include <bsd.kmod.mk>Simply running make with
@@ -165,8 +161,7 @@ KMOD=skeleton
This simple example pseudo-device remembers whatever values you write
to it and can then supply them back to you when you read from
it.
-
-/*
+/*
* Simple `echo' pseudo-device KLD
*
* Murray Stokely
@@ -323,8 +318,7 @@ echo_write(dev_t dev, struct uio *uio, int ioflag)
return(err);
}
-DEV_MODULE(echo,echo_loader,NULL);
-
+DEV_MODULE(echo,echo_loader,NULL);To install this driver you will first need to make a node on
your filesystem with a command such as :
diff --git a/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml b/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml
index 50c2cc81ca..078aea0740 100644
--- a/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml
+++ b/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml
@@ -1,7 +1,7 @@
@@ -15,8 +15,7 @@
Information here about how the PCI bus code iterates
through the unattached devices and see if a newly loaded kld
will attach to any of them.
-
-/*
+/*
* Simple KLD to play with the PCI functions.
*
* Murray Stokely
@@ -200,8 +199,7 @@ static driver_t mypci_driver = {
static devclass_t mypci_devclass;
-DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);
-
+DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);Additional Resources
diff --git a/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.sgml b/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.sgml
index 837a8fd60d..81a799ae0e 100644
--- a/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.sgml
+++ b/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.sgml
@@ -1,7 +1,7 @@
@@ -89,14 +89,12 @@
A typical SIM driver needs to include the following
CAM-related header files:
-
-#include <cam/cam.h>
+#include <cam/cam.h>
#include <cam/cam_ccb.h>
#include <cam/cam_sim.h>
#include <cam/cam_xpt_sim.h>
#include <cam/cam_debug.h>
-#include <cam/scsi/scsi_all.h>
-
+#include <cam/scsi/scsi_all.h>The first thing each SIM driver must do is register itself
with the CAM subsystem. This is done during the driver's
@@ -109,35 +107,29 @@
This is achieved in multiple steps: first it's necessary to
allocate the queue of requests associated with this SIM:
-
- struct cam_devq *devq;
+ struct cam_devq *devq;
if(( devq = cam_simq_alloc(SIZE) )==NULL) {
error; /* some code to handle the error */
- }
-
+ }Here SIZE is the size of the queue to be allocated, maximal
number of requests it could contain. It's the number of requests
that the SIM driver can handle in parallel on one SCSI
card. Commonly it can be calculated as:
-
-SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
-
+SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGETNext we create a descriptor of our SIM:
-
- struct cam_sim *sim;
+ struct cam_sim *sim;
if(( sim = cam_sim_alloc(action_func, poll_func, driver_name,
softc, unit, max_dev_transactions,
max_tagged_dev_transactions, devq) )==NULL) {
cam_simq_free(devq);
error; /* some code to handle the error */
- }
-
+ }Note that if we are not able to create a SIM descriptor we
free the devq also because we can do
@@ -218,12 +210,10 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
Finally we register the SCSI buses associated with our SCSI
adapter:
-
- if(xpt_bus_register(sim, bus_number) != CAM_SUCCESS) {
+ if(xpt_bus_register(sim, bus_number) != CAM_SUCCESS) {
cam_sim_free(sim, /*free_devq*/ TRUE);
error; /* some code to handle the error */
- }
-
+ }If there is one devq structure per
SCSI bus (i.e. we consider a card with multiple buses as
@@ -260,8 +250,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
can create the path for the future bus reset events in advance
and avoid problems with the future memory shortage:
-
- struct cam_path *path;
+ struct cam_path *path;
if(xpt_create_path(&path, /*periph*/NULL,
cam_sim_path(sim), CAM_TARGET_WILDCARD,
@@ -272,8 +261,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
softc->wpath = path;
- softc->sim = sim;
-
+ softc->sim = sim;As you can see the path includes:
@@ -310,16 +298,14 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
request is passed to CAM by requesting CAM action on a CAM
control block for this type of request:
-
- struct ccb_setasync csa;
+ struct ccb_setasync csa;
xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5);
csa.ccb_h.func_code = XPT_SASYNC_CB;
csa.event_enable = AC_LOST_DEVICE;
csa.callback = xxx_async;
csa.callback_arg = sim;
- xpt_action((union ccb *)&csa);
-
+ xpt_action((union ccb *)&csa);Now we take a look at the xxx_action()
and xxx_poll() driver entry points.
@@ -377,8 +363,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
xxx_action() consists of a big
switch:
-
- struct xxx_softc *softc = (struct xxx_softc *) cam_sim_softc(sim);
+ struct xxx_softc *softc = (struct xxx_softc *) cam_sim_softc(sim);
struct ccb_hdr *ccb_h = &ccb->ccb_h;
int unit = cam_sim_unit(sim);
int bus = cam_sim_bus(sim);
@@ -390,8 +375,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb_h->status = CAM_REQ_INVALID;
xpt_done(ccb);
break;
- }
-
+ }As can be seen from the default case (if an unknown command
was received) the return code of the command is set into
@@ -505,10 +489,8 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
is to define some meaningful names for them and use these
meaningful names in the driver, like:
-
-#define ccb_some_meaningful_name sim_priv.entries[0].bytes
-#define ccb_hcb spriv_ptr1 /* for hardware control block */
-
+#define ccb_some_meaningful_name sim_priv.entries[0].bytes
+#define ccb_hcb spriv_ptr1 /* for hardware control block */The most common initiator mode requests are:
@@ -581,20 +563,17 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
make sure that the command did not get aborted when it was
sitting in the queue:
-
- struct ccb_scsiio *csio = &ccb->csio;
+ struct ccb_scsiio *csio = &ccb->csio;
if ((ccb_h->status & CAM_STATUS_MASK) != CAM_REQ_INPROG) {
xpt_done(ccb);
return;
- }
-
+ }Also we check that the device is supported at all by our
controller:
-
- if(ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID
+ if(ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID
|| cch_h->target_id == OUR_SCSI_CONTROLLERS_OWN_ID) {
ccb_h->status = CAM_TID_INVALID;
xpt_done(ccb);
@@ -604,8 +583,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb_h->status = CAM_LUN_INVALID;
xpt_done(ccb);
return;
- }
-
+ }Then allocate whatever data structures (such as
card-dependent hardware control block) we need to process this
@@ -617,8 +595,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
well, link the CCB with the hardware control block (HCB) and
mark it as queued.
-
- struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);
+ struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);
if(hcb == NULL) {
softc->flags |= RESOURCE_SHORTAGE;
@@ -629,8 +606,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
hcb->ccb = ccb; ccb_h->ccb_hcb = (void *)hcb;
- ccb_h->status |= CAM_SIM_QUEUED;
-
+ ccb_h->status |= CAM_SIM_QUEUED;Extract the target data from CCB into the hardware control
block. Check if we are asked to assign a tag and if yes then
@@ -639,14 +615,12 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
devices to set the maximal mutually supported bus width,
synchronous rate and offset.
-
- hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;
+ hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;
generate_identify_message(hcb);
if( ccb_h->tag_action != CAM_TAG_ACTION_NONE )
generate_unique_tag_message(hcb, ccb_h->tag_action);
if( !target_negotiated(hcb) )
- generate_negotiation_messages(hcb);
-
+ generate_negotiation_messages(hcb);Then set up the SCSI command. The command storage may be
specified in the CCB in many interesting ways, specified by
@@ -671,8 +645,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
back to a virtual address but with big pain, so we don't do
that.
-
- if(ccb_h->flags & CAM_CDB_POINTER) {
+ if(ccb_h->flags & CAM_CDB_POINTER) {
/* CDB is a pointer */
if(!(ccb_h->flags & CAM_CDB_PHYS)) {
/* CDB pointer is virtual */
@@ -689,8 +662,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
/* CDB is in the ccb (buffer) */
hcb->cmd = vtobus(csio->cdb_io.cdb_bytes);
}
- hcb->cmdlen = csio->cdb_len;
-
+ hcb->cmdlen = csio->cdb_len;Now it's time to set up the data. Again, the data storage
may be specified in the CCB in many interesting ways,
@@ -698,12 +670,10 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
data transfer. The simplest case is if there is no data to
transfer:
-
- int dir = (ccb_h->flags & CAM_DIR_MASK);
+ int dir = (ccb_h->flags & CAM_DIR_MASK);
if (dir == CAM_DIR_NONE)
- goto end_data;
-
+ goto end_data;Then we check if the data is in one chunk or in a
scatter-gather list, and the addresses are physical or
@@ -722,8 +692,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
the case for a single non-scattered virtual buffer must be
implemented, it's actively used by CAM.
-
- int rv;
+ int rv;
initialize_hcb_for_data(hcb);
@@ -770,16 +739,13 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
free_hcb_and_ccb_done(hcb, ccb, rv);
return;
}
- end_data:
-
+ end_data:If disconnection is disabled for this CCB we pass this
information to the hcb:
-
- if(ccb_h->flags & CAM_DIS_DISCONNECT)
- hcb_disable_disconnect(hcb);
-
+ if(ccb_h->flags & CAM_DIS_DISCONNECT)
+ hcb_disable_disconnect(hcb);If the controller is able to run REQUEST SENSE command all
by itself then the value of the flag CAM_DIS_AUTOSENSE should
@@ -790,18 +756,15 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
to the hardware and return, the rest will be done by the
interrupt handler (or timeout handler).
-
- ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,
+ ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,
(ccb_h->timeout * hz) / 1000); /* convert milliseconds to ticks */
put_hcb_into_hardware_queue(hcb);
- return;
-
+ return;And here is a possible implementation of the function
returning CCB:
-
- static void
+ static void
free_hcb_and_ccb_done(struct xxx_hcb *hcb, union ccb *ccb, u_int32_t status)
{
struct xxx_softc *softc = hcb->softc;
@@ -819,8 +782,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb->ccb_h.status = status |
(ccb->ccb_h.status & ~(CAM_STATUS_MASK|CAM_SIM_QUEUED));
xpt_done(ccb);
- }
-
+ }XPT_RESET_DEV - send the SCSI "BUS
@@ -859,8 +821,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
and those being disconnected, as done with the status
CAM_SCSI_BUS_RESET. Like:
-
- int targ, lun;
+ int targ, lun;
struct xxx_hcb *h, *hh;
struct ccb_trans_settings neg;
struct cam_path *path;
@@ -907,8 +868,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
/* report the event */
xpt_async(AC_BUS_RESET, softc->wpath, NULL);
- return;
-
+ return;Implementing the SCSI bus reset as a function may be a good
idea because it would be re-used by the timeout function as a
@@ -931,23 +891,20 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
The hard way is to implement this request honestly. First
check that abort applies to a SCSI transaction:
-
- struct ccb *abort_ccb;
+ struct ccb *abort_ccb;
abort_ccb = ccb->cab.abort_ccb;
if(abort_ccb->ccb_h.func_code != XPT_SCSI_IO) {
ccb->ccb_h.status = CAM_UA_ABORT;
xpt_done(ccb);
return;
- }
-
+ }Then it's necessary to find this CCB in our queue. This can
be done by walking the list of all our hardware control blocks
in search for one associated with this CCB:
-
- struct xxx_hcb *hcb, *h;
+ struct xxx_hcb *hcb, *h;
hcb = NULL;
@@ -969,8 +926,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
return;
}
- hcb=found_hcb;
-
+ hcb=found_hcb;Now we look at the current processing status of the HCB. It
may be either sitting in the queue waiting to be sent to the
@@ -982,8 +938,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
SCSI bus the SCSI controller will see this flag and skip
it.
-
- int hstatus;
+ int hstatus;
/* shown as a function, in case special action is needed to make
* this flag visible to hardware
@@ -1000,8 +955,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
case HCB_COMPLETED:
/* this is an easy case */
free_hcb_and_ccb_done(hcb, abort_ccb, CAM_REQ_ABORTED);
- break;
-
+ break;If the CCB is being transferred right now we would like to
signal to the SCSI controller in some hardware-dependent way
@@ -1016,8 +970,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
and mark the aborted CCB as aborted (but not mark it as done
yet).
-
- case HCB_BEING_TRANSFERRED:
+ case HCB_BEING_TRANSFERRED:
untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);
abort_ccb->ccb_h.timeout_ch =
timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);
@@ -1031,16 +984,14 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
goto abort_again;
}
- break;
-
+ break;If the CCB is in the list of disconnected then set it up as
an abort request and re-queue it at the front of hardware
queue. Reset the timeout and report the abort request to be
completed.
-
- case HCB_DISCONNECTED:
+ case HCB_DISCONNECTED:
untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);
abort_ccb->ccb_h.timeout_ch =
timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);
@@ -1050,8 +1001,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;That's all for the ABORT request, although there is one more
issue. Because the ABORT message cleans all the ongoing
@@ -1066,8 +1016,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
request. Then the case XPT_ABORT would be small, like
that:
-
- case XPT_ABORT:
+ case XPT_ABORT:
struct ccb *abort_ccb;
abort_ccb = ccb->cab.abort_ccb;
@@ -1082,8 +1031,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
else
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;XPT_SET_TRAN_SETTINGS - explicitly
@@ -1178,8 +1126,7 @@ of the union ccb:The code looks like:
-
- struct ccb_trans_settings *cts;
+ struct ccb_trans_settings *cts;
int targ, lun;
int flags;
@@ -1225,16 +1172,14 @@ of the union ccb:
}
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;
Then when the next I/O request will be processed it will
check if it has to re-negotiate, for example by calling the
function target_negotiated(hcb). It can be implemented like
this:
-
- int
+ int
target_negotiated(struct xxx_hcb *hcb)
{
struct softc *softc = hcb->softc;
@@ -1246,8 +1191,7 @@ of the union ccb:
return 0; /* FALSE */
else
return 1; /* TRUE */
- }
-
+ }
After the values are re-negotiated the resulting values must
be assigned to both current and goal parameters, so for future
@@ -1300,8 +1244,7 @@ of the union ccb:
typical calculation example taken from the aic7xxx driver
is:
-
- struct ccb_calc_geometry *ccg;
+ struct ccb_calc_geometry *ccg;
u_int32_t size_mb;
u_int32_t secs_per_cylinder;
int extended;
@@ -1322,8 +1265,7 @@ of the union ccb:
ccg->cylinders = ccg->volume_size / secs_per_cylinder;
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;
This gives the general idea, the exact calculation depends
on the quirks of the particular BIOS. If BIOS provides no way
@@ -1331,10 +1273,8 @@ of the union ccb:
normally be assumed equal to 1. Other popular geometries
are:
-
- 128 heads, 63 sectors - Symbios controllers
- 16 heads, 63 sectors - old controllers
-
+ 128 heads, 63 sectors - Symbios controllers
+ 16 heads, 63 sectors - old controllersSome system BIOSes and SCSI BIOSes fight with each other
with variable success, for example a combination of Symbios
@@ -1447,9 +1387,7 @@ ccb_pathinq cpi" of the union ccb:The recommended way of setting the string fields is using
strncpy, like:
-
- strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
-
+ strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);After setting the values set the status to CAM_REQ_CMP and mark the
CCB as done.
@@ -1486,23 +1424,19 @@ CCB as done.
gets just the the device unit number. So the poll routine would
normally look as:
-
-static void
+static void
xxx_poll(struct cam_sim *sim)
{
xxx_intr((struct xxx_softc *)cam_sim_softc(sim)); /* for PCI device */
-}
-
+}or
-
-static void
+static void
xxx_poll(struct cam_sim *sim)
{
xxx_intr(cam_sim_unit(sim)); /* for ISA device */
-}
-
+}
@@ -1512,10 +1446,8 @@ xxx_poll(struct cam_sim *sim)
If an asynchronous event callback has been set up then the
callback function should be defined.
-
-static void
-ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
-
+static void
+ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)callback_arg - the value supplied when registering the
@@ -1532,8 +1464,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
Implementation for a single type of event, AC_LOST_DEVICE,
looks like:
-
- struct xxx_softc *softc;
+ struct xxx_softc *softc;
struct cam_sim *sim;
int targ;
struct ccb_trans_settings neg;
@@ -1555,8 +1486,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
break;
default:
break;
- }
-
+ }
@@ -1580,8 +1510,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
section. To make sure that the interrupt level will be always
restored a wrapper function can be defined, like:
-
- static void
+ static void
xxx_action(struct cam_sim *sim, union ccb *ccb)
{
int s;
@@ -1594,8 +1523,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
xxx_action1(struct cam_sim *sim, union ccb *ccb)
{
... process the request ...
- }
-
+ }This approach is simple and robust but the problem with it
is that interrupts may get blocked for a relatively long time
@@ -1619,8 +1547,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
probably need also sending RESET signal to the SCSI bus to reset
the status of the connections with the SCSI devices.
-
- int fatal=0;
+ int fatal=0;
struct ccb_trans_settings neg;
struct cam_path *path;
@@ -1678,8 +1605,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
schedule_next_hcb(softc);
return;
- }
-
+ }If interrupt is not caused by a controller-wide condition
then probably something has happened to the current hardware
@@ -1687,8 +1613,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
non-HCB-related events, we just do not consider them here. Then
we analyze what happened to this HCB:
-
- struct xxx_hcb *hcb, *h, *hh;
+ struct xxx_hcb *hcb, *h, *hh;
int hcb_status, scsi_status;
int ccb_status;
int targ;
@@ -1704,22 +1629,18 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
targ = hcb->target;
- hcb_status = get_status_of_current_hcb(softc);
-
+ hcb_status = get_status_of_current_hcb(softc);First we check if the HCB has completed and if so we check
the returned SCSI status.
-
- if(hcb_status == COMPLETED) {
- scsi_status = get_completion_status(hcb);
-
+ if(hcb_status == COMPLETED) {
+ scsi_status = get_completion_status(hcb);Then look if this status is related to the REQUEST SENSE
command and if so handle it in a simple way.
-
- if(hcb->flags & DOING_AUTOSENSE) {
+ if(hcb->flags & DOING_AUTOSENSE) {
if(scsi_status == GOOD) { /* autosense was successful */
hcb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);
@@ -1729,16 +1650,14 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
schedule_next_hcb(softc);
return;
- }
-
+ }Else the command itself has completed, pay more attention to
details. If auto-sense is not disabled for this CCB and the
command has failed with sense data then run REQUEST SENSE
command to receive that data.
-
- hcb->ccb->csio.scsi_status = scsi_status;
+ hcb->ccb->csio.scsi_status = scsi_status;
calculate_residue(hcb);
if( (hcb->ccb->ccb_h.flags & CAM_DIS_AUTOSENSE)==0
@@ -1756,8 +1675,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);
schedule_next_hcb(softc);
return;
- }
-
+ }One typical thing would be negotiation events: negotiation
messages received from a SCSI target (in answer to our
@@ -1765,8 +1683,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
unable to negotiate (rejects our negotiation messages or does
not answer them).
-
- switch(hcb_status) {
+ switch(hcb_status) {
case TARGET_REJECTED_WIDE_NEG:
/* revert to 8-bit bus */
softc->current_bus_width[targ] = softc->goal_bus_width[targ] = 8;
@@ -1816,26 +1733,22 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
continue_current_hcb(softc);
return;
- }
-
+ }Then we handle any errors that could have happened during
auto-sense in the same simple-minded way as before. Otherwise we
look closer at the details again.
-
- if(hcb->flags & DOING_AUTOSENSE)
+ if(hcb->flags & DOING_AUTOSENSE)
goto autosense_failed;
- switch(hcb_status) {
-
+ switch(hcb_status) {The next event we consider is unexpected disconnect. Which
is considered normal after an ABORT or BUS DEVICE RESET message
and abnormal in other cases.
-
- case UNEXPECTED_DISCONNECT:
+ case UNEXPECTED_DISCONNECT:
if(requested_abort(hcb)) {
/* abort affects all commands on that target+LUN, so
* mark all disconnected HCBs on that target+LUN as aborted too
@@ -1872,14 +1785,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = hcb->lun;
}
- break;
-
+ break;If the target refuses to accept tags we notify CAM about
that and return back all commands for this LUN:
-
- case TAGS_REJECTED:
+ case TAGS_REJECTED:
/* report the event */
neg.flags = 0 & ~CCB_TRANS_TAG_ENB;
neg.valid = CCB_TRANS_TQ_VALID;
@@ -1889,14 +1800,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
/* request the further code to freeze the queue */
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = hcb->lun;
- break;
-
+ break;Then we check a number of other conditions, with processing
basically limited to setting the CCB status:
-
- case SELECTION_TIMEOUT:
+ case SELECTION_TIMEOUT:
ccb_status = CAM_SEL_TIMEOUT;
/* request the further code to freeze the queue */
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
@@ -1916,14 +1825,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = CAM_LUN_WILDCARD;
break;
- }
-
+ }Then we check if the error was serious enough to freeze the
input queue until it gets proceeded and do so if it is:
-
- if(hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {
+ if(hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {
/* freeze the queue */
xpt_freeze_devq(ccb->ccb_h.path, /*count*/1);
@@ -1939,8 +1846,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
free_hcb_and_ccb_done(hcb, hcb->ccb, ccb_status);
schedule_next_hcb(softc);
- return;
-
+ return;This concludes the generic interrupt handling although
specific controllers may require some additions.
@@ -2046,8 +1952,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
device reset request got stuck. So after all the timeout
function would look like:
-
-static void
+static void
xxx_timeout(void *arg)
{
struct xxx_hcb *hcb = (struct xxx_hcb *)arg;
@@ -2063,8 +1968,7 @@ xxx_timeout(void *arg)
} else {
xxx_abort_ccb(hcb->ccb, CAM_CMD_TIMEOUT);
}
-}
-
+}When we abort a request all the other disconnected requests
to the same target/LUN get aborted too. So there appears a
diff --git a/en_US.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml
index 7efa1ce975..29cf0a05cb 100644
--- a/en_US.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml
@@ -1,7 +1,7 @@
@@ -60,8 +60,7 @@
Skeleton Layout of a kernel module
-
-/*
+/*
* KLD Skeleton
* Inspired by Andrew Reiter's Daemonnews article
*/
@@ -98,20 +97,17 @@ skel_loader(struct module *m, int what, void *arg)
/* Declare this module to the rest of the kernel */
-DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);
-
+DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);MakefileFreeBSD provides a makefile include that you can use
to quickly compile your kernel addition.
-
-SRCS=skeleton.c
+ SRCS=skeleton.c
KMOD=skeleton
-.include <bsd.kmod.mk>
-
+.include <bsd.kmod.mk>Simply running make with
@@ -165,8 +161,7 @@ KMOD=skeleton
This simple example pseudo-device remembers whatever values you write
to it and can then supply them back to you when you read from
it.
-
-/*
+/*
* Simple `echo' pseudo-device KLD
*
* Murray Stokely
@@ -323,8 +318,7 @@ echo_write(dev_t dev, struct uio *uio, int ioflag)
return(err);
}
-DEV_MODULE(echo,echo_loader,NULL);
-
+DEV_MODULE(echo,echo_loader,NULL);To install this driver you will first need to make a node on
your filesystem with a command such as :
diff --git a/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
index 337bc8242e..0fb1167a6b 100644
--- a/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
@@ -1,7 +1,7 @@
@@ -272,8 +272,7 @@
and edit your configuration file. Uncomment (or add, if it does not
exist) the following line
-
-makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbolsRebuild the kernel. Due to the time stamp change on the Makefile,
there will be some other object files rebuild, for example
@@ -312,8 +311,7 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
To configure your kernel to include DDB, add the option line
-
-options DDB
+ options DDB
to your config file, and rebuild. (See Kernel Configuration for details on
diff --git a/en_US.ISO8859-1/books/developers-handbook/pci/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/pci/chapter.sgml
index 50c2cc81ca..078aea0740 100644
--- a/en_US.ISO8859-1/books/developers-handbook/pci/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/pci/chapter.sgml
@@ -1,7 +1,7 @@
@@ -15,8 +15,7 @@
Information here about how the PCI bus code iterates
through the unattached devices and see if a newly loaded kld
will attach to any of them.
-
-/*
+/*
* Simple KLD to play with the PCI functions.
*
* Murray Stokely
@@ -200,8 +199,7 @@ static driver_t mypci_driver = {
static devclass_t mypci_devclass;
-DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);
-
+DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);Additional Resources
diff --git a/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml
index 0b33eff446..4144cf20f2 100644
--- a/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml
@@ -1,7 +1,7 @@
@@ -21,8 +21,7 @@
maintained by a person or group of persons, they can communicate this
fact to the world by adding a
-
-MAINTAINER= email-addresses
+ MAINTAINER= email-addresses
line to the Makefiles covering this portion of the
source tree.
@@ -178,8 +177,7 @@ MAINTAINER= email-addresses
FREEBSD-upgrade ; cvs ci after the initial import. Example
wording from src/contrib/cpio is below:
-
-This directory contains virgin sources of the original distribution files
+ This directory contains virgin sources of the original distribution files
on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
the files in this directory via patches and a cvs commit. New versions or
official-patch versions must be imported. Please remember to import with
diff --git a/en_US.ISO8859-1/books/developers-handbook/scsi/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/scsi/chapter.sgml
index 837a8fd60d..81a799ae0e 100644
--- a/en_US.ISO8859-1/books/developers-handbook/scsi/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/scsi/chapter.sgml
@@ -1,7 +1,7 @@
@@ -89,14 +89,12 @@
A typical SIM driver needs to include the following
CAM-related header files:
-
-#include <cam/cam.h>
+#include <cam/cam.h>
#include <cam/cam_ccb.h>
#include <cam/cam_sim.h>
#include <cam/cam_xpt_sim.h>
#include <cam/cam_debug.h>
-#include <cam/scsi/scsi_all.h>
-
+#include <cam/scsi/scsi_all.h>The first thing each SIM driver must do is register itself
with the CAM subsystem. This is done during the driver's
@@ -109,35 +107,29 @@
This is achieved in multiple steps: first it's necessary to
allocate the queue of requests associated with this SIM:
-
- struct cam_devq *devq;
+ struct cam_devq *devq;
if(( devq = cam_simq_alloc(SIZE) )==NULL) {
error; /* some code to handle the error */
- }
-
+ }Here SIZE is the size of the queue to be allocated, maximal
number of requests it could contain. It's the number of requests
that the SIM driver can handle in parallel on one SCSI
card. Commonly it can be calculated as:
-
-SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
-
+SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGETNext we create a descriptor of our SIM:
-
- struct cam_sim *sim;
+ struct cam_sim *sim;
if(( sim = cam_sim_alloc(action_func, poll_func, driver_name,
softc, unit, max_dev_transactions,
max_tagged_dev_transactions, devq) )==NULL) {
cam_simq_free(devq);
error; /* some code to handle the error */
- }
-
+ }Note that if we are not able to create a SIM descriptor we
free the devq also because we can do
@@ -218,12 +210,10 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
Finally we register the SCSI buses associated with our SCSI
adapter:
-
- if(xpt_bus_register(sim, bus_number) != CAM_SUCCESS) {
+ if(xpt_bus_register(sim, bus_number) != CAM_SUCCESS) {
cam_sim_free(sim, /*free_devq*/ TRUE);
error; /* some code to handle the error */
- }
-
+ }If there is one devq structure per
SCSI bus (i.e. we consider a card with multiple buses as
@@ -260,8 +250,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
can create the path for the future bus reset events in advance
and avoid problems with the future memory shortage:
-
- struct cam_path *path;
+ struct cam_path *path;
if(xpt_create_path(&path, /*periph*/NULL,
cam_sim_path(sim), CAM_TARGET_WILDCARD,
@@ -272,8 +261,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
softc->wpath = path;
- softc->sim = sim;
-
+ softc->sim = sim;As you can see the path includes:
@@ -310,16 +298,14 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
request is passed to CAM by requesting CAM action on a CAM
control block for this type of request:
-
- struct ccb_setasync csa;
+ struct ccb_setasync csa;
xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5);
csa.ccb_h.func_code = XPT_SASYNC_CB;
csa.event_enable = AC_LOST_DEVICE;
csa.callback = xxx_async;
csa.callback_arg = sim;
- xpt_action((union ccb *)&csa);
-
+ xpt_action((union ccb *)&csa);Now we take a look at the xxx_action()
and xxx_poll() driver entry points.
@@ -377,8 +363,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
xxx_action() consists of a big
switch:
-
- struct xxx_softc *softc = (struct xxx_softc *) cam_sim_softc(sim);
+ struct xxx_softc *softc = (struct xxx_softc *) cam_sim_softc(sim);
struct ccb_hdr *ccb_h = &ccb->ccb_h;
int unit = cam_sim_unit(sim);
int bus = cam_sim_bus(sim);
@@ -390,8 +375,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb_h->status = CAM_REQ_INVALID;
xpt_done(ccb);
break;
- }
-
+ }As can be seen from the default case (if an unknown command
was received) the return code of the command is set into
@@ -505,10 +489,8 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
is to define some meaningful names for them and use these
meaningful names in the driver, like:
-
-#define ccb_some_meaningful_name sim_priv.entries[0].bytes
-#define ccb_hcb spriv_ptr1 /* for hardware control block */
-
+#define ccb_some_meaningful_name sim_priv.entries[0].bytes
+#define ccb_hcb spriv_ptr1 /* for hardware control block */The most common initiator mode requests are:
@@ -581,20 +563,17 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
make sure that the command did not get aborted when it was
sitting in the queue:
-
- struct ccb_scsiio *csio = &ccb->csio;
+ struct ccb_scsiio *csio = &ccb->csio;
if ((ccb_h->status & CAM_STATUS_MASK) != CAM_REQ_INPROG) {
xpt_done(ccb);
return;
- }
-
+ }Also we check that the device is supported at all by our
controller:
-
- if(ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID
+ if(ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID
|| cch_h->target_id == OUR_SCSI_CONTROLLERS_OWN_ID) {
ccb_h->status = CAM_TID_INVALID;
xpt_done(ccb);
@@ -604,8 +583,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb_h->status = CAM_LUN_INVALID;
xpt_done(ccb);
return;
- }
-
+ }Then allocate whatever data structures (such as
card-dependent hardware control block) we need to process this
@@ -617,8 +595,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
well, link the CCB with the hardware control block (HCB) and
mark it as queued.
-
- struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);
+ struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);
if(hcb == NULL) {
softc->flags |= RESOURCE_SHORTAGE;
@@ -629,8 +606,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
hcb->ccb = ccb; ccb_h->ccb_hcb = (void *)hcb;
- ccb_h->status |= CAM_SIM_QUEUED;
-
+ ccb_h->status |= CAM_SIM_QUEUED;Extract the target data from CCB into the hardware control
block. Check if we are asked to assign a tag and if yes then
@@ -639,14 +615,12 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
devices to set the maximal mutually supported bus width,
synchronous rate and offset.
-
- hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;
+ hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;
generate_identify_message(hcb);
if( ccb_h->tag_action != CAM_TAG_ACTION_NONE )
generate_unique_tag_message(hcb, ccb_h->tag_action);
if( !target_negotiated(hcb) )
- generate_negotiation_messages(hcb);
-
+ generate_negotiation_messages(hcb);Then set up the SCSI command. The command storage may be
specified in the CCB in many interesting ways, specified by
@@ -671,8 +645,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
back to a virtual address but with big pain, so we don't do
that.
-
- if(ccb_h->flags & CAM_CDB_POINTER) {
+ if(ccb_h->flags & CAM_CDB_POINTER) {
/* CDB is a pointer */
if(!(ccb_h->flags & CAM_CDB_PHYS)) {
/* CDB pointer is virtual */
@@ -689,8 +662,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
/* CDB is in the ccb (buffer) */
hcb->cmd = vtobus(csio->cdb_io.cdb_bytes);
}
- hcb->cmdlen = csio->cdb_len;
-
+ hcb->cmdlen = csio->cdb_len;Now it's time to set up the data. Again, the data storage
may be specified in the CCB in many interesting ways,
@@ -698,12 +670,10 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
data transfer. The simplest case is if there is no data to
transfer:
-
- int dir = (ccb_h->flags & CAM_DIR_MASK);
+ int dir = (ccb_h->flags & CAM_DIR_MASK);
if (dir == CAM_DIR_NONE)
- goto end_data;
-
+ goto end_data;Then we check if the data is in one chunk or in a
scatter-gather list, and the addresses are physical or
@@ -722,8 +692,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
the case for a single non-scattered virtual buffer must be
implemented, it's actively used by CAM.
-
- int rv;
+ int rv;
initialize_hcb_for_data(hcb);
@@ -770,16 +739,13 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
free_hcb_and_ccb_done(hcb, ccb, rv);
return;
}
- end_data:
-
+ end_data:If disconnection is disabled for this CCB we pass this
information to the hcb:
-
- if(ccb_h->flags & CAM_DIS_DISCONNECT)
- hcb_disable_disconnect(hcb);
-
+ if(ccb_h->flags & CAM_DIS_DISCONNECT)
+ hcb_disable_disconnect(hcb);If the controller is able to run REQUEST SENSE command all
by itself then the value of the flag CAM_DIS_AUTOSENSE should
@@ -790,18 +756,15 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
to the hardware and return, the rest will be done by the
interrupt handler (or timeout handler).
-
- ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,
+ ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,
(ccb_h->timeout * hz) / 1000); /* convert milliseconds to ticks */
put_hcb_into_hardware_queue(hcb);
- return;
-
+ return;And here is a possible implementation of the function
returning CCB:
-
- static void
+ static void
free_hcb_and_ccb_done(struct xxx_hcb *hcb, union ccb *ccb, u_int32_t status)
{
struct xxx_softc *softc = hcb->softc;
@@ -819,8 +782,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb->ccb_h.status = status |
(ccb->ccb_h.status & ~(CAM_STATUS_MASK|CAM_SIM_QUEUED));
xpt_done(ccb);
- }
-
+ }XPT_RESET_DEV - send the SCSI "BUS
@@ -859,8 +821,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
and those being disconnected, as done with the status
CAM_SCSI_BUS_RESET. Like:
-
- int targ, lun;
+ int targ, lun;
struct xxx_hcb *h, *hh;
struct ccb_trans_settings neg;
struct cam_path *path;
@@ -907,8 +868,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
/* report the event */
xpt_async(AC_BUS_RESET, softc->wpath, NULL);
- return;
-
+ return;Implementing the SCSI bus reset as a function may be a good
idea because it would be re-used by the timeout function as a
@@ -931,23 +891,20 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
The hard way is to implement this request honestly. First
check that abort applies to a SCSI transaction:
-
- struct ccb *abort_ccb;
+ struct ccb *abort_ccb;
abort_ccb = ccb->cab.abort_ccb;
if(abort_ccb->ccb_h.func_code != XPT_SCSI_IO) {
ccb->ccb_h.status = CAM_UA_ABORT;
xpt_done(ccb);
return;
- }
-
+ }Then it's necessary to find this CCB in our queue. This can
be done by walking the list of all our hardware control blocks
in search for one associated with this CCB:
-
- struct xxx_hcb *hcb, *h;
+ struct xxx_hcb *hcb, *h;
hcb = NULL;
@@ -969,8 +926,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
return;
}
- hcb=found_hcb;
-
+ hcb=found_hcb;Now we look at the current processing status of the HCB. It
may be either sitting in the queue waiting to be sent to the
@@ -982,8 +938,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
SCSI bus the SCSI controller will see this flag and skip
it.
-
- int hstatus;
+ int hstatus;
/* shown as a function, in case special action is needed to make
* this flag visible to hardware
@@ -1000,8 +955,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
case HCB_COMPLETED:
/* this is an easy case */
free_hcb_and_ccb_done(hcb, abort_ccb, CAM_REQ_ABORTED);
- break;
-
+ break;If the CCB is being transferred right now we would like to
signal to the SCSI controller in some hardware-dependent way
@@ -1016,8 +970,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
and mark the aborted CCB as aborted (but not mark it as done
yet).
-
- case HCB_BEING_TRANSFERRED:
+ case HCB_BEING_TRANSFERRED:
untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);
abort_ccb->ccb_h.timeout_ch =
timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);
@@ -1031,16 +984,14 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
goto abort_again;
}
- break;
-
+ break;If the CCB is in the list of disconnected then set it up as
an abort request and re-queue it at the front of hardware
queue. Reset the timeout and report the abort request to be
completed.
-
- case HCB_DISCONNECTED:
+ case HCB_DISCONNECTED:
untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);
abort_ccb->ccb_h.timeout_ch =
timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);
@@ -1050,8 +1001,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;That's all for the ABORT request, although there is one more
issue. Because the ABORT message cleans all the ongoing
@@ -1066,8 +1016,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
request. Then the case XPT_ABORT would be small, like
that:
-
- case XPT_ABORT:
+ case XPT_ABORT:
struct ccb *abort_ccb;
abort_ccb = ccb->cab.abort_ccb;
@@ -1082,8 +1031,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
else
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;XPT_SET_TRAN_SETTINGS - explicitly
@@ -1178,8 +1126,7 @@ of the union ccb:The code looks like:
-
- struct ccb_trans_settings *cts;
+ struct ccb_trans_settings *cts;
int targ, lun;
int flags;
@@ -1225,16 +1172,14 @@ of the union ccb:
}
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;Then when the next I/O request will be processed it will
check if it has to re-negotiate, for example by calling the
function target_negotiated(hcb). It can be implemented like
this:
-
- int
+ int
target_negotiated(struct xxx_hcb *hcb)
{
struct softc *softc = hcb->softc;
@@ -1246,8 +1191,7 @@ of the union ccb:
return 0; /* FALSE */
else
return 1; /* TRUE */
- }
-
+ }After the values are re-negotiated the resulting values must
be assigned to both current and goal parameters, so for future
@@ -1300,8 +1244,7 @@ of the union ccb:
typical calculation example taken from the aic7xxx driver
is:
-
- struct ccb_calc_geometry *ccg;
+ struct ccb_calc_geometry *ccg;
u_int32_t size_mb;
u_int32_t secs_per_cylinder;
int extended;
@@ -1322,8 +1265,7 @@ of the union ccb:
ccg->cylinders = ccg->volume_size / secs_per_cylinder;
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;This gives the general idea, the exact calculation depends
on the quirks of the particular BIOS. If BIOS provides no way
@@ -1331,10 +1273,8 @@ of the union ccb:
normally be assumed equal to 1. Other popular geometries
are:
-
- 128 heads, 63 sectors - Symbios controllers
- 16 heads, 63 sectors - old controllers
-
+ 128 heads, 63 sectors - Symbios controllers
+ 16 heads, 63 sectors - old controllersSome system BIOSes and SCSI BIOSes fight with each other
with variable success, for example a combination of Symbios
@@ -1447,9 +1387,7 @@ ccb_pathinq cpi" of the union ccb:The recommended way of setting the string fields is using
strncpy, like:
-
- strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
-
+ strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);After setting the values set the status to CAM_REQ_CMP and mark the
CCB as done.
@@ -1486,23 +1424,19 @@ CCB as done.
gets just the the device unit number. So the poll routine would
normally look as:
-
-static void
+static void
xxx_poll(struct cam_sim *sim)
{
xxx_intr((struct xxx_softc *)cam_sim_softc(sim)); /* for PCI device */
-}
-
+}or
-
-static void
+static void
xxx_poll(struct cam_sim *sim)
{
xxx_intr(cam_sim_unit(sim)); /* for ISA device */
-}
-
+}
@@ -1512,10 +1446,8 @@ xxx_poll(struct cam_sim *sim)
If an asynchronous event callback has been set up then the
callback function should be defined.
-
-static void
-ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
-
+static void
+ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)callback_arg - the value supplied when registering the
@@ -1532,8 +1464,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
Implementation for a single type of event, AC_LOST_DEVICE,
looks like:
-
- struct xxx_softc *softc;
+ struct xxx_softc *softc;
struct cam_sim *sim;
int targ;
struct ccb_trans_settings neg;
@@ -1555,8 +1486,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
break;
default:
break;
- }
-
+ }
@@ -1580,8 +1510,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
section. To make sure that the interrupt level will be always
restored a wrapper function can be defined, like:
-
- static void
+ static void
xxx_action(struct cam_sim *sim, union ccb *ccb)
{
int s;
@@ -1594,8 +1523,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
xxx_action1(struct cam_sim *sim, union ccb *ccb)
{
... process the request ...
- }
-
+ }This approach is simple and robust but the problem with it
is that interrupts may get blocked for a relatively long time
@@ -1619,8 +1547,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
probably need also sending RESET signal to the SCSI bus to reset
the status of the connections with the SCSI devices.
-
- int fatal=0;
+ int fatal=0;
struct ccb_trans_settings neg;
struct cam_path *path;
@@ -1678,8 +1605,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
schedule_next_hcb(softc);
return;
- }
-
+ }If interrupt is not caused by a controller-wide condition
then probably something has happened to the current hardware
@@ -1687,8 +1613,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
non-HCB-related events, we just do not consider them here. Then
we analyze what happened to this HCB:
-
- struct xxx_hcb *hcb, *h, *hh;
+ struct xxx_hcb *hcb, *h, *hh;
int hcb_status, scsi_status;
int ccb_status;
int targ;
@@ -1704,22 +1629,18 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
targ = hcb->target;
- hcb_status = get_status_of_current_hcb(softc);
-
+ hcb_status = get_status_of_current_hcb(softc);First we check if the HCB has completed and if so we check
the returned SCSI status.
-
- if(hcb_status == COMPLETED) {
- scsi_status = get_completion_status(hcb);
-
+ if(hcb_status == COMPLETED) {
+ scsi_status = get_completion_status(hcb);Then look if this status is related to the REQUEST SENSE
command and if so handle it in a simple way.
-
- if(hcb->flags & DOING_AUTOSENSE) {
+ if(hcb->flags & DOING_AUTOSENSE) {
if(scsi_status == GOOD) { /* autosense was successful */
hcb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);
@@ -1729,16 +1650,14 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
schedule_next_hcb(softc);
return;
- }
-
+ }Else the command itself has completed, pay more attention to
details. If auto-sense is not disabled for this CCB and the
command has failed with sense data then run REQUEST SENSE
command to receive that data.
-
- hcb->ccb->csio.scsi_status = scsi_status;
+ hcb->ccb->csio.scsi_status = scsi_status;
calculate_residue(hcb);
if( (hcb->ccb->ccb_h.flags & CAM_DIS_AUTOSENSE)==0
@@ -1756,8 +1675,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);
schedule_next_hcb(softc);
return;
- }
-
+ }One typical thing would be negotiation events: negotiation
messages received from a SCSI target (in answer to our
@@ -1765,8 +1683,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
unable to negotiate (rejects our negotiation messages or does
not answer them).
-
- switch(hcb_status) {
+ switch(hcb_status) {
case TARGET_REJECTED_WIDE_NEG:
/* revert to 8-bit bus */
softc->current_bus_width[targ] = softc->goal_bus_width[targ] = 8;
@@ -1816,26 +1733,22 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
continue_current_hcb(softc);
return;
- }
-
+ }Then we handle any errors that could have happened during
auto-sense in the same simple-minded way as before. Otherwise we
look closer at the details again.
-
- if(hcb->flags & DOING_AUTOSENSE)
+ if(hcb->flags & DOING_AUTOSENSE)
goto autosense_failed;
- switch(hcb_status) {
-
+ switch(hcb_status) {The next event we consider is unexpected disconnect. Which
is considered normal after an ABORT or BUS DEVICE RESET message
and abnormal in other cases.
-
- case UNEXPECTED_DISCONNECT:
+ case UNEXPECTED_DISCONNECT:
if(requested_abort(hcb)) {
/* abort affects all commands on that target+LUN, so
* mark all disconnected HCBs on that target+LUN as aborted too
@@ -1872,14 +1785,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = hcb->lun;
}
- break;
-
+ break;If the target refuses to accept tags we notify CAM about
that and return back all commands for this LUN:
-
- case TAGS_REJECTED:
+ case TAGS_REJECTED:
/* report the event */
neg.flags = 0 & ~CCB_TRANS_TAG_ENB;
neg.valid = CCB_TRANS_TQ_VALID;
@@ -1889,14 +1800,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
/* request the further code to freeze the queue */
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = hcb->lun;
- break;
-
+ break;Then we check a number of other conditions, with processing
basically limited to setting the CCB status:
-
- case SELECTION_TIMEOUT:
+ case SELECTION_TIMEOUT:
ccb_status = CAM_SEL_TIMEOUT;
/* request the further code to freeze the queue */
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
@@ -1916,14 +1825,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = CAM_LUN_WILDCARD;
break;
- }
-
+ }Then we check if the error was serious enough to freeze the
input queue until it gets proceeded and do so if it is:
-
- if(hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {
+ if(hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {
/* freeze the queue */
xpt_freeze_devq(ccb->ccb_h.path, /*count*/1);
@@ -1939,8 +1846,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
free_hcb_and_ccb_done(hcb, hcb->ccb, ccb_status);
schedule_next_hcb(softc);
- return;
-
+ return;This concludes the generic interrupt handling although
specific controllers may require some additions.
@@ -2046,8 +1952,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
device reset request got stuck. So after all the timeout
function would look like:
-
-static void
+static void
xxx_timeout(void *arg)
{
struct xxx_hcb *hcb = (struct xxx_hcb *)arg;
@@ -2063,8 +1968,7 @@ xxx_timeout(void *arg)
} else {
xxx_abort_ccb(hcb->ccb, CAM_CMD_TIMEOUT);
}
-}
-
+}When we abort a request all the other disconnected requests
to the same target/LUN get aborted too. So there appears a
diff --git a/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml
index 805409b691..6ae96705d2 100644
--- a/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml
@@ -1,7 +1,7 @@
@@ -121,8 +121,7 @@
instruction immediately following the function call. (Inspired
by )
-
-#include stdio.h
+#include stdio.h
void manipulate(char *buffer) {
char newbuffer[80];
@@ -140,8 +139,7 @@ int main() {
i=2;
printf("The value of i is : %d\n",i);
return 0;
-}
-
+}Let us examine what the memory image of this process would
look like if we were to input 160 spaces into our little program
diff --git a/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml
index 04d2e6cb9e..0b070837bb 100644
--- a/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1060,8 +1060,7 @@ free(foo);
Here's a very simple make file:foo: foo.c
- cc -o foo foo.c
-
+ cc -o foo foo.c
It consists of two lines, a dependency line and a creation
line.
@@ -1105,8 +1104,7 @@ free(foo);
cc -o foo foo.c
install:
- cp foo /home/me
-
+ cp foo /home/me
We can tell make which target we want to make by
typing:
@@ -1159,8 +1157,7 @@ install:
MASTER_SITES= ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/
DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
-.include <bsd.port.mk>
-
+.include <bsd.port.mk>
Now, if we go to the directory for this port and type
make, the following happens:
@@ -1274,8 +1271,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
/usr/local/info directory to add an entry
for it. This involves adding a line like
- * Make: (make). The GNU Make utility.
-
+ * Make: (make). The GNU Make utility.to the file. Once you have done this, you can type
info and then select
@@ -1381,8 +1377,7 @@ main() {
int bazz(int anint) {
printf("You gave me %d\n", anint);
return anint;
-}
-
+}
This program sets i to be
5 and passes it to a function
@@ -1438,8 +1433,7 @@ main() {
i = 5;
printf("This is my program\n");
-&hellip>
-
+&hellip>
but we left the i=5; line out. As we
didn't initialise i, it had whatever number
@@ -2162,8 +2156,7 @@ in font-lock-auto-mode-list"
("\\.lsp$" . lisp-mode)
("\\.wiz$" . whizbang-mode)
("\\.scm$" . scheme-mode)
-…>
-
+…>
This means that Emacs will automatically go into
whizbang-mode when you edit a file ending
@@ -2176,8 +2169,7 @@ in font-lock-auto-mode-list"
;; Auto font lock mode
(defvar font-lock-auto-mode-list
(list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode)
- "List of modes to always start in font-lock-mode")
-
+ "List of modes to always start in font-lock-mode")
This means that Emacs will always enable
font-lock-mode (ie syntax highlighting)
diff --git a/en_US.ISO8859-1/books/faq/book.sgml b/en_US.ISO8859-1/books/faq/book.sgml
index f39dbfabe3..96081df762 100644
--- a/en_US.ISO8859-1/books/faq/book.sgml
+++ b/en_US.ISO8859-1/books/faq/book.sgml
@@ -14,7 +14,7 @@
The FreeBSD Documentation Project
- $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.165 2001/04/03 02:07:13 dd Exp $
+ $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.166 2001/04/08 18:51:50 dd Exp $1995
@@ -2763,8 +2763,7 @@ Filesystem 1024-blocks Used Avail Capacity Mounted on
Add the following lines to your kernel configuration
file, and rebuild the kernel.
-
-device uhci
+ device uhci
device ohci
device usb
device ukbd
@@ -2773,8 +2772,7 @@ options KBD_INSTALL_CDEVIn versions of FreeBSD before 4.0, use this
instead:
-
-controller uhci0
+ controller uhci0
controller ohci0
controller usb0
controller ukbd0
@@ -2794,8 +2792,7 @@ options KBD_INSTALL_CDEVEdit /etc/rc.conf and add the
following lines:
-
-usbd_enable="YES"
+ usbd_enable="YES"
usbd_flags=""
@@ -3024,8 +3021,7 @@ moused_flags=""
Add the following lines to your kernel configuration
file, and rebuild the kernel.
-
-device uhci
+ device uhci
device ohci
device usb
device ums
@@ -3033,8 +3029,7 @@ device umsIn versions of FreeBSD before 4.0, use this
instead:
-
-controller uhci0
+ controller uhci0
controller ohci0
controller usb0
device ums0
@@ -3052,8 +3047,7 @@ device ums0Edit /etc/rc.conf and add the
following lines:
-
-moused_enable="YES"
+ moused_enable="YES"
moused_type="auto"
moused_port="/dev/ums0"
moused_flags=""
@@ -3070,16 +3064,14 @@ usbd_flags=""
3.3.2 or later, be sure to have the following lines in the
Pointer section:
-
-Device "/dev/sysmouse"
+ Device "/dev/sysmouse"
Protocol "Auto"If you are using earlier versions of XFree86, be sure to
have the following lines in the Pointer
section:
-
-Device "/dev/sysmouse"
+ Device "/dev/sysmouse"
Protocol "SysMouse"
@@ -3127,8 +3119,7 @@ Protocol "SysMouse"
/sys/i386/isa/psm.c and rebuild the
kernel.
-
-Index: psm.c
+ Index: psm.c
===================================================================
RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
retrieving revision 1.60.2.1
@@ -4356,13 +4347,11 @@ IO range check 0x00 activate 0x01
will fit) or part of the Device Description
from the output of &man.pnpinfo.8;:
-
-{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
+ {0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */
{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */
{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */
-{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */
-
+{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */Add the hexadecimal Vendor ID for your device in the
correct place, save the file, rebuild your kernel, and reboot.
@@ -7242,8 +7231,7 @@ define(`confDELIVERY_MODE',`deferred')dnlThen edit /etc/XF86Config and make
sure you have the following lines.
-
-Section Pointer
+ Section Pointer
Protocol "SysMouse"
Device "/dev/sysmouse"
.....
@@ -7328,8 +7316,7 @@ Device "/dev/sysmouse"
Protocol "SysMouse"
Device "/dev/sysmouse"
Buttons 5
-EndSection
-
+EndSection
@@ -7398,8 +7385,7 @@ EndSection
Protocol "IntelliMouse"
Device "/dev/psm0"
ZAxisMapping 4 5
-EndSection
-
+EndSection
@@ -7454,8 +7440,7 @@ EndSection
(scroll-up imwheel-scroll-interval))
(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
-;;; end imwheel section
-
+;;; end imwheel section
For Xemacs, add the
@@ -7476,8 +7461,7 @@ EndSection
(scroll-up imwheel-scroll-interval))
(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines)
(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines)
-;;; end imwheel section
-
+;;; end imwheel section
@@ -8478,8 +8462,7 @@ SMC EtherPower (Model 8432)
TopWare TE-3500P
Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
(3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
- ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
-
+ ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
diff --git a/en_US.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml b/en_US.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
index 3cb5589b31..a0ac827d5b 100644
--- a/en_US.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
+++ b/en_US.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
@@ -27,7 +27,7 @@
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
- $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml,v 1.14 2000/10/31 19:36:16 nik Exp $
+ $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml,v 1.15 2000/11/01 22:38:35 jim Exp $
-->
@@ -215,8 +215,7 @@
the element is a paragraph, called p. This
element has both start and end tags.
-
-This is a paragraph. It starts with the start tag for
+ This is a paragraph. It starts with the start tag for
the 'p' element, and it will end with the end tag for the 'p'
element.
@@ -235,8 +234,7 @@
hr. This element does not wrap content, so only
has a start tag.
-
-This is a paragraph.
+ This is a paragraph.
@@ -252,8 +250,7 @@
Elements within elements; em
-
-This is a simple paragraph where some
+ This is a simple paragraph where some
of the words have been emphasised.]]>
@@ -303,8 +300,7 @@
Using an element with an attribute
-
-The inclusion of the align attribute
+ The inclusion of the align attribute
on this paragraph was superfluous, since the default is left.
This may appear in the center.
]]>
@@ -319,8 +315,7 @@
Single quotes around attributes
-
-I'm on the right!]]>
+ I'm on the right!]]>Sometimes you do not need to use quotes around attribute values at
@@ -352,8 +347,7 @@
.profile, for &man.sh.1; and
&man.bash.1; users
-
-SGML_ROOT=/usr/local/share/sgml
+ SGML_ROOT=/usr/local/share/sgml
SGML_CATALOG_FILES=${SGML_ROOT}/jade/catalog
SGML_CATALOG_FILES=${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
@@ -365,8 +359,7 @@ export SGML_CATALOG_FILES.login, for &man.csh.1; and
&man.tcsh.1; users
-
-setenv SGML_ROOT /usr/local/share/sgml
+ setenv SGML_ROOT /usr/local/share/sgml
setenv SGML_CATALOG_FILES ${SGML_ROOT}/jade/catalog
setenv SGML_CATALOG_FILES ${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES ${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
@@ -383,8 +376,7 @@ setenv SGML_CATALOG_FILES ${SGML_ROOT}/docbook/catalog:$SGML_CATALOG_FILESCreate example.sgml, and enter the
following text;
-
-
+
@@ -532,8 +524,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished
A typical declaration for a document written to conform with version
4.0 of the HTML DTD looks like this;
-
-]]>
+ ]]>That line contains a number of different components.
@@ -603,8 +594,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished
FPIs must follow a specific syntax. This syntax is as
follows;
-
-"Owner//KeywordDescription//Language"
+ "Owner//KeywordDescription//Language"
@@ -693,8 +683,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished
map FPIs to filenames. For example, if the catalog file contained
the line;
-
-PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"
+ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"The SGML processor would know to look up the DTD from
strict.dtd in the 4.0
@@ -754,8 +743,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"The syntax for this is slightly different:
-
-]]>
+ ]]>The SYSTEM keyword indicates that the SGML
processor should locate the DTD in a system specific fashion. This
@@ -807,8 +795,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"SGML generic comment
-
-<!-- test comment -->
+ <!-- test comment -->
@@ -864,20 +851,17 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"The SGML parser will treat this as though it were actually;
-
-<!THIS IS OUTSIDE THE COMMENT>
+ <!THIS IS OUTSIDE THE COMMENT>This is not valid SGML, and may give confusing error
messages.
-
-]]>
+ ]]>As the example suggests, do not write
comments like that.
-
-]]>
+ ]]>That is a (slightly) better approach, but it still potentially
confusing to people new to SGML.
@@ -933,8 +917,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"current.version which expanded to the current
version number of your product. You could write;
-
-The current version of our product is
+ The current version of our product is
¤t.version;.]]>When the version number changes you can simply change the
@@ -958,8 +941,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Defining general entities
-
-
]>]]>
@@ -998,8 +980,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Defining parameter entities
-
-
@@ -1019,8 +1000,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Add a general entity to
example.sgml.
-
-
]>
@@ -1118,8 +1098,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using general entities to include files
-
-
@@ -1173,8 +1152,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"chapters.ent. This file contains the
following;
-
-
+
]]>
@@ -1183,8 +1161,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"
document, which will then make all the general entities available
for use. Then use the general entities as before;
-
-
@@ -1214,16 +1191,14 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Put content similar to the following in each file;
-
-This is the first paragraph.]]>
+ This is the first paragraph.]]>Edit example.sgml so that it looks like
this;
-
-
@@ -1273,8 +1248,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Edit example.sgml so that it looks like
this;
-
- %entities;
]>
@@ -1297,8 +1271,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Create a new file, entities.sgml, with
this content:
-
-
+
]]>
@@ -1332,8 +1305,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Structure of a marked section
-
-<![ KEYWORD [
+ <![ KEYWORD [
Contents of marked section
]]>
@@ -1399,8 +1371,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using a CDATA marked section
-
-<para>Here is an example of how you would include some text
+ <para>Here is an example of how you would include some text
that contained many < and & symbols. The sample
text is a fragment of HTML. The surrounding text (<para> and
<programlisting>) are from DocBook.</para>
@@ -1441,8 +1412,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using INCLUDE and
IGNORE in marked sections
-
-<![ INCLUDE [
+ <![ INCLUDE [
This text will be processed and included.
]]>
@@ -1480,8 +1450,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using a parameter entity to control a marked
section
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
<!ENTITY % electronic.copy "INCLUDE">
]]>
@@ -1495,8 +1464,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"When producing the hard-copy version, change the entity's
definition to;
-
-<!ENTITY % electronic.copy "IGNORE">
+ <!ENTITY % electronic.copy "IGNORE">On reprocessing the document, the marked sections that use
%electronic.copy as their keyword will be
@@ -1513,8 +1481,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Create a new file, section.sgml, that
contains the following;
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
<!ENTITY % text.output "INCLUDE">
]>
diff --git a/en_US.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml b/en_US.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml
index 8a34b04687..21f3836844 100644
--- a/en_US.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml
+++ b/en_US.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml
@@ -27,7 +27,7 @@
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
- $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml,v 1.9 2000/08/08 23:39:14 marko Exp $
+ $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml,v 1.10 2001/04/05 01:47:13 dd Exp $
-->
@@ -182,8 +182,7 @@
For example, the source for this section looks something
like:
-
-
...
diff --git a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
index c002ad9bdb..6cde4ef3a6 100644
--- a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,7 +1,7 @@
@@ -574,8 +574,7 @@ Local1 (10.20.30.1, 10.9.9.30) --> T1-GW (10.9.9.1)
On the NFS server make sure you have:
-
-portmap_enable="YES"
+ portmap_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_flags="-r"
@@ -588,8 +587,7 @@ mountd_flags="-r"On the client, make sure you have:
-
-nfs_client_enable="YES"
+ nfs_client_enable="YES"
nfs_client_flags="-n 4"Like nfsd, the tells
@@ -764,8 +762,7 @@ nfs_client_flags="-n 4"Examples for the FreeBSD system (freebox) as
the client: in /etc/fstab on freebox:
-
-fastws:/sharedfs /project nfs rw,-r=1024 0 0
+ fastws:/sharedfs /project nfs rw,-r=1024 0 0As a manual mount command on freebox:
@@ -774,8 +771,7 @@ fastws:/sharedfs /project nfs rw,-r=1024 0 0Examples for the FreeBSD system as the server: in
/etc/fstab on fastws:
-
-freebox:/sharedfs /project nfs rw,-w=1024 0 0
+ freebox:/sharedfs /project nfs rw,-w=1024 0 0As a manual mount command on fastws:
@@ -856,8 +852,7 @@ freebox:/sharedfs /project nfs rw,-w=1024 0 0Set up a bootp server to provide the client with IP, gateway,
netmask.
-
-diskless:\
+ diskless:\
:ht=ether:\
:ha=0000c01f848a:\
:sm=255.255.255.0:\
@@ -960,16 +955,14 @@ diskless:\
A typical completely diskless cfg file might contain:
-
-rootfs 192.1.2.3:/rootfs/myclient
+ rootfs 192.1.2.3:/rootfs/myclient
swapfs 192.1.2.3:/swapfs
swapsize 20000
hostname myclient.mydomainA cfg file for a machine with local swap might contain:
-
-rootfs 192.1.2.3:/rootfs/myclient
+ rootfs 192.1.2.3:/rootfs/myclient
hostname myclient.mydomain
@@ -980,14 +973,12 @@ hostname myclient.mydomain/etc/exports file on FreeBSD might look
like:
-
-/rootfs/myclient -maproot=0:0 myclient.mydomain
+ /rootfs/myclient -maproot=0:0 myclient.mydomain
/swapfs -maproot=0:0 myclient.mydomainAnd on HP-UX:
-
-/rootfs/myclient -root=myclient.mydomain
+ /rootfs/myclient -root=myclient.mydomain
/swapfs -root=myclient.mydomain
@@ -1139,8 +1130,7 @@ hostname myclient.mydomain
list, send mail to &a.majordomo; and
specify:
-
-subscribe freebsd-isdn
+ subscribe freebsd-isdnin the body of your message.
@@ -1262,8 +1252,7 @@ subscribe freebsd-isdn
with AUI/10BT transceiver, if necessary.
-
----Sun workstation
+ ---Sun workstation
|
---FreeBSD box
|
@@ -1284,8 +1273,7 @@ ISDN BRI lineNetwork is Twisted Pair Ethernet.
-
- -------Novell Server
+ -------Novell Server
| H |
| ---Sun
| |
@@ -1805,8 +1793,7 @@ Don't forget to update map ypservers on ellington.
/etc/crontab entries on your slave
servers should do the job:
-
-20 * * * * root /usr/libexec/ypxfr passwd.byname
+ 20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidThese two lines force the slave to sync its maps with
@@ -1863,8 +1850,7 @@ Don't forget to update map ypservers on ellington.
and start ypbind upon network
startup:
-
-nisdomainname="test-domain"
+ nisdomainname="test-domain"
nis_client_enable="YES"
@@ -1923,8 +1909,7 @@ nis_client_enable="YES"
like this:
-
-# allow connections from local host -- mandatory
+ # allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
@@ -2177,13 +2162,11 @@ ellington&prompt.root; vi /var/yp/netgroup
least four netgroups: IT employees, IT apprentices, normal
employees and interns.
-
-IT_EMP (,alpha,test-domain) (,beta,test-domain)
+ IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
-INTERNS (,able,test-domain) (,baker,test-domain)
-
+INTERNS (,able,test-domain) (,baker,test-domain)IT_EMP, IT_APP etc.
are the names of the netgroups. Each bracketed group adds
@@ -2230,12 +2213,10 @@ INTERNS (,able,test-domain) (,baker,test-domain)
15 users or less and a real netgroup that consists of the
sub-netgroups:
-
-BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
+ BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe32,domain) (,joe33,domain)
-BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
-
+BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3You can repeat this process if you need more than 225
users within a single netgroup.
@@ -2271,15 +2252,11 @@ ellington&prompt.user; ypcat -k netgroup.byuserwar, you only have to start
&man.vipw.8; and replace the line
-
-+:::::::::
-
+ +:::::::::with
-
-+@IT_EMP:::::::::
-
+ +@IT_EMP:::::::::Now, only the data for the users defined in the netgroup
IT_EMP is imported into
@@ -2321,20 +2298,16 @@ ellington&prompt.user; ypcat -k netgroup.byuser
of /etc/master.passwd with something like
this:
-
-+@IT_EMP:::::::::
+ +@IT_EMP:::::::::
+@IT_APP:::::::::
-+:::::::::/sbin/nologin
-
++:::::::::/sbin/nologinThe corresponding lines for the normal workstations
could be:
-
-+@IT_EMP:::::::::
+ +@IT_EMP:::::::::
+@USERS:::::::::
-+:::::::::/sbin/nologin
-
++:::::::::/sbin/nologinAnd everything would be fine until there is a policy
change a few weeks later: The IT department starts hiring
@@ -2359,11 +2332,9 @@ ellington&prompt.user; ypcat -k netgroup.byuser
that are allowed to login onto these machines. The new
entries for your NIS map netgroup should look like this:
-
-BIGSRV IT_EMP IT_APP
+ BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
-USERBOX IT_EMP ITINTERN USERS
-
+USERBOX IT_EMP ITINTERN USERSThis method of defining login restrictions works
reasonably well if you can define groups of machines with
@@ -2382,10 +2353,8 @@ USERBOX IT_EMP ITINTERN USERS
name of the netgroup. In other words, the lines should look
like this:
-
-+@BOXNAME:::::::::
-+:::::::::/sbin/nologin
-
+ +@BOXNAME:::::::::
++:::::::::/sbin/nologinOnce you have completed this task for all your machines,
you will not have to modify the local versions of
@@ -2394,8 +2363,7 @@ USERBOX IT_EMP ITINTERN USERS
is an example of a possible netgroup map for this
scenario with some additional goodies.
-
-# Define groups of users first
+ # Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
@@ -2429,8 +2397,7 @@ ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
-# [...more groups to follow]
-
+# [...more groups to follow]If you are using some kind of database to manage your user
accounts, you should be able to create the first part of the
@@ -2667,9 +2634,7 @@ lrwxr-xr-x 1 root wheel 14 Nov 8 14:27 /usr/lib/libscrypt.so@ -> libscryp
Edit your /etc/rc.conf to
include the following:
-
-ifconfig_fxp0="DHCP"
-
+ ifconfig_fxp0="DHCP"Be sure to replace fxp0 with the
@@ -2682,10 +2647,8 @@ ifconfig_fxp0="DHCP"
flags to dhclient, also include the
following (editing as necessary):
-
-dhcp_program="/sbin/dhclient"
-dhcp_flags=""
-
+ dhcp_program="/sbin/dhclient"
+dhcp_flags=""
diff --git a/en_US.ISO8859-1/books/handbook/backups/chapter.sgml b/en_US.ISO8859-1/books/handbook/backups/chapter.sgml
index e3bdd0a658..d0a4ffbaa3 100644
--- a/en_US.ISO8859-1/books/handbook/backups/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/backups/chapter.sgml
@@ -1,7 +1,7 @@
@@ -419,8 +419,7 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready
An example script for creating a bootable floppy:
-
-
@@ -592,8 +592,7 @@
wish to protect, replacing the text between the %%
with the appropriate information.
-
-Copyright (c) %%proper_years_here%%
+ Copyright (c) %%proper_years_here%%
%%your_name_here%%, %%your_state%% %%your_zip%%.
All rights reserved.
diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
index 68399a4c95..f7e92f29a0 100644
--- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
@@ -1,7 +1,7 @@
@@ -139,8 +139,7 @@
To join these lists, send mail to &a.majordomo; and
specify the following in the body of your message:
-
-subscribe freebsd-current
+ subscribe freebsd-current
subscribe cvs-allOptionally, you can also say help
@@ -304,8 +303,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgzTo join these lists, send mail to &a.majordomo; and
specify the following in the body of your message:
-
-subscribe freebsd-stable
+ subscribe freebsd-stable
subscribe cvs-allOptionally, you can also say help
diff --git a/en_US.ISO8859-1/books/handbook/disks/chapter.sgml b/en_US.ISO8859-1/books/handbook/disks/chapter.sgml
index d655eb0007..41d745a7ed 100644
--- a/en_US.ISO8859-1/books/handbook/disks/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/disks/chapter.sgml
@@ -1,7 +1,7 @@
@@ -662,8 +662,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
adding the following line to your kernel configuration
file:
-
-options QUOTA
+ options QUOTAThe stock GENERIC kernel does not have
this enabled by default, so you will have to configure, build and
@@ -676,8 +675,7 @@ options QUOTA/etc/rc.conf. This is done by adding the
line:
-
-enable_quotas=YES
+ enable_quotas=YESFor finer control over your quota startup, there is an
additional configuration variable available. Normally on bootup,
@@ -690,15 +688,13 @@ enable_quotas=YES
skip this step, a variable is made available for the
purpose:
-
-check_quotas=NO
+ check_quotas=NOIf you are running FreeBSD prior to 3.2-RELEASE, the
configuration is simpler, and consists of only one variable. Set
the following in your /etc/rc.conf:
-
-check_quotas=YES
+ check_quotas=YESFinally you will need to edit /etc/fstab
to enable disk quotas on a per-file system basis. This is where
@@ -710,16 +706,14 @@ check_quotas=YES/etc/fstab entry for the file system you want
to to enable quotas on. For example:
-
-/dev/da1s2g /home ufs rw,userquota 1 2
+ /dev/da1s2g /home ufs rw,userquota 1 2Similarly, to enable group quotas, use the
groupquota option instead of the
userquota keyword. To enable both user and
group quotas, change the entry as follows:
-
-/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
+ /dev/da1s2g /home ufs rw,userquota,groupquota 1 2By default the quota files are stored in the root directory of
the file system with the names quota.user and
@@ -792,8 +786,7 @@ check_quotas=YES&prompt.root; edquota -u test
-
-Quotas for user test:
+ Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
@@ -847,8 +840,7 @@ Quotas for user test:
quota -v command for a user that has quota
limits on two file systems.
-
-Disk quotas for user test (uid 1002):
+ Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
@@ -879,8 +871,7 @@ Disk quotas for user test (uid 1002):
Enable rpc.rquotad in
/etc/inetd.conf like so:
-
-rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
+ rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotadNow restart inetd:
diff --git a/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml b/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml
index ed9f79f670..e63b7386f5 100644
--- a/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml
@@ -1,7 +1,7 @@
@@ -482,8 +482,7 @@
To subscribe to a list, send mail to &a.majordomo; and include
-
-subscribe <listname> [<optional address>]
+ subscribe <listname> [<optional address>]
in the body of your message. For example, to subscribe yourself to
freebsd-announce, you'd do:
diff --git a/en_US.ISO8859-1/books/handbook/hw/chapter.sgml b/en_US.ISO8859-1/books/handbook/hw/chapter.sgml
index 6d6a9b8157..cf890d86b3 100644
--- a/en_US.ISO8859-1/books/handbook/hw/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/hw/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1364,8 +1364,7 @@
below.
-
-INS8250 -> INS8250B
+ INS8250 -> INS8250B
\
\
\-> INS8250A -> INS82C50A
@@ -2609,8 +2608,7 @@ INS8250 -> INS8250B
options COM_MULTIPORT or it will not work very
well!
-
-device sio4 at isa? port 0x100 tty flags 0xb05
+ device sio4 at isa? port 0x100 tty flags 0xb05
device sio5 at isa? port 0x108 tty flags 0xb05
device sio6 at isa? port 0x110 tty flags 0xb05
device sio7 at isa? port 0x118 tty flags 0xb05
@@ -2667,8 +2665,7 @@ device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr<
Add the line
-
-options COM_MULTIPORT
+ options COM_MULTIPORT
to the config file.
@@ -2684,8 +2681,7 @@ options COM_MULTIPORT
for Each port is +8 hexadecimal from the previous port, thus
the 100h, 108h, 110h... addresses.
-
-device sio1 at isa? port 0x100 tty flags 0x1005
+ device sio1 at isa? port 0x100 tty flags 0x1005
device sio2 at isa? port 0x108 tty flags 0x1005
device sio3 at isa? port 0x110 tty flags 0x1005
device sio4 at isa? port 0x118 tty flags 0x1005
@@ -2918,8 +2914,7 @@ sio2: type 16550A (multiport master)
linkend="kernelconfig-config">kernel configuration
(note that your irq and iomem settings may differ).
-
-device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
+ device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
@@ -2943,8 +2938,7 @@ device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintrttyc in place of
ttyd. For example:
-
-ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
+ ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
…
@@ -3005,16 +2999,14 @@ ttyc7 "/usr/libexec/getty std.38400" unknown on insecure
kernel configuration
file, changing the numbers as appropriate:
-
-device si0 at isa? tty iomem 0xd0000 irq 11
+ device si0 at isa? tty iomem 0xd0000 irq 11Valid IRQ numbers are 9, 10, 11, 12 and 15 for SX ISA host cards
and 11, 12 and 15 for SI/XIO ISA host cards.To configure an EISA or PCI host card, use this line:
-
-device si0
+ device si0After adding the configuration entry, rebuild and install your
@@ -3035,8 +3027,7 @@ device si0
need to add lines like this to /etc/ttys:
-
-ttyA01 "/usr/libexec/getty std.9600" vt100 on insecure
+ ttyA01 "/usr/libexec/getty std.9600" vt100 on insecure
Change the terminal type as appropriate. For modems,
@@ -3552,8 +3543,7 @@ moused_port="/dev/ums0"
kernel config file. An example from the kernel config file (they
live in /sys/i386/conf BTW).
-
-# First WD compatible controller
+ # First WD compatible controller
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
@@ -4253,8 +4243,7 @@ sd0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)
config file LINT with some added comments
(between []):
-
-# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
+ # SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
#
# aha: Adaptec 154x
# ahb: Adaptec 174x
@@ -4335,8 +4324,7 @@ device cd0 at scbus? [the first ever CDROM found, no wiring]<
config file after upgrading from a pre-FreeBSD2.0.5.R system check
this out.
-
-[driver for Adaptec 174x]
+ [driver for Adaptec 174x]
controller ahb0 at isa? bio irq 11 vector ahbintr
[for Adaptec 154x]
@@ -4381,8 +4369,7 @@ device cd0 #Only need one of these, the code dynamically grows
-
-options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
+ options SCSI_DELAY=15 #Be pessimistic about Joe SCSI deviceThis line sets the delay time to 15 seconds. On my own system
I had to use 3 seconds minimum to get my trusty old CDROM drive
@@ -4452,8 +4439,7 @@ Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
Look for a struct that is initialized like below:
-
-{
+ {
T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A",
"mx1", SC_ONE_LU
}
@@ -4462,8 +4448,7 @@ Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
as a SCSI disk and has firmware revision 123 you would add
something like:
-
-{
+ {
T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123",
"sd", SC_MORE_LUS
}
@@ -4525,8 +4510,7 @@ Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
the right, read: fastest feasible, transfer rate. This option is
disabled by default:
-
-options "TUNE_1542" #dynamic tune of bus DMA speed
+ options "TUNE_1542" #dynamic tune of bus DMA speedCheck the man pages for the host adapter that you use. Or
better still, use the ultimate documentation (read: driver
@@ -5064,8 +5048,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed/usr/src/sys/pci/ncr.c (as shown below).
Build and install a new kernel.
-
-*** 4831,4835 ****
+ *** 4831,4835 ****
};
! if (np->latetime>4) {
@@ -5525,8 +5508,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed
-
-#!/bin/sh
+ #!/bin/sh
PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH
usage()
diff --git a/en_US.ISO8859-1/books/handbook/install/chapter.sgml b/en_US.ISO8859-1/books/handbook/install/chapter.sgml
index 150bce0340..8271a70b21 100644
--- a/en_US.ISO8859-1/books/handbook/install/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/install/chapter.sgml
@@ -1,7 +1,7 @@
@@ -253,8 +253,7 @@
need to add the following line to the password file (using the
vipw command):
-
-ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
+ ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentAnyone with network connectivity to your machine can now
chose a media type of FTP and type in
diff --git a/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
index e979859ca4..567134681c 100644
--- a/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
@@ -1,7 +1,7 @@
@@ -253,8 +253,7 @@
closely. For details of all the possible kernel options, see
/usr/src/sys/i386/conf/LINT.
-
-#
+ #
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
@@ -282,8 +281,7 @@
i386, alpha, or
pc98.
-
-cpu I386_CPU
+ cpu I386_CPU
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
@@ -299,8 +297,7 @@ cpu I686_CPUThe Alpha architecture has different values for
cpu_type. They include:
-
-cpu EV4
+ cpu EV4
cpu EV5If you are using an Alpha machine, you should be using one of
@@ -355,8 +352,7 @@ cpu EV5Everything that follows is more or less optional. See the notes
underneath or next to each option for more information.
-
-#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+ #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options MATH_EMULATE #Support for x87 emulationThis line allows the kernel to simulate a math co-processor if
@@ -374,28 +370,24 @@ options MATH_EMULATE #Support for x87 emulation
which is not included by default for licensing reasons.
-
-options INET #InterNETworking
+ options INET #InterNETworkingNetworking support. Leave this in, even if you do not plan to
be connected to a network. Most programs require at least loopback
networking (i.e., making network connections within your PC), so
this is essentially mandatory.
-
-options INET6 #IPv6 communications protocols
+ options INET6 #IPv6 communications protocolsThis enables the IPv6 communication protocols.
-
-options FFS #Berkeley Fast Filesystem
+ options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]This is the basic hard drive filesystem. Leave it in if you
boot from the hard disk.
-
-options MFS #Memory Filesystem
+ options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root deviceThis is the memory-mapped filesystem. This is basically a RAM
@@ -413,16 +405,14 @@ options MD_ROOT #MD is a potential root deviceNow you simply need to either reboot, or run the command
mount /tmp.
-
-options NFS #Network Filesystem
+ options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS requiredThe network filesystem. Unless you plan to mount partitions
from a UNIX file server over TCP/IP, you can comment these
out.
-
-options MSDOSFS #MSDOS Filesystem
+ options MSDOSFS #MSDOS FilesystemThe MS-DOS filesystem. Unless you plan to mount a DOS formatted
hard drive partition at boot time, you can safely comment this out.
@@ -433,8 +423,7 @@ options MSDOSFS #MSDOS Filesystem
unmount them (and does not require MSDOSFS at
all).
-
-options CD9660 #ISO 9660 Filesystem
+ options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 requiredThe ISO 9660 filesystem for CDROMs. Comment it out if you do
@@ -442,22 +431,19 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required
-
-options PROCFS #Process filesystem
+ options PROCFS #Process filesystemThe process filesystem. This is a pretend
filesystem mounted on /proc which allows
programs like &man.ps.1; to give you more information on what
processes are running.
-
-options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
+ options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]Compatibility with 4.3BSD. Leave this in; some programs will
act strangely if you comment this out.
-
-options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
+ options SCSI_DELAY=15000 #Delay (in ms) before probing SCSIThis causes the kernel to pause for 15 seconds before probing
each SCSI device in your system. If you only have IDE hard drives,
@@ -466,8 +452,7 @@ options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
-
-options UCONSOLE #Allow users to grab the console
+ options UCONSOLE #Allow users to grab the consoleAllow users to grab the console, which is useful for X users.
For example, you can create a console xterm by typing xterm
@@ -475,26 +460,22 @@ options UCONSOLE #Allow users to grab the consoletalk, and any other messages you receive, as well
as any console messages sent by the kernel.
-
-options USERCONFIG #boot -c editor
+ options USERCONFIG #boot -c editorThis option allows you to boot the configuration editor from the
boot menu.
-
-options VISUAL_USERCONFIG #visual boot -c editor
+ options VISUAL_USERCONFIG #visual boot -c editorThis option allows you to boot the visual configuration editor
from the boot menu.
-
-options KTRACE #ktrace(1) support
+ options KTRACE #ktrace(1) supportThis enables kernel process tracing, which is useful in
debugging.
-
-options SYSVSHM #SYSV-style shared memory
+ options SYSVSHM #SYSV-style shared memoryThis option provides for System V shared memory. The most
common use of this is the XSHM extension in X, which many
@@ -502,14 +483,12 @@ options SYSVSHM #SYSV-style shared memory
extra speed. If you use X, you'll definitely want to include
this.
-
-options SYSVSEM #SYSV-style semaphores
+ options SYSVSEM #SYSV-style semaphoresSupport for System V semaphores. Less commonly used but only
adds a few hundred bytes to the kernel.
-
-options SYSVMSG #SYSV-style message queues
+ options SYSVMSG #SYSV-style message queuesSupport for System V messages. Again, only adds a few hundred
bytes to the kernel.
@@ -519,30 +498,26 @@ options SYSVMSG #SYSV-style message queues
these System V facilities.
-
-options P1003_1B #Posix P1003_1B real-time extentions
+ options P1003_1B #Posix P1003_1B real-time extentions
options _KPOSIX_PRIORITY_SCHEDULINGReal-time extensions added in the 1993 POSIX. Certain
applications in the ports collection use these (such as Star
Office).
-
-options ICMP_BANDLIM #Rate limit bad replies
+ options ICMP_BANDLIM #Rate limit bad repliesThis option enables ICMP error response bandwidth limiting. You
typically want this option as it will help protect the machine from
denial of service packet attacks.
-
-# To make an SMP kernel, the next two are needed
+ # To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
#options APIC_IO # Symmetric (APIC) I/OThe above are both required for SMP support.
-
-# Optionally these may need tweaked, (defaults shown):
+ # Optionally these may need tweaked, (defaults shown):
#options NCPU=2 # number of CPUs
#options NBUS=4 # number of busses
#options NAPIC=1 # number of IO APICs
@@ -568,8 +543,7 @@ options ICMP_BANDLIM #Rate limit bad replies
auto-detection of PCI cards and gatewaying from the PCI to ISA
bus.
-
-# Floppy drives
+ # Floppy drives
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
@@ -585,8 +559,7 @@ device fd1 at fdc0 drive 1
one device ata line for the kernel to detect all
PCI ATA/ATAPI devices on modern machines.
-
-device atadisk # ATA disk drives
+ device atadisk # ATA disk drivesThis is needed along with device ata for
ATAPI disk drives.
@@ -597,40 +570,34 @@ device atapicd # ATAPI CDROM drivesThis is needed along with device ata for
ATAPI CDROM drives.
-
-device atapifd # ATAPI floppy drives
+ device atapifd # ATAPI floppy drivesThis is needed along with device ata for
ATAPI floppy drives.
-
-device atapist # ATAPI tape drives
+ device atapist # ATAPI tape drivesThis is needed along with device ata for
ATAPI tape drives.
-
-options ATA_STATIC_ID #Static device numbering
+ options ATA_STATIC_ID #Static device numberingThis makes the controller number static (like the old driver) or
else the device numbers are dynamically allocated.
-
-#options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices
+ #options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devicesThis enables DMA on the ATAPI device. Since many ATAPI devices
claim to support DMA, but it does not actually work, this is turned
off by default.
-
-# ATA and ATAPI devices
+ # ATA and ATAPI devices
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15Use the above for older, non-PCI systems.
-
-# SCSI Controllers
+ # SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
device amd # AMD 53C974 (Teckram DC-390(T))
@@ -649,8 +616,7 @@ device aic0 at isa?
system. If you have an IDE only system, you can remove these
altogether.
-
-# SCSI peripherals
+ # SCSI peripherals
device scbus # SCSI bus (required)
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
@@ -661,8 +627,7 @@ access)SCSI peripherals. Again, comment out any you do not have, or if
you have only IDE hardware, you can remove them completely.
-
-# RAID controllers
+ # RAID controllers
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
@@ -670,8 +635,7 @@ device mlx # Mylex DAC960 familySupported RAID controllers. If you do not have any of these,
you can comment them out or remove them.
-
-# atkbdc0 controls both the keyboard and the PS/2 mouse
+ # atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBDThe keyboard controller (atkbdc) provides I/O
@@ -680,16 +644,14 @@ device atkbdc0 at isa? port IO_KBD
(atkbd) and the PS/2 pointing device driver
(psm).
-
-device atkbd0 at atkbdc? irq 1
+ device atkbd0 at atkbdc? irq 1The atkbd driver, together with
atkbdc controller, provides access to the AT 84
keyboard or the AT enhanced keyboard which is connected to the AT
keyboard controller.
-
-device psm0 at atkbdc? irq 12
+ device psm0 at atkbdc? irq 12Use this device if your mouse plugs into the PS/2 mouse
port.
@@ -698,15 +660,13 @@ device psm0 at atkbdc? irq 12The video card driver.
-
-# splash screen/screen saver
+ # splash screen/screen saver
pseudo-device splashSplash screen at start up! Screen savers require this
too.
-
-# syscons is the default console driver, resembling an SCO console
+ # syscons is the default console driver, resembling an SCO console
device sc0 at isa?sc0 is the default console driver, which
@@ -718,8 +678,7 @@ device sc0 at isa?TERM variable to scoansi if
full-screen programs have trouble running under this console.
-
-# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
+ # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa?
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
@@ -737,8 +696,7 @@ device sc0 at isa?
device are often not available — vt100
should be available on virtually any platform.
-
-# Floating point support - do not disable.
+ # Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13npx0 is the interface to the floating point
@@ -746,14 +704,12 @@ device npx0 at nexus? port IO_NPX irq 13
the software math emulator. This is not
optional.
-
-# Power management support (see LINT for more options)
+ # Power management support (see LINT for more options)
device apm0 at nexus? disable flags 0x20 # Advanced Power ManagementAdvanced Power Management support. Useful for laptops.
-
-# PCCARD (PCMCIA) support
+ # PCCARD (PCMCIA) support
device card
device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable
@@ -761,8 +717,7 @@ device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disablePCMCIA support. You need this if you are installing on a
laptop.
-
-# Serial (COM) ports
+ # Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
@@ -789,19 +744,16 @@ device sio3 at isa? disable port IO_COM4 irq 9
used.
-
-# Parallel port
+ # Parallel port
device ppc0 at isa? irq 7This is the ISA-bus parallel port interface.
-
-device ppbus # Parallel port bus (required)
+ device ppbus # Parallel port bus (required)Provides support for the parallel port bus.
-
-device lpt # Printer
+ device lpt # PrinterSupport for parallel port printers.
@@ -810,26 +762,22 @@ device lpt # Printer
support.
-
-device plip # TCP/IP over parallel
+ device plip # TCP/IP over parallelThis is the driver for the parallel network interface.
-
-device ppi # Parallel port interface device
+ device ppi # Parallel port interface deviceThe general-purpose I/O (geek port) + IEEE1284
I/O.
-
-#device vpo # Requires scbus and da
+ #device vpo # Requires scbus and daThis is for an Iomega Zip drive. It requires
scbus and da support. Best
performance is achieved with ports in EPP 1.9 mode.
-
-# PCI Ethernet NICs.
+ # PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip)
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device tx # SMC 9432TX (83c170 EPIC)
@@ -839,8 +787,7 @@ device wx # Intel Gigabit Ethernet Card (WisemanVarious PCI network card drivers. Comment out or remove any of
these not present in your system.
-
-# PCI Ethernet NICs that use the common MII bus controller code.
+ # PCI Ethernet NICs that use the common MII bus controller code.
device miibus # MII bus supportMII bus support is required for some PCI 10/100 ethernet NICs,
@@ -851,8 +798,7 @@ device miibus # MII bus support
including a generic one for PHYs that are not specifically handled
by an individual driver
-
-device dc # DEC/Intel 21143 and various workalikes
+ device dc # DEC/Intel 21143 and various workalikes
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
@@ -864,8 +810,7 @@ device xl # 3Com 3c90x (Boomerang, Cyclon
Drivers that use the MII bus controller code.
-
-# ISA Ethernet NICs.
+ # ISA Ethernet NICs.
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
@@ -893,8 +838,7 @@ device sn0 at isa? port 0x300 irq 10
/usr/src/sys/i386/conf/LINT for which cards are
supported by which driver.
-
-# Pseudo devices - the number indicates how many units to allocated.
+ # Pseudo devices - the number indicates how many units to allocated.
pseudo-device loop # Network loopbackThis is the generic loopback device for TCP/IP. If you telnet
@@ -902,14 +846,12 @@ pseudo-device loop # Network loopback
role="ipaddr">127.0.0.1) it will come back at you through
this pseudo-device. This is mandatory.
-
-pseudo-device ether # Ethernet support
+ pseudo-device ether # Ethernet supportether is only needed if you have an Ethernet
card. It includes generic Ethernet protocol code.
-
-pseudo-device sl 1 # Kernel SLIP
+ pseudo-device sl 1 # Kernel SLIPsl is for SLIP support. This has been almost
entirely supplanted by PPP, which is easier to set up, better suited
@@ -917,8 +859,7 @@ pseudo-device sl 1 # Kernel SLIPnumber after sl
specifies how many simultaneous SLIP sessions to support.
-
-pseudo-device ppp 1 # Kernel PPP
+ pseudo-device ppp 1 # Kernel PPPThis is for kernel PPP support for dial-up connections. There
is also a version of PPP implemented as a userland application that
@@ -927,8 +868,7 @@ pseudo-device ppp 1 # Kernel PPPppp specifies how many simultaneous PPP
connections to support.
-
-pseudo-device tun # Packet tunnel.
+ pseudo-device tun # Packet tunnel.This is used by the userland PPP software. The
number after tun
@@ -950,26 +890,22 @@ pseudo-device pty # Pseudo-ttys (telnet etc)
and/or remote logins, be sure to increase this number accordingly,
up to a maximum of 256.
-
-pseudo-device md # Memory disks
+ pseudo-device md # Memory disksMemory disk pseudo-devices.
-
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
+ pseudo-device gif 4 # IPv6 and IPv4 tunnelingThis implements IPv6 over IPv4 tunneling, IPv4 over IPv6
tunneling, IPv4 over IPv4 tunneling, and IPv6 over IPv6
tunneling.
-
-pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
+ pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)This pseudo-device captures packets that are sent to it and
diverts them to the IPv4/IPv6 translation daemon.
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+ # The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf # Berkeley packet filter
@@ -979,8 +915,7 @@ pseudo-device bpf # Berkeley packet filter
can be captured to disk and or examined with the &man.tcpdump.1;
program.
-
-# USB support
+ # USB support
#device uhci # UHCI PCI->USB interface
#device ohci # OHCI PCI->USB interface
#device usb # USB Bus (required)
@@ -1020,8 +955,7 @@ pseudo-device bpf # Berkeley packet filterSuppose you add the IDE CD-ROM support to the kernel. The line
to add is:
-
-device acd0
+ device acd0This means that you should look for some entries that start with
acd0 in the /dev
diff --git a/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml b/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml
index 337bc8242e..0fb1167a6b 100644
--- a/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml
@@ -1,7 +1,7 @@
@@ -272,8 +272,7 @@
and edit your configuration file. Uncomment (or add, if it does not
exist) the following line
-
-makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbolsRebuild the kernel. Due to the time stamp change on the Makefile,
there will be some other object files rebuild, for example
@@ -312,8 +311,7 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
To configure your kernel to include DDB, add the option line
-
-options DDB
+ options DDB
to your config file, and rebuild. (See Kernel Configuration for details on
diff --git a/en_US.ISO8859-1/books/handbook/kernelopts/chapter.sgml b/en_US.ISO8859-1/books/handbook/kernelopts/chapter.sgml
index 28fcdb26ed..1e91b5cae7 100644
--- a/en_US.ISO8859-1/books/handbook/kernelopts/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/kernelopts/chapter.sgml
@@ -1,7 +1,7 @@
@@ -37,8 +37,7 @@
concept in mind, i.e., the default can be overridden by the
config option. This is usually done with something like:
-
-#ifndef THIS_OPTION
+ #ifndef THIS_OPTION
#define THIS_OPTION (some_default_value)
#endif /* THIS_OPTION */
@@ -52,8 +51,7 @@
It is also possible to create value-less options that simply enable
or disable a particular piece of code by embracing it in
-
-#ifdef THAT_OPTION
+ #ifdef THAT_OPTION
[your code here]
@@ -68,8 +66,7 @@
is at least a single #ifdef referencing it...
However, it's unlikely that many people would put
-
-options notyet,notdef
+ options notyet,notdefin their config file, and then wonder why the kernel compilation
falls over. :-)
diff --git a/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml b/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml
index 086e29c31a..28d9c6dbf1 100644
--- a/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml
@@ -1,7 +1,7 @@
@@ -79,8 +79,7 @@
Language Code, Country Code, and Encoding. Locale names are
constructed from these parts as follows:
-
-LanguageCode_CountryCode.Encoding
+ LanguageCode_CountryCode.EncodingLanguage and Country Codes
@@ -231,8 +230,7 @@
directory which has both variables set for Latin-1
encoding:
-
-german:German User:\
+ german:German User:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO_8859-1:
@@ -242,8 +240,7 @@ german:German User:\
more variables set because some software does not respect
locale variables correctly for Chinese, Japanese, and Korean.
-
-#Users who do not wish to use monetary units or time formats
+ #Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
taiwan:Taiwanese User:\
lang=zh_TW.Big5:\
@@ -268,8 +265,7 @@ taiwan:Taiwanese User:\
correct language user's class. Make sure these settings
appear in /etc/login.conf:
-
-language_name:accounts_title:\
+ language_name:accounts_title:\
:charset=MIME_charset:\
:lang=locale_name:\
:tc=default:
@@ -277,8 +273,7 @@ taiwan:Taiwanese User:\
So sticking with our previous example using Latin-1, it
would look like this:
-
-german:German Users Accounts:\
+ german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO_8859-1:\
:tc=default:
@@ -288,8 +283,7 @@ german:German Users Accounts:\
Use vipw to add new users, and make
the entry look like this:
-
-user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
+ user:password:1111:11:language:0:0:User Name:/home/user:/bin/shChanging Login Classes with &man.adduser.8;
@@ -348,14 +342,12 @@ user:password:1111:11:language:0:0:User Name:/home/us
In /etc/profile:
-
-LANG=de_DE.ISO_8859-1; export LANG
+ LANG=de_DE.ISO_8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETOr in /etc/csh.login:
-
-setenv LANG de_DE.ISO_8859-1
+ setenv LANG de_DE.ISO_8859-1setenv MM_CHARSET ISO-8859-1Alternatively, you can add the above instructions to
@@ -369,13 +361,11 @@ user:password:1111:11:language:0:0:User Name:/home/us
In $HOME/.xinitrc:
-
-LANG=de_DE.ISO_8859-1; export LANG
+ LANG=de_DE.ISO_8859-1; export LANGOr:
-
-setenv LANG de_DE.ISO_8859-1
+ setenv LANG de_DE.ISO_8859-1Depending on your shell (see above).
@@ -389,8 +379,7 @@ user:password:1111:11:language:0:0:User Name:/home/us
console fonts in /etc/rc.conf for the
language in question with:
-
-font8x16=font_name
+ font8x16=font_name
font8x14=font_name
font8x8=font_name
@@ -405,8 +394,7 @@ font8x8=font_nameConsole. Alternatively, you can add the
following to /etc/rc.conf:
-
-scrnmap=screenmap_name
+ scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence"
@@ -441,8 +429,7 @@ keychange="fkey_number sequence"
mouse cursor the sc0 console driver. To enable the workaround,
insert the following line into the kernel config.
-
-options SC_MOUSE_CHAR=0x03
+ options SC_MOUSE_CHAR=0x03The keymap_name here is taken from
the /usr/share/syscons/keymaps directory,
@@ -671,13 +658,11 @@ options SC_MOUSE_CHAR=0x03In sh-based shells:
-
-LD_PRELOAD=/usr/lib/libxpg4.so
+ LD_PRELOAD=/usr/lib/libxpg4.soIn C-based shells:
-
-setenv LD_PRELOAD /usr/lib/libxpg4.so
+ setenv LD_PRELOAD /usr/lib/libxpg4.so
@@ -701,8 +686,7 @@ options SC_MOUSE_CHAR=0x03Put the following lines into your
~/.login_conf file:
-
-me:My Account:\
+ me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:
@@ -718,16 +702,14 @@ me:My Account:\
Add the following to your kernel configuration
file:
-
-options SC_MOUSE_CHAR=0x03
+ options SC_MOUSE_CHAR=0x03Use following settings in
/etc/rc.conf:
-
-keymap="ru.koi8-r"
+ keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
@@ -756,8 +738,7 @@ font8x8="cp866-8x8"
A Russian printer /etc/printcap entry
should look like:
-
-lp|Russian local line printer:\
+ lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
@@ -770,8 +751,7 @@ lp|Russian local line printer:\
The following example &man.fstab.5; entry enables support
for Russian filenames in mounted MS-DOS filesystems:
-
-/dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0
+ /dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0See &man.mount.msdos.8; for a detailed description of the
and options.
@@ -814,8 +794,7 @@ lp|Russian local line printer:\
lines must be added before any other
FontPath entries:
-
-FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
+ FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
@@ -830,14 +809,12 @@ FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"For XFree86 v3.*:
-
-XkbLayout "ru"
+ XkbLayout "ru"
XkbOptions "grp:caps_toggle"For XFree86 v4.*:
-
-Option "XkbLayout" "ru"
+ Option "XkbLayout" "ru"
Option "XkbOptions" "grp:caps_toggle"Also make sure that XkbDisable is
@@ -855,13 +832,11 @@ Option "XkbOptions" "grp:caps_toggle"For XFree86 v3.*:
-
-XkbVariant "winkeys"
+ XkbVariant "winkeys"For XFree86 v4.*:
-
-Option "XkbVariant" "winkeys"
+ Option "XkbVariant" "winkeys"The Russian XKB keyboard may not work with old XFree86
diff --git a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index 67db423a39..71154577c7 100644
--- a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,7 +1,7 @@
@@ -68,8 +68,7 @@
This, in turn, triggers the following action in
/etc/rc.i386:
-
-# Start the Linux binary compatibility if requested.
+ # Start the Linux binary compatibility if requested.
#
case ${linux_enable} in
[Yy][Ee][Ss])
@@ -261,8 +260,7 @@ Abort
/compat/linux/etc/host.conf file
containing:
-
-order hosts, bind
+ order hosts, bind
multi onThe order here specifies that /etc/hosts
diff --git a/en_US.ISO8859-1/books/handbook/mail/chapter.sgml b/en_US.ISO8859-1/books/handbook/mail/chapter.sgml
index 9b723687a7..a03c97a84a 100644
--- a/en_US.ISO8859-1/books/handbook/mail/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/mail/chapter.sgml
@@ -1,7 +1,7 @@
@@ -172,13 +172,11 @@
As a good workaround, you can place the line:
-
-search foo.bar.edu bar.edu
+ search foo.bar.edu bar.edu
instead of the previous:
-
-domain foo.bar.edu
+ domain foo.bar.edu
into your /etc/resolv.conf. However, make
sure that the search order does not go beyond the
@@ -196,8 +194,7 @@ domain foo.bar.eduThis is answered in the sendmail FAQ as follows:
-
-* I am getting Local configuration error messages, such as:
+ * I am getting Local configuration error messages, such as:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
@@ -235,8 +232,7 @@ to /etc/sendmail.cf.The key is to get a Internet site to provide secondary MX
service for your domain. For example:
-
-bigco.com. MX 10 bigco.com.
+ bigco.com. MX 10 bigco.com.
MX 20 smalliap.com.Only one host should be specified as the final recipient
@@ -256,8 +252,7 @@ bigco.com. MX 10 bigco.com.
You might want to use something like this as a login
script.
-
-#!/bin/sh
+ #!/bin/sh
# Put me in /usr/local/bin/pppbigco
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppbigco
@@ -271,8 +266,7 @@ bigco.com. MX 10 bigco.com.
Message stolen from the &a.isp;.
-
-> we provide the secondary MX for a customer. The customer connects to
+ > we provide the secondary MX for a customer. The customer connects to
> our services several times a day automatically to get the mails to
> his primary MX (We do not call his site when a mail for his domains
> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
@@ -388,8 +382,7 @@ example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
role="fqdn">freefall.FreeBSD.org at one time looked like
this:
-
-freefall MX 30 mail.crl.net
+ freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com
@@ -424,8 +417,7 @@ freefall MX 20 who.cdrom.com
exchange for each workstation on the network. This is done in
your DNS configuration like so:
-
-example.FreeBSD.org A 204.216.27.XX ; Workstation
+ example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 hub.FreeBSD.org ; MailhostThis will redirect mail for the workstation to the mailhost no
@@ -445,8 +437,7 @@ example.FreeBSD.org A 204.216.27.XX ; Workstation
role="fqdn">mail.myhost.com. The entry in your DNS
should look like this:
-
-customer1.org MX 10 mail.myhost.com
+ customer1.org MX 10 mail.myhost.comYou do not need an A record if you only
want to handle email for the domain.
diff --git a/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml b/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
index 4b09719462..6ce94bcbb6 100644
--- a/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1778,8 +1778,7 @@
simply list the collections, one per line (in this case,
only one line):
-
-src-all
+ src-all
@@ -2016,8 +2015,7 @@ src-all
add this line at the beginning of our
supfile:
-
-*default tag=.
+ *default tag=.There is an important special case that comes into play
if you specify neither a tag= field nor a
@@ -2044,8 +2042,7 @@ src-all
use a fictional FreeBSD distribution site,
cvsup666.FreeBSD.org:
-
-*default host=cvsup666.FreeBSD.org
+ *default host=cvsup666.FreeBSD.orgYou will need to change the host to one that actually
exists before running CVSup. On any particular run of
@@ -2066,8 +2063,7 @@ src-all
the collections we have chosen to receive, so this is the
correct specification:
-
-*default prefix=/usr
+ *default prefix=/usr
@@ -2081,8 +2077,7 @@ src-all
already received. We will use the standard base directory,
/usr/local/etc/cvsup:
-
-*default base=/usr/local/etc/cvsup
+ *default base=/usr/local/etc/cvsupThis setting is used by default if it is not specified
in the supfile, so we actually do not
@@ -2102,8 +2097,7 @@ src-all
needs to be present in the
supfile:
-
-*default release=cvs delete use-rel-suffix compress
+ *default release=cvs delete use-rel-suffix compressrelease=cvs indicates that the server
should get its information out of the main FreeBSD CVS
@@ -2138,8 +2132,7 @@ src-allHere is the entire supfile for our
example:
-
-*default tag=.
+ *default tag=.
*default host=cvsup666.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
@@ -3755,8 +3748,7 @@ src-allThe path to the files are:
/afs/stacken.kth.se/ftp/pub/FreeBSD/
-
-stacken.kth.se # Stacken Computer Club, KTH, Sweden
+ stacken.kth.se # Stacken Computer Club, KTH, Sweden
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.se
diff --git a/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml b/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml
index cdec867374..60b7ad1b7d 100644
--- a/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,7 +1,7 @@
@@ -101,8 +101,7 @@
and
-
-device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15
+ device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15to your kernel. Those are the default settings. You may
need to change the IRQ, etc. See the &man.sbc.4; man page for
@@ -134,8 +133,7 @@ device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15and
-
-device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
+ device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13to your kernel. You may need to change the IRQ, etc. See
the &man.gusc.4; man page for more information.
@@ -166,8 +164,7 @@ device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
sound card that does not have a bridge driver, you will need
to add
-
-device pcm0 at isa? irq 10 drq 1 flags 0x0
+ device pcm0 at isa? irq 10 drq 1 flags 0x0to your kernel configuration. You may need to change the
IRQ, etc., to match your hardware configuration.
@@ -190,8 +187,7 @@ device pcm0 at isa? irq 10 drq 1 flags 0x0
/dev/sndstat. You should see output similar to the
following:
-
-FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
+ FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices:
pcm0: <Aureal Vortex 8830> at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)
diff --git a/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml
index 0da30d93c4..32572203e2 100644
--- a/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1187,8 +1187,7 @@ F/U/FPM/mYbWNUELgSmN/YkSwWLGgfjcCObTwgd0FOW7XZuJ71R7ytBEn5kDt3bc
vULsB4kAPwMFGDSMdS7YyjFxW6BSwxECd5YAoKUcWpHjSL1KbOH3Ud52avzESk7C
AKCOQUeC622jsKntTOR5R9Vv4wyyKQ==
=L8Lf
------END PGP PUBLIC KEY BLOCK-----
-
+-----END PGP PUBLIC KEY BLOCK-----
@@ -1414,8 +1413,7 @@ gVMMZjZ7QiiO1LGl6IIiKRtJIXi45PcHtYgSZlXKflqPHhEIrOhFwpV+C7uL5jnv
ATGhlLHxWuNLTlPAVD5FsdJdOHI7UdkJh19JpphV+usu/mihMFEfM/kOVJeTXed1
0E4T
=Qwmg
------END PGP PUBLIC KEY BLOCK-----
-
+-----END PGP PUBLIC KEY BLOCK-----
@@ -1476,8 +1474,7 @@ cJowZeBj8Ss1QZsVzeyfAAQLA/0ZwjK242AXkXjibtzEfZqK7l22D9xIT+ajc6zP
7d/fJohMBBgRAgAMBQI6YpCpBQkB4TOAAAoJEG0Me8YVvhIOT9EAoKloqPBTtp9p
JAEew3wXXri0oNIvAKDP6fbrVo2vbD2iZXw2m3Y2E/z5qA==
=rQiL
------END PGP PUBLIC KEY BLOCK-----
-
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/en_US.ISO8859-1/books/handbook/policies/chapter.sgml b/en_US.ISO8859-1/books/handbook/policies/chapter.sgml
index 0b33eff446..4144cf20f2 100644
--- a/en_US.ISO8859-1/books/handbook/policies/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/policies/chapter.sgml
@@ -1,7 +1,7 @@
@@ -21,8 +21,7 @@
maintained by a person or group of persons, they can communicate this
fact to the world by adding a
-
-MAINTAINER= email-addresses
+ MAINTAINER= email-addresses
line to the Makefiles covering this portion of the
source tree.
@@ -178,8 +177,7 @@ MAINTAINER= email-addresses
FREEBSD-upgrade ; cvs ci after the initial import. Example
wording from src/contrib/cpio is below:
-
-This directory contains virgin sources of the original distribution files
+ This directory contains virgin sources of the original distribution files
on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
the files in this directory via patches and a cvs commit. New versions or
official-patch versions must be imported. Please remember to import with
diff --git a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml
index af6741f0e8..b3c5197eb8 100644
--- a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,7 +1,7 @@
@@ -133,8 +133,7 @@
configuration file. It should have the following line somewhere
in it:
-
-pseudo-device tun 1
+ pseudo-device tun 1If this line is not present, you will need to add it to the
configuration file and recompile your kernel. The stock
@@ -250,8 +249,7 @@ tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
This file should contain the following two lines (in this
order):
-
-hosts
+ hosts
bindThese instruct the resolver to first look in the file
@@ -270,8 +268,7 @@ bind
role="ipaddr">10.0.0.1,
/etc/hosts should contain:
-
-127.0.0.1 localhost.bar.com localhost
+ 127.0.0.1 localhost.bar.com localhost
127.0.0.1 localhost.bar.com.
10.0.0.1 foo.bar.com foo
10.0.0.1 foo.bar.com.
@@ -298,8 +295,7 @@ bind
may leave this file empty. Normally, you will need to enter
the following line(s):
-
-domain bar.com
+ domain bar.com
nameserver x.x.x.x
nameserver y.y.y.y
@@ -351,8 +347,7 @@ nameserver y.y.y.y
using spaces or tabs.
-
-1 default:
+ 1 default:
2 set device /dev/cuaa0
3 set speed 115200
4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT"
@@ -545,8 +540,7 @@ protocol: ppp
PPP and Static IP
Addresses, with the following change:
-
-9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
+ 9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0Again, do not include the line numbers, they are just for
reference. Indentation of at least one space is
@@ -583,8 +577,7 @@ protocol: ppp
used. The following entry will delete the existing bogus
routes, and create correct ones:
-
-1 provider:
+ 1 provider:
2 delete ALL
3 add 0 0 HISADDR
@@ -655,8 +648,7 @@ protocol: ppp
also confirm that the /etc/rc.conf file
contains the following:
-
-gateway="YES"
+ gateway="YES"Which getty?
@@ -702,8 +694,7 @@ gateway="YES"
sections of the configuration file using the
allow command:
-
-allow users fred mary
+ allow users fred maryIf this command is used in the default
section, it gives the specified users access to
@@ -717,8 +708,7 @@ allow users fred mary/etc/ppp/ppp-shell containing the
following:
-
-#!/bin/sh
+ #!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
@@ -745,8 +735,7 @@ exec /usr/sbin/ppp -direct $IDENTpchilds (remember don't directly edit
the password file, use vipw).
-
-pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
+ pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupCreate a /home/ppp directory that
is world readable containing the following 0 byte
@@ -787,8 +776,7 @@ pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupThe /etc/ppp/ppp.conf file should
contain something along the lines of:
-
-default:
+ default:
set debug phase lcp chat
set timeout 0
@@ -823,8 +811,7 @@ ttyd1:
sam, and mary
example.
-
-fred:
+ fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
@@ -839,8 +826,7 @@ mary:
role="ipaddr">203.14.101.0 class C via the
client's ppp link.
-
-fred:
+ fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
@@ -876,8 +862,7 @@ mary:
/usr/local/etc/mgetty+sendfax/login.config
file has the following in it:
-
-/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
+ /AutoPPP/ - - /etc/ppp/ppp-pap-dialupThis will tell mgetty to run the
ppp-pap-dialup script for detected PPP
@@ -887,8 +872,7 @@ mary:
/etc/ppp/ppp-pap-dialup containing the
following (the file should be executable):
-
-#!/bin/sh
+ #!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENTFor each dialup line enabled in
@@ -897,8 +881,7 @@ exec /usr/sbin/ppp -direct pap$IDENT
happily co-exist with the definitions we created
above.
-
-pap:
+ pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxy
@@ -909,8 +892,7 @@ pap:
alternatively add the following option to authenticate users
via PAP from /etc/password file.
-
-enable passwdauth
+ enable passwdauthIf you wish to assign some users a static IP number, you
can specify the number as the third argument in
@@ -929,15 +911,13 @@ enable passwdauth
following lines might be added to the relevant section of
/etc/ppp/ppp.conf.
-
-enable msext
+ enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5And for PPP version 2 and above:
-
-accept dns
+ accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
@@ -970,8 +950,7 @@ set nbns 203.14.100.5
linkend="userppp-dynamicIP">PPP and Dynamic IP addresses
sections, the following alterations must be made:
-
-7 set login
+ 7 set login
…
12 set authname MyUserName
13 set authkey MyPassword
@@ -1011,13 +990,11 @@ set nbns 203.14.100.5MyPassword. You may want to
add an additional line, such as:
-
-15 accept PAP
+ 15 accept PAPor
-
-15 accept CHAP
+ 15 accept CHAPto make it obvious that this is the intention, but
PAP and CHAP are both accepted by default.
@@ -1035,8 +1012,7 @@ set nbns 203.14.100.5
suitable diagnostic port has been set up. To do this, add the
following line to your configuration:
-
-set server /var/run/ppp-tun%d DiagnosticPassword 0177
+ set server /var/run/ppp-tun%d DiagnosticPassword 0177This will tell PPP to listen to the specified unix-domain
socket, asking clients for the specified password before
@@ -1061,8 +1037,7 @@ set server /var/run/ppp-tun%d DiagnosticPassword 0177Working from the top down in this file, make sure the
hostname= line is set, e.g.:
-
-hostname="foo.bar.com"
+ hostname="foo.bar.com"If your ISP has supplied you with a static IP address and
name, it's probably best that you use this name as your host
@@ -1073,8 +1048,7 @@ hostname="foo.bar.com"
make sure the tun0 device is added to
the list, otherwise remove it.
-
-network_interfaces="lo0 tun0" ifconfig_tun0=
+ network_interfaces="lo0 tun0" ifconfig_tun0=The ifconfig_tun0 variable should be
@@ -1082,8 +1056,7 @@ network_interfaces="lo0 tun0" ifconfig_tun0=/etc/start_if.tun0 should be created.
This file should contain the line:
-
-ppp -auto mysystem
+ ppp -auto mysystemThis script is executed at network configuration time,
starting your ppp daemon in automatic mode. If you have a LAN
@@ -1095,8 +1068,7 @@ ppp -auto mysystemSet the router program to NO with
following line in your /etc/rc.conf:
-
-router_enable="NO"
+ router_enable="NO"It is important that the routed daemon is
not started (it is started by default), as it
@@ -1110,8 +1082,7 @@ router_enable="NO"
every now and then, possibly causing your machine to dial out.
You may try:
-
-sendmail_flags="-bd"
+ sendmail_flags="-bd"The downside of this is that you must force
sendmail to re-examine the mail queue
@@ -1122,8 +1093,7 @@ sendmail_flags="-bd"You may wish to use the !bg command in
ppp.linkup to do this automatically:
-
-1 provider:
+ 1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30m
@@ -1285,8 +1255,7 @@ sendmail_flags="-bd"I used the following /etc/ppp/options to
connect to CISCO terminal server PPP line.
-
-crtscts # enable hardware flow control
+ crtscts # enable hardware flow control
modem # modem control line
noipdefault # remote PPP server must supply your IP address.
# if the remote host doesn't send your IP during IPCP
@@ -1332,8 +1301,7 @@ defaultroute # put this if you want that PPP server will be your
Following /etc/ppp/pppup script will make
all 3 stages automatically:
-
-#!/bin/sh
+ #!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
@@ -1361,8 +1329,7 @@ pppd /dev/tty01 19200Use the following /etc/ppp/pppdown script
to disconnect the PPP line:
-
-#!/bin/sh
+ #!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
@@ -1385,8 +1352,7 @@ kermit -y /etc/ppp/kermit.hup
/usr/etc/ppp/ppptest, which should look like
this:
-
-#!/bin/sh
+ #!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
@@ -1401,8 +1367,7 @@ ifconfig ppp0/etc/ppp/kermit.hup, which should
contain:
-
-set line /dev/tty01 ; put your modem device here
+ set line /dev/tty01 ; put your modem device here
set speed 19200
set file type binary
set file names literal
@@ -1429,8 +1394,7 @@ exit/etc/ppp/options:
-
-/dev/cuaa1 115200
+ /dev/cuaa1 115200
crtscts # enable hardware flow control
modem # modem control line
@@ -1455,8 +1419,7 @@ defaultroute # put this if you want that PPP server will be
The following should go on a single line.
-
-ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
+ ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
TIMEOUT 5 sword: <password>
@@ -1476,8 +1439,7 @@ ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
/etc/ppp/options should contain something
similar to the following:
-
-crtscts # Hardware flow control
+ crtscts # Hardware flow control
netmask 255.255.255.0 # netmask ( not required )
192.114.208.20:192.114.208.165 # ip's of local and remote hosts
# local ip must be different from one
@@ -1493,8 +1455,7 @@ modem # modem line
will enable tell pppd to behave as a
server:
-
-#!/bin/sh
+ #!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
@@ -1521,8 +1482,7 @@ pppd /dev/tty01 19200Use this /etc/ppp/pppservdown script to
stop the server:
-
-#!/bin/sh
+ #!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
@@ -1544,8 +1504,7 @@ kermit -y /etc/ppp/kermit.noans
(/etc/ppp/kermit.ans) will enable/disable
autoanswer mode on your modem. It should look like this:
-
-set line /dev/tty01
+ set line /dev/tty01
set speed 19200
set file type binary
set file names literal
@@ -1575,8 +1534,7 @@ exit
in this script; you will also need to change the input statement
depending on responses from your modem and remote host.
-
-;
+ ;
; put the com line attached to the modem here:
;
set line /dev/tty01
@@ -1756,8 +1714,7 @@ exit 1
Here is an example of a working
ppp.conf:
-
-default: # or name_of_service_provider
+ default: # or name_of_service_provider
set device PPPoE:xl1 # replace xl1 with your ethernet device
set mru 1492
set mtu 1492
@@ -1797,8 +1754,7 @@ papchap:
Add the following to your /etc/rc.conf
file:
-
-ppp_enable="YES"
+ ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="default" # or your provider
@@ -1836,8 +1792,7 @@ ppp_profile="default" # or your providerMake sure you have the following in your kernel configuration
file:
-
-pseudo-device sl 1
+ pseudo-device sl 1It is included in the GENERIC kernel, so
this should not be a problem unless you have deleted it.
@@ -1851,8 +1806,7 @@ pseudo-device sl 1
your /etc/hosts file. Mine looks like
this:
-
-127.0.0.1 localhost loghost
+ 127.0.0.1 localhost loghost
136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
128.32.136.9 ns1.Berkeley.edu ns1
@@ -1874,8 +1828,7 @@ pseudo-device sl 1Set your hostname by editing the line that
says:
-
-hostname=myname.my.domain
+ hostname=myname.my.domainYou should give it your full Internet
hostname.
@@ -1885,34 +1838,29 @@ hostname=myname.my.domainAdd sl0 to the list of network interfaces by
changing the line that says:
-
-network_interfaces="lo0"
+ network_interfaces="lo0"to:
-
-network_interfaces=lo0 sl0
+ network_interfaces=lo0 sl0Set the startup flags of sl0 by adding a
line:
-
-ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
+ ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"Designate the default router by changing the
line:
-
-defaultrouter=NO
+ defaultrouter=NOto:
-
-defaultrouter=slip-gateway
+ defaultrouter=slip-gateway
@@ -1921,8 +1869,7 @@ defaultrouter=slip-gatewayMake a file /etc/resolv.conf which
contains:
-
-domain HIP.Berkeley.EDU
+ domain HIP.Berkeley.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
@@ -1956,8 +1903,7 @@ nameserver 128.32.136.12
to enter depends on your environment. I use kermit, with a
script like this:
-
-# kermit setup
+ # kermit setup
set modem hayes
set line /dev/modem
set speed 115200
@@ -2142,8 +2088,7 @@ silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
something like this (except it would be all on one
line):
-
-Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
+ Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginWhen Shelmerg logs in,
sliplogin will search
@@ -2152,16 +2097,14 @@ Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/s
/etc/sliphome/slip.hosts that
reads:
-
-Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
+ Shelmerg dc-slip sl-helmer 0xfffffc00 autocompsliplogin will find that matching line,
hook the serial line into the next available SLIP interface,
and then execute /etc/sliphome/slip.login
like this:
-
-/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
+ /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompIf all goes well,
/etc/sliphome/slip.login will issue an
@@ -2230,8 +2173,7 @@ sl1* 296 <Link> 0 0 0 0
configuration file (/sys/i386/conf/GENERIC)
is a line that reads:
-
-pseudo-device sl 2
+ pseudo-device sl 2This is the line that defines the number of SLIP devices
available in the kernel; the number at the end of the line is
@@ -2293,8 +2235,7 @@ pseudo-device sl 2/etc/sliphome/slip.hosts looks like
this:
-
-#
+ #
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
@@ -2371,8 +2312,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompThe typical /etc/sliphome/slip.login
file looks like this:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
@@ -2394,8 +2334,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp/etc/sliphome/slip.login
file will need to look something like this:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
@@ -2457,8 +2396,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompslip.logout script:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# slip.logout
@@ -2474,8 +2412,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp/etc/sliphome/slip.logout remove the
ARP entry for the SLIP client:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# @(#)slip.logout
@@ -2550,8 +2487,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
-
-#
+ #
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
diff --git a/en_US.ISO8859-1/books/handbook/printing/chapter.sgml b/en_US.ISO8859-1/books/handbook/printing/chapter.sgml
index d403e08700..e051507867 100644
--- a/en_US.ISO8859-1/books/handbook/printing/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/printing/chapter.sgml
@@ -1,7 +1,7 @@
@@ -482,8 +482,7 @@ sio2: type 16550A
If you want interrupt-driven mode, add the
irq specifier:
-
-device lpt0 at isa? port? tty irq N vector lptintr
+ device lpt0 at isa? port? tty irq N vector lptintrWhere N is the IRQ
number for your computer's parallel port.
@@ -493,8 +492,7 @@ device lpt0 at isa? port? tty irq N vector lptintrIf you want polled mode, do not add the
irq specifier:
-
-device lpt0 at isa? port? tty vector lptintr
+ device lpt0 at isa? port? tty vector lptintr
@@ -553,8 +551,7 @@ device lpt0 at isa? port? tty vector lptintr
will need a more sophisticated test. A small PostScript
program, such as the following, will suffice:
-
-%!PS
+ %!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
@@ -650,8 +647,7 @@ showpageEdit the file /etc/remote. Add
the following entry:
-
-printer:dv=/dev/port:br#bps-rate:pa=parity
+ printer:dv=/dev/port:br#bps-rate:pa=parityWhere port is the device
entry for the serial port (ttyd0,
@@ -667,8 +663,7 @@ printer:dv=/dev/port:br#bps-rate
-
-printer:dv=/dev/ttyd2:br#19200:pa=none
+ printer:dv=/dev/ttyd2:br#19200:pa=none
@@ -856,8 +851,7 @@ printer:dv=/dev/ttyd2:br#19200:pa=none
(a Diablo 630 line printer and a Panasonic KX-P4455 PostScript
laser printer):
-
-#
+ #
# /etc/printcap for host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
@@ -893,8 +887,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:/etc/printcap with sh
added:
-
-#
+ #
# /etc/printcap for host rose - no header pages anywhere
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -959,8 +952,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
specify the pathname of the spooling directory with the
sd capability:
-
-#
+ #
# /etc/printcap for host rose - added spooling directories
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1000,8 +992,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
bamboo is on a sixth serial port; here are
the additions to /etc/printcap:
-
-#
+ #
# /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1129,8 +1120,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
LITOUT and PASS8
flags:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
+ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
@@ -1169,8 +1159,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
text filter. Put the following text into that file with your
favorite text editor:
-
-#!/bin/sh
+ #!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
@@ -1190,8 +1179,7 @@ exit 2
printers we have so far in the example
/etc/printcap:
-
-#
+ #
# /etc/printcap for host rose - added text filter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1255,8 +1243,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
the program. If you are using &man.lptest.1;, then your
results should look like the following:
-
-!"#$%&'()*+,-./01234
+ !"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
@@ -1636,8 +1623,7 @@ $%&'()*+,-./01234567
PostScript printer's entry in
/etc/printcap:
-
-:if=/usr/local/libexec/psif:
+ :if=/usr/local/libexec/psif:You should also specify the rw capability;
that tells LPD to open the printer in read-write mode.
@@ -1647,8 +1633,7 @@ $%&'()*+,-./01234567
lprps needs), you can use the following shell
script as the text filter:
-
-#!/bin/sh
+ #!/bin/sh
#
# psif - Print PostScript or plain text on a PostScript printer
# Script version; NOT the version that comes with lprps
@@ -1711,8 +1696,7 @@ fi
-h to get a list of devices the current installation of
Ghostscript supports.)
-
-#!/bin/sh
+ #!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
# Installed in /usr/local/libexec/hpif
@@ -1761,8 +1745,7 @@ exit 2Finally, you need to notify LPD of the filter via the
if capability:
-
-:if=/usr/local/libexec/hpif:
+ :if=/usr/local/libexec/hpif:That is it. You can type lpr plain.text and
lpr whatever.ps and both should print
@@ -1924,8 +1907,7 @@ exit 2
the new df capability for the printer
bamboo.
-
-#
+ #
# /etc/printcap for host rose - added df filter for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1943,8 +1925,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
/usr/local/libexec/psdf. Here is that
script:
-
-#!bin/sh
+ #!bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
@@ -1975,8 +1956,7 @@ exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
conversion filter for a Hewlett Packard LaserJet III-Si
printer:
-
-#!/bin/sh
+ #!/bin/sh
#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
@@ -1994,8 +1974,7 @@ giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
Here is the /etc/printcap file with an
entry for a printer using the above filter:
-
-#
+ #
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -2007,8 +1986,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
from the groff typesetting system for the PostScript printer named
bamboo:
-
-#!/bin/sh
+ #!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
@@ -2019,8 +1997,7 @@ exec grops | /usr/local/libexec/lprps "$@"
to handle the communication with the printer. If the printer were
on a parallel port, we would use this script instead:
-
-#!/bin/sh
+ #!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
@@ -2030,16 +2007,14 @@ exec gropsThat is it. Here is the entry we need to add to
/etc/printcap to enable the filter:
-
-:tf=/usr/local/libexec/pstf:
+ :tf=/usr/local/libexec/pstf:Here is an example that might make old hands at FORTRAN blush.
It is a FORTRAN-text filter for any printer that can directly
print plain text. We will install it for the printer
teak:
-
-#!/bin/sh
+ #!/bin/sh
#
# hprf - FORTRAN text filter for LaserJet 3si:
# Installed in /usr/local/libexec/hprf
@@ -2053,8 +2028,7 @@ exit 2/etc/printcap for the printer
teak to enable this filter:
-
-:rf=/usr/local/libexec/hprf:
+ :rf=/usr/local/libexec/hprf:Here is one final, somewhat complex example. We will add a
DVI filter to the LaserJet printer teak
@@ -2062,8 +2036,7 @@ exit 2/etc/printcap with the location of the DVI
filter:
-
-:df=/usr/local/libexec/hpdf:
+ :df=/usr/local/libexec/hpdf:Now, for the hard part: making the filter. For that, we need
a DVI-to-LaserJet/PCL conversion program. The FreeBSD ports
@@ -2103,8 +2076,7 @@ exit 2Here, finally, is the filter:
-
-#!/bin/sh
+ #!/bin/sh
#
# hpdf - Print DVI data on HP/PCL printer
# Installed in /usr/local/libexec/hpdf
@@ -2347,8 +2319,7 @@ exit 0
Here is an example output filter for Hewlett Packard PCL-compatible
printers:
-
-#!/bin/sh
+ #!/bin/sh
#
# hpof - Output filter for Hewlett Packard PCL-compatible printers
# Installed in /usr/local/libexec/hpof
@@ -2365,8 +2336,7 @@ exec /usr/libexec/lpr/lpf
the printer teak that we introduced earlier; we
enabled header pages and added the above output filter:
-
-#
+ #
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -2398,8 +2368,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
user, host, and job. Here is an example (kelly printed the job
named outline from host rose):
-
- k ll ll
+ k ll ll
k l l
k l l
k k eeee l l y y
@@ -2457,8 +2426,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
/etc/printcap file. The header page will look
like this:
-
-rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
+ rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995Also by default, LPD prints the header page first, then the job.
To reverse that, specify hl (header last) in
@@ -2553,8 +2521,7 @@ rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
arguments (user login name, host name, and job name) and makes a
simple PostScript header page:
-
-#!/bin/sh
+ #!/bin/sh
#
# make-ps-header - make a PostScript header page on stdout
# Installed in /usr/local/libexec/make-ps-header
@@ -2639,8 +2606,7 @@ EOF
user's job. Here is the DVI conversion filter from earlier in this
document, modified to make a header page:
-
-#!/bin/sh
+ #!/bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
@@ -2832,8 +2798,7 @@ done
teak; we have added entries for the two printers
on the host rose:
-
-#
+ #
# /etc/printcap for host orchid - added (remote) printers on rose
#
@@ -2911,8 +2876,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
want to take advantage of that (to get printer status, perform
accounting, etc.).
-
-#!/usr/bin/perl
+ #!/usr/bin/perl
#
# netprint - Text filter for printer attached to network
# Installed in /usr/local/libexec/netprint
@@ -2942,8 +2906,7 @@ exit 0;
printer is scrivener. Here is the text filter for the
printer:
-
-#!/bin/sh
+ #!/bin/sh
#
# diablo-if-net - Text filter for Diablo printer `scrivener' listening
# on port 5100. Installed in /usr/local/libexec/diablo-if-net
@@ -2993,8 +2956,7 @@ exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100sc
capability:
-
-#
+ #
# /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -3014,8 +2976,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
disable multiple copies for the printer
teak):
-
-#
+ #
# /etc/printcap for host orchid - no multiple copies for local
# printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -3070,8 +3031,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
is the familiar /etc/printcap for host
rose:
-
-#
+ #
# /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -3131,8 +3091,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
to five megabytes. We will put no limit on the plain text line
printer:
-
-#
+ #
# /etc/printcap for host rose
#
@@ -3196,8 +3155,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
/etc/hosts.lpd file on the host
rose:
-
-orchid
+ orchid
violet
madrigal.fishbaum.de
@@ -3232,8 +3190,7 @@ madrigal.fishbaum.de
directory for this printer; here is bamboo's
entry:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
+ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\
:if=/usr/local/libexec/psif:\
@@ -3363,8 +3320,7 @@ boo/minfree
the printer, it then writes an accounting entry in the accounting
file. The entries look like this:
-
-2.00 rose:andy
+ 2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
@@ -4332,8 +4288,7 @@ cfA013rose dequeued
/usr/local/libexec/if-simple prints a
form feed after it sends the job to the printer:
-
-#!/bin/sh
+ #!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
@@ -4352,8 +4307,7 @@ exit 2You got the following on paper:
-
-!"#$%&'()*+,-./01234
+ !"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
@@ -4435,8 +4389,7 @@ exit 2
eject the last page of the job. It should work with
nearly all Hewlett Packard printers.
-
-#!/bin/sh
+ #!/bin/sh
#
# hpif - Simple text input filter for lpd for HP-PCL based printers
# Installed in /usr/local/libexec/hpif
@@ -4453,8 +4406,7 @@ exit 2
LaserJet 3Si named teak. It is using the
above script as its text filter:
-
-#
+ #
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -4575,8 +4527,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
the entry for rattan, with the
lf capability:
-
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
+ rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:\
diff --git a/en_US.ISO8859-1/books/handbook/security/chapter.sgml b/en_US.ISO8859-1/books/handbook/security/chapter.sgml
index 4ae8048bc0..15cf203fae 100644
--- a/en_US.ISO8859-1/books/handbook/security/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/security/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1094,8 +1094,7 @@ Enter secret password: <secret password>Here is a sample configuration file which illustrates the
three most common sorts of configuration statements:
-
-permit internet 192.168.0.0 255.255.0.0
+ permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0
@@ -2353,8 +2352,7 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Please be aware that in order to use this functionality, you
must have the following options compiled into your kernel:
-
-options IPSEC #IP security
+ options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/IPSEC)
diff --git a/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml
index 3d40626de3..46a36d754c 100644
--- a/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml
@@ -1,7 +1,7 @@
@@ -490,8 +490,7 @@
Here is an excerpt of the /etc/ttys file after
we add the new entry:
-
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
+ ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd5
@@ -528,8 +527,7 @@ ttyd5
Here is the /etc/ttys file so far (showing just
the two terminals in which we are interested):
-
-ttyd1 "/usr/libexec/getty std.38400" unknown off secure
+ ttyd1 "/usr/libexec/getty std.38400" unknown off secure
ttyd5 "/usr/libexec/getty std.19200"Note that the second field—where we specify what program
@@ -566,8 +564,7 @@ ttyd5 "/usr/libexec/getty std.19200"
Here are the pertinent yet unfinished entries from the
/etc/ttys file:
-
-ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
+ ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
ttyd5 "/usr/libexec/getty std.19200" vt100
@@ -586,8 +583,7 @@ ttyd5 "/usr/libexec/getty std.19200" vt100
Here again is the /etc/ttys file. We have
turned each port on.
-
-ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
+ ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
ttyd5 "/usr/libexec/getty std.19200" vt100 on
@@ -635,8 +631,7 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on/etc/ttys file, with comments added to describe
where the terminals are:
-
-ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
+ ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom
@@ -1054,8 +1049,7 @@ sio3: type 16550A
the name of your system, but in upper-case letters. Edit the file,
and change the device lines:
-
-device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
+ device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
@@ -1235,8 +1229,7 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1
gettytab file, so you do not need to add it
unless it is missing under your version of FreeBSD:
-
-#
+ #
# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
#
D2400|d2400|Fast-Dial-2400:\
@@ -1251,8 +1244,7 @@ D2400|d2400|Fast-Dial-2400:\
entry you could use for a 14.4 Kbps modem with a top interface
speed of 19.2 Kbps:
-
-#
+ #
# Additions for a V.32bis Modem
#
um|V300|High Speed Modem at 300,8-bit:\
@@ -1287,8 +1279,7 @@ uq|V19200|High Speed Modem at 19200,8-bit:\
higher communications rate than 19.2 Kbps. Here is an example of
a gettytab entry starting a 57.6 Kbps:
-
-#
+ #
# Additions for a V.32bis or V.34 Modem
# Starting at 57.6 Kbps
#
@@ -1327,8 +1318,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
line will be the same, whether you are using a locked-speed or
matching-speed configuration:
-
-ttyd0 "/usr/libexec/getty xxx" dialup on
+ ttyd0 "/usr/libexec/getty xxx" dialup onThe first item in the above line is the device special file for
this entry — ttyd0 means
@@ -1377,8 +1367,7 @@ ttyd0 "/usr/libexec/getty xxx" dialup on
speed is locked at 19.2 Kbps, the ttys entry
might look like this:
-
-ttyd0 "/usr/libexec/getty std.19200" dialup on
+ ttyd0 "/usr/libexec/getty std.19200" dialup onIf your modem is locked at a different data rate, substitute
the appropriate name for the
@@ -1400,8 +1389,7 @@ ttyd0 "/usr/libexec/getty std.19200" dialup onV19200 starting point), your
ttys entry might look like this:
-
-ttyd0 "/usr/libexec/getty V19200" dialup on
+ ttyd0 "/usr/libexec/getty V19200" dialup on
@@ -1420,8 +1408,7 @@ ttyd0 "/usr/libexec/getty V19200" dialup onFor example, on a sample FreeBSD 1.1.5.1 system,
/etc/rc.serial reads:
-
-#!/bin/sh
+ #!/bin/sh
#
# Serial port initial configuration
@@ -1437,8 +1424,7 @@ stty -f /dev/cuai01 crtscts/etc/rc.local to set the
crtscts flag on the devices:
-
-# Set serial ports to use RTS/CTS flow control
+ # Set serial ports to use RTS/CTS flow control
stty -f /dev/ttyd0 crtscts
stty -f /dev/ttyd1 crtscts
stty -f /dev/ttyd2 crtscts
@@ -1498,8 +1484,7 @@ stty -f /dev/ttyd3 crtscts
Sportster 14,400 external modem, one could give these commands to
the modem:
-
-ATZ
+ ATZ
AT&C1&D2&H1&I0&R2&WYou might also want to take this opportunity to adjust other
@@ -1561,8 +1546,7 @@ AT&C1&D2&H1&I0&R2&W
modem, these commands will lock the modem-to-computer data rate at
the speed used to issue the commands:
-
-ATZ
+ ATZ
AT&B1&W
@@ -1576,8 +1560,7 @@ AT&B1&W
issue the commands, but allow the serial port rate to vary for
non-error-corrected connections:
-
-ATZ
+ ATZ
AT&B2&W
@@ -1793,8 +1776,7 @@ AT&B2&W
hooked up to the first serial port, /dev/cuaa0,
then put in the following line:
-
-cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+ cuaa0:dv=/dev/cuaa0:br#19200:pa=noneUse the highest bps rate your modem supports in the br capability.
Then, type tip cuaa0 and you will be connected to
@@ -1827,8 +1809,7 @@ cuaa0:dv=/dev/cuaa0:br#19200:pa=none
capability files like /etc/remote. Escape it
with a backslash:
-
-pn=\@
+ pn=\@
@@ -1837,8 +1818,7 @@ pn=\@Put what is called a generic entry in your
/etc/remote file. For example:
-
-tip115200|Dial any phone number at 115200 bps:\
+ tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
@@ -1850,8 +1830,7 @@ tip57600|Dial any phone number at 57600 bps:\
If you prefer cu over tip,
use a generic cu entry:
-
-cu115200|Use cu to dial any number at 115200bps:\
+ cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:and type:
@@ -1878,8 +1857,7 @@ cu115200|Use cu to dial any number at 115200bps:\
cm capability. For example, these entries in
/etc/remote:
-
-pain|pain.deep13.com|Forrester's machine:\
+ pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
@@ -1901,8 +1879,7 @@ deep13:Gizmonics Institute terminal server:\
/etc/remote and use @ for the
pn capability:
-
-big-university:\
+ big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
@@ -1910,8 +1887,7 @@ dialout:\
Then, list the phone numbers for the university in
/etc/phones:
-
-big-university 5551111
+ big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
@@ -1944,8 +1920,7 @@ big-university 5551114
specifying the following in your $HOME/.tiprc
file:
-
-force=<single-char>
+ force=<single-char>
@@ -1961,8 +1936,7 @@ force=<single-char>Here is a sample .tiprc file perfect for Emacs users who need to
type CTRL+2 and CTRL+A a lot:
-
-force=^^
+ force=^^
raisechar=^^The ^^ is SHIFT+CTRL+6.
@@ -2184,8 +2158,7 @@ raisechar=^^Example:
-
-device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4
+ device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4See &man.sio.4; for more details.
diff --git a/en_US.ISO8859-1/books/handbook/sound/chapter.sgml b/en_US.ISO8859-1/books/handbook/sound/chapter.sgml
index cdec867374..60b7ad1b7d 100644
--- a/en_US.ISO8859-1/books/handbook/sound/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/sound/chapter.sgml
@@ -1,7 +1,7 @@
@@ -101,8 +101,7 @@
and
-
-device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15
+ device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15to your kernel. Those are the default settings. You may
need to change the IRQ, etc. See the &man.sbc.4; man page for
@@ -134,8 +133,7 @@ device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15and
-
-device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
+ device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13to your kernel. You may need to change the IRQ, etc. See
the &man.gusc.4; man page for more information.
@@ -166,8 +164,7 @@ device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
sound card that does not have a bridge driver, you will need
to add
-
-device pcm0 at isa? irq 10 drq 1 flags 0x0
+ device pcm0 at isa? irq 10 drq 1 flags 0x0to your kernel configuration. You may need to change the
IRQ, etc., to match your hardware configuration.
@@ -190,8 +187,7 @@ device pcm0 at isa? irq 10 drq 1 flags 0x0
/dev/sndstat. You should see output similar to the
following:
-
-FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
+ FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices:
pcm0: <Aureal Vortex 8830> at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)
diff --git a/en_US.ISO8859-1/books/porters-handbook/book.sgml b/en_US.ISO8859-1/books/porters-handbook/book.sgml
index 4f8babab43..6aa9db505a 100644
--- a/en_US.ISO8859-1/books/porters-handbook/book.sgml
+++ b/en_US.ISO8859-1/books/porters-handbook/book.sgml
@@ -1,7 +1,7 @@
The minimal Makefile would look something
like this:
-
-# New ports collection makefile for: oneko
+ # New ports collection makefile for: oneko
# Date created: 5 December 1994
# Whom: asami
#
@@ -140,8 +139,7 @@ USE_IMAKE= yes
should begin with a capital, and end without a period. Here
is an example:
-
-A cat chasing a mouse all over the screen
+ A cat chasing a mouse all over the screen
@@ -167,8 +165,7 @@ A cat chasing a mouse all over the screenIt is recommended that you sign your name at the end of this
file, as in:
-
-This is a port of oneko, in which a cat chases a poor mouse all over
+ This is a port of oneko, in which a cat chases a poor mouse all over
the screen.
:
(etc.)
@@ -193,8 +190,7 @@ asami@cs.berkeley.eduHere is a small example:
-
-bin/oneko
+ bin/oneko
lib/X11/app-defaults/Oneko
lib/X11/oneko/cat1.xpm
lib/X11/oneko/cat2.xpm
@@ -836,8 +832,7 @@ lib/X11/oneko/mouse.xpm
The gtkmumble port, version 0.10, is committed to the
ports collection.
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSION= 0.10PKGNAME becomes
@@ -847,8 +842,7 @@ PORTVERSION= 0.10
FreeBSD patch. PORTREVISION is bumped
accordingly.
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSIOn= 0.10
PORTREVISION= 1
@@ -868,8 +862,7 @@ PORTREVISION= 1PORTREVISION is reset to 0 (or removed
from the makefile).
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSION= 0.2
PORTEPOCH= 1
@@ -880,8 +873,7 @@ PORTEPOCH= 1PORTEPOCH never decreases, the version
variables are now:
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSION= 0.3
PORTEPOCH= 1
@@ -1006,8 +998,7 @@ PORTEPOCH= 1MASTER_SITE_SUBDIR to the path within the
archive. Here is an example:
-
-MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+ MASTER_SITES= ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR= applicationsThese variables are defined in
@@ -1136,8 +1127,7 @@ MASTER_SITE_SUBDIR= applicationsFor example,
-
-RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
+ RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
wish8.0:${PORTSDIR}/x11-toolkits/tk80will check if the file or directory
@@ -1260,8 +1250,7 @@ RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
compilation time by specifying the target too. For
instance
-
-BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract
+ BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract
will always descend to the JPEG port and extract it.
@@ -1353,8 +1342,7 @@ BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extractMakefile:
-
-INSTALLS_SHLIB= yes
+ INSTALLS_SHLIB= yes
LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/barNote that content of LDCONFIG_DIRS is passed
@@ -1432,8 +1420,7 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/barThe variable is set using this line in
bsd.port.mk:
-
-PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
+ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aoutPorts' make processes should use this variable to decide what to
do. However, if the port's configure script
@@ -1524,13 +1511,11 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aoutThe ldconfig line in Makefiles should
read:
-
-${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....
+ ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....In pkg-plist it should read;
-
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
+ @exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -RThis is to ensure that the correct ldconfig
@@ -1559,8 +1544,7 @@ ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....This will be best demonstrated by an example. This is part of
japanese/xdvi300/Makefile;
-
-PORTNAME= xdvi
+ PORTNAME= xdvi
PORTVERSION= 17
PKGNAMEPREFIX= ja-
PKGNAMESUFFIX= ${RESOLUTION}
@@ -1582,8 +1566,7 @@ RESOLUTION?= 300
As for other resolutions, this is the entirexdvi118/Makefile:
-
-RESOLUTION= 118
+ RESOLUTION= 118
MASTERDIR= ${.CURDIR}/../xdvi300
.include ${MASTERDIR}/Makefile
@@ -1688,8 +1671,7 @@ MASTERDIR= ${.CURDIR}/../xdvi300
Here is an example that puts it all together.
-
-MAN1= foo.1
+ MAN1= foo.1
MAN3= bar.3
MAN4= baz.4
MLINKS= foo.1 alt-name.8
@@ -1699,8 +1681,7 @@ MANCOMPRESSED= yesThis states that six files are installed by this port;
-
-${PREFIX}/man/man1/foo.1.gz
+ ${PREFIX}/man/man1/foo.1.gz
${PREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/share/foobar/man/man3/bar.3.gz
${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
@@ -1825,8 +1806,7 @@ Options:
statements to files that do not have them. This is part of my
patch:
-
---- ./man/vip.texi.org Fri Jun 16 15:31:11 1995
+ --- ./man/vip.texi.org Fri Jun 16 15:31:11 1995
+++ ./man/vip.texi Tue May 20 01:28:33 1997
@@ -2,6 +2,10 @@
@@ -1884,8 +1864,7 @@ Options:
man subdirectory to rebuild the info
pages.
-
---- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+ --- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+++ ./Makefile.in Tue Apr 15 00:15:28 1997
@@ -184,7 +184,7 @@
# Subdirectories to make recursively. `lisp' is not included
@@ -1925,8 +1904,7 @@ Options:
otherwise mucking around with the dir
file.
-
---- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+ --- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+++ ./Makefile.in Mon Apr 14 23:38:07 1997
@@ -368,14 +368,8 @@
if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
@@ -1953,8 +1931,7 @@ Options:
They may be in pkg-install or some other
file, so search extensively.
-
-Index: pkg-plist
+ Index: pkg-plist
===================================================================
RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v
retrieving revision 1.15
@@ -1982,8 +1959,7 @@ diff -u -r1.15 pkg-plist
install-info automatically creates this
file if it does not exist.)
-
-Index: Makefile
+ Index: Makefile
===================================================================
RCS file: /usr/cvs/ports/editors/emacs/Makefile,v
retrieving revision 1.26
@@ -2008,8 +1984,7 @@ diff -u -r1.26 Makefile
@unexec for
pkg_delete.
-
-Index: pkg-plist
+ Index: pkg-plist
===================================================================
RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v
retrieving revision 1.15
@@ -2139,8 +2114,7 @@ diff -u -r1.15 pkg-plist
For instance, if you have a port that installs many files in a
version-specific subdirectory, you can put something like
-
-OCTAVE_VERSION= 2.0.13
+ OCTAVE_VERSION= 2.0.13
PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
in the Makefile and use
@@ -2351,8 +2325,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}post-install rule to to it yourself. Here is an
example:
-
-post-install:
+ post-install:
strip ${PREFIX}/bin/xdlUse the &man.file.1; command on the installed executable to
@@ -2440,8 +2413,7 @@ post-install:
defined in <sys/param.h>. Hopefully that
file is already included; if not, add the code:
-
-#if (defined(__unix__) || defined(unix)) && !defined(USG)
+ #if (defined(__unix__) || defined(unix)) && !defined(USG)
#include <sys/param.h>
#endif
@@ -2454,8 +2426,7 @@ post-install:
Another way is to use the GNU Autoconf style of doing
this:
-
-#ifdef HAVE_SYS_PARAM_H
+ #ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
@@ -2466,8 +2437,7 @@ post-install:
Once you have sys/param.h included, you may
use:
-
-#if (defined(BSD) && (BSD >= 199103))
+ #if (defined(BSD) && (BSD >= 199103))to detect if the code is being compiled on a 4.3 Net2 code base
or newer (e.g. FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386
@@ -2475,8 +2445,7 @@ post-install:
Use:
-
-#if (defined(BSD) && (BSD >= 199306))
+ #if (defined(BSD) && (BSD >= 199306))to detect if the code is being compiled on a 4.4 code base or
newer (e.g. FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 or
@@ -2519,8 +2488,7 @@ post-install:
system. If you need more granularity in detecting FreeBSD
systems since 2.0-RELEASE you can use the following:
-
-#if __FreeBSD__ >= 2
+ #if __FreeBSD__ >= 2
#include <osreldate.h>
# if __FreeBSD_version >= 199504
/* 2.0.5+ release specific code here */
@@ -3156,8 +3124,7 @@ post-install:
Here are some examples of things you can write after
bsd.port.pre.mk:
-
-# no need to compile lang/perl5 if perl5 is already in system
+ # no need to compile lang/perl5 if perl5 is already in system
.if ${OSVERSION} > 300003
BROKEN= perl is in system
.endif
@@ -3196,8 +3163,7 @@ post-install:
NOPORTDOCS so that users can disable it in
/etc/make.conf, like this:
-
-post-install:
+ post-install:
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/xv
${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
@@ -3349,13 +3315,11 @@ post-install:
your port requires a macro PAGER to be the full
pathname of less, use the compiler flag:
-
--DPAGER=\"${PREFIX}/bin/less\"
+ -DPAGER=\"${PREFIX}/bin/less\"
or
-
--DPAGER=\"${LOCALBASE}/bin/less\"
+ -DPAGER=\"${LOCALBASE}/bin/less\"
if this is an X port, instead of
-DPAGER=\"/usr/local/bin/less\". This way it will
@@ -3395,8 +3359,7 @@ post-install:
specifically created by the port. You need to delete subdirectories
before you can delete parent directories.
-
- :
+ :
lib/X11/oneko/pixmaps/cat.xpm
lib/X11/oneko/sounds/cat.au
:
@@ -3409,8 +3372,7 @@ lib/X11/oneko/sounds/cat.au
can call rmdir from @unexec to
remove only empty directories without warning.
-
-@unexec rmdir %D/share/doc/gimp 2>/dev/null || true
+ @unexec rmdir %D/share/doc/gimp 2>/dev/null || trueThis will neither print any error messages nor cause
pkg_delete to exit abnormally even if
@@ -3435,8 +3397,7 @@ lib/X11/oneko/sounds/cat.au
other ports. This is the current list of UIDs between 50 and
99.
-
-majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
+ majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent
gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
@@ -3588,8 +3549,7 @@ vpopmail:*:89:89::0:0:User &:/usr/local/vpopmail:/nonexistent
linkend="porting-portlint">portlint to check the
Makefile.
-
-[the header...just to make it easier for us to identify the ports.]
+ [the header...just to make it easier for us to identify the ports.]
# New ports collection makefile for: xdvi
[the "version required" line is only needed when the PORTVERSION
variable is not specific enough to describe the port.]
diff --git a/en_US.ISO8859-1/books/ppp-primer/book.sgml b/en_US.ISO8859-1/books/ppp-primer/book.sgml
index 76f9fb19c1..1d434d8483 100644
--- a/en_US.ISO8859-1/books/ppp-primer/book.sgml
+++ b/en_US.ISO8859-1/books/ppp-primer/book.sgml
@@ -18,7 +18,7 @@
-$FreeBSD: doc/en_US.ISO_8859-1/books/ppp-primer/book.sgml,v 1.6 2001/01/17 07:22:10 brian Exp $
+$FreeBSD: doc/en_US.ISO_8859-1/books/ppp-primer/book.sgml,v 1.7 2001/04/05 01:44:24 dd Exp $This is a step-by-step guide for configuring FreeBSD systems to act as
a dial-up router/gateway in a Local Area Environment. All entries may
@@ -786,8 +786,7 @@ dial-out Internet gateway for our example LAN:
must be indented!
-
-################################################################
+################################################################
# PPP Configuration File ('/etc/ppp/ppp.conf')
#
# Default settings; These are always executed always when PPP
@@ -836,8 +835,7 @@ demand:
set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0
add 0 0 127.2.2.2
################################################################
-# End of /etc/ppp/ppp.conf
-
+# End of /etc/ppp/ppp.conf
This file, taken verbatim from a working system, has three relevant
configuration sections:
diff --git a/en_US.ISO_8859-1/articles/fonts/article.sgml b/en_US.ISO_8859-1/articles/fonts/article.sgml
index d5cbc64032..54d29ba0d9 100644
--- a/en_US.ISO_8859-1/articles/fonts/article.sgml
+++ b/en_US.ISO_8859-1/articles/fonts/article.sgml
@@ -1,4 +1,4 @@
-
+
@@ -230,8 +230,7 @@
your locale):
- font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO).
-
+ font8x8="iso-8x8" # font 8x8 from /usr/share/syscons/fonts/* (or NO).The command to actually switch the mode is
diff --git a/en_US.ISO_8859-1/articles/new-users/article.sgml b/en_US.ISO_8859-1/articles/new-users/article.sgml
index d1fa08de4d..78b47e6677 100644
--- a/en_US.ISO_8859-1/articles/new-users/article.sgml
+++ b/en_US.ISO_8859-1/articles/new-users/article.sgml
@@ -1,4 +1,4 @@
-
+
@@ -899,8 +899,7 @@
setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
-setenv XNLSPATH /usr/X11R6/lib/X11/nls
-
+setenv XNLSPATH /usr/X11R6/lib/X11/nlsThis assumes that the file XKeysymDB and the
diff --git a/en_US.ISO_8859-1/articles/programming-tools/article.sgml b/en_US.ISO_8859-1/articles/programming-tools/article.sgml
index 90587c0080..e0c0a9c99d 100644
--- a/en_US.ISO_8859-1/articles/programming-tools/article.sgml
+++ b/en_US.ISO_8859-1/articles/programming-tools/article.sgml
@@ -1,4 +1,4 @@
-
+
@@ -1069,8 +1069,7 @@ free(foo);
Here's a very simple make file:foo: foo.c
- cc -o foo foo.c
-
+ cc -o foo foo.cIt consists of two lines, a dependency line and a creation
line.
@@ -1114,8 +1113,7 @@ free(foo);
cc -o foo foo.c
install:
- cp foo /home/me
-
+ cp foo /home/meWe can tell make which target we want to make by
typing:
@@ -1168,8 +1166,7 @@ install:
MASTER_SITES= ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/
DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
-.include <bsd.port.mk>
-
+.include <bsd.port.mk>Now, if we go to the directory for this port and type
make, the following happens:
@@ -1283,8 +1280,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
/usr/local/info directory to add an entry
for it. This involves adding a line like
- * Make: (make). The GNU Make utility.
-
+ * Make: (make). The GNU Make utility.to the file. Once you have done this, you can type
info and then select
@@ -1390,8 +1386,7 @@ main() {
int bazz(int anint) {
printf("You gave me %d\n", anint);
return anint;
-}
-
+}This program sets i to be
5 and passes it to a function
@@ -1447,8 +1442,7 @@ main() {
i = 5;
printf("This is my program\n");
-&hellip>
-
+&hellip>but we left the i=5; line out. As we
didn't initialise i, it had whatever number
@@ -2170,8 +2164,7 @@ in font-lock-auto-mode-list"
("\\.lsp$" . lisp-mode)
("\\.wiz$" . whizbang-mode)
("\\.scm$" . scheme-mode)
-…>
-
+…>This means that Emacs will automatically go into
whizbang-mode when you edit a file ending
@@ -2184,8 +2177,7 @@ in font-lock-auto-mode-list"
;; Auto font lock mode
(defvar font-lock-auto-mode-list
(list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode)
- "List of modes to always start in font-lock-mode")
-
+ "List of modes to always start in font-lock-mode")This means that Emacs will always enable
font-lock-mode (ie syntax highlighting)
diff --git a/en_US.ISO_8859-1/books/developers-handbook/driverbasics/chapter.sgml b/en_US.ISO_8859-1/books/developers-handbook/driverbasics/chapter.sgml
index 7efa1ce975..29cf0a05cb 100644
--- a/en_US.ISO_8859-1/books/developers-handbook/driverbasics/chapter.sgml
+++ b/en_US.ISO_8859-1/books/developers-handbook/driverbasics/chapter.sgml
@@ -1,7 +1,7 @@
@@ -60,8 +60,7 @@
Skeleton Layout of a kernel module
-
-/*
+/*
* KLD Skeleton
* Inspired by Andrew Reiter's Daemonnews article
*/
@@ -98,20 +97,17 @@ skel_loader(struct module *m, int what, void *arg)
/* Declare this module to the rest of the kernel */
-DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);
-
+DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);MakefileFreeBSD provides a makefile include that you can use
to quickly compile your kernel addition.
-
-SRCS=skeleton.c
+ SRCS=skeleton.c
KMOD=skeleton
-.include <bsd.kmod.mk>
-
+.include <bsd.kmod.mk>Simply running make with
@@ -165,8 +161,7 @@ KMOD=skeleton
This simple example pseudo-device remembers whatever values you write
to it and can then supply them back to you when you read from
it.
-
-/*
+/*
* Simple `echo' pseudo-device KLD
*
* Murray Stokely
@@ -323,8 +318,7 @@ echo_write(dev_t dev, struct uio *uio, int ioflag)
return(err);
}
-DEV_MODULE(echo,echo_loader,NULL);
-
+DEV_MODULE(echo,echo_loader,NULL);To install this driver you will first need to make a node on
your filesystem with a command such as :
diff --git a/en_US.ISO_8859-1/books/developers-handbook/pci/chapter.sgml b/en_US.ISO_8859-1/books/developers-handbook/pci/chapter.sgml
index 50c2cc81ca..078aea0740 100644
--- a/en_US.ISO_8859-1/books/developers-handbook/pci/chapter.sgml
+++ b/en_US.ISO_8859-1/books/developers-handbook/pci/chapter.sgml
@@ -1,7 +1,7 @@
@@ -15,8 +15,7 @@
Information here about how the PCI bus code iterates
through the unattached devices and see if a newly loaded kld
will attach to any of them.
-
-/*
+/*
* Simple KLD to play with the PCI functions.
*
* Murray Stokely
@@ -200,8 +199,7 @@ static driver_t mypci_driver = {
static devclass_t mypci_devclass;
-DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);
-
+DRIVER_MODULE(mypci, pci, mypci_driver, mypci_devclass, 0, 0);Additional Resources
diff --git a/en_US.ISO_8859-1/books/developers-handbook/scsi/chapter.sgml b/en_US.ISO_8859-1/books/developers-handbook/scsi/chapter.sgml
index 837a8fd60d..81a799ae0e 100644
--- a/en_US.ISO_8859-1/books/developers-handbook/scsi/chapter.sgml
+++ b/en_US.ISO_8859-1/books/developers-handbook/scsi/chapter.sgml
@@ -1,7 +1,7 @@
@@ -89,14 +89,12 @@
A typical SIM driver needs to include the following
CAM-related header files:
-
-#include <cam/cam.h>
+#include <cam/cam.h>
#include <cam/cam_ccb.h>
#include <cam/cam_sim.h>
#include <cam/cam_xpt_sim.h>
#include <cam/cam_debug.h>
-#include <cam/scsi/scsi_all.h>
-
+#include <cam/scsi/scsi_all.h>The first thing each SIM driver must do is register itself
with the CAM subsystem. This is done during the driver's
@@ -109,35 +107,29 @@
This is achieved in multiple steps: first it's necessary to
allocate the queue of requests associated with this SIM:
-
- struct cam_devq *devq;
+ struct cam_devq *devq;
if(( devq = cam_simq_alloc(SIZE) )==NULL) {
error; /* some code to handle the error */
- }
-
+ }Here SIZE is the size of the queue to be allocated, maximal
number of requests it could contain. It's the number of requests
that the SIM driver can handle in parallel on one SCSI
card. Commonly it can be calculated as:
-
-SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
-
+SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGETNext we create a descriptor of our SIM:
-
- struct cam_sim *sim;
+ struct cam_sim *sim;
if(( sim = cam_sim_alloc(action_func, poll_func, driver_name,
softc, unit, max_dev_transactions,
max_tagged_dev_transactions, devq) )==NULL) {
cam_simq_free(devq);
error; /* some code to handle the error */
- }
-
+ }Note that if we are not able to create a SIM descriptor we
free the devq also because we can do
@@ -218,12 +210,10 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
Finally we register the SCSI buses associated with our SCSI
adapter:
-
- if(xpt_bus_register(sim, bus_number) != CAM_SUCCESS) {
+ if(xpt_bus_register(sim, bus_number) != CAM_SUCCESS) {
cam_sim_free(sim, /*free_devq*/ TRUE);
error; /* some code to handle the error */
- }
-
+ }If there is one devq structure per
SCSI bus (i.e. we consider a card with multiple buses as
@@ -260,8 +250,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
can create the path for the future bus reset events in advance
and avoid problems with the future memory shortage:
-
- struct cam_path *path;
+ struct cam_path *path;
if(xpt_create_path(&path, /*periph*/NULL,
cam_sim_path(sim), CAM_TARGET_WILDCARD,
@@ -272,8 +261,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
softc->wpath = path;
- softc->sim = sim;
-
+ softc->sim = sim;As you can see the path includes:
@@ -310,16 +298,14 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
request is passed to CAM by requesting CAM action on a CAM
control block for this type of request:
-
- struct ccb_setasync csa;
+ struct ccb_setasync csa;
xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5);
csa.ccb_h.func_code = XPT_SASYNC_CB;
csa.event_enable = AC_LOST_DEVICE;
csa.callback = xxx_async;
csa.callback_arg = sim;
- xpt_action((union ccb *)&csa);
-
+ xpt_action((union ccb *)&csa);Now we take a look at the xxx_action()
and xxx_poll() driver entry points.
@@ -377,8 +363,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
xxx_action() consists of a big
switch:
-
- struct xxx_softc *softc = (struct xxx_softc *) cam_sim_softc(sim);
+ struct xxx_softc *softc = (struct xxx_softc *) cam_sim_softc(sim);
struct ccb_hdr *ccb_h = &ccb->ccb_h;
int unit = cam_sim_unit(sim);
int bus = cam_sim_bus(sim);
@@ -390,8 +375,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb_h->status = CAM_REQ_INVALID;
xpt_done(ccb);
break;
- }
-
+ }As can be seen from the default case (if an unknown command
was received) the return code of the command is set into
@@ -505,10 +489,8 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
is to define some meaningful names for them and use these
meaningful names in the driver, like:
-
-#define ccb_some_meaningful_name sim_priv.entries[0].bytes
-#define ccb_hcb spriv_ptr1 /* for hardware control block */
-
+#define ccb_some_meaningful_name sim_priv.entries[0].bytes
+#define ccb_hcb spriv_ptr1 /* for hardware control block */The most common initiator mode requests are:
@@ -581,20 +563,17 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
make sure that the command did not get aborted when it was
sitting in the queue:
-
- struct ccb_scsiio *csio = &ccb->csio;
+ struct ccb_scsiio *csio = &ccb->csio;
if ((ccb_h->status & CAM_STATUS_MASK) != CAM_REQ_INPROG) {
xpt_done(ccb);
return;
- }
-
+ }Also we check that the device is supported at all by our
controller:
-
- if(ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID
+ if(ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID
|| cch_h->target_id == OUR_SCSI_CONTROLLERS_OWN_ID) {
ccb_h->status = CAM_TID_INVALID;
xpt_done(ccb);
@@ -604,8 +583,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb_h->status = CAM_LUN_INVALID;
xpt_done(ccb);
return;
- }
-
+ }Then allocate whatever data structures (such as
card-dependent hardware control block) we need to process this
@@ -617,8 +595,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
well, link the CCB with the hardware control block (HCB) and
mark it as queued.
-
- struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);
+ struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);
if(hcb == NULL) {
softc->flags |= RESOURCE_SHORTAGE;
@@ -629,8 +606,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
hcb->ccb = ccb; ccb_h->ccb_hcb = (void *)hcb;
- ccb_h->status |= CAM_SIM_QUEUED;
-
+ ccb_h->status |= CAM_SIM_QUEUED;Extract the target data from CCB into the hardware control
block. Check if we are asked to assign a tag and if yes then
@@ -639,14 +615,12 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
devices to set the maximal mutually supported bus width,
synchronous rate and offset.
-
- hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;
+ hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;
generate_identify_message(hcb);
if( ccb_h->tag_action != CAM_TAG_ACTION_NONE )
generate_unique_tag_message(hcb, ccb_h->tag_action);
if( !target_negotiated(hcb) )
- generate_negotiation_messages(hcb);
-
+ generate_negotiation_messages(hcb);Then set up the SCSI command. The command storage may be
specified in the CCB in many interesting ways, specified by
@@ -671,8 +645,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
back to a virtual address but with big pain, so we don't do
that.
-
- if(ccb_h->flags & CAM_CDB_POINTER) {
+ if(ccb_h->flags & CAM_CDB_POINTER) {
/* CDB is a pointer */
if(!(ccb_h->flags & CAM_CDB_PHYS)) {
/* CDB pointer is virtual */
@@ -689,8 +662,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
/* CDB is in the ccb (buffer) */
hcb->cmd = vtobus(csio->cdb_io.cdb_bytes);
}
- hcb->cmdlen = csio->cdb_len;
-
+ hcb->cmdlen = csio->cdb_len;Now it's time to set up the data. Again, the data storage
may be specified in the CCB in many interesting ways,
@@ -698,12 +670,10 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
data transfer. The simplest case is if there is no data to
transfer:
-
- int dir = (ccb_h->flags & CAM_DIR_MASK);
+ int dir = (ccb_h->flags & CAM_DIR_MASK);
if (dir == CAM_DIR_NONE)
- goto end_data;
-
+ goto end_data;Then we check if the data is in one chunk or in a
scatter-gather list, and the addresses are physical or
@@ -722,8 +692,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
the case for a single non-scattered virtual buffer must be
implemented, it's actively used by CAM.
-
- int rv;
+ int rv;
initialize_hcb_for_data(hcb);
@@ -770,16 +739,13 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
free_hcb_and_ccb_done(hcb, ccb, rv);
return;
}
- end_data:
-
+ end_data:If disconnection is disabled for this CCB we pass this
information to the hcb:
-
- if(ccb_h->flags & CAM_DIS_DISCONNECT)
- hcb_disable_disconnect(hcb);
-
+ if(ccb_h->flags & CAM_DIS_DISCONNECT)
+ hcb_disable_disconnect(hcb);If the controller is able to run REQUEST SENSE command all
by itself then the value of the flag CAM_DIS_AUTOSENSE should
@@ -790,18 +756,15 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
to the hardware and return, the rest will be done by the
interrupt handler (or timeout handler).
-
- ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,
+ ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,
(ccb_h->timeout * hz) / 1000); /* convert milliseconds to ticks */
put_hcb_into_hardware_queue(hcb);
- return;
-
+ return;And here is a possible implementation of the function
returning CCB:
-
- static void
+ static void
free_hcb_and_ccb_done(struct xxx_hcb *hcb, union ccb *ccb, u_int32_t status)
{
struct xxx_softc *softc = hcb->softc;
@@ -819,8 +782,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
ccb->ccb_h.status = status |
(ccb->ccb_h.status & ~(CAM_STATUS_MASK|CAM_SIM_QUEUED));
xpt_done(ccb);
- }
-
+ }XPT_RESET_DEV - send the SCSI "BUS
@@ -859,8 +821,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
and those being disconnected, as done with the status
CAM_SCSI_BUS_RESET. Like:
-
- int targ, lun;
+ int targ, lun;
struct xxx_hcb *h, *hh;
struct ccb_trans_settings neg;
struct cam_path *path;
@@ -907,8 +868,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
/* report the event */
xpt_async(AC_BUS_RESET, softc->wpath, NULL);
- return;
-
+ return;Implementing the SCSI bus reset as a function may be a good
idea because it would be re-used by the timeout function as a
@@ -931,23 +891,20 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
The hard way is to implement this request honestly. First
check that abort applies to a SCSI transaction:
-
- struct ccb *abort_ccb;
+ struct ccb *abort_ccb;
abort_ccb = ccb->cab.abort_ccb;
if(abort_ccb->ccb_h.func_code != XPT_SCSI_IO) {
ccb->ccb_h.status = CAM_UA_ABORT;
xpt_done(ccb);
return;
- }
-
+ }Then it's necessary to find this CCB in our queue. This can
be done by walking the list of all our hardware control blocks
in search for one associated with this CCB:
-
- struct xxx_hcb *hcb, *h;
+ struct xxx_hcb *hcb, *h;
hcb = NULL;
@@ -969,8 +926,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
return;
}
- hcb=found_hcb;
-
+ hcb=found_hcb;Now we look at the current processing status of the HCB. It
may be either sitting in the queue waiting to be sent to the
@@ -982,8 +938,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
SCSI bus the SCSI controller will see this flag and skip
it.
-
- int hstatus;
+ int hstatus;
/* shown as a function, in case special action is needed to make
* this flag visible to hardware
@@ -1000,8 +955,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
case HCB_COMPLETED:
/* this is an easy case */
free_hcb_and_ccb_done(hcb, abort_ccb, CAM_REQ_ABORTED);
- break;
-
+ break;If the CCB is being transferred right now we would like to
signal to the SCSI controller in some hardware-dependent way
@@ -1016,8 +970,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
and mark the aborted CCB as aborted (but not mark it as done
yet).
-
- case HCB_BEING_TRANSFERRED:
+ case HCB_BEING_TRANSFERRED:
untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);
abort_ccb->ccb_h.timeout_ch =
timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);
@@ -1031,16 +984,14 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
goto abort_again;
}
- break;
-
+ break;If the CCB is in the list of disconnected then set it up as
an abort request and re-queue it at the front of hardware
queue. Reset the timeout and report the abort request to be
completed.
-
- case HCB_DISCONNECTED:
+ case HCB_DISCONNECTED:
untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);
abort_ccb->ccb_h.timeout_ch =
timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);
@@ -1050,8 +1001,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
}
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;That's all for the ABORT request, although there is one more
issue. Because the ABORT message cleans all the ongoing
@@ -1066,8 +1016,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
request. Then the case XPT_ABORT would be small, like
that:
-
- case XPT_ABORT:
+ case XPT_ABORT:
struct ccb *abort_ccb;
abort_ccb = ccb->cab.abort_ccb;
@@ -1082,8 +1031,7 @@ SIZE = NUMBER_OF_SUPPORTED_TARGETS * MAX_SIMULTANEOUS_COMMANDS_PER_TARGET
else
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;XPT_SET_TRAN_SETTINGS - explicitly
@@ -1178,8 +1126,7 @@ of the union ccb:The code looks like:
-
- struct ccb_trans_settings *cts;
+ struct ccb_trans_settings *cts;
int targ, lun;
int flags;
@@ -1225,16 +1172,14 @@ of the union ccb:
}
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;Then when the next I/O request will be processed it will
check if it has to re-negotiate, for example by calling the
function target_negotiated(hcb). It can be implemented like
this:
-
- int
+ int
target_negotiated(struct xxx_hcb *hcb)
{
struct softc *softc = hcb->softc;
@@ -1246,8 +1191,7 @@ of the union ccb:
return 0; /* FALSE */
else
return 1; /* TRUE */
- }
-
+ }After the values are re-negotiated the resulting values must
be assigned to both current and goal parameters, so for future
@@ -1300,8 +1244,7 @@ of the union ccb:
typical calculation example taken from the aic7xxx driver
is:
-
- struct ccb_calc_geometry *ccg;
+ struct ccb_calc_geometry *ccg;
u_int32_t size_mb;
u_int32_t secs_per_cylinder;
int extended;
@@ -1322,8 +1265,7 @@ of the union ccb:
ccg->cylinders = ccg->volume_size / secs_per_cylinder;
ccb->ccb_h.status = CAM_REQ_CMP;
xpt_done(ccb);
- return;
-
+ return;This gives the general idea, the exact calculation depends
on the quirks of the particular BIOS. If BIOS provides no way
@@ -1331,10 +1273,8 @@ of the union ccb:
normally be assumed equal to 1. Other popular geometries
are:
-
- 128 heads, 63 sectors - Symbios controllers
- 16 heads, 63 sectors - old controllers
-
+ 128 heads, 63 sectors - Symbios controllers
+ 16 heads, 63 sectors - old controllersSome system BIOSes and SCSI BIOSes fight with each other
with variable success, for example a combination of Symbios
@@ -1447,9 +1387,7 @@ ccb_pathinq cpi" of the union ccb:The recommended way of setting the string fields is using
strncpy, like:
-
- strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
-
+ strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);After setting the values set the status to CAM_REQ_CMP and mark the
CCB as done.
@@ -1486,23 +1424,19 @@ CCB as done.
gets just the the device unit number. So the poll routine would
normally look as:
-
-static void
+static void
xxx_poll(struct cam_sim *sim)
{
xxx_intr((struct xxx_softc *)cam_sim_softc(sim)); /* for PCI device */
-}
-
+}or
-
-static void
+static void
xxx_poll(struct cam_sim *sim)
{
xxx_intr(cam_sim_unit(sim)); /* for ISA device */
-}
-
+}
@@ -1512,10 +1446,8 @@ xxx_poll(struct cam_sim *sim)
If an asynchronous event callback has been set up then the
callback function should be defined.
-
-static void
-ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
-
+static void
+ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)callback_arg - the value supplied when registering the
@@ -1532,8 +1464,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
Implementation for a single type of event, AC_LOST_DEVICE,
looks like:
-
- struct xxx_softc *softc;
+ struct xxx_softc *softc;
struct cam_sim *sim;
int targ;
struct ccb_trans_settings neg;
@@ -1555,8 +1486,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
break;
default:
break;
- }
-
+ }
@@ -1580,8 +1510,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
section. To make sure that the interrupt level will be always
restored a wrapper function can be defined, like:
-
- static void
+ static void
xxx_action(struct cam_sim *sim, union ccb *ccb)
{
int s;
@@ -1594,8 +1523,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
xxx_action1(struct cam_sim *sim, union ccb *ccb)
{
... process the request ...
- }
-
+ }This approach is simple and robust but the problem with it
is that interrupts may get blocked for a relatively long time
@@ -1619,8 +1547,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
probably need also sending RESET signal to the SCSI bus to reset
the status of the connections with the SCSI devices.
-
- int fatal=0;
+ int fatal=0;
struct ccb_trans_settings neg;
struct cam_path *path;
@@ -1678,8 +1605,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
schedule_next_hcb(softc);
return;
- }
-
+ }If interrupt is not caused by a controller-wide condition
then probably something has happened to the current hardware
@@ -1687,8 +1613,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
non-HCB-related events, we just do not consider them here. Then
we analyze what happened to this HCB:
-
- struct xxx_hcb *hcb, *h, *hh;
+ struct xxx_hcb *hcb, *h, *hh;
int hcb_status, scsi_status;
int ccb_status;
int targ;
@@ -1704,22 +1629,18 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
targ = hcb->target;
- hcb_status = get_status_of_current_hcb(softc);
-
+ hcb_status = get_status_of_current_hcb(softc);First we check if the HCB has completed and if so we check
the returned SCSI status.
-
- if(hcb_status == COMPLETED) {
- scsi_status = get_completion_status(hcb);
-
+ if(hcb_status == COMPLETED) {
+ scsi_status = get_completion_status(hcb);Then look if this status is related to the REQUEST SENSE
command and if so handle it in a simple way.
-
- if(hcb->flags & DOING_AUTOSENSE) {
+ if(hcb->flags & DOING_AUTOSENSE) {
if(scsi_status == GOOD) { /* autosense was successful */
hcb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);
@@ -1729,16 +1650,14 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
schedule_next_hcb(softc);
return;
- }
-
+ }Else the command itself has completed, pay more attention to
details. If auto-sense is not disabled for this CCB and the
command has failed with sense data then run REQUEST SENSE
command to receive that data.
-
- hcb->ccb->csio.scsi_status = scsi_status;
+ hcb->ccb->csio.scsi_status = scsi_status;
calculate_residue(hcb);
if( (hcb->ccb->ccb_h.flags & CAM_DIS_AUTOSENSE)==0
@@ -1756,8 +1675,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);
schedule_next_hcb(softc);
return;
- }
-
+ }One typical thing would be negotiation events: negotiation
messages received from a SCSI target (in answer to our
@@ -1765,8 +1683,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
unable to negotiate (rejects our negotiation messages or does
not answer them).
-
- switch(hcb_status) {
+ switch(hcb_status) {
case TARGET_REJECTED_WIDE_NEG:
/* revert to 8-bit bus */
softc->current_bus_width[targ] = softc->goal_bus_width[targ] = 8;
@@ -1816,26 +1733,22 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
continue_current_hcb(softc);
return;
- }
-
+ }Then we handle any errors that could have happened during
auto-sense in the same simple-minded way as before. Otherwise we
look closer at the details again.
-
- if(hcb->flags & DOING_AUTOSENSE)
+ if(hcb->flags & DOING_AUTOSENSE)
goto autosense_failed;
- switch(hcb_status) {
-
+ switch(hcb_status) {The next event we consider is unexpected disconnect. Which
is considered normal after an ABORT or BUS DEVICE RESET message
and abnormal in other cases.
-
- case UNEXPECTED_DISCONNECT:
+ case UNEXPECTED_DISCONNECT:
if(requested_abort(hcb)) {
/* abort affects all commands on that target+LUN, so
* mark all disconnected HCBs on that target+LUN as aborted too
@@ -1872,14 +1785,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = hcb->lun;
}
- break;
-
+ break;If the target refuses to accept tags we notify CAM about
that and return back all commands for this LUN:
-
- case TAGS_REJECTED:
+ case TAGS_REJECTED:
/* report the event */
neg.flags = 0 & ~CCB_TRANS_TAG_ENB;
neg.valid = CCB_TRANS_TQ_VALID;
@@ -1889,14 +1800,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
/* request the further code to freeze the queue */
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = hcb->lun;
- break;
-
+ break;Then we check a number of other conditions, with processing
basically limited to setting the CCB status:
-
- case SELECTION_TIMEOUT:
+ case SELECTION_TIMEOUT:
ccb_status = CAM_SEL_TIMEOUT;
/* request the further code to freeze the queue */
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
@@ -1916,14 +1825,12 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
hcb->ccb->ccb_h.status |= CAM_DEV_QFRZN;
lun_to_freeze = CAM_LUN_WILDCARD;
break;
- }
-
+ }Then we check if the error was serious enough to freeze the
input queue until it gets proceeded and do so if it is:
-
- if(hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {
+ if(hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {
/* freeze the queue */
xpt_freeze_devq(ccb->ccb_h.path, /*count*/1);
@@ -1939,8 +1846,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
}
free_hcb_and_ccb_done(hcb, hcb->ccb, ccb_status);
schedule_next_hcb(softc);
- return;
-
+ return;This concludes the generic interrupt handling although
specific controllers may require some additions.
@@ -2046,8 +1952,7 @@ ahc_async(void *callback_arg, u_int32_t code, struct cam_path *path, void *arg)
device reset request got stuck. So after all the timeout
function would look like:
-
-static void
+static void
xxx_timeout(void *arg)
{
struct xxx_hcb *hcb = (struct xxx_hcb *)arg;
@@ -2063,8 +1968,7 @@ xxx_timeout(void *arg)
} else {
xxx_abort_ccb(hcb->ccb, CAM_CMD_TIMEOUT);
}
-}
-
+}When we abort a request all the other disconnected requests
to the same target/LUN get aborted too. So there appears a
diff --git a/en_US.ISO_8859-1/books/developers-handbook/secure/chapter.sgml b/en_US.ISO_8859-1/books/developers-handbook/secure/chapter.sgml
index 805409b691..6ae96705d2 100644
--- a/en_US.ISO_8859-1/books/developers-handbook/secure/chapter.sgml
+++ b/en_US.ISO_8859-1/books/developers-handbook/secure/chapter.sgml
@@ -1,7 +1,7 @@
@@ -121,8 +121,7 @@
instruction immediately following the function call. (Inspired
by )
-
-#include stdio.h
+#include stdio.h
void manipulate(char *buffer) {
char newbuffer[80];
@@ -140,8 +139,7 @@ int main() {
i=2;
printf("The value of i is : %d\n",i);
return 0;
-}
-
+}Let us examine what the memory image of this process would
look like if we were to input 160 spaces into our little program
diff --git a/en_US.ISO_8859-1/books/developers-handbook/tools/chapter.sgml b/en_US.ISO_8859-1/books/developers-handbook/tools/chapter.sgml
index 04d2e6cb9e..0b070837bb 100644
--- a/en_US.ISO_8859-1/books/developers-handbook/tools/chapter.sgml
+++ b/en_US.ISO_8859-1/books/developers-handbook/tools/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1060,8 +1060,7 @@ free(foo);
Here's a very simple make file:foo: foo.c
- cc -o foo foo.c
-
+ cc -o foo foo.cIt consists of two lines, a dependency line and a creation
line.
@@ -1105,8 +1104,7 @@ free(foo);
cc -o foo foo.c
install:
- cp foo /home/me
-
+ cp foo /home/meWe can tell make which target we want to make by
typing:
@@ -1159,8 +1157,7 @@ install:
MASTER_SITES= ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/
DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
-.include <bsd.port.mk>
-
+.include <bsd.port.mk>Now, if we go to the directory for this port and type
make, the following happens:
@@ -1274,8 +1271,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
/usr/local/info directory to add an entry
for it. This involves adding a line like
- * Make: (make). The GNU Make utility.
-
+ * Make: (make). The GNU Make utility.to the file. Once you have done this, you can type
info and then select
@@ -1381,8 +1377,7 @@ main() {
int bazz(int anint) {
printf("You gave me %d\n", anint);
return anint;
-}
-
+}This program sets i to be
5 and passes it to a function
@@ -1438,8 +1433,7 @@ main() {
i = 5;
printf("This is my program\n");
-&hellip>
-
+&hellip>but we left the i=5; line out. As we
didn't initialise i, it had whatever number
@@ -2162,8 +2156,7 @@ in font-lock-auto-mode-list"
("\\.lsp$" . lisp-mode)
("\\.wiz$" . whizbang-mode)
("\\.scm$" . scheme-mode)
-…>
-
+…>This means that Emacs will automatically go into
whizbang-mode when you edit a file ending
@@ -2176,8 +2169,7 @@ in font-lock-auto-mode-list"
;; Auto font lock mode
(defvar font-lock-auto-mode-list
(list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode)
- "List of modes to always start in font-lock-mode")
-
+ "List of modes to always start in font-lock-mode")This means that Emacs will always enable
font-lock-mode (ie syntax highlighting)
diff --git a/en_US.ISO_8859-1/books/faq/book.sgml b/en_US.ISO_8859-1/books/faq/book.sgml
index f39dbfabe3..96081df762 100644
--- a/en_US.ISO_8859-1/books/faq/book.sgml
+++ b/en_US.ISO_8859-1/books/faq/book.sgml
@@ -14,7 +14,7 @@
The FreeBSD Documentation Project
- $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.165 2001/04/03 02:07:13 dd Exp $
+ $FreeBSD: doc/en_US.ISO_8859-1/books/faq/book.sgml,v 1.166 2001/04/08 18:51:50 dd Exp $1995
@@ -2763,8 +2763,7 @@ Filesystem 1024-blocks Used Avail Capacity Mounted on
Add the following lines to your kernel configuration
file, and rebuild the kernel.
-
-device uhci
+ device uhci
device ohci
device usb
device ukbd
@@ -2773,8 +2772,7 @@ options KBD_INSTALL_CDEVIn versions of FreeBSD before 4.0, use this
instead:
-
-controller uhci0
+ controller uhci0
controller ohci0
controller usb0
controller ukbd0
@@ -2794,8 +2792,7 @@ options KBD_INSTALL_CDEVEdit /etc/rc.conf and add the
following lines:
-
-usbd_enable="YES"
+ usbd_enable="YES"
usbd_flags=""
@@ -3024,8 +3021,7 @@ moused_flags=""Add the following lines to your kernel configuration
file, and rebuild the kernel.
-
-device uhci
+ device uhci
device ohci
device usb
device ums
@@ -3033,8 +3029,7 @@ device umsIn versions of FreeBSD before 4.0, use this
instead:
-
-controller uhci0
+ controller uhci0
controller ohci0
controller usb0
device ums0
@@ -3052,8 +3047,7 @@ device ums0Edit /etc/rc.conf and add the
following lines:
-
-moused_enable="YES"
+ moused_enable="YES"
moused_type="auto"
moused_port="/dev/ums0"
moused_flags=""
@@ -3070,16 +3064,14 @@ usbd_flags=""
3.3.2 or later, be sure to have the following lines in the
Pointer section:
-
-Device "/dev/sysmouse"
+ Device "/dev/sysmouse"
Protocol "Auto"If you are using earlier versions of XFree86, be sure to
have the following lines in the Pointer
section:
-
-Device "/dev/sysmouse"
+ Device "/dev/sysmouse"
Protocol "SysMouse"
@@ -3127,8 +3119,7 @@ Protocol "SysMouse"/sys/i386/isa/psm.c and rebuild the
kernel.
-
-Index: psm.c
+ Index: psm.c
===================================================================
RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
retrieving revision 1.60.2.1
@@ -4356,13 +4347,11 @@ IO range check 0x00 activate 0x01
will fit) or part of the Device Description
from the output of &man.pnpinfo.8;:
-
-{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
+ {0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */
{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */
{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */
-{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */
-
+{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */Add the hexadecimal Vendor ID for your device in the
correct place, save the file, rebuild your kernel, and reboot.
@@ -7242,8 +7231,7 @@ define(`confDELIVERY_MODE',`deferred')dnlThen edit /etc/XF86Config and make
sure you have the following lines.
-
-Section Pointer
+ Section Pointer
Protocol "SysMouse"
Device "/dev/sysmouse"
.....
@@ -7328,8 +7316,7 @@ Device "/dev/sysmouse"
Protocol "SysMouse"
Device "/dev/sysmouse"
Buttons 5
-EndSection
-
+EndSection
@@ -7398,8 +7385,7 @@ EndSection
Protocol "IntelliMouse"
Device "/dev/psm0"
ZAxisMapping 4 5
-EndSection
-
+EndSection
@@ -7454,8 +7440,7 @@ EndSection
(scroll-up imwheel-scroll-interval))
(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
-;;; end imwheel section
-
+;;; end imwheel section
For Xemacs, add the
@@ -7476,8 +7461,7 @@ EndSection
(scroll-up imwheel-scroll-interval))
(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines)
(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines)
-;;; end imwheel section
-
+;;; end imwheel section
@@ -8478,8 +8462,7 @@ SMC EtherPower (Model 8432)
TopWare TE-3500P
Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
(3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
- ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
-
+ ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
diff --git a/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml b/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml
index 3cb5589b31..a0ac827d5b 100644
--- a/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml
+++ b/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml
@@ -27,7 +27,7 @@
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
- $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml,v 1.14 2000/10/31 19:36:16 nik Exp $
+ $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/sgml-primer/chapter.sgml,v 1.15 2000/11/01 22:38:35 jim Exp $
-->
@@ -215,8 +215,7 @@
the element is a paragraph, called p. This
element has both start and end tags.
-
-This is a paragraph. It starts with the start tag for
+ This is a paragraph. It starts with the start tag for
the 'p' element, and it will end with the end tag for the 'p'
element.
@@ -235,8 +234,7 @@
hr. This element does not wrap content, so only
has a start tag.
-
-This is a paragraph.
+ This is a paragraph.
@@ -252,8 +250,7 @@
Elements within elements; em
-
-This is a simple paragraph where some
+ This is a simple paragraph where some
of the words have been emphasised.]]>
@@ -303,8 +300,7 @@
Using an element with an attribute
-
-The inclusion of the align attribute
+ The inclusion of the align attribute
on this paragraph was superfluous, since the default is left.
This may appear in the center.
]]>
@@ -319,8 +315,7 @@
Single quotes around attributes
-
-I'm on the right!]]>
+ I'm on the right!]]>Sometimes you do not need to use quotes around attribute values at
@@ -352,8 +347,7 @@
.profile, for &man.sh.1; and
&man.bash.1; users
-
-SGML_ROOT=/usr/local/share/sgml
+ SGML_ROOT=/usr/local/share/sgml
SGML_CATALOG_FILES=${SGML_ROOT}/jade/catalog
SGML_CATALOG_FILES=${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
@@ -365,8 +359,7 @@ export SGML_CATALOG_FILES.login, for &man.csh.1; and
&man.tcsh.1; users
-
-setenv SGML_ROOT /usr/local/share/sgml
+ setenv SGML_ROOT /usr/local/share/sgml
setenv SGML_CATALOG_FILES ${SGML_ROOT}/jade/catalog
setenv SGML_CATALOG_FILES ${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES ${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
@@ -383,8 +376,7 @@ setenv SGML_CATALOG_FILES ${SGML_ROOT}/docbook/catalog:$SGML_CATALOG_FILESCreate example.sgml, and enter the
following text;
-
-
+
@@ -532,8 +524,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished
A typical declaration for a document written to conform with version
4.0 of the HTML DTD looks like this;
-
-]]>
+ ]]>That line contains a number of different components.
@@ -603,8 +594,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished
FPIs must follow a specific syntax. This syntax is as
follows;
-
-"Owner//KeywordDescription//Language"
+ "Owner//KeywordDescription//Language"
@@ -693,8 +683,7 @@ nsgmls:example.sgml:6:8:E: end tag for "HEAD" which is not finished
map FPIs to filenames. For example, if the catalog file contained
the line;
-
-PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"
+ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"The SGML processor would know to look up the DTD from
strict.dtd in the 4.0
@@ -754,8 +743,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"The syntax for this is slightly different:
-
-]]>
+ ]]>The SYSTEM keyword indicates that the SGML
processor should locate the DTD in a system specific fashion. This
@@ -807,8 +795,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"SGML generic comment
-
-<!-- test comment -->
+ <!-- test comment -->
@@ -864,20 +851,17 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"The SGML parser will treat this as though it were actually;
-
-<!THIS IS OUTSIDE THE COMMENT>
+ <!THIS IS OUTSIDE THE COMMENT>This is not valid SGML, and may give confusing error
messages.
-
-]]>
+ ]]>As the example suggests, do not write
comments like that.
-
-]]>
+ ]]>That is a (slightly) better approach, but it still potentially
confusing to people new to SGML.
@@ -933,8 +917,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"current.version which expanded to the current
version number of your product. You could write;
-
-The current version of our product is
+ The current version of our product is
¤t.version;.]]>When the version number changes you can simply change the
@@ -958,8 +941,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Defining general entities
-
-
]>]]>
@@ -998,8 +980,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Defining parameter entities
-
-
@@ -1019,8 +1000,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Add a general entity to
example.sgml.
-
-
]>
@@ -1118,8 +1098,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using general entities to include files
-
-
@@ -1173,8 +1152,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"chapters.ent. This file contains the
following;
-
-
+
]]>
@@ -1183,8 +1161,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"
document, which will then make all the general entities available
for use. Then use the general entities as before;
-
-
@@ -1214,16 +1191,14 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Put content similar to the following in each file;
-
-This is the first paragraph.]]>
+ This is the first paragraph.]]>Edit example.sgml so that it looks like
this;
-
-
@@ -1273,8 +1248,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Edit example.sgml so that it looks like
this;
-
- %entities;
]>
@@ -1297,8 +1271,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Create a new file, entities.sgml, with
this content:
-
-
+
]]>
@@ -1332,8 +1305,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Structure of a marked section
-
-<![ KEYWORD [
+ <![ KEYWORD [
Contents of marked section
]]>
@@ -1399,8 +1371,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using a CDATA marked section
-
-<para>Here is an example of how you would include some text
+ <para>Here is an example of how you would include some text
that contained many < and & symbols. The sample
text is a fragment of HTML. The surrounding text (<para> and
<programlisting>) are from DocBook.</para>
@@ -1441,8 +1412,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using INCLUDE and
IGNORE in marked sections
-
-<![ INCLUDE [
+ <![ INCLUDE [
This text will be processed and included.
]]>
@@ -1480,8 +1450,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Using a parameter entity to control a marked
section
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
<!ENTITY % electronic.copy "INCLUDE">
]]>
@@ -1495,8 +1464,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"When producing the hard-copy version, change the entity's
definition to;
-
-<!ENTITY % electronic.copy "IGNORE">
+ <!ENTITY % electronic.copy "IGNORE">On reprocessing the document, the marked sections that use
%electronic.copy as their keyword will be
@@ -1513,8 +1481,7 @@ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"Create a new file, section.sgml, that
contains the following;
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
<!ENTITY % text.output "INCLUDE">
]>
diff --git a/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml b/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml
index 8a34b04687..21f3836844 100644
--- a/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml
+++ b/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml
@@ -27,7 +27,7 @@
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
- $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml,v 1.9 2000/08/08 23:39:14 marko Exp $
+ $FreeBSD: doc/en_US.ISO_8859-1/books/fdp-primer/writing-style/chapter.sgml,v 1.10 2001/04/05 01:47:13 dd Exp $
-->
@@ -182,8 +182,7 @@
For example, the source for this section looks something
like:
-
-
...
diff --git a/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml
index c002ad9bdb..6cde4ef3a6 100644
--- a/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,7 +1,7 @@
@@ -574,8 +574,7 @@ Local1 (10.20.30.1, 10.9.9.30) --> T1-GW (10.9.9.1)
On the NFS server make sure you have:
-
-portmap_enable="YES"
+ portmap_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_flags="-r"
@@ -588,8 +587,7 @@ mountd_flags="-r"On the client, make sure you have:
-
-nfs_client_enable="YES"
+ nfs_client_enable="YES"
nfs_client_flags="-n 4"Like nfsd, the tells
@@ -764,8 +762,7 @@ nfs_client_flags="-n 4"Examples for the FreeBSD system (freebox) as
the client: in /etc/fstab on freebox:
-
-fastws:/sharedfs /project nfs rw,-r=1024 0 0
+ fastws:/sharedfs /project nfs rw,-r=1024 0 0As a manual mount command on freebox:
@@ -774,8 +771,7 @@ fastws:/sharedfs /project nfs rw,-r=1024 0 0Examples for the FreeBSD system as the server: in
/etc/fstab on fastws:
-
-freebox:/sharedfs /project nfs rw,-w=1024 0 0
+ freebox:/sharedfs /project nfs rw,-w=1024 0 0As a manual mount command on fastws:
@@ -856,8 +852,7 @@ freebox:/sharedfs /project nfs rw,-w=1024 0 0Set up a bootp server to provide the client with IP, gateway,
netmask.
-
-diskless:\
+ diskless:\
:ht=ether:\
:ha=0000c01f848a:\
:sm=255.255.255.0:\
@@ -960,16 +955,14 @@ diskless:\
A typical completely diskless cfg file might contain:
-
-rootfs 192.1.2.3:/rootfs/myclient
+ rootfs 192.1.2.3:/rootfs/myclient
swapfs 192.1.2.3:/swapfs
swapsize 20000
hostname myclient.mydomainA cfg file for a machine with local swap might contain:
-
-rootfs 192.1.2.3:/rootfs/myclient
+ rootfs 192.1.2.3:/rootfs/myclient
hostname myclient.mydomain
@@ -980,14 +973,12 @@ hostname myclient.mydomain/etc/exports file on FreeBSD might look
like:
-
-/rootfs/myclient -maproot=0:0 myclient.mydomain
+ /rootfs/myclient -maproot=0:0 myclient.mydomain
/swapfs -maproot=0:0 myclient.mydomainAnd on HP-UX:
-
-/rootfs/myclient -root=myclient.mydomain
+ /rootfs/myclient -root=myclient.mydomain
/swapfs -root=myclient.mydomain
@@ -1139,8 +1130,7 @@ hostname myclient.mydomain
list, send mail to &a.majordomo; and
specify:
-
-subscribe freebsd-isdn
+ subscribe freebsd-isdnin the body of your message.
@@ -1262,8 +1252,7 @@ subscribe freebsd-isdn
with AUI/10BT transceiver, if necessary.
-
----Sun workstation
+ ---Sun workstation
|
---FreeBSD box
|
@@ -1284,8 +1273,7 @@ ISDN BRI lineNetwork is Twisted Pair Ethernet.
-
- -------Novell Server
+ -------Novell Server
| H |
| ---Sun
| |
@@ -1805,8 +1793,7 @@ Don't forget to update map ypservers on ellington.
/etc/crontab entries on your slave
servers should do the job:
-
-20 * * * * root /usr/libexec/ypxfr passwd.byname
+ 20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidThese two lines force the slave to sync its maps with
@@ -1863,8 +1850,7 @@ Don't forget to update map ypservers on ellington.
and start ypbind upon network
startup:
-
-nisdomainname="test-domain"
+ nisdomainname="test-domain"
nis_client_enable="YES"
@@ -1923,8 +1909,7 @@ nis_client_enable="YES"
like this:
-
-# allow connections from local host -- mandatory
+ # allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
@@ -2177,13 +2162,11 @@ ellington&prompt.root; vi /var/yp/netgroup
least four netgroups: IT employees, IT apprentices, normal
employees and interns.
-
-IT_EMP (,alpha,test-domain) (,beta,test-domain)
+ IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
-INTERNS (,able,test-domain) (,baker,test-domain)
-
+INTERNS (,able,test-domain) (,baker,test-domain)IT_EMP, IT_APP etc.
are the names of the netgroups. Each bracketed group adds
@@ -2230,12 +2213,10 @@ INTERNS (,able,test-domain) (,baker,test-domain)
15 users or less and a real netgroup that consists of the
sub-netgroups:
-
-BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
+ BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe32,domain) (,joe33,domain)
-BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
-
+BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3You can repeat this process if you need more than 225
users within a single netgroup.
@@ -2271,15 +2252,11 @@ ellington&prompt.user; ypcat -k netgroup.byuserwar, you only have to start
&man.vipw.8; and replace the line
-
-+:::::::::
-
+ +:::::::::with
-
-+@IT_EMP:::::::::
-
+ +@IT_EMP:::::::::Now, only the data for the users defined in the netgroup
IT_EMP is imported into
@@ -2321,20 +2298,16 @@ ellington&prompt.user; ypcat -k netgroup.byuser
of /etc/master.passwd with something like
this:
-
-+@IT_EMP:::::::::
+ +@IT_EMP:::::::::
+@IT_APP:::::::::
-+:::::::::/sbin/nologin
-
++:::::::::/sbin/nologinThe corresponding lines for the normal workstations
could be:
-
-+@IT_EMP:::::::::
+ +@IT_EMP:::::::::
+@USERS:::::::::
-+:::::::::/sbin/nologin
-
++:::::::::/sbin/nologinAnd everything would be fine until there is a policy
change a few weeks later: The IT department starts hiring
@@ -2359,11 +2332,9 @@ ellington&prompt.user; ypcat -k netgroup.byuser
that are allowed to login onto these machines. The new
entries for your NIS map netgroup should look like this:
-
-BIGSRV IT_EMP IT_APP
+ BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
-USERBOX IT_EMP ITINTERN USERS
-
+USERBOX IT_EMP ITINTERN USERSThis method of defining login restrictions works
reasonably well if you can define groups of machines with
@@ -2382,10 +2353,8 @@ USERBOX IT_EMP ITINTERN USERS
name of the netgroup. In other words, the lines should look
like this:
-
-+@BOXNAME:::::::::
-+:::::::::/sbin/nologin
-
+ +@BOXNAME:::::::::
++:::::::::/sbin/nologinOnce you have completed this task for all your machines,
you will not have to modify the local versions of
@@ -2394,8 +2363,7 @@ USERBOX IT_EMP ITINTERN USERS
is an example of a possible netgroup map for this
scenario with some additional goodies.
-
-# Define groups of users first
+ # Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
@@ -2429,8 +2397,7 @@ ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
-# [...more groups to follow]
-
+# [...more groups to follow]If you are using some kind of database to manage your user
accounts, you should be able to create the first part of the
@@ -2667,9 +2634,7 @@ lrwxr-xr-x 1 root wheel 14 Nov 8 14:27 /usr/lib/libscrypt.so@ -> libscryp
Edit your /etc/rc.conf to
include the following:
-
-ifconfig_fxp0="DHCP"
-
+ ifconfig_fxp0="DHCP"Be sure to replace fxp0 with the
@@ -2682,10 +2647,8 @@ ifconfig_fxp0="DHCP"
flags to dhclient, also include the
following (editing as necessary):
-
-dhcp_program="/sbin/dhclient"
-dhcp_flags=""
-
+ dhcp_program="/sbin/dhclient"
+dhcp_flags=""
diff --git a/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml b/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml
index e3bdd0a658..d0a4ffbaa3 100644
--- a/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml
@@ -1,7 +1,7 @@
@@ -419,8 +419,7 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready
An example script for creating a bootable floppy:
-
-
@@ -592,8 +592,7 @@
wish to protect, replacing the text between the %%
with the appropriate information.
-
-Copyright (c) %%proper_years_here%%
+ Copyright (c) %%proper_years_here%%
%%your_name_here%%, %%your_state%% %%your_zip%%.
All rights reserved.
diff --git a/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml b/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml
index 68399a4c95..f7e92f29a0 100644
--- a/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml
@@ -1,7 +1,7 @@
@@ -139,8 +139,7 @@
To join these lists, send mail to &a.majordomo; and
specify the following in the body of your message:
-
-subscribe freebsd-current
+ subscribe freebsd-current
subscribe cvs-allOptionally, you can also say help
@@ -304,8 +303,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgzTo join these lists, send mail to &a.majordomo; and
specify the following in the body of your message:
-
-subscribe freebsd-stable
+ subscribe freebsd-stable
subscribe cvs-allOptionally, you can also say help
diff --git a/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml b/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml
index d655eb0007..41d745a7ed 100644
--- a/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml
@@ -1,7 +1,7 @@
@@ -662,8 +662,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
adding the following line to your kernel configuration
file:
-
-options QUOTA
+ options QUOTAThe stock GENERIC kernel does not have
this enabled by default, so you will have to configure, build and
@@ -676,8 +675,7 @@ options QUOTA/etc/rc.conf. This is done by adding the
line:
-
-enable_quotas=YES
+ enable_quotas=YESFor finer control over your quota startup, there is an
additional configuration variable available. Normally on bootup,
@@ -690,15 +688,13 @@ enable_quotas=YES
skip this step, a variable is made available for the
purpose:
-
-check_quotas=NO
+ check_quotas=NOIf you are running FreeBSD prior to 3.2-RELEASE, the
configuration is simpler, and consists of only one variable. Set
the following in your /etc/rc.conf:
-
-check_quotas=YES
+ check_quotas=YESFinally you will need to edit /etc/fstab
to enable disk quotas on a per-file system basis. This is where
@@ -710,16 +706,14 @@ check_quotas=YES/etc/fstab entry for the file system you want
to to enable quotas on. For example:
-
-/dev/da1s2g /home ufs rw,userquota 1 2
+ /dev/da1s2g /home ufs rw,userquota 1 2Similarly, to enable group quotas, use the
groupquota option instead of the
userquota keyword. To enable both user and
group quotas, change the entry as follows:
-
-/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
+ /dev/da1s2g /home ufs rw,userquota,groupquota 1 2By default the quota files are stored in the root directory of
the file system with the names quota.user and
@@ -792,8 +786,7 @@ check_quotas=YES&prompt.root; edquota -u test
-
-Quotas for user test:
+ Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
@@ -847,8 +840,7 @@ Quotas for user test:
quota -v command for a user that has quota
limits on two file systems.
-
-Disk quotas for user test (uid 1002):
+ Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
@@ -879,8 +871,7 @@ Disk quotas for user test (uid 1002):
Enable rpc.rquotad in
/etc/inetd.conf like so:
-
-rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
+ rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotadNow restart inetd:
diff --git a/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml b/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml
index ed9f79f670..e63b7386f5 100644
--- a/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml
@@ -1,7 +1,7 @@
@@ -482,8 +482,7 @@
To subscribe to a list, send mail to &a.majordomo; and include
-
-subscribe <listname> [<optional address>]
+ subscribe <listname> [<optional address>]
in the body of your message. For example, to subscribe yourself to
freebsd-announce, you'd do:
diff --git a/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml b/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml
index 6d6a9b8157..cf890d86b3 100644
--- a/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1364,8 +1364,7 @@
below.
-
-INS8250 -> INS8250B
+ INS8250 -> INS8250B
\
\
\-> INS8250A -> INS82C50A
@@ -2609,8 +2608,7 @@ INS8250 -> INS8250B
options COM_MULTIPORT or it will not work very
well!
-
-device sio4 at isa? port 0x100 tty flags 0xb05
+ device sio4 at isa? port 0x100 tty flags 0xb05
device sio5 at isa? port 0x108 tty flags 0xb05
device sio6 at isa? port 0x110 tty flags 0xb05
device sio7 at isa? port 0x118 tty flags 0xb05
@@ -2667,8 +2665,7 @@ device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr<
Add the line
-
-options COM_MULTIPORT
+ options COM_MULTIPORT
to the config file.
@@ -2684,8 +2681,7 @@ options COM_MULTIPORT
for Each port is +8 hexadecimal from the previous port, thus
the 100h, 108h, 110h... addresses.
-
-device sio1 at isa? port 0x100 tty flags 0x1005
+ device sio1 at isa? port 0x100 tty flags 0x1005
device sio2 at isa? port 0x108 tty flags 0x1005
device sio3 at isa? port 0x110 tty flags 0x1005
device sio4 at isa? port 0x118 tty flags 0x1005
@@ -2918,8 +2914,7 @@ sio2: type 16550A (multiport master)
linkend="kernelconfig-config">kernel configuration
(note that your irq and iomem settings may differ).
-
-device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
+ device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
@@ -2943,8 +2938,7 @@ device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintrttyc in place of
ttyd. For example:
-
-ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
+ ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
…
@@ -3005,16 +2999,14 @@ ttyc7 "/usr/libexec/getty std.38400" unknown on insecure
kernel configuration
file, changing the numbers as appropriate:
-
-device si0 at isa? tty iomem 0xd0000 irq 11
+ device si0 at isa? tty iomem 0xd0000 irq 11Valid IRQ numbers are 9, 10, 11, 12 and 15 for SX ISA host cards
and 11, 12 and 15 for SI/XIO ISA host cards.To configure an EISA or PCI host card, use this line:
-
-device si0
+ device si0After adding the configuration entry, rebuild and install your
@@ -3035,8 +3027,7 @@ device si0
need to add lines like this to /etc/ttys:
-
-ttyA01 "/usr/libexec/getty std.9600" vt100 on insecure
+ ttyA01 "/usr/libexec/getty std.9600" vt100 on insecure
Change the terminal type as appropriate. For modems,
@@ -3552,8 +3543,7 @@ moused_port="/dev/ums0"
kernel config file. An example from the kernel config file (they
live in /sys/i386/conf BTW).
-
-# First WD compatible controller
+ # First WD compatible controller
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
@@ -4253,8 +4243,7 @@ sd0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)
config file LINT with some added comments
(between []):
-
-# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
+ # SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
#
# aha: Adaptec 154x
# ahb: Adaptec 174x
@@ -4335,8 +4324,7 @@ device cd0 at scbus? [the first ever CDROM found, no wiring]<
config file after upgrading from a pre-FreeBSD2.0.5.R system check
this out.
-
-[driver for Adaptec 174x]
+ [driver for Adaptec 174x]
controller ahb0 at isa? bio irq 11 vector ahbintr
[for Adaptec 154x]
@@ -4381,8 +4369,7 @@ device cd0 #Only need one of these, the code dynamically grows
-
-options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
+ options SCSI_DELAY=15 #Be pessimistic about Joe SCSI deviceThis line sets the delay time to 15 seconds. On my own system
I had to use 3 seconds minimum to get my trusty old CDROM drive
@@ -4452,8 +4439,7 @@ Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
Look for a struct that is initialized like below:
-
-{
+ {
T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A",
"mx1", SC_ONE_LU
}
@@ -4462,8 +4448,7 @@ Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
as a SCSI disk and has firmware revision 123 you would add
something like:
-
-{
+ {
T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123",
"sd", SC_MORE_LUS
}
@@ -4525,8 +4510,7 @@ Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
the right, read: fastest feasible, transfer rate. This option is
disabled by default:
-
-options "TUNE_1542" #dynamic tune of bus DMA speed
+ options "TUNE_1542" #dynamic tune of bus DMA speedCheck the man pages for the host adapter that you use. Or
better still, use the ultimate documentation (read: driver
@@ -5064,8 +5048,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed/usr/src/sys/pci/ncr.c (as shown below).
Build and install a new kernel.
-
-*** 4831,4835 ****
+ *** 4831,4835 ****
};
! if (np->latetime>4) {
@@ -5525,8 +5508,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed
-
-#!/bin/sh
+ #!/bin/sh
PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH
usage()
diff --git a/en_US.ISO_8859-1/books/handbook/install/chapter.sgml b/en_US.ISO_8859-1/books/handbook/install/chapter.sgml
index 150bce0340..8271a70b21 100644
--- a/en_US.ISO_8859-1/books/handbook/install/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/install/chapter.sgml
@@ -1,7 +1,7 @@
@@ -253,8 +253,7 @@
need to add the following line to the password file (using the
vipw command):
-
-ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
+ ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentAnyone with network connectivity to your machine can now
chose a media type of FTP and type in
diff --git a/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml b/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml
index 449508a823..88ca079857 100644
--- a/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1596,8 +1596,7 @@
Note that you should not use unless you can
accommodate the large (typically 7 MB+) kernels that result.
-
-makeoptions DEBUG="-g"
+ makeoptions DEBUG="-g"
makeoptions COPTFLAGS="-O -pipe"Sysctl provides a way to tune kernel parameters at run-time. You
diff --git a/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml b/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml
index e979859ca4..567134681c 100644
--- a/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml
@@ -1,7 +1,7 @@
@@ -253,8 +253,7 @@
closely. For details of all the possible kernel options, see
/usr/src/sys/i386/conf/LINT.
-
-#
+ #
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
@@ -282,8 +281,7 @@
i386, alpha, or
pc98.
-
-cpu I386_CPU
+ cpu I386_CPU
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
@@ -299,8 +297,7 @@ cpu I686_CPUThe Alpha architecture has different values for
cpu_type. They include:
-
-cpu EV4
+ cpu EV4
cpu EV5If you are using an Alpha machine, you should be using one of
@@ -355,8 +352,7 @@ cpu EV5Everything that follows is more or less optional. See the notes
underneath or next to each option for more information.
-
-#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+ #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options MATH_EMULATE #Support for x87 emulationThis line allows the kernel to simulate a math co-processor if
@@ -374,28 +370,24 @@ options MATH_EMULATE #Support for x87 emulation
which is not included by default for licensing reasons.
-
-options INET #InterNETworking
+ options INET #InterNETworkingNetworking support. Leave this in, even if you do not plan to
be connected to a network. Most programs require at least loopback
networking (i.e., making network connections within your PC), so
this is essentially mandatory.
-
-options INET6 #IPv6 communications protocols
+ options INET6 #IPv6 communications protocolsThis enables the IPv6 communication protocols.
-
-options FFS #Berkeley Fast Filesystem
+ options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]This is the basic hard drive filesystem. Leave it in if you
boot from the hard disk.
-
-options MFS #Memory Filesystem
+ options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root deviceThis is the memory-mapped filesystem. This is basically a RAM
@@ -413,16 +405,14 @@ options MD_ROOT #MD is a potential root deviceNow you simply need to either reboot, or run the command
mount /tmp.
-
-options NFS #Network Filesystem
+ options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS requiredThe network filesystem. Unless you plan to mount partitions
from a UNIX file server over TCP/IP, you can comment these
out.
-
-options MSDOSFS #MSDOS Filesystem
+ options MSDOSFS #MSDOS FilesystemThe MS-DOS filesystem. Unless you plan to mount a DOS formatted
hard drive partition at boot time, you can safely comment this out.
@@ -433,8 +423,7 @@ options MSDOSFS #MSDOS Filesystem
unmount them (and does not require MSDOSFS at
all).
-
-options CD9660 #ISO 9660 Filesystem
+ options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 requiredThe ISO 9660 filesystem for CDROMs. Comment it out if you do
@@ -442,22 +431,19 @@ options CD9660_ROOT #CD-ROM usable as root, CD9660 required
-
-options PROCFS #Process filesystem
+ options PROCFS #Process filesystemThe process filesystem. This is a pretend
filesystem mounted on /proc which allows
programs like &man.ps.1; to give you more information on what
processes are running.
-
-options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
+ options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]Compatibility with 4.3BSD. Leave this in; some programs will
act strangely if you comment this out.
-
-options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
+ options SCSI_DELAY=15000 #Delay (in ms) before probing SCSIThis causes the kernel to pause for 15 seconds before probing
each SCSI device in your system. If you only have IDE hard drives,
@@ -466,8 +452,7 @@ options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
-
-options UCONSOLE #Allow users to grab the console
+ options UCONSOLE #Allow users to grab the consoleAllow users to grab the console, which is useful for X users.
For example, you can create a console xterm by typing xterm
@@ -475,26 +460,22 @@ options UCONSOLE #Allow users to grab the consoletalk, and any other messages you receive, as well
as any console messages sent by the kernel.
-
-options USERCONFIG #boot -c editor
+ options USERCONFIG #boot -c editorThis option allows you to boot the configuration editor from the
boot menu.
-
-options VISUAL_USERCONFIG #visual boot -c editor
+ options VISUAL_USERCONFIG #visual boot -c editorThis option allows you to boot the visual configuration editor
from the boot menu.
-
-options KTRACE #ktrace(1) support
+ options KTRACE #ktrace(1) supportThis enables kernel process tracing, which is useful in
debugging.
-
-options SYSVSHM #SYSV-style shared memory
+ options SYSVSHM #SYSV-style shared memoryThis option provides for System V shared memory. The most
common use of this is the XSHM extension in X, which many
@@ -502,14 +483,12 @@ options SYSVSHM #SYSV-style shared memory
extra speed. If you use X, you'll definitely want to include
this.
-
-options SYSVSEM #SYSV-style semaphores
+ options SYSVSEM #SYSV-style semaphoresSupport for System V semaphores. Less commonly used but only
adds a few hundred bytes to the kernel.
-
-options SYSVMSG #SYSV-style message queues
+ options SYSVMSG #SYSV-style message queuesSupport for System V messages. Again, only adds a few hundred
bytes to the kernel.
@@ -519,30 +498,26 @@ options SYSVMSG #SYSV-style message queues
these System V facilities.
-
-options P1003_1B #Posix P1003_1B real-time extentions
+ options P1003_1B #Posix P1003_1B real-time extentions
options _KPOSIX_PRIORITY_SCHEDULINGReal-time extensions added in the 1993 POSIX. Certain
applications in the ports collection use these (such as Star
Office).
-
-options ICMP_BANDLIM #Rate limit bad replies
+ options ICMP_BANDLIM #Rate limit bad repliesThis option enables ICMP error response bandwidth limiting. You
typically want this option as it will help protect the machine from
denial of service packet attacks.
-
-# To make an SMP kernel, the next two are needed
+ # To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
#options APIC_IO # Symmetric (APIC) I/OThe above are both required for SMP support.
-
-# Optionally these may need tweaked, (defaults shown):
+ # Optionally these may need tweaked, (defaults shown):
#options NCPU=2 # number of CPUs
#options NBUS=4 # number of busses
#options NAPIC=1 # number of IO APICs
@@ -568,8 +543,7 @@ options ICMP_BANDLIM #Rate limit bad replies
auto-detection of PCI cards and gatewaying from the PCI to ISA
bus.
-
-# Floppy drives
+ # Floppy drives
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
@@ -585,8 +559,7 @@ device fd1 at fdc0 drive 1
one device ata line for the kernel to detect all
PCI ATA/ATAPI devices on modern machines.
-
-device atadisk # ATA disk drives
+ device atadisk # ATA disk drivesThis is needed along with device ata for
ATAPI disk drives.
@@ -597,40 +570,34 @@ device atapicd # ATAPI CDROM drivesThis is needed along with device ata for
ATAPI CDROM drives.
-
-device atapifd # ATAPI floppy drives
+ device atapifd # ATAPI floppy drivesThis is needed along with device ata for
ATAPI floppy drives.
-
-device atapist # ATAPI tape drives
+ device atapist # ATAPI tape drivesThis is needed along with device ata for
ATAPI tape drives.
-
-options ATA_STATIC_ID #Static device numbering
+ options ATA_STATIC_ID #Static device numberingThis makes the controller number static (like the old driver) or
else the device numbers are dynamically allocated.
-
-#options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices
+ #options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devicesThis enables DMA on the ATAPI device. Since many ATAPI devices
claim to support DMA, but it does not actually work, this is turned
off by default.
-
-# ATA and ATAPI devices
+ # ATA and ATAPI devices
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15Use the above for older, non-PCI systems.
-
-# SCSI Controllers
+ # SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
device amd # AMD 53C974 (Teckram DC-390(T))
@@ -649,8 +616,7 @@ device aic0 at isa?
system. If you have an IDE only system, you can remove these
altogether.
-
-# SCSI peripherals
+ # SCSI peripherals
device scbus # SCSI bus (required)
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
@@ -661,8 +627,7 @@ access)SCSI peripherals. Again, comment out any you do not have, or if
you have only IDE hardware, you can remove them completely.
-
-# RAID controllers
+ # RAID controllers
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
@@ -670,8 +635,7 @@ device mlx # Mylex DAC960 familySupported RAID controllers. If you do not have any of these,
you can comment them out or remove them.
-
-# atkbdc0 controls both the keyboard and the PS/2 mouse
+ # atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBDThe keyboard controller (atkbdc) provides I/O
@@ -680,16 +644,14 @@ device atkbdc0 at isa? port IO_KBD
(atkbd) and the PS/2 pointing device driver
(psm).
-
-device atkbd0 at atkbdc? irq 1
+ device atkbd0 at atkbdc? irq 1The atkbd driver, together with
atkbdc controller, provides access to the AT 84
keyboard or the AT enhanced keyboard which is connected to the AT
keyboard controller.
-
-device psm0 at atkbdc? irq 12
+ device psm0 at atkbdc? irq 12Use this device if your mouse plugs into the PS/2 mouse
port.
@@ -698,15 +660,13 @@ device psm0 at atkbdc? irq 12The video card driver.
-
-# splash screen/screen saver
+ # splash screen/screen saver
pseudo-device splashSplash screen at start up! Screen savers require this
too.
-
-# syscons is the default console driver, resembling an SCO console
+ # syscons is the default console driver, resembling an SCO console
device sc0 at isa?sc0 is the default console driver, which
@@ -718,8 +678,7 @@ device sc0 at isa?TERM variable to scoansi if
full-screen programs have trouble running under this console.
-
-# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
+ # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa?
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
@@ -737,8 +696,7 @@ device sc0 at isa?
device are often not available — vt100
should be available on virtually any platform.
-
-# Floating point support - do not disable.
+ # Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13npx0 is the interface to the floating point
@@ -746,14 +704,12 @@ device npx0 at nexus? port IO_NPX irq 13
the software math emulator. This is not
optional.
-
-# Power management support (see LINT for more options)
+ # Power management support (see LINT for more options)
device apm0 at nexus? disable flags 0x20 # Advanced Power ManagementAdvanced Power Management support. Useful for laptops.
-
-# PCCARD (PCMCIA) support
+ # PCCARD (PCMCIA) support
device card
device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable
@@ -761,8 +717,7 @@ device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disablePCMCIA support. You need this if you are installing on a
laptop.
-
-# Serial (COM) ports
+ # Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
@@ -789,19 +744,16 @@ device sio3 at isa? disable port IO_COM4 irq 9
used.
-
-# Parallel port
+ # Parallel port
device ppc0 at isa? irq 7This is the ISA-bus parallel port interface.
-
-device ppbus # Parallel port bus (required)
+ device ppbus # Parallel port bus (required)Provides support for the parallel port bus.
-
-device lpt # Printer
+ device lpt # PrinterSupport for parallel port printers.
@@ -810,26 +762,22 @@ device lpt # Printer
support.
-
-device plip # TCP/IP over parallel
+ device plip # TCP/IP over parallelThis is the driver for the parallel network interface.
-
-device ppi # Parallel port interface device
+ device ppi # Parallel port interface deviceThe general-purpose I/O (geek port) + IEEE1284
I/O.
-
-#device vpo # Requires scbus and da
+ #device vpo # Requires scbus and daThis is for an Iomega Zip drive. It requires
scbus and da support. Best
performance is achieved with ports in EPP 1.9 mode.
-
-# PCI Ethernet NICs.
+ # PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip)
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device tx # SMC 9432TX (83c170 EPIC)
@@ -839,8 +787,7 @@ device wx # Intel Gigabit Ethernet Card (WisemanVarious PCI network card drivers. Comment out or remove any of
these not present in your system.
-
-# PCI Ethernet NICs that use the common MII bus controller code.
+ # PCI Ethernet NICs that use the common MII bus controller code.
device miibus # MII bus supportMII bus support is required for some PCI 10/100 ethernet NICs,
@@ -851,8 +798,7 @@ device miibus # MII bus support
including a generic one for PHYs that are not specifically handled
by an individual driver
-
-device dc # DEC/Intel 21143 and various workalikes
+ device dc # DEC/Intel 21143 and various workalikes
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
@@ -864,8 +810,7 @@ device xl # 3Com 3c90x (Boomerang, Cyclon
Drivers that use the MII bus controller code.
-
-# ISA Ethernet NICs.
+ # ISA Ethernet NICs.
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
@@ -893,8 +838,7 @@ device sn0 at isa? port 0x300 irq 10
/usr/src/sys/i386/conf/LINT for which cards are
supported by which driver.
-
-# Pseudo devices - the number indicates how many units to allocated.
+ # Pseudo devices - the number indicates how many units to allocated.
pseudo-device loop # Network loopbackThis is the generic loopback device for TCP/IP. If you telnet
@@ -902,14 +846,12 @@ pseudo-device loop # Network loopback
role="ipaddr">127.0.0.1) it will come back at you through
this pseudo-device. This is mandatory.
-
-pseudo-device ether # Ethernet support
+ pseudo-device ether # Ethernet supportether is only needed if you have an Ethernet
card. It includes generic Ethernet protocol code.
-
-pseudo-device sl 1 # Kernel SLIP
+ pseudo-device sl 1 # Kernel SLIPsl is for SLIP support. This has been almost
entirely supplanted by PPP, which is easier to set up, better suited
@@ -917,8 +859,7 @@ pseudo-device sl 1 # Kernel SLIPnumber after sl
specifies how many simultaneous SLIP sessions to support.
-
-pseudo-device ppp 1 # Kernel PPP
+ pseudo-device ppp 1 # Kernel PPPThis is for kernel PPP support for dial-up connections. There
is also a version of PPP implemented as a userland application that
@@ -927,8 +868,7 @@ pseudo-device ppp 1 # Kernel PPPppp specifies how many simultaneous PPP
connections to support.
-
-pseudo-device tun # Packet tunnel.
+ pseudo-device tun # Packet tunnel.This is used by the userland PPP software. The
number after tun
@@ -950,26 +890,22 @@ pseudo-device pty # Pseudo-ttys (telnet etc)
and/or remote logins, be sure to increase this number accordingly,
up to a maximum of 256.
-
-pseudo-device md # Memory disks
+ pseudo-device md # Memory disksMemory disk pseudo-devices.
-
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
+ pseudo-device gif 4 # IPv6 and IPv4 tunnelingThis implements IPv6 over IPv4 tunneling, IPv4 over IPv6
tunneling, IPv4 over IPv4 tunneling, and IPv6 over IPv6
tunneling.
-
-pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
+ pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)This pseudo-device captures packets that are sent to it and
diverts them to the IPv4/IPv6 translation daemon.
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+ # The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf # Berkeley packet filter
@@ -979,8 +915,7 @@ pseudo-device bpf # Berkeley packet filter
can be captured to disk and or examined with the &man.tcpdump.1;
program.
-
-# USB support
+ # USB support
#device uhci # UHCI PCI->USB interface
#device ohci # OHCI PCI->USB interface
#device usb # USB Bus (required)
@@ -1020,8 +955,7 @@ pseudo-device bpf # Berkeley packet filterSuppose you add the IDE CD-ROM support to the kernel. The line
to add is:
-
-device acd0
+ device acd0This means that you should look for some entries that start with
acd0 in the /dev
diff --git a/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml b/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml
index 337bc8242e..0fb1167a6b 100644
--- a/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml
@@ -1,7 +1,7 @@
@@ -272,8 +272,7 @@
and edit your configuration file. Uncomment (or add, if it does not
exist) the following line
-
-makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbolsRebuild the kernel. Due to the time stamp change on the Makefile,
there will be some other object files rebuild, for example
@@ -312,8 +311,7 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
To configure your kernel to include DDB, add the option line
-
-options DDB
+ options DDB
to your config file, and rebuild. (See Kernel Configuration for details on
diff --git a/en_US.ISO_8859-1/books/handbook/kernelopts/chapter.sgml b/en_US.ISO_8859-1/books/handbook/kernelopts/chapter.sgml
index 28fcdb26ed..1e91b5cae7 100644
--- a/en_US.ISO_8859-1/books/handbook/kernelopts/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/kernelopts/chapter.sgml
@@ -1,7 +1,7 @@
@@ -37,8 +37,7 @@
concept in mind, i.e., the default can be overridden by the
config option. This is usually done with something like:
-
-#ifndef THIS_OPTION
+ #ifndef THIS_OPTION
#define THIS_OPTION (some_default_value)
#endif /* THIS_OPTION */
@@ -52,8 +51,7 @@
It is also possible to create value-less options that simply enable
or disable a particular piece of code by embracing it in
-
-#ifdef THAT_OPTION
+ #ifdef THAT_OPTION
[your code here]
@@ -68,8 +66,7 @@
is at least a single #ifdef referencing it...
However, it's unlikely that many people would put
-
-options notyet,notdef
+ options notyet,notdefin their config file, and then wonder why the kernel compilation
falls over. :-)
diff --git a/en_US.ISO_8859-1/books/handbook/l10n/chapter.sgml b/en_US.ISO_8859-1/books/handbook/l10n/chapter.sgml
index 086e29c31a..28d9c6dbf1 100644
--- a/en_US.ISO_8859-1/books/handbook/l10n/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/l10n/chapter.sgml
@@ -1,7 +1,7 @@
@@ -79,8 +79,7 @@
Language Code, Country Code, and Encoding. Locale names are
constructed from these parts as follows:
-
-LanguageCode_CountryCode.Encoding
+ LanguageCode_CountryCode.EncodingLanguage and Country Codes
@@ -231,8 +230,7 @@
directory which has both variables set for Latin-1
encoding:
-
-german:German User:\
+ german:German User:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO_8859-1:
@@ -242,8 +240,7 @@ german:German User:\
more variables set because some software does not respect
locale variables correctly for Chinese, Japanese, and Korean.
-
-#Users who do not wish to use monetary units or time formats
+ #Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
taiwan:Taiwanese User:\
lang=zh_TW.Big5:\
@@ -268,8 +265,7 @@ taiwan:Taiwanese User:\
correct language user's class. Make sure these settings
appear in /etc/login.conf:
-
-language_name:accounts_title:\
+ language_name:accounts_title:\
:charset=MIME_charset:\
:lang=locale_name:\
:tc=default:
@@ -277,8 +273,7 @@ taiwan:Taiwanese User:\
So sticking with our previous example using Latin-1, it
would look like this:
-
-german:German Users Accounts:\
+ german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO_8859-1:\
:tc=default:
@@ -288,8 +283,7 @@ german:German Users Accounts:\
Use vipw to add new users, and make
the entry look like this:
-
-user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
+ user:password:1111:11:language:0:0:User Name:/home/user:/bin/shChanging Login Classes with &man.adduser.8;
@@ -348,14 +342,12 @@ user:password:1111:11:language:0:0:User Name:/home/us
In /etc/profile:
-
-LANG=de_DE.ISO_8859-1; export LANG
+ LANG=de_DE.ISO_8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETOr in /etc/csh.login:
-
-setenv LANG de_DE.ISO_8859-1
+ setenv LANG de_DE.ISO_8859-1setenv MM_CHARSET ISO-8859-1Alternatively, you can add the above instructions to
@@ -369,13 +361,11 @@ user:password:1111:11:language:0:0:User Name:/home/us
In $HOME/.xinitrc:
-
-LANG=de_DE.ISO_8859-1; export LANG
+ LANG=de_DE.ISO_8859-1; export LANGOr:
-
-setenv LANG de_DE.ISO_8859-1
+ setenv LANG de_DE.ISO_8859-1Depending on your shell (see above).
@@ -389,8 +379,7 @@ user:password:1111:11:language:0:0:User Name:/home/us
console fonts in /etc/rc.conf for the
language in question with:
-
-font8x16=font_name
+ font8x16=font_name
font8x14=font_name
font8x8=font_name
@@ -405,8 +394,7 @@ font8x8=font_nameConsole. Alternatively, you can add the
following to /etc/rc.conf:
-
-scrnmap=screenmap_name
+ scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence"
@@ -441,8 +429,7 @@ keychange="fkey_number sequence"
mouse cursor the sc0 console driver. To enable the workaround,
insert the following line into the kernel config.
-
-options SC_MOUSE_CHAR=0x03
+ options SC_MOUSE_CHAR=0x03The keymap_name here is taken from
the /usr/share/syscons/keymaps directory,
@@ -671,13 +658,11 @@ options SC_MOUSE_CHAR=0x03In sh-based shells:
-
-LD_PRELOAD=/usr/lib/libxpg4.so
+ LD_PRELOAD=/usr/lib/libxpg4.soIn C-based shells:
-
-setenv LD_PRELOAD /usr/lib/libxpg4.so
+ setenv LD_PRELOAD /usr/lib/libxpg4.so
@@ -701,8 +686,7 @@ options SC_MOUSE_CHAR=0x03Put the following lines into your
~/.login_conf file:
-
-me:My Account:\
+ me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:
@@ -718,16 +702,14 @@ me:My Account:\
Add the following to your kernel configuration
file:
-
-options SC_MOUSE_CHAR=0x03
+ options SC_MOUSE_CHAR=0x03Use following settings in
/etc/rc.conf:
-
-keymap="ru.koi8-r"
+ keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
@@ -756,8 +738,7 @@ font8x8="cp866-8x8"
A Russian printer /etc/printcap entry
should look like:
-
-lp|Russian local line printer:\
+ lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
@@ -770,8 +751,7 @@ lp|Russian local line printer:\
The following example &man.fstab.5; entry enables support
for Russian filenames in mounted MS-DOS filesystems:
-
-/dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0
+ /dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0See &man.mount.msdos.8; for a detailed description of the
and options.
@@ -814,8 +794,7 @@ lp|Russian local line printer:\
lines must be added before any other
FontPath entries:
-
-FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
+ FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
@@ -830,14 +809,12 @@ FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"For XFree86 v3.*:
-
-XkbLayout "ru"
+ XkbLayout "ru"
XkbOptions "grp:caps_toggle"For XFree86 v4.*:
-
-Option "XkbLayout" "ru"
+ Option "XkbLayout" "ru"
Option "XkbOptions" "grp:caps_toggle"Also make sure that XkbDisable is
@@ -855,13 +832,11 @@ Option "XkbOptions" "grp:caps_toggle"For XFree86 v3.*:
-
-XkbVariant "winkeys"
+ XkbVariant "winkeys"For XFree86 v4.*:
-
-Option "XkbVariant" "winkeys"
+ Option "XkbVariant" "winkeys"The Russian XKB keyboard may not work with old XFree86
diff --git a/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml
index 67db423a39..71154577c7 100644
--- a/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,7 +1,7 @@
@@ -68,8 +68,7 @@
This, in turn, triggers the following action in
/etc/rc.i386:
-
-# Start the Linux binary compatibility if requested.
+ # Start the Linux binary compatibility if requested.
#
case ${linux_enable} in
[Yy][Ee][Ss])
@@ -261,8 +260,7 @@ Abort
/compat/linux/etc/host.conf file
containing:
-
-order hosts, bind
+ order hosts, bind
multi onThe order here specifies that /etc/hosts
diff --git a/en_US.ISO_8859-1/books/handbook/mail/chapter.sgml b/en_US.ISO_8859-1/books/handbook/mail/chapter.sgml
index 9b723687a7..a03c97a84a 100644
--- a/en_US.ISO_8859-1/books/handbook/mail/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/mail/chapter.sgml
@@ -1,7 +1,7 @@
@@ -172,13 +172,11 @@
As a good workaround, you can place the line:
-
-search foo.bar.edu bar.edu
+ search foo.bar.edu bar.edu
instead of the previous:
-
-domain foo.bar.edu
+ domain foo.bar.edu
into your /etc/resolv.conf. However, make
sure that the search order does not go beyond the
@@ -196,8 +194,7 @@ domain foo.bar.eduThis is answered in the sendmail FAQ as follows:
-
-* I am getting Local configuration error messages, such as:
+ * I am getting Local configuration error messages, such as:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
@@ -235,8 +232,7 @@ to /etc/sendmail.cf.The key is to get a Internet site to provide secondary MX
service for your domain. For example:
-
-bigco.com. MX 10 bigco.com.
+ bigco.com. MX 10 bigco.com.
MX 20 smalliap.com.Only one host should be specified as the final recipient
@@ -256,8 +252,7 @@ bigco.com. MX 10 bigco.com.
You might want to use something like this as a login
script.
-
-#!/bin/sh
+ #!/bin/sh
# Put me in /usr/local/bin/pppbigco
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppbigco
@@ -271,8 +266,7 @@ bigco.com. MX 10 bigco.com.
Message stolen from the &a.isp;.
-
-> we provide the secondary MX for a customer. The customer connects to
+ > we provide the secondary MX for a customer. The customer connects to
> our services several times a day automatically to get the mails to
> his primary MX (We do not call his site when a mail for his domains
> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
@@ -388,8 +382,7 @@ example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
role="fqdn">freefall.FreeBSD.org at one time looked like
this:
-
-freefall MX 30 mail.crl.net
+ freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com
@@ -424,8 +417,7 @@ freefall MX 20 who.cdrom.com
exchange for each workstation on the network. This is done in
your DNS configuration like so:
-
-example.FreeBSD.org A 204.216.27.XX ; Workstation
+ example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 hub.FreeBSD.org ; MailhostThis will redirect mail for the workstation to the mailhost no
@@ -445,8 +437,7 @@ example.FreeBSD.org A 204.216.27.XX ; Workstation
role="fqdn">mail.myhost.com. The entry in your DNS
should look like this:
-
-customer1.org MX 10 mail.myhost.com
+ customer1.org MX 10 mail.myhost.comYou do not need an A record if you only
want to handle email for the domain.
diff --git a/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml b/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml
index 4b09719462..6ce94bcbb6 100644
--- a/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1778,8 +1778,7 @@
simply list the collections, one per line (in this case,
only one line):
-
-src-all
+ src-all
@@ -2016,8 +2015,7 @@ src-all
add this line at the beginning of our
supfile:
-
-*default tag=.
+ *default tag=.There is an important special case that comes into play
if you specify neither a tag= field nor a
@@ -2044,8 +2042,7 @@ src-all
use a fictional FreeBSD distribution site,
cvsup666.FreeBSD.org:
-
-*default host=cvsup666.FreeBSD.org
+ *default host=cvsup666.FreeBSD.orgYou will need to change the host to one that actually
exists before running CVSup. On any particular run of
@@ -2066,8 +2063,7 @@ src-all
the collections we have chosen to receive, so this is the
correct specification:
-
-*default prefix=/usr
+ *default prefix=/usr
@@ -2081,8 +2077,7 @@ src-all
already received. We will use the standard base directory,
/usr/local/etc/cvsup:
-
-*default base=/usr/local/etc/cvsup
+ *default base=/usr/local/etc/cvsupThis setting is used by default if it is not specified
in the supfile, so we actually do not
@@ -2102,8 +2097,7 @@ src-all
needs to be present in the
supfile:
-
-*default release=cvs delete use-rel-suffix compress
+ *default release=cvs delete use-rel-suffix compressrelease=cvs indicates that the server
should get its information out of the main FreeBSD CVS
@@ -2138,8 +2132,7 @@ src-allHere is the entire supfile for our
example:
-
-*default tag=.
+ *default tag=.
*default host=cvsup666.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
@@ -3755,8 +3748,7 @@ src-allThe path to the files are:
/afs/stacken.kth.se/ftp/pub/FreeBSD/
-
-stacken.kth.se # Stacken Computer Club, KTH, Sweden
+ stacken.kth.se # Stacken Computer Club, KTH, Sweden
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.se
diff --git a/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml b/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml
index 0da30d93c4..32572203e2 100644
--- a/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1187,8 +1187,7 @@ F/U/FPM/mYbWNUELgSmN/YkSwWLGgfjcCObTwgd0FOW7XZuJ71R7ytBEn5kDt3bc
vULsB4kAPwMFGDSMdS7YyjFxW6BSwxECd5YAoKUcWpHjSL1KbOH3Ud52avzESk7C
AKCOQUeC622jsKntTOR5R9Vv4wyyKQ==
=L8Lf
------END PGP PUBLIC KEY BLOCK-----
-
+-----END PGP PUBLIC KEY BLOCK-----
@@ -1414,8 +1413,7 @@ gVMMZjZ7QiiO1LGl6IIiKRtJIXi45PcHtYgSZlXKflqPHhEIrOhFwpV+C7uL5jnv
ATGhlLHxWuNLTlPAVD5FsdJdOHI7UdkJh19JpphV+usu/mihMFEfM/kOVJeTXed1
0E4T
=Qwmg
------END PGP PUBLIC KEY BLOCK-----
-
+-----END PGP PUBLIC KEY BLOCK-----
@@ -1476,8 +1474,7 @@ cJowZeBj8Ss1QZsVzeyfAAQLA/0ZwjK242AXkXjibtzEfZqK7l22D9xIT+ajc6zP
7d/fJohMBBgRAgAMBQI6YpCpBQkB4TOAAAoJEG0Me8YVvhIOT9EAoKloqPBTtp9p
JAEew3wXXri0oNIvAKDP6fbrVo2vbD2iZXw2m3Y2E/z5qA==
=rQiL
------END PGP PUBLIC KEY BLOCK-----
-
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml b/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml
index 0b33eff446..4144cf20f2 100644
--- a/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml
@@ -1,7 +1,7 @@
@@ -21,8 +21,7 @@
maintained by a person or group of persons, they can communicate this
fact to the world by adding a
-
-MAINTAINER= email-addresses
+ MAINTAINER= email-addresses
line to the Makefiles covering this portion of the
source tree.
@@ -178,8 +177,7 @@ MAINTAINER= email-addresses
FREEBSD-upgrade ; cvs ci after the initial import. Example
wording from src/contrib/cpio is below:
-
-This directory contains virgin sources of the original distribution files
+ This directory contains virgin sources of the original distribution files
on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
the files in this directory via patches and a cvs commit. New versions or
official-patch versions must be imported. Please remember to import with
diff --git a/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml b/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml
index af6741f0e8..b3c5197eb8 100644
--- a/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,7 +1,7 @@
@@ -133,8 +133,7 @@
configuration file. It should have the following line somewhere
in it:
-
-pseudo-device tun 1
+ pseudo-device tun 1If this line is not present, you will need to add it to the
configuration file and recompile your kernel. The stock
@@ -250,8 +249,7 @@ tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
This file should contain the following two lines (in this
order):
-
-hosts
+ hosts
bindThese instruct the resolver to first look in the file
@@ -270,8 +268,7 @@ bind
role="ipaddr">10.0.0.1,
/etc/hosts should contain:
-
-127.0.0.1 localhost.bar.com localhost
+ 127.0.0.1 localhost.bar.com localhost
127.0.0.1 localhost.bar.com.
10.0.0.1 foo.bar.com foo
10.0.0.1 foo.bar.com.
@@ -298,8 +295,7 @@ bind
may leave this file empty. Normally, you will need to enter
the following line(s):
-
-domain bar.com
+ domain bar.com
nameserver x.x.x.x
nameserver y.y.y.y
@@ -351,8 +347,7 @@ nameserver y.y.y.y
using spaces or tabs.
-
-1 default:
+ 1 default:
2 set device /dev/cuaa0
3 set speed 115200
4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT"
@@ -545,8 +540,7 @@ protocol: ppp
PPP and Static IP
Addresses, with the following change:
-
-9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
+ 9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0Again, do not include the line numbers, they are just for
reference. Indentation of at least one space is
@@ -583,8 +577,7 @@ protocol: ppp
used. The following entry will delete the existing bogus
routes, and create correct ones:
-
-1 provider:
+ 1 provider:
2 delete ALL
3 add 0 0 HISADDR
@@ -655,8 +648,7 @@ protocol: ppp
also confirm that the /etc/rc.conf file
contains the following:
-
-gateway="YES"
+ gateway="YES"Which getty?
@@ -702,8 +694,7 @@ gateway="YES"
sections of the configuration file using the
allow command:
-
-allow users fred mary
+ allow users fred maryIf this command is used in the default
section, it gives the specified users access to
@@ -717,8 +708,7 @@ allow users fred mary/etc/ppp/ppp-shell containing the
following:
-
-#!/bin/sh
+ #!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
@@ -745,8 +735,7 @@ exec /usr/sbin/ppp -direct $IDENTpchilds (remember don't directly edit
the password file, use vipw).
-
-pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
+ pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupCreate a /home/ppp directory that
is world readable containing the following 0 byte
@@ -787,8 +776,7 @@ pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupThe /etc/ppp/ppp.conf file should
contain something along the lines of:
-
-default:
+ default:
set debug phase lcp chat
set timeout 0
@@ -823,8 +811,7 @@ ttyd1:
sam, and mary
example.
-
-fred:
+ fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
@@ -839,8 +826,7 @@ mary:
role="ipaddr">203.14.101.0 class C via the
client's ppp link.
-
-fred:
+ fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
@@ -876,8 +862,7 @@ mary:
/usr/local/etc/mgetty+sendfax/login.config
file has the following in it:
-
-/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
+ /AutoPPP/ - - /etc/ppp/ppp-pap-dialupThis will tell mgetty to run the
ppp-pap-dialup script for detected PPP
@@ -887,8 +872,7 @@ mary:
/etc/ppp/ppp-pap-dialup containing the
following (the file should be executable):
-
-#!/bin/sh
+ #!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENTFor each dialup line enabled in
@@ -897,8 +881,7 @@ exec /usr/sbin/ppp -direct pap$IDENT
happily co-exist with the definitions we created
above.
-
-pap:
+ pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxy
@@ -909,8 +892,7 @@ pap:
alternatively add the following option to authenticate users
via PAP from /etc/password file.
-
-enable passwdauth
+ enable passwdauthIf you wish to assign some users a static IP number, you
can specify the number as the third argument in
@@ -929,15 +911,13 @@ enable passwdauth
following lines might be added to the relevant section of
/etc/ppp/ppp.conf.
-
-enable msext
+ enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5And for PPP version 2 and above:
-
-accept dns
+ accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
@@ -970,8 +950,7 @@ set nbns 203.14.100.5
linkend="userppp-dynamicIP">PPP and Dynamic IP addresses
sections, the following alterations must be made:
-
-7 set login
+ 7 set login
…
12 set authname MyUserName
13 set authkey MyPassword
@@ -1011,13 +990,11 @@ set nbns 203.14.100.5MyPassword. You may want to
add an additional line, such as:
-
-15 accept PAP
+ 15 accept PAPor
-
-15 accept CHAP
+ 15 accept CHAPto make it obvious that this is the intention, but
PAP and CHAP are both accepted by default.
@@ -1035,8 +1012,7 @@ set nbns 203.14.100.5
suitable diagnostic port has been set up. To do this, add the
following line to your configuration:
-
-set server /var/run/ppp-tun%d DiagnosticPassword 0177
+ set server /var/run/ppp-tun%d DiagnosticPassword 0177This will tell PPP to listen to the specified unix-domain
socket, asking clients for the specified password before
@@ -1061,8 +1037,7 @@ set server /var/run/ppp-tun%d DiagnosticPassword 0177Working from the top down in this file, make sure the
hostname= line is set, e.g.:
-
-hostname="foo.bar.com"
+ hostname="foo.bar.com"If your ISP has supplied you with a static IP address and
name, it's probably best that you use this name as your host
@@ -1073,8 +1048,7 @@ hostname="foo.bar.com"
make sure the tun0 device is added to
the list, otherwise remove it.
-
-network_interfaces="lo0 tun0" ifconfig_tun0=
+ network_interfaces="lo0 tun0" ifconfig_tun0=The ifconfig_tun0 variable should be
@@ -1082,8 +1056,7 @@ network_interfaces="lo0 tun0" ifconfig_tun0=/etc/start_if.tun0 should be created.
This file should contain the line:
-
-ppp -auto mysystem
+ ppp -auto mysystemThis script is executed at network configuration time,
starting your ppp daemon in automatic mode. If you have a LAN
@@ -1095,8 +1068,7 @@ ppp -auto mysystemSet the router program to NO with
following line in your /etc/rc.conf:
-
-router_enable="NO"
+ router_enable="NO"It is important that the routed daemon is
not started (it is started by default), as it
@@ -1110,8 +1082,7 @@ router_enable="NO"
every now and then, possibly causing your machine to dial out.
You may try:
-
-sendmail_flags="-bd"
+ sendmail_flags="-bd"The downside of this is that you must force
sendmail to re-examine the mail queue
@@ -1122,8 +1093,7 @@ sendmail_flags="-bd"You may wish to use the !bg command in
ppp.linkup to do this automatically:
-
-1 provider:
+ 1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30m
@@ -1285,8 +1255,7 @@ sendmail_flags="-bd"I used the following /etc/ppp/options to
connect to CISCO terminal server PPP line.
-
-crtscts # enable hardware flow control
+ crtscts # enable hardware flow control
modem # modem control line
noipdefault # remote PPP server must supply your IP address.
# if the remote host doesn't send your IP during IPCP
@@ -1332,8 +1301,7 @@ defaultroute # put this if you want that PPP server will be your
Following /etc/ppp/pppup script will make
all 3 stages automatically:
-
-#!/bin/sh
+ #!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
@@ -1361,8 +1329,7 @@ pppd /dev/tty01 19200Use the following /etc/ppp/pppdown script
to disconnect the PPP line:
-
-#!/bin/sh
+ #!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
@@ -1385,8 +1352,7 @@ kermit -y /etc/ppp/kermit.hup
/usr/etc/ppp/ppptest, which should look like
this:
-
-#!/bin/sh
+ #!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
@@ -1401,8 +1367,7 @@ ifconfig ppp0/etc/ppp/kermit.hup, which should
contain:
-
-set line /dev/tty01 ; put your modem device here
+ set line /dev/tty01 ; put your modem device here
set speed 19200
set file type binary
set file names literal
@@ -1429,8 +1394,7 @@ exit/etc/ppp/options:
-
-/dev/cuaa1 115200
+ /dev/cuaa1 115200
crtscts # enable hardware flow control
modem # modem control line
@@ -1455,8 +1419,7 @@ defaultroute # put this if you want that PPP server will be
The following should go on a single line.
-
-ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
+ ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
TIMEOUT 5 sword: <password>
@@ -1476,8 +1439,7 @@ ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
/etc/ppp/options should contain something
similar to the following:
-
-crtscts # Hardware flow control
+ crtscts # Hardware flow control
netmask 255.255.255.0 # netmask ( not required )
192.114.208.20:192.114.208.165 # ip's of local and remote hosts
# local ip must be different from one
@@ -1493,8 +1455,7 @@ modem # modem line
will enable tell pppd to behave as a
server:
-
-#!/bin/sh
+ #!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
@@ -1521,8 +1482,7 @@ pppd /dev/tty01 19200Use this /etc/ppp/pppservdown script to
stop the server:
-
-#!/bin/sh
+ #!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
@@ -1544,8 +1504,7 @@ kermit -y /etc/ppp/kermit.noans
(/etc/ppp/kermit.ans) will enable/disable
autoanswer mode on your modem. It should look like this:
-
-set line /dev/tty01
+ set line /dev/tty01
set speed 19200
set file type binary
set file names literal
@@ -1575,8 +1534,7 @@ exit
in this script; you will also need to change the input statement
depending on responses from your modem and remote host.
-
-;
+ ;
; put the com line attached to the modem here:
;
set line /dev/tty01
@@ -1756,8 +1714,7 @@ exit 1
Here is an example of a working
ppp.conf:
-
-default: # or name_of_service_provider
+ default: # or name_of_service_provider
set device PPPoE:xl1 # replace xl1 with your ethernet device
set mru 1492
set mtu 1492
@@ -1797,8 +1754,7 @@ papchap:
Add the following to your /etc/rc.conf
file:
-
-ppp_enable="YES"
+ ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="default" # or your provider
@@ -1836,8 +1792,7 @@ ppp_profile="default" # or your providerMake sure you have the following in your kernel configuration
file:
-
-pseudo-device sl 1
+ pseudo-device sl 1It is included in the GENERIC kernel, so
this should not be a problem unless you have deleted it.
@@ -1851,8 +1806,7 @@ pseudo-device sl 1
your /etc/hosts file. Mine looks like
this:
-
-127.0.0.1 localhost loghost
+ 127.0.0.1 localhost loghost
136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
128.32.136.9 ns1.Berkeley.edu ns1
@@ -1874,8 +1828,7 @@ pseudo-device sl 1Set your hostname by editing the line that
says:
-
-hostname=myname.my.domain
+ hostname=myname.my.domainYou should give it your full Internet
hostname.
@@ -1885,34 +1838,29 @@ hostname=myname.my.domainAdd sl0 to the list of network interfaces by
changing the line that says:
-
-network_interfaces="lo0"
+ network_interfaces="lo0"to:
-
-network_interfaces=lo0 sl0
+ network_interfaces=lo0 sl0Set the startup flags of sl0 by adding a
line:
-
-ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
+ ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"Designate the default router by changing the
line:
-
-defaultrouter=NO
+ defaultrouter=NOto:
-
-defaultrouter=slip-gateway
+ defaultrouter=slip-gateway
@@ -1921,8 +1869,7 @@ defaultrouter=slip-gatewayMake a file /etc/resolv.conf which
contains:
-
-domain HIP.Berkeley.EDU
+ domain HIP.Berkeley.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
@@ -1956,8 +1903,7 @@ nameserver 128.32.136.12
to enter depends on your environment. I use kermit, with a
script like this:
-
-# kermit setup
+ # kermit setup
set modem hayes
set line /dev/modem
set speed 115200
@@ -2142,8 +2088,7 @@ silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
something like this (except it would be all on one
line):
-
-Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
+ Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginWhen Shelmerg logs in,
sliplogin will search
@@ -2152,16 +2097,14 @@ Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/s
/etc/sliphome/slip.hosts that
reads:
-
-Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
+ Shelmerg dc-slip sl-helmer 0xfffffc00 autocompsliplogin will find that matching line,
hook the serial line into the next available SLIP interface,
and then execute /etc/sliphome/slip.login
like this:
-
-/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
+ /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompIf all goes well,
/etc/sliphome/slip.login will issue an
@@ -2230,8 +2173,7 @@ sl1* 296 <Link> 0 0 0 0
configuration file (/sys/i386/conf/GENERIC)
is a line that reads:
-
-pseudo-device sl 2
+ pseudo-device sl 2This is the line that defines the number of SLIP devices
available in the kernel; the number at the end of the line is
@@ -2293,8 +2235,7 @@ pseudo-device sl 2/etc/sliphome/slip.hosts looks like
this:
-
-#
+ #
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
@@ -2371,8 +2312,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompThe typical /etc/sliphome/slip.login
file looks like this:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
@@ -2394,8 +2334,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp/etc/sliphome/slip.login
file will need to look something like this:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
@@ -2457,8 +2396,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompslip.logout script:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# slip.logout
@@ -2474,8 +2412,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp/etc/sliphome/slip.logout remove the
ARP entry for the SLIP client:
-
-#!/bin/sh -
+ #!/bin/sh -
#
# @(#)slip.logout
@@ -2550,8 +2487,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
-
-#
+ #
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
diff --git a/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml b/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml
index d403e08700..e051507867 100644
--- a/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml
@@ -1,7 +1,7 @@
@@ -482,8 +482,7 @@ sio2: type 16550A
If you want interrupt-driven mode, add the
irq specifier:
-
-device lpt0 at isa? port? tty irq N vector lptintr
+ device lpt0 at isa? port? tty irq N vector lptintrWhere N is the IRQ
number for your computer's parallel port.
@@ -493,8 +492,7 @@ device lpt0 at isa? port? tty irq N vector lptintrIf you want polled mode, do not add the
irq specifier:
-
-device lpt0 at isa? port? tty vector lptintr
+ device lpt0 at isa? port? tty vector lptintr
@@ -553,8 +551,7 @@ device lpt0 at isa? port? tty vector lptintr
will need a more sophisticated test. A small PostScript
program, such as the following, will suffice:
-
-%!PS
+ %!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
@@ -650,8 +647,7 @@ showpageEdit the file /etc/remote. Add
the following entry:
-
-printer:dv=/dev/port:br#bps-rate:pa=parity
+ printer:dv=/dev/port:br#bps-rate:pa=parityWhere port is the device
entry for the serial port (ttyd0,
@@ -667,8 +663,7 @@ printer:dv=/dev/port:br#bps-rate
-
-printer:dv=/dev/ttyd2:br#19200:pa=none
+ printer:dv=/dev/ttyd2:br#19200:pa=none
@@ -856,8 +851,7 @@ printer:dv=/dev/ttyd2:br#19200:pa=none
(a Diablo 630 line printer and a Panasonic KX-P4455 PostScript
laser printer):
-
-#
+ #
# /etc/printcap for host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
@@ -893,8 +887,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:/etc/printcap with sh
added:
-
-#
+ #
# /etc/printcap for host rose - no header pages anywhere
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -959,8 +952,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
specify the pathname of the spooling directory with the
sd capability:
-
-#
+ #
# /etc/printcap for host rose - added spooling directories
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1000,8 +992,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
bamboo is on a sixth serial port; here are
the additions to /etc/printcap:
-
-#
+ #
# /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1129,8 +1120,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
LITOUT and PASS8
flags:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
+ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
@@ -1169,8 +1159,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
text filter. Put the following text into that file with your
favorite text editor:
-
-#!/bin/sh
+ #!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
@@ -1190,8 +1179,7 @@ exit 2
printers we have so far in the example
/etc/printcap:
-
-#
+ #
# /etc/printcap for host rose - added text filter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1255,8 +1243,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
the program. If you are using &man.lptest.1;, then your
results should look like the following:
-
-!"#$%&'()*+,-./01234
+ !"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
@@ -1636,8 +1623,7 @@ $%&'()*+,-./01234567
PostScript printer's entry in
/etc/printcap:
-
-:if=/usr/local/libexec/psif:
+ :if=/usr/local/libexec/psif:You should also specify the rw capability;
that tells LPD to open the printer in read-write mode.
@@ -1647,8 +1633,7 @@ $%&'()*+,-./01234567
lprps needs), you can use the following shell
script as the text filter:
-
-#!/bin/sh
+ #!/bin/sh
#
# psif - Print PostScript or plain text on a PostScript printer
# Script version; NOT the version that comes with lprps
@@ -1711,8 +1696,7 @@ fi
-h to get a list of devices the current installation of
Ghostscript supports.)
-
-#!/bin/sh
+ #!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
# Installed in /usr/local/libexec/hpif
@@ -1761,8 +1745,7 @@ exit 2Finally, you need to notify LPD of the filter via the
if capability:
-
-:if=/usr/local/libexec/hpif:
+ :if=/usr/local/libexec/hpif:That is it. You can type lpr plain.text and
lpr whatever.ps and both should print
@@ -1924,8 +1907,7 @@ exit 2
the new df capability for the printer
bamboo.
-
-#
+ #
# /etc/printcap for host rose - added df filter for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -1943,8 +1925,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
/usr/local/libexec/psdf. Here is that
script:
-
-#!bin/sh
+ #!bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
@@ -1975,8 +1956,7 @@ exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
conversion filter for a Hewlett Packard LaserJet III-Si
printer:
-
-#!/bin/sh
+ #!/bin/sh
#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
@@ -1994,8 +1974,7 @@ giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
Here is the /etc/printcap file with an
entry for a printer using the above filter:
-
-#
+ #
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -2007,8 +1986,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
from the groff typesetting system for the PostScript printer named
bamboo:
-
-#!/bin/sh
+ #!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
@@ -2019,8 +1997,7 @@ exec grops | /usr/local/libexec/lprps "$@"
to handle the communication with the printer. If the printer were
on a parallel port, we would use this script instead:
-
-#!/bin/sh
+ #!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
@@ -2030,16 +2007,14 @@ exec gropsThat is it. Here is the entry we need to add to
/etc/printcap to enable the filter:
-
-:tf=/usr/local/libexec/pstf:
+ :tf=/usr/local/libexec/pstf:Here is an example that might make old hands at FORTRAN blush.
It is a FORTRAN-text filter for any printer that can directly
print plain text. We will install it for the printer
teak:
-
-#!/bin/sh
+ #!/bin/sh
#
# hprf - FORTRAN text filter for LaserJet 3si:
# Installed in /usr/local/libexec/hprf
@@ -2053,8 +2028,7 @@ exit 2/etc/printcap for the printer
teak to enable this filter:
-
-:rf=/usr/local/libexec/hprf:
+ :rf=/usr/local/libexec/hprf:Here is one final, somewhat complex example. We will add a
DVI filter to the LaserJet printer teak
@@ -2062,8 +2036,7 @@ exit 2/etc/printcap with the location of the DVI
filter:
-
-:df=/usr/local/libexec/hpdf:
+ :df=/usr/local/libexec/hpdf:Now, for the hard part: making the filter. For that, we need
a DVI-to-LaserJet/PCL conversion program. The FreeBSD ports
@@ -2103,8 +2076,7 @@ exit 2Here, finally, is the filter:
-
-#!/bin/sh
+ #!/bin/sh
#
# hpdf - Print DVI data on HP/PCL printer
# Installed in /usr/local/libexec/hpdf
@@ -2347,8 +2319,7 @@ exit 0
Here is an example output filter for Hewlett Packard PCL-compatible
printers:
-
-#!/bin/sh
+ #!/bin/sh
#
# hpof - Output filter for Hewlett Packard PCL-compatible printers
# Installed in /usr/local/libexec/hpof
@@ -2365,8 +2336,7 @@ exec /usr/libexec/lpr/lpf
the printer teak that we introduced earlier; we
enabled header pages and added the above output filter:
-
-#
+ #
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -2398,8 +2368,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
user, host, and job. Here is an example (kelly printed the job
named outline from host rose):
-
- k ll ll
+ k ll ll
k l l
k l l
k k eeee l l y y
@@ -2457,8 +2426,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
/etc/printcap file. The header page will look
like this:
-
-rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
+ rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995Also by default, LPD prints the header page first, then the job.
To reverse that, specify hl (header last) in
@@ -2553,8 +2521,7 @@ rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
arguments (user login name, host name, and job name) and makes a
simple PostScript header page:
-
-#!/bin/sh
+ #!/bin/sh
#
# make-ps-header - make a PostScript header page on stdout
# Installed in /usr/local/libexec/make-ps-header
@@ -2639,8 +2606,7 @@ EOF
user's job. Here is the DVI conversion filter from earlier in this
document, modified to make a header page:
-
-#!/bin/sh
+ #!/bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
@@ -2832,8 +2798,7 @@ done
teak; we have added entries for the two printers
on the host rose:
-
-#
+ #
# /etc/printcap for host orchid - added (remote) printers on rose
#
@@ -2911,8 +2876,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
want to take advantage of that (to get printer status, perform
accounting, etc.).
-
-#!/usr/bin/perl
+ #!/usr/bin/perl
#
# netprint - Text filter for printer attached to network
# Installed in /usr/local/libexec/netprint
@@ -2942,8 +2906,7 @@ exit 0;
printer is scrivener. Here is the text filter for the
printer:
-
-#!/bin/sh
+ #!/bin/sh
#
# diablo-if-net - Text filter for Diablo printer `scrivener' listening
# on port 5100. Installed in /usr/local/libexec/diablo-if-net
@@ -2993,8 +2956,7 @@ exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100sc
capability:
-
-#
+ #
# /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -3014,8 +2976,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
disable multiple copies for the printer
teak):
-
-#
+ #
# /etc/printcap for host orchid - no multiple copies for local
# printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -3070,8 +3031,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
is the familiar /etc/printcap for host
rose:
-
-#
+ #
# /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
@@ -3131,8 +3091,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
to five megabytes. We will put no limit on the plain text line
printer:
-
-#
+ #
# /etc/printcap for host rose
#
@@ -3196,8 +3155,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
/etc/hosts.lpd file on the host
rose:
-
-orchid
+ orchid
violet
madrigal.fishbaum.de
@@ -3232,8 +3190,7 @@ madrigal.fishbaum.de
directory for this printer; here is bamboo's
entry:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
+ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\
:if=/usr/local/libexec/psif:\
@@ -3363,8 +3320,7 @@ boo/minfree
the printer, it then writes an accounting entry in the accounting
file. The entries look like this:
-
-2.00 rose:andy
+ 2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
@@ -4332,8 +4288,7 @@ cfA013rose dequeued
/usr/local/libexec/if-simple prints a
form feed after it sends the job to the printer:
-
-#!/bin/sh
+ #!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
@@ -4352,8 +4307,7 @@ exit 2You got the following on paper:
-
-!"#$%&'()*+,-./01234
+ !"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
@@ -4435,8 +4389,7 @@ exit 2
eject the last page of the job. It should work with
nearly all Hewlett Packard printers.
-
-#!/bin/sh
+ #!/bin/sh
#
# hpif - Simple text input filter for lpd for HP-PCL based printers
# Installed in /usr/local/libexec/hpif
@@ -4453,8 +4406,7 @@ exit 2
LaserJet 3Si named teak. It is using the
above script as its text filter:
-
-#
+ #
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
@@ -4575,8 +4527,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
the entry for rattan, with the
lf capability:
-
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
+ rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:\
diff --git a/en_US.ISO_8859-1/books/handbook/security/chapter.sgml b/en_US.ISO_8859-1/books/handbook/security/chapter.sgml
index 4ae8048bc0..15cf203fae 100644
--- a/en_US.ISO_8859-1/books/handbook/security/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/security/chapter.sgml
@@ -1,7 +1,7 @@
@@ -1094,8 +1094,7 @@ Enter secret password: <secret password>Here is a sample configuration file which illustrates the
three most common sorts of configuration statements:
-
-permit internet 192.168.0.0 255.255.0.0
+ permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0
@@ -2353,8 +2352,7 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Please be aware that in order to use this functionality, you
must have the following options compiled into your kernel:
-
-options IPSEC #IP security
+ options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/IPSEC)
diff --git a/en_US.ISO_8859-1/books/handbook/serialcomms/chapter.sgml b/en_US.ISO_8859-1/books/handbook/serialcomms/chapter.sgml
index 3d40626de3..46a36d754c 100644
--- a/en_US.ISO_8859-1/books/handbook/serialcomms/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/serialcomms/chapter.sgml
@@ -1,7 +1,7 @@
@@ -490,8 +490,7 @@
Here is an excerpt of the /etc/ttys file after
we add the new entry:
-
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
+ ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd5
@@ -528,8 +527,7 @@ ttyd5
Here is the /etc/ttys file so far (showing just
the two terminals in which we are interested):
-
-ttyd1 "/usr/libexec/getty std.38400" unknown off secure
+ ttyd1 "/usr/libexec/getty std.38400" unknown off secure
ttyd5 "/usr/libexec/getty std.19200"Note that the second field—where we specify what program
@@ -566,8 +564,7 @@ ttyd5 "/usr/libexec/getty std.19200"
Here are the pertinent yet unfinished entries from the
/etc/ttys file:
-
-ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
+ ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
ttyd5 "/usr/libexec/getty std.19200" vt100
@@ -586,8 +583,7 @@ ttyd5 "/usr/libexec/getty std.19200" vt100
Here again is the /etc/ttys file. We have
turned each port on.
-
-ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
+ ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
ttyd5 "/usr/libexec/getty std.19200" vt100 on
@@ -635,8 +631,7 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on/etc/ttys file, with comments added to describe
where the terminals are:
-
-ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
+ ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom
@@ -1054,8 +1049,7 @@ sio3: type 16550A
the name of your system, but in upper-case letters. Edit the file,
and change the device lines:
-
-device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
+ device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
@@ -1235,8 +1229,7 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1
gettytab file, so you do not need to add it
unless it is missing under your version of FreeBSD:
-
-#
+ #
# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
#
D2400|d2400|Fast-Dial-2400:\
@@ -1251,8 +1244,7 @@ D2400|d2400|Fast-Dial-2400:\
entry you could use for a 14.4 Kbps modem with a top interface
speed of 19.2 Kbps:
-
-#
+ #
# Additions for a V.32bis Modem
#
um|V300|High Speed Modem at 300,8-bit:\
@@ -1287,8 +1279,7 @@ uq|V19200|High Speed Modem at 19200,8-bit:\
higher communications rate than 19.2 Kbps. Here is an example of
a gettytab entry starting a 57.6 Kbps:
-
-#
+ #
# Additions for a V.32bis or V.34 Modem
# Starting at 57.6 Kbps
#
@@ -1327,8 +1318,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
line will be the same, whether you are using a locked-speed or
matching-speed configuration:
-
-ttyd0 "/usr/libexec/getty xxx" dialup on
+ ttyd0 "/usr/libexec/getty xxx" dialup onThe first item in the above line is the device special file for
this entry — ttyd0 means
@@ -1377,8 +1367,7 @@ ttyd0 "/usr/libexec/getty xxx" dialup on
speed is locked at 19.2 Kbps, the ttys entry
might look like this:
-
-ttyd0 "/usr/libexec/getty std.19200" dialup on
+ ttyd0 "/usr/libexec/getty std.19200" dialup onIf your modem is locked at a different data rate, substitute
the appropriate name for the
@@ -1400,8 +1389,7 @@ ttyd0 "/usr/libexec/getty std.19200" dialup onV19200 starting point), your
ttys entry might look like this:
-
-ttyd0 "/usr/libexec/getty V19200" dialup on
+ ttyd0 "/usr/libexec/getty V19200" dialup on
@@ -1420,8 +1408,7 @@ ttyd0 "/usr/libexec/getty V19200" dialup onFor example, on a sample FreeBSD 1.1.5.1 system,
/etc/rc.serial reads:
-
-#!/bin/sh
+ #!/bin/sh
#
# Serial port initial configuration
@@ -1437,8 +1424,7 @@ stty -f /dev/cuai01 crtscts/etc/rc.local to set the
crtscts flag on the devices:
-
-# Set serial ports to use RTS/CTS flow control
+ # Set serial ports to use RTS/CTS flow control
stty -f /dev/ttyd0 crtscts
stty -f /dev/ttyd1 crtscts
stty -f /dev/ttyd2 crtscts
@@ -1498,8 +1484,7 @@ stty -f /dev/ttyd3 crtscts
Sportster 14,400 external modem, one could give these commands to
the modem:
-
-ATZ
+ ATZ
AT&C1&D2&H1&I0&R2&WYou might also want to take this opportunity to adjust other
@@ -1561,8 +1546,7 @@ AT&C1&D2&H1&I0&R2&W
modem, these commands will lock the modem-to-computer data rate at
the speed used to issue the commands:
-
-ATZ
+ ATZ
AT&B1&W
@@ -1576,8 +1560,7 @@ AT&B1&W
issue the commands, but allow the serial port rate to vary for
non-error-corrected connections:
-
-ATZ
+ ATZ
AT&B2&W
@@ -1793,8 +1776,7 @@ AT&B2&W
hooked up to the first serial port, /dev/cuaa0,
then put in the following line:
-
-cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+ cuaa0:dv=/dev/cuaa0:br#19200:pa=noneUse the highest bps rate your modem supports in the br capability.
Then, type tip cuaa0 and you will be connected to
@@ -1827,8 +1809,7 @@ cuaa0:dv=/dev/cuaa0:br#19200:pa=none
capability files like /etc/remote. Escape it
with a backslash:
-
-pn=\@
+ pn=\@
@@ -1837,8 +1818,7 @@ pn=\@Put what is called a generic entry in your
/etc/remote file. For example:
-
-tip115200|Dial any phone number at 115200 bps:\
+ tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
@@ -1850,8 +1830,7 @@ tip57600|Dial any phone number at 57600 bps:\
If you prefer cu over tip,
use a generic cu entry:
-
-cu115200|Use cu to dial any number at 115200bps:\
+ cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:and type:
@@ -1878,8 +1857,7 @@ cu115200|Use cu to dial any number at 115200bps:\
cm capability. For example, these entries in
/etc/remote:
-
-pain|pain.deep13.com|Forrester's machine:\
+ pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
@@ -1901,8 +1879,7 @@ deep13:Gizmonics Institute terminal server:\
/etc/remote and use @ for the
pn capability:
-
-big-university:\
+ big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
@@ -1910,8 +1887,7 @@ dialout:\
Then, list the phone numbers for the university in
/etc/phones:
-
-big-university 5551111
+ big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
@@ -1944,8 +1920,7 @@ big-university 5551114
specifying the following in your $HOME/.tiprc
file:
-
-force=<single-char>
+ force=<single-char>
@@ -1961,8 +1936,7 @@ force=<single-char>Here is a sample .tiprc file perfect for Emacs users who need to
type CTRL+2 and CTRL+A a lot:
-
-force=^^
+ force=^^
raisechar=^^The ^^ is SHIFT+CTRL+6.
@@ -2184,8 +2158,7 @@ raisechar=^^Example:
-
-device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4
+ device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4See &man.sio.4; for more details.
diff --git a/en_US.ISO_8859-1/books/handbook/sound/chapter.sgml b/en_US.ISO_8859-1/books/handbook/sound/chapter.sgml
index cdec867374..60b7ad1b7d 100644
--- a/en_US.ISO_8859-1/books/handbook/sound/chapter.sgml
+++ b/en_US.ISO_8859-1/books/handbook/sound/chapter.sgml
@@ -1,7 +1,7 @@
@@ -101,8 +101,7 @@
and
-
-device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15
+ device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15to your kernel. Those are the default settings. You may
need to change the IRQ, etc. See the &man.sbc.4; man page for
@@ -134,8 +133,7 @@ device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15and
-
-device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
+ device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13to your kernel. You may need to change the IRQ, etc. See
the &man.gusc.4; man page for more information.
@@ -166,8 +164,7 @@ device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
sound card that does not have a bridge driver, you will need
to add
-
-device pcm0 at isa? irq 10 drq 1 flags 0x0
+ device pcm0 at isa? irq 10 drq 1 flags 0x0to your kernel configuration. You may need to change the
IRQ, etc., to match your hardware configuration.
@@ -190,8 +187,7 @@ device pcm0 at isa? irq 10 drq 1 flags 0x0
/dev/sndstat. You should see output similar to the
following:
-
-FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
+ FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices:
pcm0: <Aureal Vortex 8830> at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)
diff --git a/en_US.ISO_8859-1/books/porters-handbook/book.sgml b/en_US.ISO_8859-1/books/porters-handbook/book.sgml
index 4f8babab43..6aa9db505a 100644
--- a/en_US.ISO_8859-1/books/porters-handbook/book.sgml
+++ b/en_US.ISO_8859-1/books/porters-handbook/book.sgml
@@ -1,7 +1,7 @@
The minimal Makefile would look something
like this:
-
-# New ports collection makefile for: oneko
+ # New ports collection makefile for: oneko
# Date created: 5 December 1994
# Whom: asami
#
@@ -140,8 +139,7 @@ USE_IMAKE= yes
should begin with a capital, and end without a period. Here
is an example:
-
-A cat chasing a mouse all over the screen
+ A cat chasing a mouse all over the screen
@@ -167,8 +165,7 @@ A cat chasing a mouse all over the screenIt is recommended that you sign your name at the end of this
file, as in:
-
-This is a port of oneko, in which a cat chases a poor mouse all over
+ This is a port of oneko, in which a cat chases a poor mouse all over
the screen.
:
(etc.)
@@ -193,8 +190,7 @@ asami@cs.berkeley.eduHere is a small example:
-
-bin/oneko
+ bin/oneko
lib/X11/app-defaults/Oneko
lib/X11/oneko/cat1.xpm
lib/X11/oneko/cat2.xpm
@@ -836,8 +832,7 @@ lib/X11/oneko/mouse.xpm
The gtkmumble port, version 0.10, is committed to the
ports collection.
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSION= 0.10PKGNAME becomes
@@ -847,8 +842,7 @@ PORTVERSION= 0.10
FreeBSD patch. PORTREVISION is bumped
accordingly.
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSIOn= 0.10
PORTREVISION= 1
@@ -868,8 +862,7 @@ PORTREVISION= 1PORTREVISION is reset to 0 (or removed
from the makefile).
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSION= 0.2
PORTEPOCH= 1
@@ -880,8 +873,7 @@ PORTEPOCH= 1PORTEPOCH never decreases, the version
variables are now:
-
-PORTNAME= gtkmumble
+ PORTNAME= gtkmumble
PORTVERSION= 0.3
PORTEPOCH= 1
@@ -1006,8 +998,7 @@ PORTEPOCH= 1MASTER_SITE_SUBDIR to the path within the
archive. Here is an example:
-
-MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+ MASTER_SITES= ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR= applicationsThese variables are defined in
@@ -1136,8 +1127,7 @@ MASTER_SITE_SUBDIR= applicationsFor example,
-
-RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
+ RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
wish8.0:${PORTSDIR}/x11-toolkits/tk80will check if the file or directory
@@ -1260,8 +1250,7 @@ RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
compilation time by specifying the target too. For
instance
-
-BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract
+ BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract
will always descend to the JPEG port and extract it.
@@ -1353,8 +1342,7 @@ BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extractMakefile:
-
-INSTALLS_SHLIB= yes
+ INSTALLS_SHLIB= yes
LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/barNote that content of LDCONFIG_DIRS is passed
@@ -1432,8 +1420,7 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/barThe variable is set using this line in
bsd.port.mk:
-
-PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
+ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aoutPorts' make processes should use this variable to decide what to
do. However, if the port's configure script
@@ -1524,13 +1511,11 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aoutThe ldconfig line in Makefiles should
read:
-
-${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....
+ ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....In pkg-plist it should read;
-
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
+ @exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -RThis is to ensure that the correct ldconfig
@@ -1559,8 +1544,7 @@ ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....This will be best demonstrated by an example. This is part of
japanese/xdvi300/Makefile;
-
-PORTNAME= xdvi
+ PORTNAME= xdvi
PORTVERSION= 17
PKGNAMEPREFIX= ja-
PKGNAMESUFFIX= ${RESOLUTION}
@@ -1582,8 +1566,7 @@ RESOLUTION?= 300
As for other resolutions, this is the entirexdvi118/Makefile:
-
-RESOLUTION= 118
+ RESOLUTION= 118
MASTERDIR= ${.CURDIR}/../xdvi300
.include ${MASTERDIR}/Makefile
@@ -1688,8 +1671,7 @@ MASTERDIR= ${.CURDIR}/../xdvi300
Here is an example that puts it all together.
-
-MAN1= foo.1
+ MAN1= foo.1
MAN3= bar.3
MAN4= baz.4
MLINKS= foo.1 alt-name.8
@@ -1699,8 +1681,7 @@ MANCOMPRESSED= yesThis states that six files are installed by this port;
-
-${PREFIX}/man/man1/foo.1.gz
+ ${PREFIX}/man/man1/foo.1.gz
${PREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/share/foobar/man/man3/bar.3.gz
${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
@@ -1825,8 +1806,7 @@ Options:
statements to files that do not have them. This is part of my
patch:
-
---- ./man/vip.texi.org Fri Jun 16 15:31:11 1995
+ --- ./man/vip.texi.org Fri Jun 16 15:31:11 1995
+++ ./man/vip.texi Tue May 20 01:28:33 1997
@@ -2,6 +2,10 @@
@@ -1884,8 +1864,7 @@ Options:
man subdirectory to rebuild the info
pages.
-
---- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+ --- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+++ ./Makefile.in Tue Apr 15 00:15:28 1997
@@ -184,7 +184,7 @@
# Subdirectories to make recursively. `lisp' is not included
@@ -1925,8 +1904,7 @@ Options:
otherwise mucking around with the dir
file.
-
---- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+ --- ./Makefile.in.org Mon Aug 19 21:12:19 1996
+++ ./Makefile.in Mon Apr 14 23:38:07 1997
@@ -368,14 +368,8 @@
if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
@@ -1953,8 +1931,7 @@ Options:
They may be in pkg-install or some other
file, so search extensively.
-
-Index: pkg-plist
+ Index: pkg-plist
===================================================================
RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v
retrieving revision 1.15
@@ -1982,8 +1959,7 @@ diff -u -r1.15 pkg-plist
install-info automatically creates this
file if it does not exist.)
-
-Index: Makefile
+ Index: Makefile
===================================================================
RCS file: /usr/cvs/ports/editors/emacs/Makefile,v
retrieving revision 1.26
@@ -2008,8 +1984,7 @@ diff -u -r1.26 Makefile
@unexec for
pkg_delete.
-
-Index: pkg-plist
+ Index: pkg-plist
===================================================================
RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v
retrieving revision 1.15
@@ -2139,8 +2114,7 @@ diff -u -r1.15 pkg-plist
For instance, if you have a port that installs many files in a
version-specific subdirectory, you can put something like
-
-OCTAVE_VERSION= 2.0.13
+ OCTAVE_VERSION= 2.0.13
PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
in the Makefile and use
@@ -2351,8 +2325,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}post-install rule to to it yourself. Here is an
example:
-
-post-install:
+ post-install:
strip ${PREFIX}/bin/xdlUse the &man.file.1; command on the installed executable to
@@ -2440,8 +2413,7 @@ post-install:
defined in <sys/param.h>. Hopefully that
file is already included; if not, add the code:
-
-#if (defined(__unix__) || defined(unix)) && !defined(USG)
+ #if (defined(__unix__) || defined(unix)) && !defined(USG)
#include <sys/param.h>
#endif
@@ -2454,8 +2426,7 @@ post-install:
Another way is to use the GNU Autoconf style of doing
this:
-
-#ifdef HAVE_SYS_PARAM_H
+ #ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
@@ -2466,8 +2437,7 @@ post-install:
Once you have sys/param.h included, you may
use:
-
-#if (defined(BSD) && (BSD >= 199103))
+ #if (defined(BSD) && (BSD >= 199103))to detect if the code is being compiled on a 4.3 Net2 code base
or newer (e.g. FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386
@@ -2475,8 +2445,7 @@ post-install:
Use:
-
-#if (defined(BSD) && (BSD >= 199306))
+ #if (defined(BSD) && (BSD >= 199306))to detect if the code is being compiled on a 4.4 code base or
newer (e.g. FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 or
@@ -2519,8 +2488,7 @@ post-install:
system. If you need more granularity in detecting FreeBSD
systems since 2.0-RELEASE you can use the following:
-
-#if __FreeBSD__ >= 2
+ #if __FreeBSD__ >= 2
#include <osreldate.h>
# if __FreeBSD_version >= 199504
/* 2.0.5+ release specific code here */
@@ -3156,8 +3124,7 @@ post-install:
Here are some examples of things you can write after
bsd.port.pre.mk:
-
-# no need to compile lang/perl5 if perl5 is already in system
+ # no need to compile lang/perl5 if perl5 is already in system
.if ${OSVERSION} > 300003
BROKEN= perl is in system
.endif
@@ -3196,8 +3163,7 @@ post-install:
NOPORTDOCS so that users can disable it in
/etc/make.conf, like this:
-
-post-install:
+ post-install:
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/xv
${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
@@ -3349,13 +3315,11 @@ post-install:
your port requires a macro PAGER to be the full
pathname of less, use the compiler flag:
-
--DPAGER=\"${PREFIX}/bin/less\"
+ -DPAGER=\"${PREFIX}/bin/less\"
or
-
--DPAGER=\"${LOCALBASE}/bin/less\"
+ -DPAGER=\"${LOCALBASE}/bin/less\"
if this is an X port, instead of
-DPAGER=\"/usr/local/bin/less\". This way it will
@@ -3395,8 +3359,7 @@ post-install:
specifically created by the port. You need to delete subdirectories
before you can delete parent directories.
-
- :
+ :
lib/X11/oneko/pixmaps/cat.xpm
lib/X11/oneko/sounds/cat.au
:
@@ -3409,8 +3372,7 @@ lib/X11/oneko/sounds/cat.au
can call rmdir from @unexec to
remove only empty directories without warning.
-
-@unexec rmdir %D/share/doc/gimp 2>/dev/null || true
+ @unexec rmdir %D/share/doc/gimp 2>/dev/null || trueThis will neither print any error messages nor cause
pkg_delete to exit abnormally even if
@@ -3435,8 +3397,7 @@ lib/X11/oneko/sounds/cat.au
other ports. This is the current list of UIDs between 50 and
99.
-
-majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
+ majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent
gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
@@ -3588,8 +3549,7 @@ vpopmail:*:89:89::0:0:User &:/usr/local/vpopmail:/nonexistent
linkend="porting-portlint">portlint to check the
Makefile.
-
-[the header...just to make it easier for us to identify the ports.]
+ [the header...just to make it easier for us to identify the ports.]
# New ports collection makefile for: xdvi
[the "version required" line is only needed when the PORTVERSION
variable is not specific enough to describe the port.]
diff --git a/en_US.ISO_8859-1/books/ppp-primer/book.sgml b/en_US.ISO_8859-1/books/ppp-primer/book.sgml
index 76f9fb19c1..1d434d8483 100644
--- a/en_US.ISO_8859-1/books/ppp-primer/book.sgml
+++ b/en_US.ISO_8859-1/books/ppp-primer/book.sgml
@@ -18,7 +18,7 @@
-$FreeBSD: doc/en_US.ISO_8859-1/books/ppp-primer/book.sgml,v 1.6 2001/01/17 07:22:10 brian Exp $
+$FreeBSD: doc/en_US.ISO_8859-1/books/ppp-primer/book.sgml,v 1.7 2001/04/05 01:44:24 dd Exp $This is a step-by-step guide for configuring FreeBSD systems to act as
a dial-up router/gateway in a Local Area Environment. All entries may
@@ -786,8 +786,7 @@ dial-out Internet gateway for our example LAN:
must be indented!
-
-################################################################
+################################################################
# PPP Configuration File ('/etc/ppp/ppp.conf')
#
# Default settings; These are always executed always when PPP
@@ -836,8 +835,7 @@ demand:
set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0
add 0 0 127.2.2.2
################################################################
-# End of /etc/ppp/ppp.conf
-
+# End of /etc/ppp/ppp.conf
This file, taken verbatim from a working system, has three relevant
configuration sections: