Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/

Add FreeBSD Id tag where missing.
This commit is contained in:
Jens Schweikhardt 2002-12-30 21:18:15 +00:00
parent 5e705af2c9
commit d64ada501a
92 changed files with 415 additions and 410 deletions

View File

@ -739,7 +739,7 @@ Thus the command
echo *
.DE
will not echo the character `*'.
It will either echo an sorted list of filenames in the
It will either echo a sorted list of filenames in the
current
.I "working directory,"
or print the message `No match' if there are

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
# @(#)Notes 8.1 (Berkeley) 5/31/93
# $FreeBSD$
Warning:
The fortunes contained in the fortune database have been collected
@ -53,7 +54,7 @@ a program which is supposed to be entertaining. People who run "fortune
their sensibilities tweaked. However, they should not have their personal
worth seriously (i.e., not in jest) assaulted. Jokes which depend for their
humor on racist, mysogynist, or homophobic stereotypes *do* seriously
assault individual personal worth, and in an general entertainment medium
assault individual personal worth, and in a general entertainment medium
we should be able to get by without it.
==> FORMATTING

View File

@ -2109,7 +2109,7 @@ deal with yams, and pigs are terrible conversationalists.
So he showed me a nude picture of my wife.
-- Rodney Dangerfield
%
If I kiss you, that is an psychological interaction.
If I kiss you, that is a psychological interaction.
On the other hand, if I hit you over the head with a brick,
that is also a psychological interaction.
The difference is that one is friendly and the other is not
@ -6297,7 +6297,7 @@ A fellow bought a new car, a Nissan, and was quite happy with his purchase.
He was something of an animist, however, and felt that the car really ought
to have a name. This presented a problem, as he was not sure if the name
should be masculine or feminine.
After considerable thought, he settled on an naming the car either
After considerable thought, he settled on naming the car either
Belchazar or Beaumadine, but remained in a quandry about the final choice.
"Is a Nissan male or female?" he began asking his friends. Most of
them looked at him peculiarly, mumbled things about urgent appointments, and
@ -9712,7 +9712,7 @@ hours. Suddenly, the old man opens his eyes whispers: "I must be dreaming
of heaven... I smell my daughter Lisle's strudel."
"No, no, grandfather, you are not dreaming", he is reassured.
"Grandmother is baking strudel right now."
A faint smile crosses the old man's face. "Go an get me a sliver of
A faint smile crosses the old man's face. "Go and get me a sliver of
strudel," he says, "she bakes the finest strudel in the world."
One of the grandchildren is immediately dispatched to honor the old
man's request, and, after what seems a long time, he returns empty-handed.
@ -18011,7 +18011,7 @@ Fortune's Rules for Memo Wars: #2
Given the incredible advances in sociocybernetics and telepsychology over
the last few years, we are now able to completely understand everything that
the author of an memo is trying to say. Thanks to modern developments
the author of a memo is trying to say. Thanks to modern developments
in electrocommunications like notes, vnews, and electricity, we have an
incredible level of interunderstanding the likes of which civilization has
never known. Thus, the possibility of your misinterpreting someone else's
@ -18021,7 +18021,7 @@ the memo in question, but have absolutely nothing of substance to say, then
you have an excellent opportunity for a vicious ad hominem attack. In fact,
the only *inappropriate* times for an ad hominem attack are as follows:
1: When you agree completely with the author of an memo.
1: When you agree completely with the author of a memo.
2: When the author of the original memo is much bigger than you are.
3: When replying to one of your own memos.
%
@ -27463,7 +27463,7 @@ It is the business of the future to be dangerous.
-- Hawkwind
%
It is the nature of extreme self-lovers, as they will
set an house on fire, and it were but to roast their eggs.
set a house on fire, and it were but to roast their eggs.
-- Francis Bacon
%
It is the quality rather than the quantity that matters.
@ -47025,8 +47025,8 @@ necessary, family, hobbies, and friends -- if you had any of these left
(and you might not, if you had signed up too many times before).
-- Tracy Kidder, "The Soul of a New Machine"
%
There was this New Yorker that had a lifelong ambition to be an Texan.
Fortunately, he had an Texan friend and went to him for advice. "Mike,
There was this New Yorker that had a lifelong ambition to be a Texan.
Fortunately, he had a Texan friend and went to him for advice. "Mike,
you know I've always wanted to be a Texan. You're a *real* Texan, what
should I do?"
"Well," answered Mike, "The first thing you've got to do is look
@ -49293,7 +49293,7 @@ Unless it's blind screaming paroxysmally hedonistic...
Under every stone lurks a politician.
-- Aristophanes
%
Under the wide an starry sky,
Under the wide and starry sky,
Dig my grave and let me lie,
Glad did I live and gladly die,
And laid me down with a will,

View File

@ -3114,7 +3114,7 @@ the word 'screw' in the courtroom. Say 'intercourse' instead."
probably not aware of. Never mind. Please continue."
"Well, like ah said, he had 'er shoved up agin' thet wall, an' he
was... uh... intercoursin' 'er, an' he give 'er the crossjostle, the Chicago
Stroke, an she let out with a holler thet..."
Stroke, an' she let out with a holler thet..."
"One moment," interrupted the Bench. "What is this, ah, Chicago
Stroke, Mr. Bumpass?"
"Well, thet's a technicality of screwin', Judge, thet you're probably
@ -6220,7 +6220,7 @@ Fortune's Rules for Memo Wars: #3
The proper time for a vicious ad hominem attack is when you have no logical
recourse. If you have been arguing a point with a person or persons for
30 odd weeks, and an memo comes across that logically tears down the
30 odd weeks, and a memo comes across that logically tears down the
final shred of evidence that you thought you had, that is the time to call
the author of that memo:
1: a mindless twit who attacks other people's beliefs for no reason.
@ -6231,7 +6231,7 @@ the author of that memo:
The OTHER proper time for an ad hominem attack is immediately after someone
has posted something you don't understand. Given the current state of modern
electronic communications technology your inability to comprehend the meaning
of an memo constitutes a violation of western moral tradition on the part of
of a memo constitutes a violation of western moral tradition on the part of
the author of that memo, and the author should be taken to task publicly via
a series of really nasty, name-calling oriented memos.
%
@ -10256,7 +10256,7 @@ to show that if you've got a big dick, you don't need a Mercedes."
One day Adam, while wandering around the Garden of Eden, noticed that all
the animals seemed to come in pairs, male and female. He also noted that
they seemed to enjoy being together a lot. So, he went to his special
place an reported to God what he'd noticed.
place and reported to God what he'd noticed.
God, understanding his need, said, "Adam, the time has come for me
to provide you with a mate. Go lie down and when you have fallen asleep, I
will create your mate."

View File

@ -254,7 +254,7 @@ Upon completion of the database 0 is returned, 1 is returned upon successful
return of record with possibly more remaining (we haven't reached the end of
the database yet), 2 is returned if the record contains an unresolved
.Ic tc
expansion, \-1 is returned if an system error occurred, and \-2
expansion, \-1 is returned if a system error occurred, and \-2
is returned if a potential reference loop is detected (see
.Ic tc=
comments below).

View File

