Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
This commit is contained in:
parent
3724136741
commit
9d5abbddbf
4
UPDATING
4
UPDATING
@ -30,7 +30,7 @@ NOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW:
|
||||
A name change in /etc/netconfig has been reverted to stay
|
||||
compatible with with suns TIRPC and also with NetBSD. You need
|
||||
to run mergemaster after make world. A new libc does still work
|
||||
with a outdated /etc/netconfig for some time, but you'll get
|
||||
with an outdated /etc/netconfig for some time, but you'll get
|
||||
a warning. This warning will be removed in 20030301.
|
||||
|
||||
20021202:
|
||||
@ -267,7 +267,7 @@ http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjcla
|
||||
MACHINE_ARCH to indicate the target. In the future, one will
|
||||
set TARGET_MACHINE where you set MACHINE now. At the moment,
|
||||
setting MACHINE alone for same MACHINE_ARCH machines works
|
||||
(eg, you can build pc98 on a i386 machine and vice versa).
|
||||
(eg, you can build pc98 on an i386 machine and vice versa).
|
||||
|
||||
20010927:
|
||||
Some weird problems result from using ACPI on some machines.
|
||||
|
@ -190,7 +190,7 @@ because of buggy firmware or the like.
|
||||
.Xc
|
||||
Change volume tag for an element in the media changer. This command
|
||||
is only supported by few media changers. If it is not supported by a
|
||||
device, using this command will usually result in a "Invalid Field in
|
||||
device, using this command will usually result in an "Invalid Field in
|
||||
CDB" error message on the console.
|
||||
.Pp
|
||||
If the
|
||||
|
@ -208,7 +208,7 @@ put_stream_line(FILE *fp, const char *s, int len)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* get_extended_line: get a an extended line from stdin */
|
||||
/* get_extended_line: get an extended line from stdin */
|
||||
char *
|
||||
get_extended_line(int *sizep, int nonl)
|
||||
{
|
||||
|
@ -724,8 +724,8 @@ ar_rdsync(void)
|
||||
|
||||
/*
|
||||
* Fail resync attempts at user request (done) or this is going to be
|
||||
* an update/append to a existing archive. if last i/o hit media end,
|
||||
* we need to go to the next volume not try a resync
|
||||
* an update/append to an existing archive. If last i/o hit media end,
|
||||
* we need to go to the next volume not try a resync.
|
||||
*/
|
||||
if ((done > 0) || (lstrval == 0))
|
||||
return(-1);
|
||||
|
@ -386,7 +386,7 @@ pback(char *pt, int cnt)
|
||||
|
||||
/*
|
||||
* rd_skip()
|
||||
* skip foward in the archive during a archive read. Used to get quickly
|
||||
* skip foward in the archive during an archive read. Used to get quickly
|
||||
* past file data and padding for files the user did NOT select.
|
||||
* Return:
|
||||
* 0 if ok, -1 failure, and 1 when EOF on the archive volume was detected.
|
||||
|
@ -170,7 +170,7 @@ grptb_start(void)
|
||||
* caches the name (if any) for the uid. If frc set, we always return the
|
||||
* the stored name (if valid or invalid match). We use a simple hash table.
|
||||
* Return
|
||||
* Pointer to stored name (or a empty string)
|
||||
* Pointer to stored name (or an empty string).
|
||||
*/
|
||||
|
||||
char *
|
||||
@ -241,7 +241,7 @@ name_uid(uid_t uid, int frc)
|
||||
* caches the name (if any) for the gid. If frc set, we always return the
|
||||
* the stored name (if valid or invalid match). We use a simple hash table.
|
||||
* Return
|
||||
* Pointer to stored name (or a empty string)
|
||||
* Pointer to stored name (or an empty string).
|
||||
*/
|
||||
|
||||
char *
|
||||
|
@ -851,7 +851,7 @@ vcpio_wr(ARCHD *arcn)
|
||||
|
||||
/*
|
||||
* bcpio_id()
|
||||
* determine if a block given to us is a old binary cpio header
|
||||
* determine if a block given to us is an old binary cpio header
|
||||
* (with/without header byte swapping)
|
||||
* Return:
|
||||
* 0 if a valid header, -1 otherwise
|
||||
@ -878,7 +878,7 @@ bcpio_id(char *blk, int size)
|
||||
|
||||
/*
|
||||
* bcpio_rd()
|
||||
* determine if a buffer is a old binary archive entry. (it may have byte
|
||||
* determine if a buffer is an old binary archive entry. (It may have byte
|
||||
* swapped header) convert and store the values in the ARCHD parameter.
|
||||
* This is a very old header format and should not really be used.
|
||||
* Return:
|
||||
|
@ -313,8 +313,8 @@ ftree_arg(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* watch it, fts wants the file arg stored in a array of char
|
||||
* ptrs, with the last one a null. we use a two element array
|
||||
* Watch it, fts wants the file arg stored in an array of char
|
||||
* ptrs, with the last one a null. We use a two element array
|
||||
* and set farray[0] to point at the buffer with the file name
|
||||
* in it. We cannot pass all the file args to fts at one shot
|
||||
* as we need to keep a handle on which file arg generates what
|
||||
|
@ -1344,11 +1344,11 @@ bad_opt(void)
|
||||
|
||||
/*
|
||||
* opt_add()
|
||||
* breaks the value supplied to -o into a option name and value. options
|
||||
* breaks the value supplied to -o into an option name and value. Options
|
||||
* are given to -o in the form -o name-value,name=value
|
||||
* multiple -o may be specified.
|
||||
* Return:
|
||||
* 0 if format in name=value format, -1 if -o is passed junk
|
||||
* 0 if format in name=value format, -1 if -o is passed junk.
|
||||
*/
|
||||
|
||||
int
|
||||
|
@ -296,7 +296,7 @@ pat_chk(void)
|
||||
* NOTE: When the -c option is used, we are called when there was no match
|
||||
* by pat_match() (that means we did match before the inverted sense of
|
||||
* the logic). Now this seems really strange at first, but with -c we
|
||||
* need to keep track of those patterns that cause a archive member to NOT
|
||||
* need to keep track of those patterns that cause an archive member to NOT
|
||||
* be selected (it found an archive member with a specified pattern)
|
||||
* Return:
|
||||
* 0 if the pattern pointed at by arcn->pat was tagged as creating a
|
||||
@ -471,9 +471,9 @@ pat_match(ARCHD *arcn)
|
||||
return(cflag ? 0 : 1);
|
||||
|
||||
/*
|
||||
* we had a match, now when we invert the sense (-c) we reject this
|
||||
* We had a match, now when we invert the sense (-c) we reject this
|
||||
* member. However we have to tag the pattern a being successful, (in a
|
||||
* match, not in selecting a archive member) so we call pat_sel() here.
|
||||
* match, not in selecting an archive member) so we call pat_sel() here.
|
||||
*/
|
||||
arcn->pat = pt;
|
||||
if (!cflag)
|
||||
|
@ -142,7 +142,7 @@ typedef struct {
|
||||
/* a flawed archive header. */
|
||||
int (*end_wr)(); /* end write. write the trailer and do any */
|
||||
/* other format specific functions needed */
|
||||
/* at the end of a archive write */
|
||||
/* at the end of an archive write */
|
||||
int (*trail)(); /* returns 0 if a valid trailer, -1 if not */
|
||||
/* For formats which encode the trailer */
|
||||
/* outside of a valid header, a return value */
|
||||
|
@ -306,11 +306,11 @@ grp_match(ARCHD *arcn)
|
||||
* -T flag). The user may specify any number of different file time ranges.
|
||||
* Time ranges are checked one at a time until a match is found (if at all).
|
||||
* If the file has a mtime (and/or ctime) which lies within one of the time
|
||||
* ranges, the file is selected. Time ranges may have a lower and/or a upper
|
||||
* ranges, the file is selected. Time ranges may have a lower and/or an upper
|
||||
* value. These ranges are inclusive. When no time ranges are supplied to pax
|
||||
* with the -T option, all members in the archive will be selected by the time
|
||||
* range routines. When only a lower range is supplied, only files with a
|
||||
* mtime (and/or ctime) equal to or younger are selected. When only a upper
|
||||
* mtime (and/or ctime) equal to or younger are selected. When only an upper
|
||||
* range is supplied, only files with a mtime (and/or ctime) equal to or older
|
||||
* are selected. When the lower time range is equal to the upper time range,
|
||||
* only files with a mtime (or ctime) of exactly that time are selected.
|
||||
|
@ -264,10 +264,10 @@ purg_lnk(ARCHD *arcn)
|
||||
|
||||
/*
|
||||
* lnk_end()
|
||||
* pull apart a existing link table so we can reuse it. We do this between
|
||||
* Pull apart an existing link table so we can reuse it. We do this between
|
||||
* read and write phases of append with update. (The format may have
|
||||
* used the link table, and we need to start with a fresh table for the
|
||||
* write phase
|
||||
* write phase).
|
||||
*/
|
||||
|
||||
void
|
||||
@ -314,7 +314,7 @@ lnk_end(void)
|
||||
* hash table is indexed by hashing the file path. The nodes in the table store
|
||||
* the length of the filename and the lseek offset within the scratch file
|
||||
* where the actual name is stored. Since there are never any deletions to this
|
||||
* table, fragmentation of the scratch file is never a issue. Lookups seem to
|
||||
* table, fragmentation of the scratch file is never an issue. Lookups seem to
|
||||
* not exhibit any locality at all (files in the database are rarely
|
||||
* looked up more than once...). So caching is just a waste of memory. The
|
||||
* only limitation is the amount of scatch file space available to store the
|
||||
@ -617,7 +617,7 @@ sub_name(char *oname, int *onamelen, size_t onamesize)
|
||||
* device/inode mapping table routines
|
||||
* (used with formats that store device and inodes fields)
|
||||
*
|
||||
* device/inode mapping tables remap the device field in a archive header. The
|
||||
* device/inode mapping tables remap the device field in an archive header. The
|
||||
* device/inode fields are used to determine when files are hard links to each
|
||||
* other. However these values have very little meaning outside of that. This
|
||||
* database is used to solve one of two different problems.
|
||||
|
@ -1593,7 +1593,7 @@ snp?)
|
||||
;;
|
||||
|
||||
# dufault@hda.com: If I do much more work on other A-D boards
|
||||
# then eventually we'll have a "ad" and "dio" interface and some of these
|
||||
# then eventually we'll have an "ad" and "dio" interface and some of these
|
||||
# "labpcaio" ones will be gone.
|
||||
# labpcaio: D-A and A-D.
|
||||
# labpcdio: Digital in and Digital out.
|
||||
|
@ -1354,7 +1354,7 @@ a lowly bit twiddler. Now with what I learned at MIT Tech I feel
|
||||
really important and can obfuscate and confuse with the best."
|
||||
|
||||
Mr. MARC had this to say: "Ten short days ago all I could look forward
|
||||
to was a dead-end job as a engineer. Now I have a promising future and
|
||||
to was a dead-end job as an engineer. Now I have a promising future and
|
||||
make really big Zorkmids."
|
||||
|
||||
MIT Tech can't promise these fantastic results to everyone, but when
|
||||
@ -2507,7 +2507,7 @@ Blacks, 'cause if they couldn't, they'd have to wake up to the fact
|
||||
that life's one big, scary, glorious, complex and ultimately
|
||||
unfathomable crapshoot -- and the only reason THEY can't seem to keep
|
||||
up is they're a bunch of misfits and losers."
|
||||
-- A analysis of Neo-Nazis, from "The Badger" comic
|
||||
-- An analysis of Neo-Nazis, from "The Badger" comic
|
||||
%
|
||||
Air is water with holes in it
|
||||
%
|
||||
|
@ -4435,7 +4435,7 @@ they're not selling."
|
||||
Bowman hesitates. "You aren't IBM compatible."
|
||||
[...]
|
||||
"The letters H, A, and L are alphabetically adjacent to the letters
|
||||
I, B, and M. That is a IBM compatible as I can be."
|
||||
I, B, and M. That is as IBM compatible as I can be."
|
||||
"Not quite, HAL. The engineers have figured out a kludge."
|
||||
"What kludge is that, Dave?"
|
||||
"I'm going to disconnect your brain."
|
||||
@ -21036,7 +21036,7 @@ Human beings were created by water to transport it uphill.
|
||||
%
|
||||
Human cardiac catheterization was introduced by Werner Forssman in 1929.
|
||||
Ignoring his department chief, and tying his assistant to an operating
|
||||
table to prevent her interference, he placed a ureteral catheter into
|
||||
table to prevent her interference, he placed a urethral catheter into
|
||||
a vein in his arm, advanced it to the right atrium [of his heart], and
|
||||
walked upstairs to the x-ray department where he took the confirmatory
|
||||
x-ray film. In 1956, Dr. Forssman was awarded the Nobel Prize.
|
||||
@ -36575,7 +36575,7 @@ Q: How can you tell when a Burroughs salesman is lying?
|
||||
A: When his lips move.
|
||||
%
|
||||
Q: How did the elephant get to the top of the oak tree?
|
||||
A: He sat on a acorn and waited for spring.
|
||||
A: He sat on an acorn and waited for spring.
|
||||
|
||||
Q: But how did he get back down?
|
||||
A: He crawled out on a leaf and waited for autumn.
|
||||
@ -40118,7 +40118,7 @@ Somewhere, something incredible is waiting to be known.
|
||||
Son, someday a man is going to walk up to you with a deck of cards on which
|
||||
the seal is not yet broken. And he is going to offer to bet you that he can
|
||||
make the Ace of Spades jump out of the deck and squirt cider in your ears.
|
||||
But son, do not bet this man, for you will end up with a ear full of cider.
|
||||
But son, do not bet this man, for you will end up with an ear full of cider.
|
||||
-- Sky Masterson's Father
|
||||
%
|
||||
Sooner or later you must pay for your sins.
|
||||
@ -50098,7 +50098,7 @@ We gotta get out of this place,
|
||||
If it's the last thing we ever do.
|
||||
-- The Animals
|
||||
%
|
||||
We have a equal opportunity Calculus class -- it's fully integrated.
|
||||
We have an equal opportunity Calculus class -- it's fully integrated.
|
||||
%
|
||||
We have art that we do not die of the truth.
|
||||
-- Nietzsche
|
||||
@ -55170,7 +55170,7 @@ a lowly bit twiddler. Now with what I learned at MIT Tech I feel really
|
||||
important and can obfuscate and confuse with the best."
|
||||
|
||||
Mr. Watkins had this to say: "Ten short days ago all I could look forward
|
||||
to was a dead-end job as a engineer. Now I have a promising future and
|
||||
to was a dead-end job as an engineer. Now I have a promising future and
|
||||
make really big Zorkmids."
|
||||
|
||||
MIT Tech can't promise these fantastic results to everyone, but when
|
||||
|
@ -449,7 +449,7 @@ some good news and some bad news."
|
||||
He muttered, "It's quarterly report day, Sally -- just the good news."
|
||||
She replied, "You're not sterile."
|
||||
%
|
||||
A sociologist, a psychologist, and a engineer were discussing the
|
||||
A sociologist, a psychologist, and an engineer were discussing the
|
||||
consequences and implications of a married man's having a mistress. The
|
||||
sociologist's opinion was that it is absolutely and categorically unforgivable
|
||||
for a married man to forfeit the bond of matrimony, and engage in such lowly
|
||||
@ -672,7 +672,7 @@ limited graphics capability. Comes fully assembled, with 4 AA batteries.
|
||||
his waist had gone both East and West despite his daily racquetball, a young
|
||||
executive appeared at a local health resort. Looking over the several weight
|
||||
loss plans offered, he selected one guaranteed to reduce his weight by two
|
||||
pounds per day. After a light breakfast, and a almost non-existent lunch, he
|
||||
pounds per day. After a light breakfast, and an almost non-existent lunch, he
|
||||
was escorted to a large room, where a young, attractive woman told him that
|
||||
"if he caught her, he could have her". After an hour of hard running, he
|
||||
finally gave up; and weighing himself, was comforted to realize that he had
|
||||
@ -681,7 +681,7 @@ was to reduce his weight by four pounds per session. After following the same
|
||||
regimen, he was again escorted to a large room, but after two hours of running,
|
||||
he caught the young woman. Weight loss, just over four pounds. Returning the
|
||||
following week, he chose to lose eight pounds in a single day. He was shown
|
||||
to the largest room he'd seen, by far, where he was confronted by a extremely
|
||||
to the largest room he'd seen, by far, where he was confronted by an extremely
|
||||
muscular, burly man, who looked him square in the eye, flung his towel into
|
||||
a corner, and snarled, "You know the rules. Start running!"
|
||||
%
|
||||
@ -1241,7 +1241,7 @@ it's a catch-22. If he mates, he gets screwed out of an opportunity to mate
|
||||
again. If he doesn't mate, he doesn't reproduce, ending his family tree. This
|
||||
suicidal behavior is commonly called the Preying Mantis Syndrome -- and many
|
||||
life forms are periodically subject to its wrath. How did the preying mantis
|
||||
become stuck in such a awful, vicious cycle? This is probably what happened:
|
||||
become stuck in such an awful, vicious cycle? This is probably what happened:
|
||||
The male mantis arrives at the residence of the female mantis. After
|
||||
some courtship exercises (dinner, a movie, inserting the diaphragm) they mate.
|
||||
The female mantis, her lust for... lust being satisfied, relaxes while the
|
||||
@ -4997,7 +4997,7 @@ Merry Christmas, Merry Christmas, Merry Christmas, Fuck you!!
|
||||
Chorus:
|
||||
I don't want to join the army, I don't want to go to war,
|
||||
I'd rather sit around, pickin' dillies off the ground,
|
||||
And livin' off the favors of a 'igh-born lady.
|
||||
And livin' off the favors of an 'igh-born lady.
|
||||
I don't want a bullet up me arse 'ole,
|
||||
I don't want me pecker blown away,
|
||||
I'd rather live in England, in jolly, sunny, England,
|
||||
@ -10013,7 +10013,7 @@ On day a Monterey daughter
|
||||
Did scuba down under the water.
|
||||
She later turned up
|
||||
The mom of a pup,
|
||||
And they say t'was a otter that gotter.
|
||||
And they say t'was an otter that gotter.
|
||||
%
|
||||
On one hot dusty day in 1860, a lone Mexican bandit crossed the border into
|
||||
Texas. After robbing a small bank and shooting up the town, he led the posse
|
||||
@ -10224,7 +10224,7 @@ and approached the farmer.
|
||||
"Hey, buddy," he asked, "how come you're not wearing any clothes?"
|
||||
Replied the farmer, "Well, boy, th' other day I was out a-workin'
|
||||
in the fields, an' I plum fergot t' wear mah shirt. Got back to th' house
|
||||
that night, and mah neck was stiffer than a oak-wood board. This here's
|
||||
that night, and mah neck was stiffer than an oak-wood board. This here's
|
||||
mah wife's idea."
|
||||
%
|
||||
One day a little polar bear cub says to his mother, "Mommy, am I really
|
||||
@ -11385,7 +11385,7 @@ in the region of the anus 4. [Slang] person who excites in others the
|
||||
symptoms of a qwert.
|
||||
-- Webster's Middle World Dictionary, 4th ed.
|
||||
%
|
||||
Ralph: Lisa, you have no tits and a awful tight pussy.
|
||||
Ralph: Lisa, you have no tits and an awful tight pussy.
|
||||
Lisa: Ralph... get off my back!!
|
||||
%
|
||||
randel, n:
|
||||
|
@ -1708,7 +1708,7 @@ home team.
|
||||
Whatever can go to New York, will.
|
||||
%
|
||||
Whenever a superstar is traded to your favorite team,
|
||||
he fades. Whenever your team trades away a usless
|
||||
he fades. Whenever your team trades away a useless
|
||||
no-name, he immediately rises to stardom.
|
||||
%
|
||||
Never leave hold of what you've got until you've
|
||||
|
@ -50,7 +50,7 @@ static const char rcsid[] =
|
||||
* chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
|
||||
*
|
||||
* To avoid excessive sieves for small factors, we use the table below to
|
||||
* setup our sieve blocks. Each element represents a odd number starting
|
||||
* setup our sieve blocks. Each element represents an odd number starting
|
||||
* with 1. All non-zero elements are factors of 3, 5, 7, 11 and 13.
|
||||
*/
|
||||
|
||||
|
@ -63,7 +63,7 @@ extern const ubig *const pr_limit; /* largest prime in the prime array */
|
||||
|
||||
/*
|
||||
* To avoid excessive sieves for small factors, we use the table below to
|
||||
* setup our sieve blocks. Each element represents a odd number starting
|
||||
* setup our sieve blocks. Each element represents an odd number starting
|
||||
* with 1. All non-zero elements are factors of 3, 5, 7, 11 and 13.
|
||||
*/
|
||||
extern const char pattern[];
|
||||
|
@ -40,7 +40,7 @@
|
||||
* Copyright (C) 1984, Sun Microsystems, Inc.
|
||||
*
|
||||
* The data structures are completely opaque to the client. The client
|
||||
* is required to pass a AUTH * to routines that create rpc
|
||||
* is required to pass an AUTH * to routines that create rpc
|
||||
* "sessions".
|
||||
*/
|
||||
|
||||
|
@ -187,7 +187,7 @@ extern bool_t xdr_replymsg(XDR *, struct rpc_msg *);
|
||||
|
||||
|
||||
/*
|
||||
* XDR routine to handle a accepted rpc reply.
|
||||
* XDR routine to handle an accepted rpc reply.
|
||||
* xdr_accepted_reply(xdrs, rej)
|
||||
* XDR *xdrs;
|
||||
* struct accepted_reply *rej;
|
||||
|
@ -233,7 +233,7 @@ xdr_putint32(XDR *xdrs, int32_t *ip)
|
||||
/*
|
||||
* Support struct for discriminated unions.
|
||||
* You create an array of xdrdiscrim structures, terminated with
|
||||
* a entry with a null procedure pointer. The xdr_union routine gets
|
||||
* an entry with a null procedure pointer. The xdr_union routine gets
|
||||
* the discriminant value and then searches the array of structures
|
||||
* for a matching value. If a match is found the associated xdr routine
|
||||
* is called to handle that part of the union. If there is
|
||||
|
@ -192,7 +192,7 @@ struct ping_args {
|
||||
/*
|
||||
* These are the type of entries that are stored in the transaction log,
|
||||
* note that modifications will appear as two entries, for names, they have
|
||||
* a "OLD" entry followed by a "NEW" entry. For entries in tables, there
|
||||
* an "OLD" entry followed by a "NEW" entry. For entries in tables, there
|
||||
* is a remove followed by an add. It is done this way so that we can read
|
||||
* the log backwards to back out transactions and forwards to propogate
|
||||
* updated.
|
||||
|
@ -239,7 +239,7 @@ int AliasHandleUdpNbt(
|
||||
#ifdef DEBUG
|
||||
printf("%s:%d-->", inet_ntoa(ndh->source_ip), ntohs(ndh->source_port) );
|
||||
#endif
|
||||
/* Doing a IP address and Port number Translation */
|
||||
/* Doing an IP address and Port number Translation */
|
||||
if ( uh->uh_sum != 0 ) {
|
||||
int acc;
|
||||
u_short *sptr;
|
||||
|
@ -37,7 +37,7 @@ __FBSDID("$FreeBSD$");
|
||||
modified. In certain cases, it is necessary to somehow encode
|
||||
the original address/port info into the packet. Two methods are
|
||||
presently supported: addition of a [DEST addr port] string at the
|
||||
beginning a of tcp stream, or inclusion of an optional field
|
||||
beginning of a tcp stream, or inclusion of an optional field
|
||||
in the IP header.
|
||||
|
||||
There is one public API function:
|
||||
|
@ -224,7 +224,7 @@ __bt_defcmp(a, b)
|
||||
/*
|
||||
* XXX
|
||||
* If a size_t doesn't fit in an int, this routine can lose.
|
||||
* What we need is a integral type which is guaranteed to be
|
||||
* What we need is an integral type which is guaranteed to be
|
||||
* larger than a size_t, and there is no such thing.
|
||||
*/
|
||||
len = MIN(a->size, b->size);
|
||||
|
@ -208,8 +208,8 @@ static void elf_sym_to_nlist(struct nlist *, Elf_Sym *, Elf_Shdr *, int);
|
||||
* __elf_is_okay__ - Determine if ehdr really
|
||||
* is ELF and valid for the target platform.
|
||||
*
|
||||
* WARNING: This is NOT a ELF ABI function and
|
||||
* as such it's use should be restricted.
|
||||
* WARNING: This is NOT an ELF ABI function and
|
||||
* as such its use should be restricted.
|
||||
*/
|
||||
int
|
||||
__elf_is_okay__(ehdr)
|
||||
|
@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
|
||||
*
|
||||
* On the i486, this code is negligibly faster than the code generated
|
||||
* by gcc at about half the size. If my i386 databook is correct, it
|
||||
* should be considerably faster than the gcc code on a i386.
|
||||
* should be considerably faster than the gcc code on an i386.
|
||||
*
|
||||
* Written by:
|
||||
* J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
|
||||
|
@ -55,7 +55,7 @@ __moddi3:
|
||||
// floating-point registers used: f6, f7, f8, f9, f10, f11, f12
|
||||
// predicate registers used: p6
|
||||
|
||||
setf.sig f12=r32 // holds a in integer form
|
||||
setf.sig f12=r32 // holds an in integer form
|
||||
setf.sig f7=r33
|
||||
nop.b 0
|
||||
} { .mlx
|
||||
|
@ -54,7 +54,7 @@ __umoddi3:
|
||||
// floating-point registers used: f6, f7, f8, f9, f10, f11, f12
|
||||
// predicate registers used: p6
|
||||
|
||||
setf.sig f12=r32 // holds a in integer form
|
||||
setf.sig f12=r32 // holds an in integer form
|
||||
setf.sig f7=r33
|
||||
nop.b 0;;
|
||||
} { .mfi
|
||||
|
@ -47,7 +47,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <wctype.h>
|
||||
|
||||
/*
|
||||
* Convert a wide character string to a intmax_t integer.
|
||||
* Convert a wide character string to an intmax_t integer.
|
||||
*/
|
||||
intmax_t
|
||||
wcstoimax(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr,
|
||||
|
@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$");
|
||||
/*
|
||||
* char *
|
||||
* inet_neta(src, dst, size)
|
||||
* format a in_addr_t network number into presentation format.
|
||||
* format an in_addr_t network number into presentation format.
|
||||
* return:
|
||||
* pointer to dst, or NULL if an error occurred (check errno).
|
||||
* note:
|
||||
|
@ -122,7 +122,7 @@ ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) {
|
||||
|
||||
/*
|
||||
* ns_name_pton(src, dst, dstsiz)
|
||||
* Convert a ascii string into an encoded domain name as per RFC1035.
|
||||
* Convert an ascii string into an encoded domain name as per RFC1035.
|
||||
* return:
|
||||
* -1 if it fails
|
||||
* 1 if string was fully qualified
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -111,7 +111,7 @@ has global scope and ends all RPC server activity.
|
||||
.Vt fd_set Va svc_fdset
|
||||
.Xc
|
||||
A global variable reflecting the
|
||||
RPC server's read file descriptor bit mask; it is suitable as a argument
|
||||
RPC server's read file descriptor bit mask; it is suitable as an argument
|
||||
to the
|
||||
.Xr select 2
|
||||
system call.
|
||||
|
@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <inttypes.h>
|
||||
|
||||
/*
|
||||
* Convert a string to a intmax_t integer.
|
||||
* Convert a string to an intmax_t integer.
|
||||
*
|
||||
* Assumes that the upper and lower case
|
||||
* alphabets and digits are each contiguous.
|
||||
|
@ -203,7 +203,7 @@ by forcing transmissions
|
||||
roughly every minute in the absence of other activity.
|
||||
An error is then indicated if no response can be
|
||||
elicited on an otherwise
|
||||
idle connection for a extended period (e.g. 5 minutes).
|
||||
idle connection for an extended period (e.g. 5 minutes).
|
||||
A
|
||||
.Dv SIGPIPE
|
||||
signal is raised if a process sends
|
||||
|
@ -294,7 +294,7 @@ __END_DECLS
|
||||
|
||||
/* TODO
|
||||
*
|
||||
* Need a error string mechanism from the functions instead of warn()
|
||||
* Need an error string mechanism from the functions instead of warn()
|
||||
*
|
||||
* Make sure only FreeBSD start at offset==0
|
||||
*
|
||||
|
@ -52,7 +52,7 @@
|
||||
#define EL_MAXMACRO 10
|
||||
|
||||
/*
|
||||
* This is a issue of basic "vi" look-and-feel. Defining VI_MOVE works
|
||||
* This is an issue of basic "vi" look-and-feel. Defining VI_MOVE works
|
||||
* like real vi: i.e. the transition from command<->insert modes moves
|
||||
* the cursor.
|
||||
*
|
||||
|
@ -175,7 +175,7 @@ ed_delete_next_char(EditLine *el, int c)
|
||||
return (CC_ERROR);
|
||||
#else
|
||||
term_overwrite(el, STReof, 4);
|
||||
/* then do a EOF */
|
||||
/* then do an EOF */
|
||||
term__flush();
|
||||
return (CC_EOF);
|
||||
#endif
|
||||
|
@ -61,7 +61,7 @@ em_delete_or_list(EditLine *el, int c)
|
||||
/* if I'm at the end */
|
||||
if (el->el_line.cursor == el->el_line.buffer) {
|
||||
/* and the beginning */
|
||||
term_overwrite(el, STReof, 4); /* then do a EOF */
|
||||
term_overwrite(el, STReof, 4); /* then do an EOF */
|
||||
term__flush();
|
||||
return (CC_EOF);
|
||||
} else {
|
||||
|
@ -744,7 +744,7 @@ vi_list_or_eof(EditLine *el, int c)
|
||||
if (el->el_line.cursor == el->el_line.lastchar &&
|
||||
el->el_line.cursor == el->el_line.buffer) {
|
||||
#endif
|
||||
term_overwrite(el, STReof, 4); /* then do a EOF */
|
||||
term_overwrite(el, STReof, 4); /* then do an EOF */
|
||||
term__flush();
|
||||
return (CC_EOF);
|
||||
#ifdef notyet
|
||||
|
@ -77,7 +77,7 @@ Therefore,
|
||||
can be regarded as inverse conversion of
|
||||
.Fn ipsec_set_policy .
|
||||
.Fa buf
|
||||
points to a IPsec policy structure,
|
||||
points to an IPsec policy structure,
|
||||
.Li struct sadb_x_policy .
|
||||
.Fa delim
|
||||
is a delimiter string, which is usually a blank character.
|
||||
|
@ -70,7 +70,7 @@ NgMkSockNode(const char *name, int *csp, int *dsp)
|
||||
name = NULL;
|
||||
|
||||
/* Create control socket; this also creates the netgraph node.
|
||||
If we get a EPROTONOSUPPORT then the socket node type is
|
||||
If we get an EPROTONOSUPPORT then the socket node type is
|
||||
not loaded, so load it and try again. */
|
||||
if ((cs = socket(AF_NETGRAPH, SOCK_DGRAM, NG_CONTROL)) < 0) {
|
||||
if (errno == EPROTONOSUPPORT) {
|
||||
|
@ -377,7 +377,7 @@ And
|
||||
.Va object
|
||||
must be
|
||||
.Va VGLDisplay .
|
||||
Passing a in-memory bitmap to this function results in error.
|
||||
Passing an in-memory bitmap to this function results in error.
|
||||
.Pp
|
||||
The desired virtual screen width may not be achievable because
|
||||
of the video card hardware. In such case the video driver (and
|
||||
@ -401,7 +401,7 @@ foreground.
|
||||
.Va object
|
||||
must be
|
||||
.Va VGLDisplay .
|
||||
Passing a in-memory bitmap to this function results in error.
|
||||
Passing an in-memory bitmap to this function results in error.
|
||||
.Pp
|
||||
.Fn VGLBlankDisplay
|
||||
blank the display if the argument
|
||||
|
@ -442,7 +442,7 @@ log(x) double x;
|
||||
|
||||
/*
|
||||
* Extra precision variant, returning struct {double a, b;};
|
||||
* log(x) = a+b to 63 bits, with a is rounded to 26 bits.
|
||||
* log(x) = a+b to 63 bits, with a rounded to 26 bits.
|
||||
*/
|
||||
struct Double
|
||||
#ifdef _ANSI_SOURCE
|
||||
|
@ -24,7 +24,7 @@ static char rcsid[] = "$FreeBSD$";
|
||||
* Algorithm
|
||||
* 1. Since tan(-x) = -tan(x), we need only to consider positive x.
|
||||
* 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0.
|
||||
* 3. tan(x) is approximated by a odd polynomial of degree 27 on
|
||||
* 3. tan(x) is approximated by an odd polynomial of degree 27 on
|
||||
* [0,0.67434]
|
||||
* 3 27
|
||||
* tan(x) ~ x + T1*x + ... + T13*x
|
||||
|
@ -58,7 +58,7 @@ files into the format used to generate the
|
||||
.Tn NIS
|
||||
map.
|
||||
This map is used to hold credential information for both users
|
||||
and hosts in a operating system independent format.
|
||||
and hosts in an operating system independent format.
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
|
@ -233,7 +233,7 @@ struct file_entry {
|
||||
int lib_major, lib_minor; /* Version numbers of a shared object */
|
||||
|
||||
int flags;
|
||||
#define E_IS_LIBRARY 1 /* File is a an archive */
|
||||
#define E_IS_LIBRARY 1 /* File is an archive */
|
||||
#define E_HEADER_VALID 2 /* File's header has been read */
|
||||
#define E_SEARCH_DIRS 4 /* Search directories for file */
|
||||
#define E_SEARCH_DYNAMIC 8 /* Search for shared libs allowed */
|
||||
|
@ -1987,7 +1987,7 @@ rtfindfile(name)
|
||||
|
||||
/*
|
||||
* Buffer for error messages and a pointer that is set to point to the buffer
|
||||
* when a error occurs. It acts as a last error flag, being set to NULL
|
||||
* when an error occurs. It acts as a last error flag, being set to NULL
|
||||
* after an error is returned.
|
||||
*/
|
||||
#define DLERROR_BUF_SIZE 512
|
||||
|
@ -182,7 +182,7 @@
|
||||
|
||||
<para>Unfortunately, the only program capable of reading
|
||||
them is the 3COM supplied DOS program. This program must be
|
||||
run on a absolutely clean system (no other drivers must be
|
||||
run on an absolutely clean system (no other drivers must be
|
||||
running), and the program will whine about CARD-Services not
|
||||
being found, but it will continue. This is necessary to
|
||||
read the NVRAM values. You want to know the IRQ, port, and
|
||||
|
@ -10,7 +10,7 @@
|
||||
# a given CDROM number, that numer currently referring to the 4 CD
|
||||
# "official set" published by BSDi. If there is no minimum package
|
||||
# set for the given CDROM, or none is known, the script will exit
|
||||
# with a error code of 1. At some point, this script should be extended
|
||||
# with an error code of 1. At some point, this script should be extended
|
||||
# to at least cope with other official CD distributions, like non-US ones.
|
||||
#
|
||||
# usage: print-cdrom-packages.sh cdrom-number
|
||||
|
@ -605,7 +605,7 @@ asn_set_int ( bufp, val )
|
||||
}
|
||||
|
||||
/*
|
||||
* Utility to print a object identifier
|
||||
* Utility to print an object identifier.
|
||||
*
|
||||
* Arguments:
|
||||
* objid - pointer to objid representation
|
||||
@ -1088,7 +1088,7 @@ oid_ncmp ( oid1, oid2, len )
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the index of a OBJID which matches this Variable instance
|
||||
* Find the index of an OBJID which matches this Variable instance.
|
||||
*
|
||||
* Arguments:
|
||||
* var - pointer to Variable instance
|
||||
@ -1216,7 +1216,7 @@ build_pdu ( hdr, type )
|
||||
asn_set_int ( &bp, hdr->reqid );
|
||||
/*
|
||||
* Check to see if all the vaiables were resolved - we do this
|
||||
* by looking for something which still has a ASN_NULL value.
|
||||
* by looking for something which still has an ASN_NULL value.
|
||||
*/
|
||||
var = hdr->head;
|
||||
if ( type == PDU_TYPE_GETRESP ) {
|
||||
|
@ -2435,7 +2435,7 @@ add_ports(ipfw_insn *cmd, char *av, u_char proto, int opcode)
|
||||
*
|
||||
* The syntax for a rule starts with the action, followed by an
|
||||
* optional log action, and the various match patterns.
|
||||
* In the assembled microcode, the first opcode must be a O_PROBE_STATE
|
||||
* In the assembled microcode, the first opcode must be an O_PROBE_STATE
|
||||
* (generated if the rule includes a keep-state option), then the
|
||||
* various match patterns, the "log" action, and the actual action.
|
||||
*
|
||||
|
@ -45,7 +45,7 @@
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
utility attaches a ext2fs file system
|
||||
utility attaches an ext2fs file system
|
||||
.Ar special
|
||||
device on to the file system tree at the point
|
||||
.Ar node .
|
||||
|
@ -473,7 +473,7 @@ static void DoAliasing (int fd, int direction)
|
||||
return;
|
||||
}
|
||||
/*
|
||||
* This is a IP packet.
|
||||
* This is an IP packet.
|
||||
*/
|
||||
ip = (struct ip*) buf;
|
||||
if (direction == DONT_KNOW) {
|
||||
|
@ -367,7 +367,7 @@ ripv1_mask_host(naddr addr, /* in network byte order */
|
||||
}
|
||||
|
||||
|
||||
/* See if a IP address looks reasonable as a destination
|
||||
/* See if an IP address looks reasonable as a destination.
|
||||
*/
|
||||
int /* 0=bad */
|
||||
check_dst(naddr addr)
|
||||
|
@ -1435,7 +1435,7 @@ walk_kern(struct radix_node *rn,
|
||||
* it must be a "gateway."
|
||||
*
|
||||
* If it is a "remote" interface, it is also a "gateway" to
|
||||
* the kernel if is not a alias.
|
||||
* the kernel if is not an alias.
|
||||
*/
|
||||
if (RT->rt_ifp == 0
|
||||
|| (RT->rt_ifp->int_state & IS_REMOTE))
|
||||
|
@ -225,7 +225,7 @@ DoFile(char *savedir, const char *device)
|
||||
* XXX On ia64 something breaks when the buffer is put on the
|
||||
* stack. When the buffer is roughly larger than 128K the read()
|
||||
* below simply fails with errno=14 (EFAULT). We work around
|
||||
* this by doing a on-time allocation...
|
||||
* this by doing a one-time allocation...
|
||||
*/
|
||||
if (buf == NULL) {
|
||||
buf = malloc(BUFFERSIZE);
|
||||
|
@ -166,10 +166,10 @@ add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10004
|
||||
-E rc5-cbc "kamekame"
|
||||
-A hmac-md5 "this is the test" ;
|
||||
|
||||
# By "get" command, you can get a entry of either SP or SA.
|
||||
# By "get" command, you can get an entry of either SP or SA.
|
||||
get fec0:0:0:1::1 fec0:0:0:2::2 ah 0x10004 ;
|
||||
|
||||
# Also delete command, you can delete a entry of either SP or SA.
|
||||
# Also delete command, you can delete an entry of either SP or SA.
|
||||
spddelete fec0:0:0:1::/64 fec0:0:0:2::/64 any -P out;
|
||||
delete fec0:0:0:1::1 fec0:0:0:2::2 ah 0x10004 ;
|
||||
|
||||
|
@ -283,9 +283,9 @@ Specify hard/soft life time duration of the SA.
|
||||
.It Ar algorithm
|
||||
.Bl -tag -width Fl -compact
|
||||
.It Fl E Ar ealgo Ar key
|
||||
Specify a encryption algorithm.
|
||||
Specify an encryption algorithm.
|
||||
.It Fl A Ar aalgo Ar key
|
||||
Specify a authentication algorithm.
|
||||
Specify an authentication algorithm.
|
||||
If
|
||||
.Fl A
|
||||
is used with
|
||||
|
@ -512,8 +512,8 @@ getmntname(const char *fromname, const char *onname,
|
||||
* are marked or unmarked in a table called 'mntcheck'.
|
||||
* Unmount(const char *dir, int flags) does only take the
|
||||
* mountpoint as argument, not the destination. If we don't pay
|
||||
* attention to the order, it can happen that a overlaying
|
||||
* file system get's unmounted instead of the one the user
|
||||
* attention to the order, it can happen that an overlaying
|
||||
* file system gets unmounted instead of the one the user
|
||||
* has choosen.
|
||||
*/
|
||||
switch (mark) {
|
||||
|
@ -187,7 +187,7 @@ even if instructed not to do so (especially in promiscuous mode).
|
||||
In such cases DAD may fail, because DAD engine sees inbound NS packet
|
||||
(actually from the node itself) and considers it as a sign of duplicate.
|
||||
In this case, drivers should be corrected to honor IFF_SIMPLEX behavior.
|
||||
For example, you may need to check source MAC address on a inbound packet,
|
||||
For example, you may need to check source MAC address on an inbound packet,
|
||||
and reject it if it is from the node itself.
|
||||
You may also want to look at #if condition marked "heuristics" in
|
||||
sys/netinet6/nd6_nbr.c:nd6_dad_timer() as workaround (note that the code
|
||||
|
@ -31,6 +31,8 @@
|
||||
.\"
|
||||
.\" @(#)motivation.ms 6.2 (Berkeley) 4/16/91
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.ds RH Motivation
|
||||
.NH
|
||||
Motivation
|
||||
@ -45,7 +47,7 @@ DEC has become, with the introduction of the UDA50/RA81 system,
|
||||
cost competitive
|
||||
in the area of disk storage for the first time.
|
||||
Emulex's entry into the VAX 11/780 SBI controller
|
||||
field, the SC780, represented a important choice for us to examine, given
|
||||
field, the SC780, represented an important choice for us to examine, given
|
||||
our previous success with their VAX 11/750 SC750 controller and
|
||||
their UNIBUS controllers.
|
||||
The Fujitsu 2351A
|
||||
|
@ -71,7 +71,7 @@ This is typical of most 4.2BSD user programs since a standard set of
|
||||
I/O support routines is commonly used and these routines buffer
|
||||
data in similar block sizes.
|
||||
.PP
|
||||
For each test run, a empty eight Kilobyte block
|
||||
For each test run, an empty eight Kilobyte block
|
||||
file system was created in the target
|
||||
storage system.
|
||||
Then each of the four tests was run and timed.
|
||||
@ -79,9 +79,9 @@ Each test was run three times;
|
||||
the first to clear out any useful data in the cache,
|
||||
and the second two to insure that the experiment
|
||||
had stablized and was repeatable.
|
||||
Each test operated on eight Megabytes of data to
|
||||
Each test operated on eight Megabytes of data to
|
||||
insure that the cache did not overly influence the results.
|
||||
Another file system was then initialized using a
|
||||
Another file system was then initialized using a
|
||||
basic blocking factor of four Kilobytes and the same tests
|
||||
were run again and timed.
|
||||
A command script for a run appears as follows:
|
||||
|
@ -31,11 +31,13 @@
|
||||
.\"
|
||||
.\" @(#)4.t 5.1 (Berkeley) 4/17/91
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.ds RH Performance Improvements
|
||||
.NH
|
||||
Performance Improvements
|
||||
.PP
|
||||
This section outlines the changes made to the system
|
||||
This section outlines the changes made to the system
|
||||
since the 4.2BSD distribution.
|
||||
The changes reported here were made in response
|
||||
to the problems described in Section 3.
|
||||
@ -79,7 +81,7 @@ The inner loop performs a linear search through a directory looking
|
||||
for a particular pathname component.
|
||||
.PP
|
||||
Our first idea was to reduce the number of iterations
|
||||
around the inner loop of \fInamei\fP by observing that many programs
|
||||
around the inner loop of \fInamei\fP by observing that many programs
|
||||
step through a directory performing an operation on each entry in turn.
|
||||
To improve performance for processes doing directory scans,
|
||||
the system keeps track of the directory offset of the last component of the
|
||||
@ -99,7 +101,7 @@ delim off
|
||||
.EN
|
||||
.PP
|
||||
The cost of the cache is about 20 lines of code
|
||||
(about 0.2 kilobytes)
|
||||
(about 0.2 kilobytes)
|
||||
and 16 bytes per process, with the cached data
|
||||
stored in a process's \fIuser\fP vector.
|
||||
.PP
|
||||
@ -162,7 +164,7 @@ For each path name component,
|
||||
for the needed name.
|
||||
If it exists, the directory search can be completely eliminated.
|
||||
.PP
|
||||
The system already maintained a cache of recently accessed inodes,
|
||||
The system already maintained a cache of recently accessed inodes,
|
||||
so the initial name cache
|
||||
maintained a simple name-inode association that was used to
|
||||
check each component of a path name during name translations.
|
||||
@ -172,7 +174,7 @@ but eventually decided to have a separate data structure that
|
||||
kept names with pointers to the inode table.
|
||||
Tagging inodes has two drawbacks;
|
||||
many inodes such as those associated with login ports remain in
|
||||
the inode table for a long period of time, but are never looked
|
||||
the inode table for a long period of time, but are never looked
|
||||
up by name.
|
||||
Other inodes, such as those describing directories are looked up
|
||||
frequently by many different names (\fIe.g.\fP ``..'').
|
||||
@ -183,7 +185,7 @@ of the inode table, so that machines with small amounts of memory
|
||||
can reduce the size of the cache (or even eliminate it)
|
||||
without modifying the inode table structure.
|
||||
.PP
|
||||
Another issue to be considered is how the name cache should
|
||||
Another issue to be considered is how the name cache should
|
||||
hold references to the inode table.
|
||||
Normally processes hold ``hard references'' by incrementing the
|
||||
reference count in the inode they reference.
|
||||
@ -219,7 +221,7 @@ searching through the entire cache;
|
||||
instead all you need to do is assign a new capability to the inode.
|
||||
.PP
|
||||
The cost of the name cache is about 200 lines of code
|
||||
(about 1.2 kilobytes)
|
||||
(about 1.2 kilobytes)
|
||||
and 48 bytes per cache entry.
|
||||
Depending on the size of the system,
|
||||
about 200 to 1000 entries will normally be configured,
|
||||
@ -304,7 +306,7 @@ it is impossible to statically select the most efficient input mode to use.
|
||||
.PP
|
||||
We therefore changed the terminal multiplexor handlers
|
||||
to dynamically choose between the use of the silo and the use of
|
||||
per-character interrupts.
|
||||
per-character interrupts.
|
||||
At low input rates the handler processes characters on an
|
||||
interrupt basis, avoiding the overhead
|
||||
of checking each interface on each clock interrupt.
|
||||
@ -389,7 +391,7 @@ As most of the clock-based events need not be done at high priority,
|
||||
the system schedules a lower priority software interrupt to do the less
|
||||
time-critical events such as cpu scheduling and timeout processing.
|
||||
Often there are no such events, and the software interrupt handler
|
||||
finds nothing to do and returns.
|
||||
finds nothing to do and returns.
|
||||
The high priority event now checks to see if there are low priority
|
||||
events to process;
|
||||
if there is nothing to do, the software interrupt is not requested.
|
||||
@ -533,7 +535,7 @@ run over the assembly language and replace calls to small
|
||||
routines with the code for the body of the routine, often
|
||||
a single VAX instruction.
|
||||
While this optimization eliminated the cost of the subroutine
|
||||
call and return,
|
||||
call and return,
|
||||
it did not eliminate the pushing and popping of several arguments
|
||||
to the routine.
|
||||
The \fIsed\fP script has been replaced by a more intelligent expander,
|
||||
@ -587,7 +589,7 @@ dramatically improved simply by enlarging the size of the hash table.
|
||||
.NH 2
|
||||
Improvements to Libraries and Utilities
|
||||
.PP
|
||||
Intuitively, changes to the kernel would seem to have the greatest
|
||||
Intuitively, changes to the kernel would seem to have the greatest
|
||||
payoff since they affect all programs that run on the system.
|
||||
However, the kernel has been tuned many times before, so the
|
||||
opportunity for significant improvement was small.
|
||||
@ -661,7 +663,7 @@ on the entire mail system. The first problem identified was a bug
|
||||
in the \fIsyslog\fP program. The mail delivery program, \fIsendmail\fP
|
||||
logs all mail transactions through this process with the 4.2BSD interprocess
|
||||
communication facilities. \fISyslog\fP then records the information in
|
||||
a log file. Unfortunately, \fIsyslog\fP was performing a \fIsync\fP
|
||||
a log file. Unfortunately, \fIsyslog\fP was performing a \fIsync\fP
|
||||
operation after each message it received, whether it was logged to a file
|
||||
or not. This wreaked havoc on the effectiveness of the
|
||||
buffer cache and explained, to a large
|
||||
@ -670,22 +672,22 @@ heavy load on the system (one syslog message was generated for each
|
||||
message recipient causing almost a continuous sequence of sync operations).
|
||||
.PP
|
||||
The hashed data base files were
|
||||
installed in all mail programs, resulting in a order of magnitude
|
||||
installed in all mail programs, resulting in an order of magnitude
|
||||
speedup on large distribution lists. The code in \fI/bin/mail\fP
|
||||
that notifies the \fIcomsat\fP program when mail has been delivered to
|
||||
a user was changed to cache host table lookups, resulting in a similar
|
||||
speedup on large distribution lists.
|
||||
speedup on large distribution lists.
|
||||
.PP
|
||||
Next, the file locking facilities
|
||||
provided in 4.2BSD, \fIflock\fP\|(2), were used in place of the old
|
||||
locking mechanism.
|
||||
locking mechanism.
|
||||
The mail system previously used \fIlink\fP and \fIunlink\fP in
|
||||
implementing file locking primitives.
|
||||
implementing file locking primitives.
|
||||
Because these operations usually modify the contents of directories
|
||||
they require synchronous disk operations and cannot take
|
||||
advantage of the name cache maintained by the system.
|
||||
Unlink requires that the entry be found in the directory so that
|
||||
it can be removed;
|
||||
it can be removed;
|
||||
link requires that the directory be scanned to insure that the name
|
||||
does not already exist.
|
||||
By contrast the advisory locking facility in 4.2BSD is
|
||||
@ -698,7 +700,7 @@ compiling it without debugging code reduced the overhead by another 20%.
|
||||
Network Servers
|
||||
.PP
|
||||
With the introduction of the network facilities in 4.2BSD,
|
||||
a myriad of services became available, each of which
|
||||
a myriad of services became available, each of which
|
||||
required its own daemon process.
|
||||
Many of these daemons were rarely if ever used,
|
||||
yet they lay asleep in the process table consuming
|
||||
|
@ -31,6 +31,8 @@
|
||||
.\"
|
||||
.\" @(#)3.t 8.1 (Berkeley) 6/8/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.\".ds RH "Network Library Routines
|
||||
.bp
|
||||
.nr H1 3
|
||||
@ -245,7 +247,7 @@ struct protoent {
|
||||
.DE
|
||||
.PP
|
||||
In the NS domain, protocols are indicated by the "client type"
|
||||
field of a IDP header. No protocol database exists; see section
|
||||
field of an IDP header. No protocol database exists; see section
|
||||
5 for more information.
|
||||
.NH 2
|
||||
Service names
|
||||
|
@ -380,7 +380,7 @@ the kernel will use
|
||||
.Pn \*(Dk1a
|
||||
as its root filesystem. If
|
||||
.Pn /dev/\*(Dk1b
|
||||
is configured as a swap partition,
|
||||
is configured as a swap partition,
|
||||
it will be used as the initial swap area,
|
||||
otherwise the normal primary swap area (\c
|
||||
.Pn /dev/\*(Dk0b )
|
||||
@ -489,7 +489,7 @@ tape, extract them into a scratch directory, say
|
||||
.PP
|
||||
The data files marked in the previous table with a dagger (\(dg)
|
||||
may be used without change from the previous system.
|
||||
Those data files marked with a double dagger (\(dd) have syntax
|
||||
Those data files marked with a double dagger (\(dd) have syntax
|
||||
changes or substantial enhancements.
|
||||
You should start with the \*(4B version and carefully
|
||||
integrate any local changes into the new file.
|
||||
@ -605,8 +605,8 @@ _ _ _
|
||||
/etc/passwd /etc/master.passwd new format; see below
|
||||
/usr/lib/sendmail.cf /etc/sendmail.cf changed pathnames
|
||||
/usr/lib/aliases /etc/aliases may contain changed pathnames
|
||||
/etc/*.pid /var/run/*.pid
|
||||
|
||||
/etc/*.pid /var/run/*.pid
|
||||
|
||||
.T&
|
||||
l l l
|
||||
lfC lfC l.
|
||||
@ -859,7 +859,7 @@ The ``daemon'' user is used for daemon processes that
|
||||
do not need root privileges.
|
||||
The ``operator'' user-id is used as an account for dumpers
|
||||
so that they can log in without having the root password.
|
||||
By placing them in the ``operator'' group,
|
||||
By placing them in the ``operator'' group,
|
||||
they can get read access to the disks.
|
||||
The ``uucp'' login has existed long before \*(4B,
|
||||
and is noted here just to provide a common user-id.
|
||||
@ -1002,7 +1002,7 @@ privilege to set kernel state.
|
||||
.Sh 3 "Security"
|
||||
.PP
|
||||
The kernel runs with four different levels of security.
|
||||
Any superuser process can raise the security level, but only
|
||||
Any superuser process can raise the security level, but only
|
||||
.Fn init (8)
|
||||
can lower it.
|
||||
Security levels are defined as follows:
|
||||
@ -1027,7 +1027,7 @@ but also inhibits running
|
||||
while the system is multi-user.
|
||||
See
|
||||
.Xr chflags (1)
|
||||
and the \-\fBo\fP option to
|
||||
and the \-\fBo\fP option to
|
||||
.Xr ls (1)
|
||||
for information on setting and displaying the immutable and append-only
|
||||
flags.
|
||||
@ -1165,14 +1165,14 @@ structure into the kernel (e.g.
|
||||
.Fn sendto
|
||||
and
|
||||
.Fn connect )
|
||||
have a separate parameter that specifies the
|
||||
have a separate parameter that specifies the
|
||||
.I sockaddr
|
||||
length, and thus it is not necessary to fill in the
|
||||
.I sa_len
|
||||
field for those system calls.
|
||||
System calls that pass a
|
||||
.I sockaddr
|
||||
structure back from the kernel (e.g.
|
||||
structure back from the kernel (e.g.
|
||||
.Fn recvfrom
|
||||
and
|
||||
.Fn accept )
|
||||
@ -1319,7 +1319,7 @@ See
|
||||
and
|
||||
.Xr lfs_cleanerd (8)
|
||||
for more information.
|
||||
For a in-depth description of the implementation and performance
|
||||
For an in-depth description of the implementation and performance
|
||||
characteristics of log-structured filesystems in general,
|
||||
and this one in particular, see Dr. Margo Seltzer's doctoral thesis,
|
||||
available from the University of California Computer Science Department.
|
||||
@ -1328,7 +1328,7 @@ We have also added a memory-based filesystem that runs in
|
||||
pageable memory, allowing large temporary filesystems without
|
||||
requiring dedicated physical memory.
|
||||
.PP
|
||||
The local ``fast filesystem'' has been enhanced to do
|
||||
The local ``fast filesystem'' has been enhanced to do
|
||||
clustering that allows large pieces of files to be
|
||||
allocated contiguously resulting in near doubling
|
||||
of filesystem throughput.
|
||||
@ -1355,7 +1355,7 @@ When set on a file,
|
||||
.Xr dump (8)
|
||||
will omit the file from incremental backups
|
||||
but retain them on full backups.
|
||||
See the ``-h'' flag to
|
||||
See the ``-h'' flag to
|
||||
.Xr dump (8)
|
||||
for details on how to change this default.
|
||||
The ``nodump'' flag is usually set on core dumps,
|
||||
@ -1867,7 +1867,7 @@ yacc A new, freely redistributable, significantly faster version.
|
||||
.PP
|
||||
The new versions of
|
||||
.Xr lex (1)
|
||||
(``flex'') and
|
||||
(``flex'') and
|
||||
.Xr yacc (1)
|
||||
(``zoo'') should be installed early on if attempting to
|
||||
cross-compile \*(4B on another system.
|
||||
@ -1889,7 +1889,7 @@ for an example of their use.
|
||||
.Sh 2 "Hints on converting from \*(Ps to \*(4B"
|
||||
.PP
|
||||
This section summarizes changes between
|
||||
\*(Ps and \*(4B that are likely to
|
||||
\*(Ps and \*(4B that are likely to
|
||||
cause difficulty in doing the conversion.
|
||||
It does not include changes in the network;
|
||||
see section 5 for information on setting up the network.
|
||||
|
@ -31,6 +31,8 @@
|
||||
.\"
|
||||
.\" @(#)3.t 8.1 (Berkeley) 6/8/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.ds RH New file system
|
||||
.NH
|
||||
New file system organization
|
||||
@ -55,7 +57,7 @@ bytes with only two levels of indirection,
|
||||
the minimum size of a file system block is 4096 bytes.
|
||||
The size of file system blocks can be any power of two
|
||||
greater than or equal to 4096.
|
||||
The block size of a file system is recorded in the
|
||||
The block size of a file system is recorded in the
|
||||
file system's super-block
|
||||
so it is possible for file systems with different block sizes
|
||||
to be simultaneously accessible on the same system.
|
||||
@ -80,7 +82,7 @@ For each cylinder group a static number of inodes
|
||||
is allocated at file system creation time.
|
||||
The default policy is to allocate one inode for each 2048
|
||||
bytes of space in the cylinder group, expecting this
|
||||
to be far more than will ever be needed.
|
||||
to be far more than will ever be needed.
|
||||
.PP
|
||||
All the cylinder group bookkeeping information could be
|
||||
placed at the beginning of each cylinder group.
|
||||
@ -109,7 +111,7 @@ This is because of a requirement that the first 8 kilobytes of the disk
|
||||
be reserved for a bootstrap program and a separate requirement that
|
||||
the cylinder group information begin on a file system block boundary.
|
||||
To start the cylinder group on a file system block boundary,
|
||||
file systems with block sizes larger than 8 kilobytes
|
||||
file systems with block sizes larger than 8 kilobytes
|
||||
would have to leave an empty space between the end of
|
||||
the boot block and the beginning of the cylinder group.
|
||||
Without knowing the size of the file system blocks,
|
||||
@ -131,7 +133,7 @@ In large files, several
|
||||
4096 byte blocks may be allocated from the same cylinder so that
|
||||
even larger data transfers are possible before requiring a seek.
|
||||
.PP
|
||||
The main problem with
|
||||
The main problem with
|
||||
larger blocks is that most UNIX
|
||||
file systems are composed of many small files.
|
||||
A uniformly large block size wastes space.
|
||||
@ -197,7 +199,7 @@ Figure 1 \- Example layout of blocks and fragments in a 4096/1024 file system.
|
||||
.KE
|
||||
Each bit in the map records the status of a fragment;
|
||||
an ``X'' shows that the fragment is in use,
|
||||
while a ``O'' shows that the fragment is available for allocation.
|
||||
while an ``O'' shows that the fragment is available for allocation.
|
||||
In this example,
|
||||
fragments 0\-5, 10, and 11 are in use,
|
||||
while fragments 6\-9, and 12\-15 are free.
|
||||
@ -256,7 +258,7 @@ a block with the necessary fragments is located,
|
||||
otherwise a full block is located.
|
||||
The remaining new data is written into the located space.
|
||||
.IP 3)
|
||||
The file contains one or more fragments (and the
|
||||
The file contains one or more fragments (and the
|
||||
fragments contain insufficient space to hold the new data).
|
||||
If the size of the new data plus the size of the data
|
||||
already in the fragments exceeds the size of a full block,
|
||||
@ -274,7 +276,7 @@ appended with the new data
|
||||
are written into the allocated space.
|
||||
.PP
|
||||
The problem with expanding a file one fragment at a
|
||||
a time is that data may be copied many times as a
|
||||
a time is that data may be copied many times as a
|
||||
fragmented block expands to a full block.
|
||||
Fragment reallocation can be minimized
|
||||
if the user program writes a full block at a time,
|
||||
@ -345,7 +347,7 @@ with the free space reserve set at 5%.
|
||||
(Compare 11.8% wasted with the old file system
|
||||
to 6.9% waste + 5% reserved space in the
|
||||
new file system.)
|
||||
.NH 2
|
||||
.NH 2
|
||||
File system parameterization
|
||||
.PP
|
||||
Except for the initial creation of the free list,
|
||||
@ -353,11 +355,11 @@ the old file system ignores the parameters of the underlying hardware.
|
||||
It has no information about either the physical characteristics
|
||||
of the mass storage device,
|
||||
or the hardware that interacts with it.
|
||||
A goal of the new file system is to parameterize the
|
||||
A goal of the new file system is to parameterize the
|
||||
processor capabilities and
|
||||
mass storage characteristics
|
||||
so that blocks can be allocated in an
|
||||
optimum configuration-dependent way.
|
||||
optimum configuration-dependent way.
|
||||
Parameters used include the speed of the processor,
|
||||
the hardware support for mass storage transfers,
|
||||
and the characteristics of the mass storage devices.
|
||||
@ -370,8 +372,8 @@ it is placed.
|
||||
.PP
|
||||
For mass storage devices such as disks,
|
||||
the new file system tries to allocate new blocks
|
||||
on the same cylinder as the previous block in the same file.
|
||||
Optimally, these new blocks will also be
|
||||
on the same cylinder as the previous block in the same file.
|
||||
Optimally, these new blocks will also be
|
||||
rotationally well positioned.
|
||||
The distance between ``rotationally optimal'' blocks varies greatly;
|
||||
it can be a consecutive block
|
||||
@ -439,7 +441,7 @@ and the disk pack is then moved to a system that has a
|
||||
processor requiring 4 milliseconds to schedule a disk operation,
|
||||
the throughput will drop precipitously because of lost disk revolutions
|
||||
on nearly every block.
|
||||
If the eventual target machine is known,
|
||||
If the eventual target machine is known,
|
||||
the file system can be parameterized for it
|
||||
even though it is initially created on a different processor.
|
||||
Even if the move is not known in advance,
|
||||
@ -464,7 +466,7 @@ the local allocation routines that use a locally optimal scheme to
|
||||
lay out data blocks.
|
||||
.PP
|
||||
Two methods for improving file system performance are to increase
|
||||
the locality of reference to minimize seek latency
|
||||
the locality of reference to minimize seek latency
|
||||
as described by [Trivedi80], and
|
||||
to improve the layout of data to make larger transfers possible
|
||||
as described by [Nevalainen77].
|
||||
@ -486,7 +488,7 @@ while spreading out unrelated data.
|
||||
One allocatable resource is inodes.
|
||||
Inodes are used to describe both files and directories.
|
||||
Inodes of files in the same directory are frequently accessed together.
|
||||
For example, the ``list directory'' command often accesses
|
||||
For example, the ``list directory'' command often accesses
|
||||
the inode for each file in a directory.
|
||||
The layout policy tries to place all the inodes of
|
||||
files in a directory in the same cylinder group.
|
||||
@ -547,10 +549,10 @@ a megabyte of data is typically accessible before
|
||||
a long seek must be performed,
|
||||
and the cost of one long seek per megabyte is small.
|
||||
.PP
|
||||
The global policy routines call local allocation routines with
|
||||
The global policy routines call local allocation routines with
|
||||
requests for specific blocks.
|
||||
The local allocation routines will
|
||||
always allocate the requested block
|
||||
always allocate the requested block
|
||||
if it is free, otherwise it
|
||||
allocates a free block of the requested size that is
|
||||
rotationally closest to the requested block.
|
||||
@ -558,7 +560,7 @@ If the global layout policies had complete information,
|
||||
they could always request unused blocks and
|
||||
the allocation routines would be reduced to simple bookkeeping.
|
||||
However, maintaining complete information is costly;
|
||||
thus the implementation of the global layout policy
|
||||
thus the implementation of the global layout policy
|
||||
uses heuristics that employ only partial information.
|
||||
.PP
|
||||
If a requested block is not available, the local allocator uses
|
||||
@ -566,7 +568,7 @@ a four level allocation strategy:
|
||||
.IP 1)
|
||||
Use the next available block rotationally closest
|
||||
to the requested block on the same cylinder. It is assumed
|
||||
here that head switching time is zero. On disk
|
||||
here that head switching time is zero. On disk
|
||||
controllers where this is not the case, it may be possible
|
||||
to incorporate the time required to switch between disk platters
|
||||
when constructing the rotational layout tables. This, however,
|
||||
@ -575,7 +577,7 @@ has not yet been tried.
|
||||
If there are no blocks available on the same cylinder,
|
||||
use a block within the same cylinder group.
|
||||
.IP 3)
|
||||
If that cylinder group is entirely full,
|
||||
If that cylinder group is entirely full,
|
||||
quadratically hash the cylinder group number to choose
|
||||
another cylinder group to look for a free block.
|
||||
.IP 4)
|
||||
|
@ -85,7 +85,7 @@ use of the Sun RPC library.
|
||||
.sh 1 "Mount Problems"
|
||||
.pp
|
||||
There are several problems that can be encountered at the time of an NFS
|
||||
mount, ranging from a unresponsive NFS server (crashed, network partitioned
|
||||
mount, ranging from an unresponsive NFS server (crashed, network partitioned
|
||||
from client, etc.) to various interoperability problems between different
|
||||
NFS implementations.
|
||||
.pp
|
||||
|
@ -34,6 +34,8 @@
|
||||
.\"
|
||||
.\" @(#)2.t 8.1 (Berkeley) 6/8/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.sh 1 "Not Quite NFS, Crash Tolerant Cache Consistency for NFS"
|
||||
.pp
|
||||
Not Quite NFS (NQNFS) is an NFS like protocol designed to maintain full cache
|
||||
@ -127,7 +129,7 @@ the number of seconds the server is willing to wait for a client with
|
||||
an expired write caching lease to push dirty writes.
|
||||
.pp
|
||||
The server maintains a \fBmodify_revision\fR number for each file. It is
|
||||
defined as a unsigned quadword integer that is never zero and that must
|
||||
defined as an unsigned quadword integer that is never zero and that must
|
||||
increase whenever the corresponding file is modified on the server.
|
||||
It is used
|
||||
by the client to determine whether or not cached data for the file is
|
||||
@ -400,7 +402,7 @@ modifyrev
|
||||
.(l
|
||||
typedef unsigned hyper modifyrev;
|
||||
.)l
|
||||
The "modifyrev" is a unsigned quadword integer value that is never zero
|
||||
The "modifyrev" is an unsigned quadword integer value that is never zero
|
||||
and increases every time the corresponding file is modified on the server.
|
||||
.ip \(bu
|
||||
nqnfs_time
|
||||
|
@ -31,6 +31,8 @@
|
||||
.\"
|
||||
.\" @(#)7.t 8.1 (Berkeley) 6/8/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.nr H2 1
|
||||
.br
|
||||
.ne 30v
|
||||
@ -115,7 +117,7 @@ to carry out this request (if possible). A ``listen'' request
|
||||
always precedes a request to accept a connection.
|
||||
.IP PRU_CONNECT
|
||||
.br
|
||||
The ``connect'' request indicates the user wants to a establish
|
||||
The ``connect'' request indicates the user wants to establish
|
||||
an association. The \fIaddr\fP parameter supplied describes
|
||||
the peer to be connected to. The effect of a connect request
|
||||
may vary depending on the protocol. Virtual circuit protocols,
|
||||
|
@ -31,6 +31,8 @@
|
||||
.\"
|
||||
.\" @(#)ms.diffs 8.1 (Berkeley) 6/8/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.nr LL 6.5i
|
||||
.nr FL 6.0i
|
||||
.if t .nr PD .5v
|
||||
@ -268,7 +270,7 @@ This document was produced with:
|
||||
\&.OH \'\ef\^IThe -mx Macros\'\'Page %\ef\^P\'
|
||||
\&.EH \'\ef\^IPage %\'\'The -mx Macros\ef\^P\'
|
||||
.DE
|
||||
Note that it would be a error to have an apostrophe in the header text;
|
||||
Note that it would be an error to have an apostrophe in the header text;
|
||||
if you need one, you will have to use a different delimiter
|
||||
around the left, center, and right portions of the title.
|
||||
You can use any character as a delimiter, provided it doesn't appear
|
||||
|
@ -1,26 +1,26 @@
|
||||
.\" Copyright (C) Caldera International Inc. 2001-2002. All rights reserved.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions are
|
||||
.\" met:
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistributions of source code and documentation must retain the above
|
||||
.\" copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\"
|
||||
.\"
|
||||
.\" This product includes software developed or owned by Caldera
|
||||
.\" International, Inc. Neither the name of Caldera International, Inc.
|
||||
.\" nor the names of other contributors may be used to endorse or promote
|
||||
.\" products derived from this software without specific prior written
|
||||
.\" permission.
|
||||
.\"
|
||||
.\"
|
||||
.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
|
||||
.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
@ -33,7 +33,7 @@
|
||||
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
.\" OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\"
|
||||
.\" @(#)m1 8.1 (Berkeley) 8/14/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
@ -381,7 +381,7 @@ A paired sequence
|
||||
will work because the previous requested value is also remembered.
|
||||
Ignored in \*(NR.
|
||||
.bt
|
||||
\fB&fz\fI|F|\(+-N\fR off - E The characters in font \fIF\fR will be adjusted to
|
||||
\fB&fz\fI|F|\(+-N\fR off - E The characters in font \fIF\fR will be adjusted to
|
||||
be in size \(+-\fIN\fR. Characters in the Special Font encountered during the
|
||||
use of font \fIF\fR will have the same size modification. (Use the \fB&fz S\fR
|
||||
request if different treatment of Special Font characters is required). \fB&fz\fR
|
||||
@ -524,7 +524,7 @@ or, if \fIN\fR is absent, to a
|
||||
place marked by a previous \fBmk\fR.
|
||||
Note that the \fBsp\fR request (\(sc5.3) may be used
|
||||
in all cases instead of \fBrt\fR
|
||||
by spacing to the absolute place stored in a explicit register;
|
||||
by spacing to the absolute place stored in an explicit register;
|
||||
e.|g. using the sequence \fB.mk|\fIR\fR ... \fB.sp|~\|\en\fIR\fBu\fR.
|
||||
.mh
|
||||
Text Filling, Adjusting, and Centering
|
||||
@ -532,7 +532,7 @@ Text Filling, Adjusting, and Centering
|
||||
Filling and adjusting.
|
||||
Normally,
|
||||
words are collected from input text lines
|
||||
and assembled into a output text line
|
||||
and assembled into an output text line
|
||||
until some word doesn't fit.
|
||||
An attempt is then made
|
||||
to hyphenate the word to assemble a part
|
||||
@ -589,7 +589,7 @@ using \fBtr\fR (\(sc10.5).
|
||||
.tr &.
|
||||
.sc
|
||||
Interrupted text.
|
||||
The copying of a input line in \fInofill\fR
|
||||
The copying of an input line in \fInofill\fR
|
||||
(non-fill) mode can be \fIinterrupted\fR by terminating
|
||||
the partial line with a \fB\ec\fR.
|
||||
The \fInext\fR encountered input text line will be considered to be a continuation
|
||||
|
@ -1,26 +1,26 @@
|
||||
.\" Copyright (C) Caldera International Inc. 2001-2002. All rights reserved.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions are
|
||||
.\" met:
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistributions of source code and documentation must retain the above
|
||||
.\" copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\"
|
||||
.\"
|
||||
.\" This product includes software developed or owned by Caldera
|
||||
.\" International, Inc. Neither the name of Caldera International, Inc.
|
||||
.\" nor the names of other contributors may be used to endorse or promote
|
||||
.\" products derived from this software without specific prior written
|
||||
.\" permission.
|
||||
.\"
|
||||
.\"
|
||||
.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
|
||||
.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
@ -33,7 +33,7 @@
|
||||
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
.\" OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\"
|
||||
.\" @(#)m2 8.1 (Berkeley) 8/14/93
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
@ -167,7 +167,7 @@ arguments is in the \fB.$\fR register.
|
||||
No arguments are available at the top (non-macro) level
|
||||
in this implementation.
|
||||
Because string referencing is implemented
|
||||
as a input-level push down,
|
||||
as an input-level push down,
|
||||
no arguments are available from \fIwithin\fR a string.
|
||||
No arguments are available within a trap-invoked macro.
|
||||
.pg
|
||||
|
@ -4,28 +4,28 @@
|
||||
.\"
|
||||
.\" @(#)tt04 8.1 (Berkeley) 6/8/93
|
||||
.\" Copyright (C) Caldera International Inc. 2001-2002. All rights reserved.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions are
|
||||
.\" met:
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistributions of source code and documentation must retain the above
|
||||
.\" copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\"
|
||||
.\"
|
||||
.\" This product includes software developed or owned by Caldera
|
||||
.\" International, Inc. Neither the name of Caldera International, Inc.
|
||||
.\" nor the names of other contributors may be used to endorse or promote
|
||||
.\" products derived from this software without specific prior written
|
||||
.\" permission.
|
||||
.\"
|
||||
.\"
|
||||
.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
|
||||
.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
@ -38,7 +38,7 @@
|
||||
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
.\" OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.NH
|
||||
@ -114,7 +114,7 @@ makes them one inch
|
||||
.ul
|
||||
long.
|
||||
.PP
|
||||
With
|
||||
With
|
||||
.BD .in ,
|
||||
.BD .ll
|
||||
and
|
||||
@ -139,7 +139,7 @@ as for most horizontally oriented commands
|
||||
is ems;
|
||||
an em is roughly the width of the letter `m'
|
||||
in the current point size.
|
||||
(Precisely, a em in size
|
||||
(Precisely, an em in size
|
||||
.ul
|
||||
p
|
||||
is
|
||||
|
@ -350,7 +350,7 @@ in brackets following the "return-icmp" directive:
|
||||
block return-icmp (3) in proto udp from any to any port > 30000
|
||||
block return-icmp (port-unr) in proto udp from any to any port > 30000
|
||||
|
||||
Those two examples are equivalent, and return a ICMP port unreachable error
|
||||
Those two examples are equivalent, and return an ICMP port unreachable error
|
||||
packet to in response to any UDP packet received destined for a port greater
|
||||
than 30,000.
|
||||
------------------------------------------------------------------------
|
||||
|
@ -2182,7 +2182,7 @@ ing.ps.gz>
|
||||
-34-
|
||||
|
||||
|
||||
This is a ICMP router discovery broadcast. We can tell by
|
||||
This is an ICMP router discovery broadcast. We can tell by
|
||||
the ICMP type 9/0.
|
||||
|
||||
Finally, ipmon also lets us look at the NAT table in action.
|
||||
|
@ -485,16 +485,16 @@ kind of problem to look into his BIOS.
|
||||
i4b now works for me, I had a USB-device interfering on IRQ 9,
|
||||
which was supposed to be only for my Creatix Card.
|
||||
(NetBSD 1.3, Creatix)
|
||||
|
||||
|
||||
Strange enough, my DOS s0-test worked, are they just polling the card?
|
||||
|
||||
|
||||
Even when the testsoftware under DOS is working, don't be shure, that
|
||||
your hw-setup is correct for xxx(x)BSD. Triplecheck all your IRQ and
|
||||
enable and disable PNP to triple-verify. Even unconfigured devices can
|
||||
block your card. .....
|
||||
|
||||
|
||||
And that took me more than 2 months to discover :-((((
|
||||
|
||||
|
||||
(from Andreas Lohrum, andreas.lohrum@consol.de)
|
||||
|
||||
|
||||
@ -1016,7 +1016,7 @@ But I could not use the card, because I forgot
|
||||
|
||||
Q: Hi,
|
||||
|
||||
I am trying to set up a ELSA QuickStep 1000pro PCI ISDN adaptor in a FreeBSD
|
||||
I am trying to set up an ELSA QuickStep 1000pro PCI ISDN adaptor in a FreeBSD
|
||||
3.3 box. I configured the kernel according to the i4b.ps documentation. At
|
||||
boottime, these messages are displayed:
|
||||
|
||||
|
@ -18,7 +18,7 @@ Contents:
|
||||
Layer 2
|
||||
Layer 3
|
||||
Debugging control
|
||||
Layer 4
|
||||
Layer 4
|
||||
ISDN protocol trace
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ Functional block diagram
|
||||
| debug | | Layer 4 - common call control interface | | ISDN |
|
||||
|control| | | | trace |
|
||||
+:-:-:--+ +----------------------------------------------------+ +--------+
|
||||
: : : ^ ^ ^
|
||||
: : : ^ ^ ^
|
||||
: : : Call | various ptr arrays | Call %
|
||||
. . . Control | in i4b_l3l4.h | Control %
|
||||
V V %
|
||||
@ -111,14 +111,14 @@ Layer 1
|
||||
routines. These routines handle the card/manufacturer specific stuff
|
||||
required to talk to a particular card.
|
||||
|
||||
This addresses of the read/write routines are put into a arrays found
|
||||
The addresses of the read/write routines are put into an array found
|
||||
in struct isic_softc and they are later called by the macros:
|
||||
|
||||
ISAC_READ(r), ISAC_WRITE(r,v), ISAC_RDFIFO(b,s), ISAC_WRFIFO(b,s),
|
||||
HSCX_READ(n,r), HSCX_WRITE(n,r,v), HSCX_RDFIFO(n,b,s), HSCX_WRFIFO(n,b,s)
|
||||
|
||||
(see file layer1/i4b_l1.h)
|
||||
|
||||
|
||||
Files currently used for this purpose are
|
||||
- i4b_avm_a1.c AVM A1 and AVM Fritz!Card drivers
|
||||
- i4b_ctx_s0P.c Creatix S0 PnP (experimental!)
|
||||
@ -256,7 +256,7 @@ Debugging control
|
||||
sources. It is only usable for passive cards.
|
||||
|
||||
|
||||
Layer 4
|
||||
Layer 4
|
||||
=======
|
||||
|
||||
(7) Layer 4 is "just" an abstraction layer used to shield the differences
|
||||
|
@ -3,12 +3,12 @@ $FreeBSD$
|
||||
BEWARE: HIGHLY EXPERIMENTAL!
|
||||
---------------------------
|
||||
|
||||
This program is used in conjunction with a isdnd.rc entry similar to
|
||||
This program is used in conjunction with an isdnd.rc entry similar to
|
||||
|
||||
regexpr = "ULPPP.*call active" # look for matches in log messages
|
||||
regprog = i4brunppp # execute program when match is found
|
||||
|
||||
this one (see also i4brunppp-isdnd.rc).
|
||||
this one (see also i4brunppp-isdnd.rc).
|
||||
|
||||
i4brunppp _must_ be put into /etc/isdn!
|
||||
|
||||
@ -16,4 +16,3 @@ When an active call is detected, isdnd fires off i4brunppp, which attaches
|
||||
the rbch device used to stdin/stdout and then runs ppp which is given the
|
||||
"-direct" command and the string "inc_rbchX" (where X is the i4brbch unit
|
||||
number) as arguments.
|
||||
|
||||
|
@ -35,8 +35,8 @@
|
||||
*
|
||||
* BEWARE: HIGHLY EXPERIMENTAL!
|
||||
* ---------------------------
|
||||
*
|
||||
* This program is used in conjunction with a isdnd.rc entry similar to
|
||||
*
|
||||
* This program is used in conjunction with an isdnd.rc entry similar to
|
||||
*
|
||||
* regexpr = "ULPPP.*call active" # look for matches in log messages
|
||||
* regprog = i4brunppp # execute program when match is found
|
||||
@ -62,7 +62,7 @@
|
||||
#include <machine/i4b_ioctl.h>
|
||||
#include <machine/i4b_rbch_ioctl.h>
|
||||
|
||||
#define I4BDEVICE "/dev/i4b"
|
||||
#define I4BDEVICE "/dev/i4b"
|
||||
|
||||
#define PPPPROG "/usr/sbin/ppp"
|
||||
#define PPPNAME "ppp"
|
||||
@ -85,21 +85,21 @@ main(int argc, char **argv)
|
||||
char *p = "DeadPointer";
|
||||
int found;
|
||||
int i;
|
||||
|
||||
|
||||
#ifdef PPPDEBUG
|
||||
FILE *dfp;
|
||||
time_t tim;
|
||||
register struct tm *tp;
|
||||
#endif
|
||||
|
||||
|
||||
/* open syslog */
|
||||
|
||||
|
||||
(void)openlog("i4brunppp", LOG_PID|LOG_CONS|LOG_NDELAY, LOG_USER);
|
||||
|
||||
#ifdef PPPDEBUG
|
||||
|
||||
/* open debug log */
|
||||
|
||||
|
||||
if((dfp = fopen("/tmp/i4brunppp-debug.log", "a")) == NULL)
|
||||
{
|
||||
syslog(LOG_INFO, "cannot open logfile: %s", strerror(errno));
|
||||
@ -116,9 +116,9 @@ main(int argc, char **argv)
|
||||
#endif
|
||||
|
||||
/* check if this is the right message */
|
||||
|
||||
|
||||
found = 0;
|
||||
|
||||
|
||||
for(i=0; i < argc; i++)
|
||||
{
|
||||
if((strstr(argv[i], VERIFYSTRING)) != NULL)
|
||||
@ -135,11 +135,11 @@ main(int argc, char **argv)
|
||||
#endif
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
found = 0;
|
||||
|
||||
/* check if we got a good device name */
|
||||
|
||||
|
||||
for(; i < argc; i++)
|
||||
{
|
||||
if((p = strstr(argv[i], DEVSTRING)) != NULL)
|
||||
@ -157,10 +157,10 @@ main(int argc, char **argv)
|
||||
exit(0);
|
||||
}
|
||||
|
||||
/* everything ok, now prepare for running ppp */
|
||||
/* everything ok, now prepare for running ppp */
|
||||
|
||||
/* close all file descriptors */
|
||||
|
||||
|
||||
i = getdtablesize();
|
||||
|
||||
for(;i >= 0; i--)
|
||||
@ -168,7 +168,7 @@ main(int argc, char **argv)
|
||||
close(i);
|
||||
|
||||
/* fiddle a terminating zero after the rbch unit number */
|
||||
|
||||
|
||||
p += strlen(DEVSTRING);
|
||||
|
||||
if(isdigit(*p) && isdigit(*(p+1)))
|
||||
@ -177,16 +177,16 @@ main(int argc, char **argv)
|
||||
*(p+1) = '\0';
|
||||
|
||||
/* construct /dev/i4brbchX device name */
|
||||
|
||||
|
||||
sprintf(buffer, "%s%s%s", I4BDEVICE, DEVSTRING, p);
|
||||
|
||||
/* open the rbch device as fd 0 = stdin */
|
||||
|
||||
|
||||
rbch_fd = open(buffer, O_RDWR);
|
||||
|
||||
if(rbch_fd != 0)
|
||||
{
|
||||
if(rbch_fd < 0)
|
||||
if(rbch_fd < 0)
|
||||
syslog(LOG_INFO, "cannot open %s: %s", buffer, strerror(errno));
|
||||
else
|
||||
syslog(LOG_INFO, "cannot open %s as fd 0 (is %d): %s", buffer, rbch_fd, strerror(errno));
|
||||
@ -194,10 +194,10 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* dup rbch device fd as fd 1 = stdout */
|
||||
|
||||
|
||||
if((i = dup(rbch_fd)) != 1)
|
||||
{
|
||||
if(i < 0)
|
||||
if(i < 0)
|
||||
syslog(LOG_INFO, "cannot dup rbch_fd: %s", strerror(errno));
|
||||
else
|
||||
syslog(LOG_INFO, "cannot dup rbch as fd 1 (is %d): %s", i, strerror(errno));
|
||||
@ -205,13 +205,13 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* construct the label for ppp's ppp.conf file */
|
||||
|
||||
|
||||
sprintf(buffer, "%s%s%s", PPPLABEL, DEVSTRING, p);
|
||||
|
||||
syslog(LOG_INFO, "executing: %s %s %s %s", PPPPROG, PPPNAME, PPPARG1, buffer);
|
||||
|
||||
/* execute ppp */
|
||||
|
||||
|
||||
if((execl(PPPPROG, PPPNAME, PPPARG1, buffer, NULL)) == -1)
|
||||
{
|
||||
syslog(LOG_INFO, "cannot exec: %s", strerror(errno));
|
||||
|
@ -108,7 +108,7 @@ PAPorCHAPpmdemand:
|
||||
#
|
||||
# With static IP numbers, our setup is similar to dynamic:
|
||||
# Remember, ppp.linkup is searched for a "192.244.176.44" label, then
|
||||
# a "ondemand" label, and finally the "MYADDR" label.
|
||||
# an "ondemand" label, and finally the "MYADDR" label.
|
||||
#
|
||||
ondemand:
|
||||
set phone 1234567
|
||||
@ -354,16 +354,16 @@ dodgynet:
|
||||
# If the remote host allowed IP forwarding and we wanted to use it, the
|
||||
# following rules could be split into two groups to separately validate
|
||||
# the source and destination addresses.
|
||||
set filter dial 7 permit 172.17.16.0/20 172.17.20.248
|
||||
set filter dial 8 permit 172.17.36.0/22 172.17.20.248
|
||||
set filter dial 9 permit 172.17.118.0/26 172.17.20.248
|
||||
set filter dial 10 permit 10.123.5.0/24 172.17.20.248
|
||||
set filter dial 7 permit 172.17.16.0/20 172.17.20.248
|
||||
set filter dial 8 permit 172.17.36.0/22 172.17.20.248
|
||||
set filter dial 9 permit 172.17.118.0/26 172.17.20.248
|
||||
set filter dial 10 permit 10.123.5.0/24 172.17.20.248
|
||||
|
||||
# Once the link's up, limit outgoing access to the specified hosts
|
||||
set filter out 0 4 172.17.16.0/20 172.17.20.248
|
||||
set filter out 1 4 172.17.36.0/22 172.17.20.248
|
||||
set filter out 2 4 172.17.118.0/26 172.17.20.248
|
||||
set filter out 3 deny ! 10.123.5.0/24 172.17.20.248
|
||||
set filter out 0 4 172.17.16.0/20 172.17.20.248
|
||||
set filter out 1 4 172.17.36.0/22 172.17.20.248
|
||||
set filter out 2 4 172.17.118.0/26 172.17.20.248
|
||||
set filter out 3 deny ! 10.123.5.0/24 172.17.20.248
|
||||
|
||||
# Allow established TCP connections
|
||||
set filter out 4 permit 0 0 tcp estab
|
||||
@ -481,7 +481,7 @@ direct-client:
|
||||
set ifaddr 10.0.4.2 10.0.4.1
|
||||
enable lqr
|
||||
accept lqr
|
||||
|
||||
|
||||
direct-server:
|
||||
set timeout 0
|
||||
set lqrperiod 10
|
||||
@ -567,7 +567,7 @@ inet-loop:
|
||||
set login
|
||||
set ifaddr 127.0.0.2 127.0.0.3
|
||||
set server /var/run/ppp/loop "" 0177
|
||||
|
||||
|
||||
inet-loop-in:
|
||||
set timeout 0
|
||||
set log phase lcp ipcp command
|
||||
@ -687,8 +687,8 @@ mloop:
|
||||
clone 1 2 3
|
||||
link deflink remove
|
||||
# dial
|
||||
# link 2 dial
|
||||
# link 3 dial
|
||||
# link 2 dial
|
||||
# link 3 dial
|
||||
|
||||
mloop-in:
|
||||
set timeout 0 # No idle timer
|
||||
@ -780,10 +780,10 @@ loop:
|
||||
set device "!ppp -direct loop-in"
|
||||
set dial
|
||||
set login
|
||||
set ifaddr 10.0.1.1/0 10.0.10.1-10.0.19.255
|
||||
set ifaddr 10.0.1.1/0 10.0.10.1-10.0.19.255
|
||||
disable deflate pred1 mppe
|
||||
deny deflate pred1 mppe
|
||||
|
||||
|
||||
loop-in:
|
||||
set timeout 0
|
||||
set log
|
||||
|
@ -117,7 +117,7 @@ the exact key meanings from the kernel (fx. used by the X server).
|
||||
.Pp
|
||||
The function keys can be programmed using the SETFKEY ioctl call.
|
||||
.Pp
|
||||
This ioctl takes a argument of the type fkeyarg_t:
|
||||
This ioctl takes an argument of the type fkeyarg_t:
|
||||
.Bd -literal -offset indent
|
||||
struct fkeyarg {
|
||||
u_short keynum;
|
||||
|
@ -34,7 +34,7 @@ which ultimately reduces the chances of livelock in the system.
|
||||
In the normal, interrupt-based mode, devices generate an interrupt
|
||||
whenever they need attention.
|
||||
This in turn causes a
|
||||
context switch and the execution of a interrupt handler
|
||||
context switch and the execution of an interrupt handler
|
||||
which performs whatever processing is needed by the device.
|
||||
The duration of the interrupt handler is potentially unbounded
|
||||
unless the device driver has been programmed with real-time
|
||||
|
@ -1164,7 +1164,7 @@ _pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m)
|
||||
if ((pmap->pm_pdir[PTDPTDI] & PG_FRAME) ==
|
||||
(PTDpde & PG_FRAME)) {
|
||||
/*
|
||||
* Do a invltlb to make the invalidated mapping
|
||||
* Do an invltlb to make the invalidated mapping
|
||||
* take effect immediately.
|
||||
*/
|
||||
pteva = VM_MAXUSER_ADDRESS + i386_ptob(m->pindex);
|
||||
|
@ -82,8 +82,8 @@
|
||||
#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
|
||||
#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */
|
||||
|
||||
#define OFF_MAX LONG_MAX /* max value for a off_t */
|
||||
#define OFF_MIN LONG_MIN /* min value for a off_t */
|
||||
#define OFF_MAX LONG_MAX /* max value for an off_t */
|
||||
#define OFF_MIN LONG_MIN /* min value for an off_t */
|
||||
|
||||
/* Quads and longs are the same on the alpha. Ensure they stay in sync. */
|
||||
#define UQUAD_MAX (ULONG_MAX) /* max value for a uquad_t */
|
||||
|
@ -82,8 +82,8 @@
|
||||
#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
|
||||
#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */
|
||||
|
||||
#define OFF_MAX LONG_MAX /* max value for a off_t */
|
||||
#define OFF_MIN LONG_MIN /* min value for a off_t */
|
||||
#define OFF_MAX LONG_MAX /* max value for an off_t */
|
||||
#define OFF_MIN LONG_MIN /* min value for an off_t */
|
||||
|
||||
/* Quads and longs are the same on the alpha. Ensure they stay in sync. */
|
||||
#define UQUAD_MAX (ULONG_MAX) /* max value for a uquad_t */
|
||||
|
@ -415,7 +415,7 @@ device musycc # LMC/SBE LMC1504 quad T1/E1
|
||||
# Network interfaces:
|
||||
# The `loop' device is MANDATORY when networking is enabled.
|
||||
# The `ether' device provides generic code to handle
|
||||
# Ethernets; it is MANDATORY when a Ethernet device driver is
|
||||
# Ethernets; it is MANDATORY when an Ethernet device driver is
|
||||
# configured or token-ring is enabled.
|
||||
# The `fddi' device provides generic code to support FDDI.
|
||||
# The `arcnet' device provides generic code to support Arcnet.
|
||||
@ -1978,7 +1978,7 @@ device iicsmb # smb over i2c bridge
|
||||
options PPC_PROBE_CHIPSET # Enable chipset specific detection
|
||||
# (see flags in ppc(4))
|
||||
options DEBUG_1284 # IEEE1284 signaling protocol debug
|
||||
options PERIPH_1284 # Makes your computer act as a IEEE1284
|
||||
options PERIPH_1284 # Makes your computer act as an IEEE1284
|
||||
# compliant peripheral
|
||||
options DONTPROBE_1284 # Avoid boot detection of PnP parallel devices
|
||||
options VP0_DEBUG # ZIP/ZIP+ debug
|
||||
|
@ -846,7 +846,7 @@ acpi_pci_link_set_bootdisabled_priority(void)
|
||||
TAILQ_INIT(&sorted_list);
|
||||
while (!TAILQ_EMPTY(&acpi_pci_link_entries)) {
|
||||
link = TAILQ_FIRST(&acpi_pci_link_entries);
|
||||
/* find a entry which have the highest priority. */
|
||||
/* find an entry which has the highest priority. */
|
||||
TAILQ_FOREACH(link_pri, &acpi_pci_link_entries, links) {
|
||||
if (link->priority < link_pri->priority) {
|
||||
link = link_pri;
|
||||
|
@ -306,7 +306,7 @@ aha_probe(struct aha_softc* aha)
|
||||
|
||||
/*
|
||||
* Get the board ID. We use this to see if we're dealing with
|
||||
* a buslogic card or a aha card (or clone).
|
||||
* a buslogic card or an aha card (or clone).
|
||||
*/
|
||||
error = aha_cmd(aha, AOP_INQUIRE_BOARD_ID, NULL, /*parmlen*/0,
|
||||
(u_int8_t*)&board_id, sizeof(board_id),
|
||||
@ -806,7 +806,7 @@ ahaaction(struct cam_sim *sim, union ccb *ccb)
|
||||
struct aha_hccb *hccb;
|
||||
|
||||
/*
|
||||
* get a accb to use.
|
||||
* Get an accb to use.
|
||||
*/
|
||||
if ((accb = ahagetccb(aha)) == NULL) {
|
||||
int s;
|
||||
|
@ -31,7 +31,7 @@
|
||||
#define _IF_ARREGS_H_
|
||||
|
||||
#define NCHAN 2 /* A HD64570 chip have 2 channels */
|
||||
#define NPORT 4 /* A ArNet board can have 4 ports or */
|
||||
#define NPORT 4 /* An ArNet board can have 4 ports or */
|
||||
/* channels */
|
||||
|
||||
#define AR_BUF_SIZ 512
|
||||
|
@ -988,7 +988,7 @@ ASR_queue_s (
|
||||
} /* ASR_queue_s */
|
||||
|
||||
/*
|
||||
* Send a message synchronously to a Asr_softc_t
|
||||
* Send a message synchronously to an Asr_softc_t.
|
||||
*/
|
||||
STATIC int
|
||||
ASR_queue_c (
|
||||
|
@ -325,7 +325,7 @@ uSHORT osdDestroySemaphore(SEMAPHORE_T);
|
||||
uLONG osdRequestSemaphore(SEMAPHORE_T,uLONG);
|
||||
/* Release access to the specified mutually exclusive semaphore */
|
||||
uSHORT osdReleaseSemaphore(SEMAPHORE_T);
|
||||
/* wait for a event to happen */
|
||||
/* wait for an event to happen */
|
||||
uLONG osdWaitForEventSemaphore(SEMAPHORE_T, uLONG);
|
||||
/* signal an event */
|
||||
uLONG osdSignalEventSemaphore(SEMAPHORE_T);
|
||||
|
@ -3417,7 +3417,7 @@ tulip_rx_intr(
|
||||
* those buffers and chain to the starting mbuf. All buffers but
|
||||
* the last buffer have the same length so we can set that now.
|
||||
* (we add to last_offset instead of multiplying since we normally
|
||||
* won't go into the loop and thereby saving a ourselves from
|
||||
* won't go into the loop and thereby saving ourselves from
|
||||
* doing a multiplication by 0 in the normal case).
|
||||
*/
|
||||
_IF_DEQUEUE(&sc->tulip_rxq, ms);
|
||||
@ -3918,7 +3918,7 @@ tulip_intr_handler(
|
||||
|
||||
#if defined(TULIP_USE_SOFTINTR)
|
||||
/*
|
||||
* This is a experimental idea to alleviate problems due to interrupt
|
||||
* This is an experimental idea to alleviate problems due to interrupt
|
||||
* livelock. What is interrupt livelock? It's when you spend all your
|
||||
* time servicing device interrupts and never drop below device ipl
|
||||
* to do "useful" work.
|
||||
|
@ -936,7 +936,7 @@ ed_probe_Novell_generic(dev, flags)
|
||||
/*
|
||||
* I don't know if this is necessary; probably cruft leftover from
|
||||
* Clarkson packet driver code. Doesn't do a thing on the boards I've
|
||||
* tested. -DG [note that a outb(0x84, 0) seems to work here, and is
|
||||
* tested. -DG [note that an outb(0x84, 0) seems to work here, and is
|
||||
* non-invasive...but some boards don't seem to reset and I don't have
|
||||
* complete documentation on what the 'right' thing to do is...so we
|
||||
* do the invasive thing for now. Yuck.]
|
||||
|
@ -754,7 +754,7 @@ ed98_probe_Novell(dev, port_rid, flags)
|
||||
/*
|
||||
* I don't know if this is necessary; probably cruft leftover from
|
||||
* Clarkson packet driver code. Doesn't do a thing on the boards I've
|
||||
* tested. -DG [note that a outb(0x84, 0) seems to work here, and is
|
||||
* tested. -DG [note that an outb(0x84, 0) seems to work here, and is
|
||||
* non-invasive...but some boards don't seem to reset and I don't have
|
||||
* complete documentation on what the 'right' thing to do is...so we
|
||||
* do the invasive thing for now. Yuck.]
|
||||
|
@ -280,7 +280,7 @@ void em_write_reg_io(struct em_hw *hw, uint32_t offset, uint32_t value);
|
||||
#define HALF_DUPLEX 1
|
||||
#define FULL_DUPLEX 2
|
||||
|
||||
/* The sizes (in bytes) of a ethernet packet */
|
||||
/* The sizes (in bytes) of an ethernet packet */
|
||||
#define ENET_HEADER_SIZE 14
|
||||
#define MAXIMUM_ETHERNET_FRAME_SIZE 1518 /* With FCS */
|
||||
#define MINIMUM_ETHERNET_FRAME_SIZE 64 /* With FCS */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user