@ -381,7 +381,7 @@ innetgr(group, host, user, dom)
* Couldn't match using NIS-exclusive mode. If the error
* was YPERR_MAP, then the failure happened because there
* was no netgroup.byhost or netgroup.byuser map. The odds
* are we are talking to an Sun NIS+ server in YP emulation
* are we are talking to a Sun NIS+ server in YP emulation
* mode; if this is the case, then we have to do the check
* the 'old-fashioned' way by grovelling through the netgroup
* map and resolving memberships on the fly.

View File

@ -68,7 +68,7 @@ and returns a pointer to the corresponding message string.
.Pp
The
.Fn psignal
function accepts an signal number argument
function accepts a signal number argument
.Fa sig
and writes it to the standard error.
If the argument

View File

@ -47,7 +47,7 @@ __FBSDID("$FreeBSD$");
* the extended-key map.
*
* An extended-key (key) is a sequence of keystrokes introduced
* with an sequence introducer and consisting of an arbitrary
* with a sequence introducer and consisting of an arbitrary
* number of characters. This module maintains a map (the el->el_key.map)
* to convert these extended-key sequences into input strs
* (XK_STR), editor functions (XK_CMD), or unix commands (XK_EXE).
@ -450,7 +450,7 @@ node__put(EditLine *el, key_node_t *ptr)
/* node__get():
* Returns pointer to an key_node_t for ch.
* Returns pointer to a key_node_t for ch.
*/
private key_node_t *
node__get(int ch)

View File

@ -56,7 +56,7 @@
.Dt REALHOSTNAME_SA 3
.Sh NAME
.Nm realhostname_sa
.Nd "convert an struct sockaddr to the real host name"
.Nd "convert a struct sockaddr to the real host name"
.Sh LIBRARY
.Lb libutil
.Sh SYNOPSIS

View File

@ -261,7 +261,7 @@ getether(ifname, eap)
/*
* Get the Ethernet address the same way the ARP module
* does when it is pushed onto a new stream (bind).
* One should instead be able just do an dl_info_req
* One should instead be able just do a dl_info_req
* but many drivers do not supply the hardware address
* in the response to dl_info_req (they MUST supply it
* for dl_bind_ack because the ARP module requires it).

View File

@ -297,7 +297,7 @@ cleanstr(const unsigned char *s, int l)
/*
* return result as an pseudo-english word
* return result as a pseudo-english word
*/
static const char *

View File

@ -127,7 +127,7 @@ struct grouplist *lookup(struct member_entry *table[], char *key)
struct grouplist dummy = { 99999, NULL };
/*
* Store an group member entry and/or update its grouplist.
* Store a group member entry and/or update its grouplist.
*/
void mstore (struct member_entry *table[], char *key, int gid, int dup)
{

View File

@ -2249,7 +2249,7 @@ cpu EV5 #dependent on CPU model installed</programlisting>
PCI slot and (shared) 3 PCI/EISA slots. PCI0 also has a
PCI/EISA bridge that drives things like the serial and
parallel ports, keyboard/mouse etc. PCI1 has 4 PCI slots
and an Symbios 810 SCSI chip. VGA console cards must be installed
and a Symbios 810 SCSI chip. VGA console cards must be installed
in a slot connected to PCI0.</para>
<para>The current &os; implementation has problems in handling
@ -2330,7 +2330,7 @@ cpu EV5</programlisting>
There are 2 separate PCI buses, PCI0 and PCI1. PCI0 has the 32-bit PCI
slot and the 2 top-most 64-bit PCI slots. PCI0 also has an Intel 82375EB
PCI/EISA bridge that drives things like the serial and parallel ports,
keyboard/mouse etc. PCI1 has 4 64-bit PCI slots and an Symbios 810
keyboard/mouse etc. PCI1 has 4 64-bit PCI slots and a Symbios 810
SCSI chip. VGA console cards must be installed in a slot
connected to PCI0.</para>

View File

@ -321,7 +321,7 @@
</qandaentry>
<qandaentry>
<question>
<para>When installing on an Dell Poweredge XE, Dell
<para>When installing on a Dell Poweredge XE, Dell
proprietary RAID controller DSA (Dell SCSI Array) isn't
recognized.</para>
</question>

View File

@ -3321,7 +3321,7 @@ options HZ=1000 # not compulsory but strongly recommended</programlisting>
&man.rand.3; has been improved to provide less biased
results.</para>
<para role="historic">&man.rc.8; now has an framework for handling dependencies
<para role="historic">&man.rc.8; now has a framework for handling dependencies
between &man.rc.conf.5; variables. &merged;</para>
<para role="historic">&man.rc.8; now deletes all non-directory files in

View File

@ -3321,7 +3321,7 @@ options HZ=1000 # not compulsory but strongly recommended</programlisting>
&man.rand.3; has been improved to provide less biased
results.</para>
<para role="historic">&man.rc.8; now has an framework for handling dependencies
<para role="historic">&man.rc.8; now has a framework for handling dependencies
between &man.rc.conf.5; variables. &merged;</para>
<para role="historic">&man.rc.8; now deletes all non-directory files in

View File

@ -2368,7 +2368,7 @@ cpu EV5 #dependent on CPU model installed</programlisting>
PCI slot and (shared) 3 PCI/EISA slots. PCI0 also has a
PCI/EISA bridge that drives things like the serial and
parallel ports, keyboard/mouse etc. PCI1 has 4 PCI slots
and an Symbios 810 SCSI chip. VGA console cards must be installed
and a Symbios 810 SCSI chip. VGA console cards must be installed
in a slot connected to PCI0.</para>
<para>The current &os; implementation has problems in handling
@ -2449,7 +2449,7 @@ cpu EV5</programlisting>
There are 2 separate PCI buses, PCI0 and PCI1. PCI0 has the 32-bit PCI
slot and the 2 top-most 64-bit PCI slots. PCI0 also has an Intel 82375EB
PCI/EISA bridge that drives things like the serial and parallel ports,
keyboard/mouse etc. PCI1 has 4 64-bit PCI slots and an Symbios 810
keyboard/mouse etc. PCI1 has 4 64-bit PCI slots and a Symbios 810
SCSI chip. VGA console cards must be installed in a slot
connected to PCI0.</para>

View File

@ -463,7 +463,7 @@ boot:</screen>
</qandaentry>
<qandaentry>
<question>
<para>When installing on an Dell Poweredge XE, Dell
<para>When installing on a Dell Poweredge XE, Dell
proprietary RAID controller DSA (Dell SCSI Array) isn't
recognized.</para>
</question>

View File

@ -1093,7 +1093,7 @@ process_partition(CMD *command)
}
/*
* Adjust start upwards, if necessary, to fall on an head boundary.
* Adjust start upwards, if necessary, to fall on a head boundary.
*/
if (partp->dp_start % dos_sectors != 0) {
prev_head_boundary = partp->dp_start / dos_sectors * dos_sectors;
@ -1304,7 +1304,7 @@ sanitize_partition(struct dos_partition *partp)
return (1);
/*
* Adjust start upwards, if necessary, to fall on an head boundary.
* Adjust start upwards, if necessary, to fall on a head boundary.
*/
if (start % dos_sectors != 0) {
prev_head_boundary = start / dos_sectors * dos_sectors;

View File

@ -1128,7 +1128,7 @@ sanitize_partition(struct dos_partition *partp)
return (1);
/*
* Adjust start upwards, if necessary, to fall on an head boundary.
* Adjust start upwards, if necessary, to fall on a head boundary.
*/
if (start % dos_sectors != 0) {
prev_head_boundary = start / dos_sectors * dos_sectors;

View File

@ -538,7 +538,7 @@ initcg(int cylno, time_t utime, int fso, unsigned int Nflag)
* Here we add or subtract (sign +1/-1) the available fragments in a given
* block to or from the fragment statistics. By subtracting before and adding
* after an operation on the free frag map we can easy update the fragment
* statistic, which seems to be otherwise an rather complex operation.
* statistic, which seems to be otherwise a rather complex operation.
*/
static void
frag_adjust(ufs2_daddr_t frag, int sign)

View File

@ -31,6 +31,8 @@
.\"
.\" @(#)5.t 5.1 (Berkeley) 4/17/91
.\"
.\" $FreeBSD$
.\"
.ds RH Functional Extensions
.NH
Functional Extensions
@ -69,7 +71,7 @@ The organization of network interfaces has been
reworked to more cleanly support multiple
network protocols. Network interfaces no longer
contain a host's address on that network; instead
each interface contains a pointer to a list of addresses
each interface contains a pointer to a list of addresses
assigned to that interface. This permits a single
interface to support, for example, Internet protocols
at the same time as XNS protocols.
@ -80,7 +82,7 @@ for 10 megabyte/second Ethernet\(dg
\(dg Ethernet is a trademark of Xerox.
.FE
has been made more flexible by allowing hosts to
act as an ``clearing house'' for hosts that do
act as a ``clearing house'' for hosts that do
not support ARP. In addition, system managers have
more control over the contents of the ARP translation
cache and may interactively interrogate and modify
@ -100,7 +102,7 @@ Number of File Descriptors
.PP
To allow full use of the many descriptor based services available,
the previous hard limit of 30 open files per process has been relaxed.
The changes entailed generalizing \fIselect\fP to handle arrays of
The changes entailed generalizing \fIselect\fP to handle arrays of
32-bit words, removing the dependency on file descriptors from
the page table entries,
and limiting most of the linear scans of a process's file table.
@ -169,7 +171,7 @@ Users could not write their own return from exceptions;
Many existing programs depend on interrupted system calls.
The restartable system call semantics of 4.2BSD signals caused
many of these programs to break.
To simplify porting of programs from inferior versions of
To simplify porting of programs from inferior versions of
.UX
the \fIsigvec\fP system call has been extended so that
programmers may specify that system calls are not to be
@ -179,14 +181,14 @@ System Logging
.PP
A system logging facility has been added
that sends kernel messages to the
syslog daemon for logging in /usr/adm/messages and possibly for
syslog daemon for logging in /usr/adm/messages and possibly for
printing on the system console.
The revised scheme for logging messages
eliminates the time lag in updating the messages file,
unifies the format of kernel messages,
provides a finer granularity of control over the messages
that get printed on the console,
and eliminates the degradation in response during the printing of
and eliminates the degradation in response during the printing of
low-priority kernel messages.
Recoverable system errors and common resource limitations are logged
using this facility.

View File

@ -34,6 +34,8 @@
.\"
.\" @(#)1.t 8.1 (Berkeley) 6/8/93
.\"
.\" $FreeBSD$
.\"
.sh 1 "NFS Implementation"
.pp
The 4.4BSD implementation of NFS and the alternate protocol nicknamed
@ -213,7 +215,7 @@ request/reply message in a single UDP
datagram. Since UDP does not guarantee datagram delivery, the
Remote Procedure Call (RPC) layer
times out and retransmits an RPC request if
no RPC reply has been received. Since this round trip timeout (RTO) value
no RPC reply has been received. Since this round trip timeout (RTO) value
is for the entire RPC operation, including RPC message transmission to the
server, queuing at the server for an nfsd, performing the RPC and
sending the RPC reply message back to the client, it can be highly variable
@ -230,7 +232,7 @@ Also, with an 8Kbyte read/write data size
that must normally be fragmented at the IP layer for transmission.\**
.(f
\**6 IP fragments for an Ethernet,
which has an maximum transmission unit of 1500bytes.
which has a maximum transmission unit of 1500bytes.
.)f
For IP fragments to be successfully reassembled into
the IP datagram at the receive end, all

View File

@ -312,7 +312,7 @@ It looks ugly, but at least for me it works. The two sleeps are necessary
since I have to wait for ppp negotiation to complete (I don't get a message
from isdnd for that). If I'm lucky I have my connection after 3 seconds,
but 8 seconds should suffice for worst case (the first HUP without a sleep
sometimes even succeeded on an slow 486/33 with 8MB RAM, more HUPs don't hurt).
sometimes even succeeded on a slow 486/33 with 8MB RAM, more HUPs don't hurt).
I'm really interested in some more elegant method.
@ -1070,7 +1070,7 @@ A: i just found out what i did wrong ...
isdn_fsdev="NO"
isdn_flags=""
had to do that if i want to run isdnd as an daemon service, 'cause the
had to do that if i want to run isdnd as a daemon service, 'cause the
defaults in /etc/defaults/rc.conf are:
isdn_fsdev="/dev/ttyv4" # Output device for fullscreen mode (or NO for daemon mode).

View File

@ -332,7 +332,7 @@ Enable debugging for the bandwidth delay product algorithm. This may
default to on (1) so if you enable the algorithm you should probably also
disable debugging by setting this variable to 0.
.It tcp.inflight_min
This puts an lower bound on the bandwidth delay product window, in bytes.
This puts a lower bound on the bandwidth delay product window, in bytes.
A value of 1024 is typically used for debugging. 6000-16000 is more typical
in a production installation. Setting this value too low may result in
slow ramp-up times for bursty connections. Setting this value too high

View File

@ -146,7 +146,7 @@ processes blocked on the mutex in question is updated to reflect its new
priority.
Then, the function repeats the procedure using the process that owns the
mutex just encountered.
Note that an process's priorities are only bumped to the priority of the
Note that a process's priorities are only bumped to the priority of the
original process
.Fa p ,
not to the priority of the previously encountered process.

View File

@ -31,6 +31,7 @@
#
# @(#)map3270 8.2 (Berkeley) 4/1/94
#
# $FreeBSD$
# This file contains mappings between characters entered from the keyboard,
# and 3270 keys, for use by programs (like tn3270) doing 3270 emulation
@ -925,7 +926,7 @@ tn3270pc | ibm-3278-2 {
#
# MAP3270 for the IBM PC
# Nearly identical to the MS-Kermit UCB 227.14 keyboard which in turn was
# an modest improvement of the BIJOU Yterm keyboard.
# a modest improvement of the BIJOU Yterm keyboard.
# Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
# Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
# which prevents separate use of the keypad plus and minus keys, and adds

View File

@ -4535,7 +4535,7 @@ static void funcname(FICL_VM *pVM)
/**************************************************************************
f i c l W o r d C l a s s i f y
** This public function helps to classify word types for SEE
** and the deugger in tools.c. Given an pointer to a word, it returns
** and the deugger in tools.c. Given a pointer to a word, it returns
** a member of WOR
**************************************************************************/
WORDKIND ficlWordClassify(FICL_WORD *pFW)

View File

@ -187,7 +187,7 @@ camq_remove(struct camq *queue, int index)
/*
* camq_change_priority: Given an array of cam_pinfo* elements with the
* Heap(1, num_entries) property, an index such that 1 <= index <= num_elements,
* and an new priority for the element at index, change the priority of
* and a new priority for the element at index, change the priority of
* element index and restore the Heap(0, num_elements) property.
*/
void

View File

@ -1754,7 +1754,7 @@ amr_describe_controller(struct amr_softc *sc)
/* this looks like we have an HP NetRaid version of the MegaRaid */
if(ae->ae_signature == AMR_SIG_438) {
/* the AMI 438 is an NetRaid 3si in HP-land */
/* the AMI 438 is a NetRaid 3si in HP-land */
prod = "HP NetRaid 3si";
}

View File

@ -569,7 +569,7 @@ ccdinit(struct ccd_s *cs, char **cpaths, struct thread *td)
ccg->ccg_ncylinders = cs->sc_size / ccg->ccg_nsectors;
/*
* Add an devstat entry for this device.
* Add a devstat entry for this device.
*/
devstat_add_entry(&cs->device_stats, "ccd", cs->sc_unit,
ccg->ccg_secsize, DEVSTAT_ALL_SUPPORTED,

View File

@ -1049,7 +1049,7 @@ cm_ioctl(ifp, command, data)
* software has not enabled the Receiver, would make our hardware wait forever
* Discovered this after 20 times reading the docs.
*
* Only thing we do is disable transmitter. We'll get an transmit timeout,
* Only thing we do is disable transmitter. We'll get a transmit timeout,
* and the int handler will have to decide not to retransmit (in case
* retransmission is implemented).
*

View File

@ -1628,7 +1628,7 @@ isp_fclink_test(struct ispsoftc *isp, int usdelay)
* Check to see if we're on a fabric by trying to see if we
* can talk to the fabric name server. This can be a bit
* tricky because if we're a 2100, we should check always
* (in case we're connected to an server doing aliasing).
* (in case we're connected to a server doing aliasing).
*/
fcp->isp_onfabric = 0;

View File

@ -763,7 +763,7 @@ isp_handle_atio(struct ispsoftc *isp, at_entry_t *aep)
case AT_RESET:
/*
* A bus reset came along an blew away this command. Why
* A bus reset came along and blew away this command. Why
* they do this in addition the async event code stuff,
* I dunno.
*

View File

@ -82,7 +82,7 @@ typedef struct {
*
* The cd_private tag should be used by the MD layer to keep a free list
* of these structures. Code outside of this driver can then use this
* as an to identify it's own unit structures. That is, when not on the MD
* to identify it's own unit structures. That is, when not on the MD
* layer's freelist, the MD layer should shove into it the identifier
* that the outer layer has for it- passed in on an initial QIN_HBA_REG
* call (see below).
@ -294,7 +294,7 @@ typedef enum {
*/
/*
* A word about ENABLE/DISABLE: the argument is a pointer to an tmd_cmd_t
* A word about ENABLE/DISABLE: the argument is a pointer to a tmd_cmd_t
* with cd_hba, cd_bus, cd_tgt and cd_lun filled out. If an error occurs
* in either enabling or disabling the described lun, cd_lflags is set
* with CDFL_ERROR.

View File

@ -791,7 +791,7 @@ nge_reset(sc)
}
/*
* Probe for an NatSemi chip. Check the PCI vendor and device
* Probe for a NatSemi chip. Check the PCI vendor and device
* IDs against our list and return a device name if we find a match.
*/
static int

View File

@ -35,7 +35,7 @@
* This driver sends two bytes (0x08, 0x00) in front of each packet,
* to allow us to distinguish another format later.
*
* Now added an Linux/Crynwr compatibility mode which is enabled using
* Now added a Linux/Crynwr compatibility mode which is enabled using
* IF_LINK0 - Tim Wilkinson.
*
* TODO:

View File

@ -207,13 +207,13 @@ ppiintr(void *arg)
switch (ppb_1284_get_state(ppbus)) {
/* accept IEEE1284 negociation then wakeup an waiting process to
* continue negociation at process level */
/* accept IEEE1284 negotiation then wakeup a waiting process to
* continue negotiation at process level */
case PPB_FORWARD_IDLE:
/* Event 1 */
if ((ppb_rstr(ppbus) & (SELECT | nBUSY)) ==
(SELECT | nBUSY)) {
/* IEEE1284 negociation */
/* IEEE1284 negotiation */
#ifdef DEBUG_1284
printf("N");
#endif
@ -231,7 +231,7 @@ ppiintr(void *arg)
break;
}
/* wake up any process waiting for negociation from
/* wake up any process waiting for negotiation from
* remote master host */
/* XXX should set a variable to warn the process about
@ -326,7 +326,7 @@ ppiclose(dev_t dev, int flags, int fmt, struct thread *td)
*
* IEEE1284 compliant read.
*
* First, try negociation to BYTE then NIBBLE mode
* First, try negotiation to BYTE then NIBBLE mode
* If no data is available, wait for it otherwise transfer as much as possible
*/
static int
@ -345,7 +345,7 @@ ppiread(dev_t dev, struct uio *uio, int ioflag)
/* FALLTHROUGH */
case PPB_FORWARD_IDLE:
/* if can't negociate NIBBLE mode then try BYTE mode,
/* if can't negotiate NIBBLE mode then try BYTE mode,
* the peripheral may be a computer
*/
if ((ppb_1284_negociate(ppbus,
@ -407,11 +407,11 @@ ppiread(dev_t dev, struct uio *uio, int ioflag)
*
* Actually, this is the peripheral side of a remote IEEE1284 read
*
* The first part of the negociation (IEEE1284 device detection) is
* The first part of the negotiation (IEEE1284 device detection) is
* done at interrupt level, then the remaining is done by the writing
* process
*
* Once negociation done, transfer data
* Once negotiation done, transfer data
*/
static int
ppiwrite(dev_t dev, struct uio *uio, int ioflag)
@ -434,9 +434,9 @@ ppiwrite(dev_t dev, struct uio *uio, int ioflag)
MS_RET(0)
};
/* negociate ECP mode */
/* negotiate ECP mode */
if (ppb_1284_negociate(ppbus, PPB_ECP, 0)) {
printf("ppiwrite: ECP negociation failed\n");
printf("ppiwrite: ECP negotiation failed\n");
}
while (!error && (len = min(uio->uio_resid, BUFSIZE))) {
@ -462,12 +462,12 @@ ppiwrite(dev_t dev, struct uio *uio, int ioflag)
ppi_enable_intr(ppidev);
/* sleep until IEEE1284 negociation starts */
/* sleep until IEEE1284 negotiation starts */
error = tsleep(ppi, PCATCH | PPBPRI, "ppiwrite", 0);
switch (error) {
case 0:
/* negociate peripheral side with BYTE mode */
/* negotiate peripheral side with BYTE mode */
ppb_peripheral_negociate(ppbus, PPB_BYTE, 0);
break;
case EWOULDBLOCK:
@ -480,7 +480,7 @@ ppiwrite(dev_t dev, struct uio *uio, int ioflag)
printf("N");
#endif
/* negociation done, write bytes to master host */
/* negotiation done, write bytes to master host */
while ((len = min(uio->uio_resid, BUFSIZE)) != 0) {
uiomove(ppi->ppi_buffer, len, uio);
if ((error = byte_peripheral_write(ppbus,

View File

@ -302,7 +302,7 @@ puc_attach(device_t dev, const struct puc_device_description *desc)
}
/*
* This is just an brute force interrupt handler. It just calls all the
* This is just a brute force interrupt handler. It just calls all the
* registered handlers sequencially.
*
* Later on we should maybe have a different handler for boards that can

View File

@ -821,7 +821,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = {
HADDR_1 (ccb_head.status),
/*
* If QUIRK_AUTOSAVE is set,
* do an "save pointer" operation.
* do a "save pointer" operation.
*/
SCR_FROM_REG (QU_REG),
0,

View File

@ -779,7 +779,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = {
offsetof (struct sym_ccb, phys.head.status),
/*
* If QUIRK_AUTOSAVE is set,
* do an "save pointer" operation.
* do a "save pointer" operation.
*/
SCR_FROM_REG (QU_REG),
0,

View File

@ -4028,7 +4028,7 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat)
* the following situations:
*
* - SCSI parity error + Phase mismatch (PAR|MA)
* When an parity error is detected in input phase
* When a parity error is detected in input phase
* and the device switches to msg-in phase inside a
* block MOV.
* - SCSI parity error + Unexpected disconnect (PAR|UDC)
@ -6118,7 +6118,7 @@ static void sym_wide_nego(hcb_p np, tcb_p tp, ccb_p cp)
};
/*
* Is it an request from the device?
* Is it a request from the device?
*/
if (INB (HS_PRT) == HS_NEGOTIATE) {
OUTB (HS_PRT, HS_BUSY);

View File

@ -915,7 +915,7 @@ wlstart(struct ifnet *ifp)
* the local buffer, the contents are copied to an mbuf chain that
* is then enqueued onto the appropriate "if" queue.
*
* input : board number, and an frame descriptor address
* input : board number, and a frame descriptor address
* output : the packet is put into an mbuf chain, and passed up
* assumes : if any errors occur, packet is "dropped on the floor"
*

View File

@ -579,7 +579,7 @@ hpfs_setattr(ap)
}
/*
* Last reference to an node. If necessary, write or delete it.
* Last reference to a node. If necessary, write or delete it.
*/
int
hpfs_inactive(ap)

View File

@ -157,7 +157,7 @@
* is appropriate in different situations. In both cases,
* it is the responsibility of the aliasing layer to make
* the operation arguments "correct" for the lower layer
* by mapping an vnode arguments to the lower layer.
* by mapping a vnode arguments to the lower layer.
*
* The first approach is to call the aliasing layer's bypass routine.
* This method is most suitable when you wish to invoke the operation

View File

@ -364,7 +364,7 @@ smb_smb_flush(struct smbnode *np, struct smb_cred *scred)
int error;
if (np->n_opencount <= 0 || !SMBTOV(np) || SMBTOV(np)->v_type != VREG)
return 0; /* not an regular open file */
return 0; /* not a regular open file */
error = smb_rq_init(rqp, SSTOCP(ssp), SMB_COM_FLUSH, scred);
if (error)
return (error);

View File

@ -569,7 +569,7 @@ ccdinit(struct ccd_s *cs, char **cpaths, struct thread *td)
ccg->ccg_ncylinders = cs->sc_size / ccg->ccg_nsectors;
/*
* Add an devstat entry for this device.
* Add a devstat entry for this device.
*/
devstat_add_entry(&cs->device_stats, "ccd", cs->sc_unit,
ccg->ccg_secsize, DEVSTAT_ALL_SUPPORTED,

View File

@ -47,7 +47,7 @@
#elif __alpha__
#include <gnu/ext2fs/alpha-bitops.h>
#else
#error Provide an bitops.h file, please !
#error Provide a bitops.h file, please!
#endif
#define in_range(b, first, len) ((b) >= (first) && (b) <= (first) + (len) - 1)

View File

@ -47,7 +47,7 @@
#elif __alpha__
#include <gnu/ext2fs/alpha-bitops.h>
#else
#error Provide an bitops.h file, please !
#error Provide a bitops.h file, please!
#endif
#define in_range(b, first, len) ((b) >= (first) && (b) <= (first) + (len) - 1)

View File

@ -3745,7 +3745,7 @@ static int stli_clrportstats(stliport_t *portp, caddr_t data)
/*****************************************************************************/
/*
* Code to handle an "staliomem" read and write operations. This device
* Code to handle a "staliomem" read and write operations. This device
* is the contents of the board shared memory. It is used for down
* loading the slave image (and debugging :-)
*/

View File

@ -615,7 +615,7 @@ DB_SHOW_COMMAND(pgrpdump, pgrpdump)
#endif /* DDB */
/*
* Fill in an kinfo_proc structure for the specified process.
* Fill in a kinfo_proc structure for the specified process.
* Must be called with the target process locked.
*/
void

View File

@ -364,7 +364,7 @@ struct ifaddr {
/*
* The prefix structure contains information about one prefix
* of an interface. They are maintained by the different address families,
* are allocated and attached when an prefix or an address is set,
* are allocated and attached when a prefix or an address is set,
* and are linked together so all prefixes for an interface can be located.
*/
struct ifprefix {

View File

@ -1054,7 +1054,7 @@ spans_close_req(spp, msg)
/*
* Process a close response or close confirmation
*
* Called when an close response or close confirmation is received.
* Called when a close response or close confirmation is received.
* Processing will be based on the state of the requested connection and
* the returned status.
*
@ -1241,7 +1241,7 @@ spans_add_req(spp, msg)
/*
* Process a join request
*
* Called when an join request is received. We don't support group
* Called when a join request is received. We don't support group
* addresses, so we just reject the request.
*
* Arguments:
@ -1286,7 +1286,7 @@ spans_join_req(spp, msg)
/*
* Process a leave request
*
* Called when an leave request is received. We don't support group
* Called when a leave request is received. We don't support group
* addresses, so we just reject the request.
*
* Arguments:

View File

@ -325,7 +325,7 @@ spans_find_vpvc(spp, vpi, vci, dir)
*
* Arguments:
* spp pointer to SPANS protocol instance
* p pointer to an spans_atm_conn structure
* p pointer to a spans_atm_conn structure
*
* Returns:
* 0 there is no such VCCB

View File

@ -67,7 +67,7 @@ __RCSID("@(#) $FreeBSD$");
* Local variables
*/
/*
* Stack commands with arg1 containing an buffer pointer
* Stack commands with arg1 containing a buffer pointer
*/
static u_char sscop_buf1[] = {
0,

View File

@ -206,7 +206,7 @@ struct ip6stat {
* from the destination is chosen.
*/
u_quad_t ip6s_sources_otherscope[16];
/* number of times that an deprecated address is chosen */
/* number of times that a deprecated address is chosen */
u_quad_t ip6s_sources_deprecated[16];
u_quad_t ip6s_forward_cachehit;

View File

@ -84,7 +84,7 @@ static int dad_ignore_ns = 0; /* ignore NS in DAD - specwise incorrect*/
static int dad_maxtry = 15; /* max # of *tries* to transmit DAD packet */
/*
* Input an Neighbor Solicitation Message.
* Input a Neighbor Solicitation Message.
*
* Based on RFC 2461
* Based on RFC 2462 (duplicated address detection)
@ -323,7 +323,7 @@ nd6_ns_input(m, off, icmp6len)
}
/*
* Output an Neighbor Solicitation Message. Caller specifies:
* Output a Neighbor Solicitation Message. Caller specifies:
* - ICMP6 header source IP6 address
* - ND6 header target IP6 address
* - ND6 header source datalink address

View File

@ -334,7 +334,7 @@ enum smb_dialects {
#define SMBSUCCESS 0x00
#define ERRDOS 0x01
#define ERRSRV 0x02
#define ERRHRD 0x03 /* Error is an hardware error. */
#define ERRHRD 0x03 /* Error is a hardware error. */
#define ERRCMD 0xFF /* Command was not in the "SMB" format. */
/*

View File

@ -1386,7 +1386,7 @@ bootpc_compose_query(struct bootpc_ifcontext *ifctx,
*vendp = TAG_END;
ifctx->call.secs = 0;
ifctx->call.flags = htons(0x8000); /* We need an broadcast answer */
ifctx->call.flags = htons(0x8000); /* We need a broadcast answer */
}
static int

View File

@ -62,7 +62,7 @@
* This driver sends two bytes (0x08, 0x00) in front of each packet,
* to allow us to distinguish another format later.
*
* Now added an Linux/Crynwr compatibility mode which is enabled using
* Now added a Linux/Crynwr compatibility mode which is enabled using
* IF_LINK0 - Tim Wilkinson.
*
* TODO:

View File

@ -62,7 +62,7 @@
* This driver sends two bytes (0x08, 0x00) in front of each packet,
* to allow us to distinguish another format later.
*
* Now added an Linux/Crynwr compatibility mode which is enabled using
* Now added a Linux/Crynwr compatibility mode which is enabled using
* IF_LINK0 - Tim Wilkinson.
*
* TODO:

View File

@ -2056,7 +2056,7 @@ static struct script script0 = {
}/*-------------------------< DISCONNECT >---------------*/,{
/*
** If QUIRK_AUTOSAVE is set,
** do an "save pointer" operation.
** do a "save pointer" operation.
*/
SCR_FROM_REG (QU_REG),
0,

View File

@ -537,7 +537,7 @@ psycho_attach(device_t dev)
* of a pair of psycho's to arrive here.
*
* We should calculate a TSB size based on amount of RAM
* and number of bus controllers and number an type of
* and number of bus controllers and number and type of
* child devices.
*
* For the moment, 32KB should be more than enough.

View File

@ -78,7 +78,7 @@
/*
* Cache routines.
*
* UltraSPARCs have an virtually indexed, physically tagged (VIPT) level 1 data
* UltraSPARCs have a virtually indexed, physically tagged (VIPT) level 1 data
* cache (D$) and physically indexed, physically tagged (PIPT) level 1
* instruction (I$) and Level 2 (E$) caches.
* D$ is directly mapped, I$ is pseudo 2-way associative. The Level 2 cache (E$)

View File

@ -148,7 +148,7 @@ struct nameidata {
#define PARAMASK 0xfffe00 /* mask of parameter descriptors */
/*
* Initialization of an nameidata structure.
* Initialization of a nameidata structure.
*/
static void NDINIT(struct nameidata *, u_long, u_long, enum uio_seg,
const char *, struct thread *);

View File

@ -44,7 +44,7 @@
* Protocol control block for an active
* instance of a UNIX internal protocol.
*
* A socket may be associated with an vnode in the
* A socket may be associated with a vnode in the
* filesystem. If so, the unp_vnode pointer holds
* a reference count to this vnode, which should be irele'd
* when the socket goes away.

View File

@ -2,8 +2,9 @@
#
# Copyright (c) March 1998 Wolfram Schneider <wosch@FreeBSD.org>
#
# create an Message-ID, In-Reply-To look(1) index database
# create a Message-ID, In-Reply-To look(1) index database
#
# $FreeBSD$
TMPDIR=/var/tmp; export TMPDIR
@ -25,7 +26,7 @@ all ()
current ()
{
( cd $archive || exit 1
find current/freebsd-* current/cvs-* -type f |
find current/freebsd-* current/cvs-* -type f |
mid-master-index 1 mid-index $dbout/mid-current
)
}
@ -35,7 +36,7 @@ if [ $# -le 0 ]; then
exit 1
fi
for db
for db
do
case $db in
current) current;;

View File

@ -361,7 +361,7 @@ stage of logging in to a callback system), \fBchat\fR will continue
running the script (e.g., waiting for the incoming call and second
stage login prompt). As soon as the incoming call is connected, you
should use the \fBHANGUP ON\fR directive to reinstall normal hang up
signal behavior. Here is an (simple) example script:
signal behavior. Here is a (simple) example script:
.IP
ABORT 'BUSY'
.br

View File

@ -86,7 +86,7 @@ are the byte offsets from the beginning of
and
.Ar file2 ,
respectively, where the comparison will begin.
The offset is decimal by default, but may be expressed as an hexadecimal
The offset is decimal by default, but may be expressed as a hexadecimal
or octal value by preceding it with a leading ``0x'' or ``0''.
.Pp
The

View File

@ -233,7 +233,7 @@ Here is the README file from the previous version of compress (2.0):
>Here is the README that I sent with my first posting:
>
>>Enclosed is a modified version of compress.c, along with scripts to make it
>>run identically to pack(1), unpack(1), an pcat(1). Here is what I
>>run identically to pack(1), unpack(1), and pcat(1). Here is what I
>>(petsd!joe) and a colleague (petsd!peora!srd) did:
>>
>>1. Removed VAX dependencies.

View File

@ -46,7 +46,7 @@ binaries.
.Pp
The
.Fl v
option displays an verbose listing of the dynamic linking headers
option displays a verbose listing of the dynamic linking headers
encoded in the executable.
See the source code and include
files for the definitive meaning of all the fields.

View File

@ -3872,7 +3872,7 @@ REJECT.
.PP
.I
fatal flex scanner internal error--end of buffer missed -
This can occur in an scanner which is reentered after a long-jump
This can occur in a scanner which is reentered after a long-jump
has jumped out (or over) the scanner's activation frame. Before
reentering the scanner, use:
.nf

View File

@ -1031,7 +1031,7 @@ SuffAddLevel (Lst l, Src *targ)
* Free all src structures in list that don't have a reference count
*
* Results:
* Ture if an src was removed
* True if a src was removed
*
* Side Effects:
* The memory is free'd.

View File

@ -1437,7 +1437,7 @@ prhead(char *buf, const char *fname, int pagcnt)
* restrictions. The specification for header line format
* in the spec clearly does not limit length. No pr currently
* restricts header length. However if we need to truncate in
* an reasonable way, adjust the length of the printf by
* a reasonable way, adjust the length of the printf by
* changing HDFMT to allow a length max as an arguement printf.
* buf (which contains the offset spaces and time field could
* also be trimmed

View File

@ -276,7 +276,7 @@ to the ``['' character in
However, if the shell script is deleting or squeezing characters as in
the command ``tr -d [a-z]'', the characters ``['' and ``]'' will be
included in the deletion or compression list which would not have happened
under an historic System V implementation.
under a historic System V implementation.
Additionally, any scripts that depended on the sequence ``a-z'' to
represent the three characters ``a'', ``-'' and ``z'' will have to be
rewritten as ``a\e-z''.

View File

@ -3010,7 +3010,7 @@ glchksz(sym_t *sym)
if (sym->s_def == TDEF) {
if (sym->s_type->t_tspec == FUNC)
/*
* this can happen if an syntax error occurred
* this can happen if a syntax error occurred
* after a function declaration
*/
return;

View File

@ -36,6 +36,7 @@
#if defined(__RCSID) && !defined(lint)
__RCSID("$NetBSD: emit1.c,v 1.11 2002/01/31 19:36:54 tv Exp $");
#endif
__FBSDID("$FreeBSD$");
#include <ctype.h>
@ -207,7 +208,7 @@ outtt(sym_t *tag, sym_t *tdef)
}
/*
* write information about an global declared/defined symbol
* write information about a global declared/defined symbol
* with storage class extern
*
* informations about function definitions are written in outfdef(),

View File

@ -35,6 +35,7 @@
#if defined(__RCSID) && !defined(lint)
__RCSID("$NetBSD: init.c,v 1.9 2001/09/18 18:15:54 wiz Exp $");
#endif
__FBSDID("$FreeBSD$");
#include <stdlib.h>
@ -171,7 +172,7 @@ pushinit(void)
if (istk->i_type->t_tspec != ARRAY)
lerror("pushinit() 2");
istk->i_type->t_dim++;
/* from now its an complete type */
/* from now its a complete type */
setcompl(istk->i_type, 0);
}

View File

@ -2023,7 +2023,7 @@ cvtcon(op_t op, int arg, type_t *tp, val_t *nv, val_t *v)
* to be significant bits. Loss of significant bits
* means that at least on of the bits was set in an
* unsigned type or that at least one, but not all of
* the bits was set in an signed type.
* the bits was set in a signed type.
* Loss of significant bits means that it is not
* possible, also not with necessary casts, to convert
* back to the original type. A example for a

View File

@ -1164,7 +1164,7 @@ r_identify(void)
cur_proto[1] = rodent.mode.syncmask[1]; /* header bit pattern */
}
/* maybe this is an PnP mouse... */
/* maybe this is a PnP mouse... */
if (rodent.mode.protocol == MOUSE_PROTO_UNKNOWN) {
if (rodent.flags & NoPnP)

View File

@ -153,7 +153,7 @@ The entry will be permanent unless the word
is given in the command.
If the word
.Li proxy
is given, this system will act as an proxy NDP server,
is given, this system will act as a proxy NDP server,
responding to requests for
.Ar hostname
even though the host address is not its own.

View File

@ -352,7 +352,7 @@ Authentication support allows the NTP client to verify that the
server is in fact known and trusted and not an intruder intending
accidentally or on purpose to masquerade as that server.
The NTPv3
specification RFC-1305 defines an scheme which provides
specification RFC-1305 defines a scheme which provides
cryptographic authentication of received NTP packets.
Originally,
this was done using the Data Encryption Standard (DES) algorithm
@ -1251,7 +1251,7 @@ is sent to the system log.
The
.Ar numeric_address
argument, expressed in
dotted- quad form, is the address of an host or network.
dotted-quad form, is the address of a host or network.
The
.Cm mask ,
also expressed in dotted-quad form,

View File

@ -579,7 +579,7 @@ assign_driver(struct slot *sp, struct card *cp)
break;
}
/*
* Ask the kernel if we have an free irq.
* Ask the kernel if we have a free irq.
*/
res.min = i;
res.max = i;

View File

@ -636,7 +636,7 @@ fsm_rtermack(f)
/*
* fsm_rcoderej - Receive an Code-Reject.
* fsm_rcoderej - Receive a Code-Reject.
*/
static void
fsm_rcoderej(f, inp, len)

View File

@ -342,7 +342,7 @@ lcp_extcode(f, code, id, inp, len)
/*
* lcp_rprotrej - Receive an Protocol-Reject.
* lcp_rprotrej - Receive a Protocol-Reject.
*
* Figure out which protocol is rejected and inform it.
*/

View File

@ -46,7 +46,7 @@
.Sh DESCRIPTION
The
.Nm
utility is used to assign an prefix
utility is used to assign a prefix
to a network interface.
This command is currently just a frontend of
.Xr ifconfig 8 ,

View File

@ -943,7 +943,7 @@ forward_register(u_int32_t caller_xid, struct netbuf *caller_addr,
lastxid = time_now * NFORWARD;
/*
* Check if it is an duplicate entry. Then,
* Check if it is a duplicate entry. Then,
* try to find an empty slot. If not available, then
* use the slot with the earliest time.
*/

View File

@ -389,7 +389,7 @@ getconfig(intface)
addr = (char *)agetstr(entbuf, &bp);
if (addr == NULL) {
syslog(LOG_ERR,
"<%s> need %s as an prefix for "
"<%s> need %s as a prefix for "
"interface %s",
__FUNCTION__, entbuf, intface);
exit(1);
@ -503,7 +503,7 @@ getconfig(intface)
addr = (char *)agetstr(entbuf, &bp);
if (addr == NULL) {
syslog(LOG_ERR,
"<%s> need %s as an route for "
"<%s> need %s as a route for "
"interface %s",
__FUNCTION__, entbuf, intface);
exit(1);

View File

@ -49,7 +49,7 @@ Berkeley, CA 94720
.FS
This work was sponsored by the Defense Advanced Research Projects Agency
(DoD), monitored by the Naval Electronics Systems
Command under contract No. N00039-84-C-0089, and by the Italian CSELT
Command under contract No. N00039-84-C-0089, and by the Italian CSELT
Corporation.
The views and conclusions contained in this document are those of the
authors and should not be interpreted as representing official policies,
@ -59,59 +59,59 @@ of the US Government, or of CSELT.
.LP
.OH 'The Berkeley UNIX Time Synchronization Protocol''SMM:12-%'
.EH 'SMM:12-%''The Berkeley UNIX Time Synchronization Protocol'
.SH
.SH
Introduction
.PP
The Time Synchronization Protocol (TSP)
The Time Synchronization Protocol (TSP)
has been designed for specific use by the program \fItimed\fP,
a local area network clock synchronizer for
a local area network clock synchronizer for
the UNIX 4.3BSD operating
system.
Timed is built on the DARPA UDP protocol [4] and
is based on a master slave scheme.
.PP
TSP serves a dual purpose.
First, it supports messages for the synchronization of the clocks
First, it supports messages for the synchronization of the clocks
of the various hosts in a local area network.
Second, it supports messages for the election that occurs
among slave time daemons when, for any reason, the master disappears.
The synchronization mechanism and the election procedure
employed by the program timed are described
The synchronization mechanism and the election procedure
employed by the program timed are described
in other documents [1,2,3].
.PP
Briefly, the synchronization software, which works in a
Briefly, the synchronization software, which works in a
local area network, consists of a collection of \fItime daemons\fP
(one per machine) and is based on a master-slave
structure.
The present implementation keeps processor clocks synchronized
The present implementation keeps processor clocks synchronized
within 20 milliseconds.
A \fImaster time daemon\fP measures the time
difference between the clock of the machine on which it
difference between the clock of the machine on which it
is running and those of all other machines. The current implementation
uses ICMP \fITime Stamp Requests\fP [5] to measure the clock difference
between machines.
The master computes the \fInetwork time\fP as the average of the
The master computes the \fInetwork time\fP as the average of the
times provided by nonfaulty clocks.\**
.FS
A clock is considered to be faulty when its value
A clock is considered to be faulty when its value
is more than a small specified
interval apart from the majority of the clocks
interval apart from the majority of the clocks
of the machines on the same network.
See [1,2] for more details.
.FE
It then sends to each \fIslave time daemon\fP the
correction that should be performed on the clock of its machine.
This process is repeated periodically.
Since the correction is expressed as a time difference rather than an
Since the correction is expressed as a time difference rather than an
absolute time, transmission delays do not interfere with synchronization.
When a machine comes up and joins the network,
it starts a slave time daemon, which
will ask the master for the correct time and will reset the machine's clock
before any user activity can begin.
The time daemons therefore maintain a single network time in spite of
the drift of clocks away from each other.
The time daemons therefore maintain a single network time in spite of
the drift of clocks away from each other.
.PP
Additionally, a time daemon on gateway machines may run as
Additionally, a time daemon on gateway machines may run as
a \fIsubmaster\fP.
A submaster time daemon functions as a slave on one network that
already has a master and as master on other networks.
@ -145,7 +145,7 @@ implemented, but will only point out when
a message type requires a reliable transport mechanism.
.PP
The message format in TSP is the same for all message types;
however, in some instances, one or more fields are not used.
however, in some instances, one or more fields are not used.
The next section describes the message format.
The following sections describe
in detail the different message types, their use and the contents
@ -171,12 +171,12 @@ Eight bytes of packet specific data. This field contains two 4 byte time
values, a one byte hop count, or may be unused depending on the type
of the packet.
.IP 5)
A zero-terminated string of up to 256 \s-2ASCII\s+2 characters with the name of
A zero-terminated string of up to 256 \s-2ASCII\s+2 characters with the name of
the machine sending the message.
.PP
The following charts describe the message types,
show their fields, and explain their usages.
For the purpose of the following discussion, a time daemon can
For the purpose of the following discussion, a time daemon can
be considered to be in
one of three states: slave, master, or candidate for election to master.
Also, the term \fIbroadcast\fP refers to
@ -189,10 +189,10 @@ Adjtime Message
Type: TSP_ADJTIME (1)
.sp 1
.PP
The master sends this message to a slave to communicate
the difference between
The master sends this message to a slave to communicate
the difference between
the clock of the slave and
the network time the master has just computed.
the network time the master has just computed.
The slave will accordingly
adjust the time of its machine.
This message requires an acknowledgment.
@ -253,7 +253,7 @@ Master Active Message
Type: TSP_MASTERUP (6)
.sp 1
.PP
The master broadcasts this message to
The master broadcasts this message to
solicit the names of the active slaves.
Slaves will reply with a Slave Active message.
.sp 1
@ -314,7 +314,7 @@ When two or more masters reply to a Master Request message, the slave
uses this message to inform one of them that more than one master exists.
.sp 1
.SH
Conflict Resolution Message
Conflict Resolution Message
.so unused
.LP
Type: TSP_RESOLVE (12)
@ -331,7 +331,7 @@ Type: TSP_QUIT (13)
.sp 1
.PP
This message is sent by the master in three different contexts:
1) to a candidate that broadcasts an Master Candidature message,
1) to a candidate that broadcasts a Master Candidature message,
2) to another master when notified of its existence,
3) to another master if a loop is detected.
In all cases, the recipient time daemon will become a slave.
@ -413,7 +413,7 @@ Type: TSP_MSITEREQ (20)
.PP
A local time daemon broadcasts this message to find the location
of the master.
It then uses the Acknowledgement message to
It then uses the Acknowledgement message to
communicate this location to \fItimedc\fP.
.sp 1
.SH
@ -442,14 +442,14 @@ it knows that a loop exists and tries to correct the problem.
.SH
References
.IP 1.
R. Gusella and S. Zatti,
R. Gusella and S. Zatti,
\fITEMPO: A Network Time Controller for Distributed Berkeley UNIX System\fP,
USENIX Summer Conference Proceedings, Salt Lake City, June 1984.
.IP 2.
R. Gusella and S. Zatti, \fIClock Synchronization in a Local Area Network\fP,
University of California, Berkeley, Technical Report, \fIto appear\fP.
.IP 3.
R. Gusella and S. Zatti,
R. Gusella and S. Zatti,
\fIAn Election Algorithm for a Distributed Clock Synchronization Program\fP,
University of California, Berkeley, CS Technical Report #275, Dec. 1985.
.IP 4.

View File

@ -81,7 +81,7 @@ Print the date and time when observation of a given tty is started.
.It Fl W
Allow write access to observed tty.
.It Ar tty
Tty may be specified as an tty-style device, such as a pseudo tty device,
Tty may be specified as a tty-style device, such as a pseudo tty device,
a virtual console, or a serial line, etc.
Names may be preceded by
.Pa /dev/ .

View File

@ -1,7 +1,7 @@
#!/bin/sh
# $FreeBSD$
#
# ypinit.sh - setup an master or slave server.
# ypinit.sh - setup a master or slave server.
# (Taken from OpenBSD and modified for FreeBSD.)
#
DOMAINNAME=/bin/domainname
@ -180,7 +180,7 @@ __notice1
esac
if [ -d "${YP_DIR}/${DOMAIN}" ]; then
echo ""
echo ""
echo -n "Can we destroy the existing ${YP_DIR}/${DOMAIN} and its contents? [y/n: n] "
read KILL
@ -203,7 +203,6 @@ __notice1
echo "OK, please clean it up by hand and start again. Bye"
exit 0
fi
fi
if ! mkdir "${YP_DIR}/${DOMAIN}"; then
@ -261,7 +260,6 @@ LIST_OK="NO"
while [ "${LIST_OK}" = "NO" ];
do
if [ "${SERVERTYPE}" = "MASTER" ];
then
HOST_LIST="${HOST}"
@ -300,8 +298,8 @@ do
echo "Update the list of hosts running YP servers in domain ${DOMAIN}."
echo "Master for this domain is ${MASTER_NAME}."
echo ""
echo "First verify old servers, type \\ to remove a server."
echo "Then add new servers, one per line. When done type a <control D>."
echo "First verify old servers, type \\ to remove a server."
echo "Then add new servers, one per line. When done type a <control D>."
echo ""
echo " master server : ${HOST}"
if [ "${NEW_LIST}" != "" ]; then
@ -358,13 +356,12 @@ if [ $? -ne 0 ]; then
echo "" 1>&2
echo "Couldn't build yp data base ${YP_DIR}/${DOMAIN}/ypservers." 1>&2
ERROR_EXISTS="YES"
if [ "${ERROR_EXIT}" = "YES" ]; then
if [ "${ERROR_EXIT}" = "YES" ]; then
exit 1
fi
fi
if [ "${SERVERTYPE}" = "MASTER" ]; then
CUR_PWD=`pwd`
cd ${YP_DIR}
echo "Running ${YP_DIR}/Makefile..."
@ -372,7 +369,7 @@ if [ "${SERVERTYPE}" = "MASTER" ]; then
echo "" 1>&2
echo "Error running Makefile." 1>&2
ERROR_EXISTS="YES"
if [ "${ERROR_EXIT}" = "YES" ]; then
if [ "${ERROR_EXIT}" = "YES" ]; then
exit 1
fi
fi
@ -386,5 +383,4 @@ if [ "${SERVERTYPE}" = "MASTER" ]; then
else
echo "${HOST} has been setup as an YP master server without any errors. "
fi
fi