Remove more single-space hard sentence breaks.
This commit is contained in:
parent
b22b0eaef0
commit
4e86fcacf6
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=57695
@ -678,7 +678,8 @@ the same until the job terminates and then are re-used.
|
|||||||
.PP
|
.PP
|
||||||
When a job is started in the backgound using `&', its number, as well
|
When a job is started in the backgound using `&', its number, as well
|
||||||
as the process numbers of all its (top level) commands, is typed by the shell
|
as the process numbers of all its (top level) commands, is typed by the shell
|
||||||
before prompting you for another command. For example,
|
before prompting you for another command.
|
||||||
|
For example,
|
||||||
.DS
|
.DS
|
||||||
% ls \-s | sort \-n > usage &
|
% ls \-s | sort \-n > usage &
|
||||||
[2] 2034 2035
|
[2] 2034 2035
|
||||||
|
@ -224,7 +224,8 @@ is quite special and is replaced by the next line of input read from
|
|||||||
the shell's standard input (not the script it is reading). This is
|
the shell's standard input (not the script it is reading). This is
|
||||||
useful for writing shell scripts that are interactive, reading
|
useful for writing shell scripts that are interactive, reading
|
||||||
commands from the terminal, or even writing a shell script that
|
commands from the terminal, or even writing a shell script that
|
||||||
acts as a filter, reading lines from its input file. Thus the sequence
|
acts as a filter, reading lines from its input file.
|
||||||
|
Thus the sequence
|
||||||
.DS
|
.DS
|
||||||
echo 'yes or no?\ec'
|
echo 'yes or no?\ec'
|
||||||
set a=($<)
|
set a=($<)
|
||||||
|
@ -146,7 +146,8 @@ If the
|
|||||||
option is specified, print the file size allocation in kilobytes,
|
option is specified, print the file size allocation in kilobytes,
|
||||||
not blocks. This option overrides the environment variable BLOCKSIZE.
|
not blocks. This option overrides the environment variable BLOCKSIZE.
|
||||||
.It Fl l
|
.It Fl l
|
||||||
(The lowercase letter ``ell.'') List in long format. (See below.)
|
(The lowercase letter ``ell.'') List in long format.
|
||||||
|
(See below.)
|
||||||
If the output is to a terminal, a total sum for all the file
|
If the output is to a terminal, a total sum for all the file
|
||||||
sizes is output on a line before the long listing.
|
sizes is output on a line before the long listing.
|
||||||
.It Fl n
|
.It Fl n
|
||||||
@ -327,7 +328,8 @@ The file is executable or the directory is
|
|||||||
searchable.
|
searchable.
|
||||||
.It Sy \-
|
.It Sy \-
|
||||||
The file is neither readable, writable, executable,
|
The file is neither readable, writable, executable,
|
||||||
nor set-user-ID nor set-group-ID mode, nor sticky. (See below.)
|
nor set-user-ID nor set-group-ID mode, nor sticky.
|
||||||
|
(See below.)
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
These next two apply only to the third character in the last group
|
These next two apply only to the third character in the last group
|
||||||
@ -337,7 +339,8 @@ These next two apply only to the third character in the last group
|
|||||||
The sticky bit is set
|
The sticky bit is set
|
||||||
(mode
|
(mode
|
||||||
.Li 1000 ) ,
|
.Li 1000 ) ,
|
||||||
but not execute or search permission. (See
|
but not execute or search permission.
|
||||||
|
(See
|
||||||
.Xr chmod 1
|
.Xr chmod 1
|
||||||
or
|
or
|
||||||
.Xr sticky 8 . )
|
.Xr sticky 8 . )
|
||||||
|
@ -480,7 +480,8 @@ cannot be opened for reading and writing.
|
|||||||
.It Fl k
|
.It Fl k
|
||||||
Do not overwrite existing files.
|
Do not overwrite existing files.
|
||||||
.It Fl l
|
.It Fl l
|
||||||
Link files. (The letter ell).
|
Link files.
|
||||||
|
(The letter ell).
|
||||||
In the
|
In the
|
||||||
.Em copy
|
.Em copy
|
||||||
mode (
|
mode (
|
||||||
|
@ -89,7 +89,8 @@ number seconds later:
|
|||||||
.Dl (sleep 1800; sh command_file >& errors)&
|
.Dl (sleep 1800; sh command_file >& errors)&
|
||||||
.Pp
|
.Pp
|
||||||
This incantation would wait a half hour before
|
This incantation would wait a half hour before
|
||||||
running the script command_file. (See the
|
running the script command_file.
|
||||||
|
(See the
|
||||||
.Xr at 1
|
.Xr at 1
|
||||||
utility.)
|
utility.)
|
||||||
.Pp
|
.Pp
|
||||||
|
@ -56,7 +56,8 @@ particular formula employed is
|
|||||||
r(n+1) = (a * r(n) + c) mod m
|
r(n+1) = (a * r(n) + c) mod m
|
||||||
where the default values are
|
where the default values are
|
||||||
for the multiplicand a = 0xfdeece66d = 25214903917 and
|
for the multiplicand a = 0xfdeece66d = 25214903917 and
|
||||||
the addend c = 0xb = 11. The modulo is always fixed at m = 2 ** 48.
|
the addend c = 0xb = 11.
|
||||||
|
The modulo is always fixed at m = 2 ** 48.
|
||||||
r(n) is called the seed of the random number generator.
|
r(n) is called the seed of the random number generator.
|
||||||
.Pp
|
.Pp
|
||||||
For all the six generator routines described next, the first
|
For all the six generator routines described next, the first
|
||||||
|
@ -63,7 +63,8 @@ writes
|
|||||||
.Fa message
|
.Fa message
|
||||||
to the system message logger.
|
to the system message logger.
|
||||||
The message is then written to the system console, log files,
|
The message is then written to the system console, log files,
|
||||||
logged-in users, or forwarded to other machines as appropriate. (See
|
logged-in users, or forwarded to other machines as appropriate.
|
||||||
|
(See
|
||||||
.Xr syslogd 8 . )
|
.Xr syslogd 8 . )
|
||||||
.Pp
|
.Pp
|
||||||
The message is identical to a
|
The message is identical to a
|
||||||
@ -71,7 +72,8 @@ The message is identical to a
|
|||||||
format string, except that
|
format string, except that
|
||||||
.Ql %m
|
.Ql %m
|
||||||
is replaced by the current error
|
is replaced by the current error
|
||||||
message. (As denoted by the global variable
|
message.
|
||||||
|
(As denoted by the global variable
|
||||||
.Va errno ;
|
.Va errno ;
|
||||||
see
|
see
|
||||||
.Xr strerror 3 . )
|
.Xr strerror 3 . )
|
||||||
|
@ -544,7 +544,8 @@ No argument is converted.
|
|||||||
.It Cm %
|
.It Cm %
|
||||||
A
|
A
|
||||||
.Ql %
|
.Ql %
|
||||||
is written. No argument is converted.
|
is written.
|
||||||
|
No argument is converted.
|
||||||
The complete conversion specification
|
The complete conversion specification
|
||||||
is
|
is
|
||||||
.Ql %% .
|
.Ql %% .
|
||||||
|
@ -183,7 +183,8 @@ not a directory, when a directory was expected.
|
|||||||
.It Er 21 EISDIR Em "Is a directory" .
|
.It Er 21 EISDIR Em "Is a directory" .
|
||||||
An attempt was made to open a directory with write mode specified.
|
An attempt was made to open a directory with write mode specified.
|
||||||
.It Er 22 EINVAL Em "Invalid argument" .
|
.It Er 22 EINVAL Em "Invalid argument" .
|
||||||
Some invalid argument was supplied. (For example,
|
Some invalid argument was supplied.
|
||||||
|
(For example,
|
||||||
specifying an undefined signal to a
|
specifying an undefined signal to a
|
||||||
.Xr signal 3
|
.Xr signal 3
|
||||||
or
|
or
|
||||||
@ -671,7 +672,8 @@ information applicable to the caller.
|
|||||||
Read, write, and execute/search permissions on
|
Read, write, and execute/search permissions on
|
||||||
a file are granted to a process if:
|
a file are granted to a process if:
|
||||||
.Pp
|
.Pp
|
||||||
The process's effective user ID is that of the super-user. (Note:
|
The process's effective user ID is that of the super-user.
|
||||||
|
(Note:
|
||||||
even the super-user cannot execute a non-executable file.)
|
even the super-user cannot execute a non-executable file.)
|
||||||
.Pp
|
.Pp
|
||||||
The process's effective user ID matches the user ID of the owner
|
The process's effective user ID matches the user ID of the owner
|
||||||
|
@ -142,7 +142,8 @@ dedicated. It is \fIthe\fR double\-precision format for the PDP\-11
|
|||||||
and the earlier VAX\-11 machines; VAX\-11s after 1983 were
|
and the earlier VAX\-11 machines; VAX\-11s after 1983 were
|
||||||
provided with an optional "G" format closer to the IEEE
|
provided with an optional "G" format closer to the IEEE
|
||||||
double\-precision format. The earlier DEC MicroVAXs have no
|
double\-precision format. The earlier DEC MicroVAXs have no
|
||||||
D format, only G double\-precision. (Why? Why not?)
|
D format, only G double\-precision.
|
||||||
|
(Why? Why not?)
|
||||||
.PP
|
.PP
|
||||||
Properties of D_floating\-point:
|
Properties of D_floating\-point:
|
||||||
.RS
|
.RS
|
||||||
|
@ -144,7 +144,8 @@ dedicated. It is \fIthe\fR double\-precision format for the PDP\-11
|
|||||||
and the earlier VAX\-11 machines; VAX\-11s after 1983 were
|
and the earlier VAX\-11 machines; VAX\-11s after 1983 were
|
||||||
provided with an optional "G" format closer to the IEEE
|
provided with an optional "G" format closer to the IEEE
|
||||||
double\-precision format. The earlier DEC MicroVAXs have no
|
double\-precision format. The earlier DEC MicroVAXs have no
|
||||||
D format, only G double\-precision. (Why? Why not?)
|
D format, only G double\-precision.
|
||||||
|
(Why? Why not?)
|
||||||
.PP
|
.PP
|
||||||
Properties of D_floating\-point:
|
Properties of D_floating\-point:
|
||||||
.RS
|
.RS
|
||||||
|
@ -116,7 +116,8 @@ This flag is obsolete, and only retained for compatibility reasons.
|
|||||||
Reserved port numbers are used by default now.
|
Reserved port numbers are used by default now.
|
||||||
This is useful for mounting servers that require clients to use a
|
This is useful for mounting servers that require clients to use a
|
||||||
reserved port number on the mistaken belief that this makes NFS
|
reserved port number on the mistaken belief that this makes NFS
|
||||||
more secure. (For the rare case where the client has a trusted root account
|
more secure.
|
||||||
|
(For the rare case where the client has a trusted root account
|
||||||
but untrustworthy users and the network cables are in secure areas this does
|
but untrustworthy users and the network cables are in secure areas this does
|
||||||
help, but for normal desktop clients this does not apply.)
|
help, but for normal desktop clients this does not apply.)
|
||||||
.It Fl R
|
.It Fl R
|
||||||
|
@ -128,7 +128,8 @@ lookups will be done exclusively through
|
|||||||
with
|
with
|
||||||
.Fn innetgr 3
|
.Fn innetgr 3
|
||||||
taking advantage of the netgroup.byuser and
|
taking advantage of the netgroup.byuser and
|
||||||
netgroup.byhost maps to speed up searches. (This
|
netgroup.byhost maps to speed up searches.
|
||||||
|
(This
|
||||||
is more or less compatible with the behavior of SunOS and
|
is more or less compatible with the behavior of SunOS and
|
||||||
similar platforms.)
|
similar platforms.)
|
||||||
.It
|
.It
|
||||||
|
@ -52,7 +52,8 @@ packets to network hosts
|
|||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Bl -tag -width Ds
|
.Bl -tag -width Ds
|
||||||
.It Fl A
|
.It Fl A
|
||||||
Enables transport-mode IPsec authentication header. (experimental)
|
Enables transport-mode IPsec authentication header.
|
||||||
|
(experimental)
|
||||||
.It Fl a Ar addrtype
|
.It Fl a Ar addrtype
|
||||||
Generate ICMPv6 Node Information Node Addresses query, rather than echo-request.
|
Generate ICMPv6 Node Information Node Addresses query, rather than echo-request.
|
||||||
.Ar addrtype
|
.Ar addrtype
|
||||||
@ -92,7 +93,8 @@ Set the
|
|||||||
.Dv SO_DEBUG
|
.Dv SO_DEBUG
|
||||||
option on the socket being used.
|
option on the socket being used.
|
||||||
.It Fl E
|
.It Fl E
|
||||||
Enables transport-mode IPsec encapsulated security payload. (experimental)
|
Enables transport-mode IPsec encapsulated security payload.
|
||||||
|
(experimental)
|
||||||
.It Fl f
|
.It Fl f
|
||||||
Flood ping.
|
Flood ping.
|
||||||
Outputs packets as fast as they come back or one hundred times per second,
|
Outputs packets as fast as they come back or one hundred times per second,
|
||||||
|
@ -131,7 +131,8 @@ flag.
|
|||||||
.\" .It Xr libresolv Pq Fl l Ns Ar resolv
|
.\" .It Xr libresolv Pq Fl l Ns Ar resolv
|
||||||
.\" Routines for network address resolution.
|
.\" Routines for network address resolution.
|
||||||
.It Xr libtermcap Pq Fl l Ns Ar termcap
|
.It Xr libtermcap Pq Fl l Ns Ar termcap
|
||||||
The terminal independent operation library package. (See
|
The terminal independent operation library package.
|
||||||
|
(See
|
||||||
.Xr termcap 3 . )
|
.Xr termcap 3 . )
|
||||||
.\" .It libvt0.a
|
.\" .It libvt0.a
|
||||||
.It Xr liby Pq Fl l Ns Ar y
|
.It Xr liby Pq Fl l Ns Ar y
|
||||||
|
@ -62,8 +62,10 @@ kernel pccard driver support and the
|
|||||||
daemon.
|
daemon.
|
||||||
ISA cards can either be configured to use ISA Plug and Play
|
ISA cards can either be configured to use ISA Plug and Play
|
||||||
or to use a particular I/O address and IRQ
|
or to use a particular I/O address and IRQ
|
||||||
by properly setting the DIP switches on the board. (The default
|
by properly setting the DIP switches on the board.
|
||||||
switch setting is for plug and play.) The
|
(The default
|
||||||
|
switch setting is for plug and play.)
|
||||||
|
The
|
||||||
.Nm
|
.Nm
|
||||||
driver has Plug and Play support and will work in either configuration,
|
driver has Plug and Play support and will work in either configuration,
|
||||||
however when using a hard-wired I/O address and IRQ, the driver
|
however when using a hard-wired I/O address and IRQ, the driver
|
||||||
@ -86,7 +88,8 @@ selectable between 1Mbps, 2Mbps, 5.5Mbps, 11Mbps or
|
|||||||
By default, the
|
By default, the
|
||||||
.Nm
|
.Nm
|
||||||
driver configures the Aironet card for ad-hoc operation with an SSID
|
driver configures the Aironet card for ad-hoc operation with an SSID
|
||||||
of "ANY." In this mode,
|
of "ANY."
|
||||||
|
In this mode,
|
||||||
stations can communicate among each other without the aid of an access
|
stations can communicate among each other without the aid of an access
|
||||||
point.
|
point.
|
||||||
To join a service set, the driver must be set for BSS mode using
|
To join a service set, the driver must be set for BSS mode using
|
||||||
|
@ -100,7 +100,8 @@ effect is achieved, which can increase sequential read/write
|
|||||||
performance. The interleave factor is expressed in units of DEV_BSIZE
|
performance. The interleave factor is expressed in units of DEV_BSIZE
|
||||||
(usually 512 bytes). For large writes, the optimum interleave factor
|
(usually 512 bytes). For large writes, the optimum interleave factor
|
||||||
is typically the size of a track, while for large reads, it is about a
|
is typically the size of a track, while for large reads, it is about a
|
||||||
quarter of a track. (Note that this changes greatly depending on the
|
quarter of a track.
|
||||||
|
(Note that this changes greatly depending on the
|
||||||
number and speed of disks.) For instance, with eight 7,200 RPM drives
|
number and speed of disks.) For instance, with eight 7,200 RPM drives
|
||||||
on two Fast-Wide SCSI buses, this translates to about 128 for writes
|
on two Fast-Wide SCSI buses, this translates to about 128 for writes
|
||||||
and 32 for reads. A larger interleave tends to work better when the
|
and 32 for reads. A larger interleave tends to work better when the
|
||||||
|
@ -70,7 +70,8 @@ In configuring, if an optional
|
|||||||
.Ar count
|
.Ar count
|
||||||
is given in the specification, that number of SCSI media changers
|
is given in the specification, that number of SCSI media changers
|
||||||
are configured; Most storage for them is allocated only when found
|
are configured; Most storage for them is allocated only when found
|
||||||
so a large number of configured devices is cheap. (once the first
|
so a large number of configured devices is cheap.
|
||||||
|
(once the first
|
||||||
has included the driver).
|
has included the driver).
|
||||||
|
|
||||||
.Pp
|
.Pp
|
||||||
|
@ -67,24 +67,31 @@ are a bit field, and are summarized as follows:
|
|||||||
.Pp
|
.Pp
|
||||||
.Bl -hang -offset indent
|
.Bl -hang -offset indent
|
||||||
.It Em 0x01
|
.It Em 0x01
|
||||||
Disable tranceiver. On those cards which support it, this flag causes the tranceiver to
|
Disable tranceiver.
|
||||||
|
On those cards which support it, this flag causes the tranceiver to
|
||||||
be disabled and the AUI connection to be used by default.
|
be disabled and the AUI connection to be used by default.
|
||||||
.It Em 0x02
|
.It Em 0x02
|
||||||
Force 8bit mode. This flag forces the card to 8bit mode regardless of how the
|
Force 8bit mode.
|
||||||
card identifies itself. This may be needed for some clones which incorrectly
|
This flag forces the card to 8bit mode regardless of how the
|
||||||
|
card identifies itself.
|
||||||
|
This may be needed for some clones which incorrectly
|
||||||
identify themselves as 16bit, even though they only have an 8bit interface.
|
identify themselves as 16bit, even though they only have an 8bit interface.
|
||||||
.It Em 0x04
|
.It Em 0x04
|
||||||
Force 16bit mode. This flag forces the card to 16bit mode regardless of how the
|
Force 16bit mode.
|
||||||
card identifies itself. This may be needed for some clones which incorrectly
|
This flag forces the card to 16bit mode regardless of how the
|
||||||
|
card identifies itself.
|
||||||
|
This may be needed for some clones which incorrectly
|
||||||
identify themselves as 8bit, even though they have a 16bit ISA interface.
|
identify themselves as 8bit, even though they have a 16bit ISA interface.
|
||||||
.It Em 0x08
|
.It Em 0x08
|
||||||
Disable transmitter multi-buffering. This flag disables the use of multiple
|
Disable transmitter multi-buffering.
|
||||||
|
This flag disables the use of multiple
|
||||||
transmit buffers and may be necessary in rare cases where packets are sent out
|
transmit buffers and may be necessary in rare cases where packets are sent out
|
||||||
faster than a machine on the other end can handle (as evidenced by severe packet
|
faster than a machine on the other end can handle (as evidenced by severe packet
|
||||||
lossage). Some
|
lossage). Some
|
||||||
.Pf ( No non- Ns Tn FreeBSD
|
.Pf ( No non- Ns Tn FreeBSD
|
||||||
:-)) machines have terrible ethernet performance
|
:-)) machines have terrible ethernet performance
|
||||||
and simply can't cope with 1100K+ data rates. Use of this flag also provides
|
and simply can't cope with 1100K+ data rates.
|
||||||
|
Use of this flag also provides
|
||||||
one more packet worth of receiver buffering, and on 8bit cards, this may help
|
one more packet worth of receiver buffering, and on 8bit cards, this may help
|
||||||
reduce receiver lossage.
|
reduce receiver lossage.
|
||||||
.El
|
.El
|
||||||
@ -102,61 +109,75 @@ into the kernel) differs from the irq that has been set on the interface card.
|
|||||||
.It "ed%d: failed to clear shared memory at %x - check configuration."
|
.It "ed%d: failed to clear shared memory at %x - check configuration."
|
||||||
When the card was probed at system boot time, the
|
When the card was probed at system boot time, the
|
||||||
.Nm ed
|
.Nm ed
|
||||||
driver found that it could not clear the card's shared memory. This is most commonly
|
driver found that it could not clear the card's shared memory.
|
||||||
|
This is most commonly
|
||||||
caused by a BIOS extension ROM being configured in the same address space as the
|
caused by a BIOS extension ROM being configured in the same address space as the
|
||||||
ethernet card's shared memory. Either find the offending card and change its BIOS
|
ethernet card's shared memory.
|
||||||
|
Either find the offending card and change its BIOS
|
||||||
ROM to be at an address that doesn't conflict, or change the
|
ROM to be at an address that doesn't conflict, or change the
|
||||||
.Em iomem
|
.Em iomem
|
||||||
option in the kernel config file so that the card's shared memory is mapped at a
|
option in the kernel config file so that the card's shared memory is mapped at a
|
||||||
non-conflicting address.
|
non-conflicting address.
|
||||||
.It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503."
|
.It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503."
|
||||||
The irq number that was specified in the kernel config file is not valid for
|
The irq number that was specified in the kernel config file is not valid for
|
||||||
the 3Com 3c503 card. The 3c503 can only be assigned to irqs 2 through 5.
|
the 3Com 3c503 card.
|
||||||
|
The 3c503 can only be assigned to irqs 2 through 5.
|
||||||
.It "ed%d: Cannot find start of RAM."
|
.It "ed%d: Cannot find start of RAM."
|
||||||
.It "ed%d: Cannot find any RAM, start : %d, x = %d."
|
.It "ed%d: Cannot find any RAM, start : %d, x = %d."
|
||||||
The probe of a Gateway card was unsuccessful in configuring the card's packet memory.
|
The probe of a Gateway card was unsuccessful in configuring the card's packet memory.
|
||||||
This likely indicates that the card was improperly recognized as a Gateway or that
|
This likely indicates that the card was improperly recognized as a Gateway or that
|
||||||
the card is defective.
|
the card is defective.
|
||||||
.It "ed: packets buffered, but transmitter idle."
|
.It "ed: packets buffered, but transmitter idle."
|
||||||
Indicates a logic problem in the driver. Should never happen.
|
Indicates a logic problem in the driver.
|
||||||
|
Should never happen.
|
||||||
.It "ed%d: device timeout"
|
.It "ed%d: device timeout"
|
||||||
Indicates that an expected transmitter interrupt didn't occur. Usually caused by an
|
Indicates that an expected transmitter interrupt didn't occur.
|
||||||
|
Usually caused by an
|
||||||
interrupt conflict with another card on the ISA bus.
|
interrupt conflict with another card on the ISA bus.
|
||||||
.It "ed%d: NIC memory corrupt - invalid packet length %d."
|
.It "ed%d: NIC memory corrupt - invalid packet length %d."
|
||||||
Indicates that a packet was received with a packet length that was either larger than
|
Indicates that a packet was received with a packet length that was either larger than
|
||||||
the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard. Usually
|
the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard.
|
||||||
|
Usually
|
||||||
caused by a conflict with another card on the ISA bus, but in some cases may also
|
caused by a conflict with another card on the ISA bus, but in some cases may also
|
||||||
indicate faulty cabling.
|
indicate faulty cabling.
|
||||||
.It "ed%d: remote transmit DMA failed to complete."
|
.It "ed%d: remote transmit DMA failed to complete."
|
||||||
This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card
|
This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card
|
||||||
has failed to properly complete. Usually caused by the ISA bus speed being set
|
has failed to properly complete.
|
||||||
|
Usually caused by the ISA bus speed being set
|
||||||
too fast.
|
too fast.
|
||||||
.El
|
.El
|
||||||
.Sh CAVEATS
|
.Sh CAVEATS
|
||||||
Early revision DS8390 chips have problems. They lock up whenever the receive
|
Early revision DS8390 chips have problems.
|
||||||
ring-buffer overflows. They occasionally switch the byte order
|
They lock up whenever the receive
|
||||||
|
ring-buffer overflows.
|
||||||
|
They occasionally switch the byte order
|
||||||
of the length field in the packet ring header (several different causes
|
of the length field in the packet ring header (several different causes
|
||||||
of this related to an off-by-one byte alignment) - resulting in "NIC
|
of this related to an off-by-one byte alignment) - resulting in "NIC
|
||||||
memory corrupt - invalid packet length" messages. The card is reset
|
memory corrupt - invalid packet length" messages.
|
||||||
|
The card is reset
|
||||||
whenever these problems occur, but otherwise there is no problem with
|
whenever these problems occur, but otherwise there is no problem with
|
||||||
recovering from these conditions.
|
recovering from these conditions.
|
||||||
.Pp
|
.Pp
|
||||||
The NIC memory access to 3Com and Novell cards is much slower than it is on
|
The NIC memory access to 3Com and Novell cards is much slower than it is on
|
||||||
WD/SMC cards; it's less than 1MB/second on 8bit boards and less than 2MB/second
|
WD/SMC cards; it's less than 1MB/second on 8bit boards and less than 2MB/second
|
||||||
on the 16bit cards. This can lead to ring-buffer overruns resulting in
|
on the 16bit cards.
|
||||||
|
This can lead to ring-buffer overruns resulting in
|
||||||
dropped packets during heavy network traffic.
|
dropped packets during heavy network traffic.
|
||||||
.Pp
|
.Pp
|
||||||
16bit Compex cards identify themselves as being 8bit. While these cards will
|
16bit Compex cards identify themselves as being 8bit.
|
||||||
|
While these cards will
|
||||||
work in 8bit mode, much higher performance can be achieved by specifying
|
work in 8bit mode, much higher performance can be achieved by specifying
|
||||||
.Em "flags 0x04"
|
.Em "flags 0x04"
|
||||||
(force 16bit mode) in your kernel config file. In addition, you should also specify
|
(force 16bit mode) in your kernel config file.
|
||||||
|
In addition, you should also specify
|
||||||
.Em "iosize 16384"
|
.Em "iosize 16384"
|
||||||
to take advantage of the extra 8k of shared memory that 16bit mode provides.
|
to take advantage of the extra 8k of shared memory that 16bit mode provides.
|
||||||
.Sh BUGS
|
.Sh BUGS
|
||||||
The
|
The
|
||||||
.Nm ed
|
.Nm ed
|
||||||
driver is a bit too aggressive about resetting the card whenever any bad
|
driver is a bit too aggressive about resetting the card whenever any bad
|
||||||
packets are received. As a result, it may throw out some good packets which
|
packets are received.
|
||||||
|
As a result, it may throw out some good packets which
|
||||||
have been received but not yet transfered from the card to main memory.
|
have been received but not yet transfered from the card to main memory.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr arp 4 ,
|
.Xr arp 4 ,
|
||||||
|
@ -48,7 +48,8 @@ To enable the link use the following commands:
|
|||||||
.It "en0: 7 32KB receive buffers, 8 32KB transmit buffers allocated"
|
.It "en0: 7 32KB receive buffers, 8 32KB transmit buffers allocated"
|
||||||
.El
|
.El
|
||||||
.Sh CAVEATS
|
.Sh CAVEATS
|
||||||
The driver extensively uses DMA on PCI. The first
|
The driver extensively uses DMA on PCI.
|
||||||
|
The first
|
||||||
generation PCI chipsets do not work or exhibit poor performance.
|
generation PCI chipsets do not work or exhibit poor performance.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr ifconfig 8 ,
|
.Xr ifconfig 8 ,
|
||||||
|
@ -44,7 +44,8 @@ This driver provides access to
|
|||||||
.Tn Intel PIIX4 PCI Controller function 3 ,
|
.Tn Intel PIIX4 PCI Controller function 3 ,
|
||||||
Power management controller.
|
Power management controller.
|
||||||
Currently, only smbus controller
|
Currently, only smbus controller
|
||||||
function is implemented. But it also have bus idle monitoring function.
|
function is implemented.
|
||||||
|
But it also have bus idle monitoring function.
|
||||||
It
|
It
|
||||||
will display mapped I/O address for bus monitoring function when attaching.
|
will display mapped I/O address for bus monitoring function when attaching.
|
||||||
|
|
||||||
|
@ -24,7 +24,8 @@ which point the corresponding action is taken.
|
|||||||
Rules are numbered
|
Rules are numbered
|
||||||
from 1 to 65534; multiple rules may share the same number.
|
from 1 to 65534; multiple rules may share the same number.
|
||||||
.Pp
|
.Pp
|
||||||
There is one rule that always exists, rule number 65535. This rule
|
There is one rule that always exists, rule number 65535.
|
||||||
|
This rule
|
||||||
normally causes all packets to be dropped.
|
normally causes all packets to be dropped.
|
||||||
Hence, any packet which does not
|
Hence, any packet which does not
|
||||||
match a lower numbered rule will be dropped. However, a kernel compile
|
match a lower numbered rule will be dropped. However, a kernel compile
|
||||||
@ -34,7 +35,8 @@ allows the administrator to change this fixed rule to permit everything.
|
|||||||
.Pp
|
.Pp
|
||||||
The value passed to
|
The value passed to
|
||||||
.Fn setsockopt
|
.Fn setsockopt
|
||||||
is a struct ip_fw describing the rule (see below). In some cases
|
is a struct ip_fw describing the rule (see below).
|
||||||
|
In some cases
|
||||||
(such as IP_FW_DEL), only the rule number is significant.
|
(such as IP_FW_DEL), only the rule number is significant.
|
||||||
.Sh COMMANDS
|
.Sh COMMANDS
|
||||||
The following socket options are used to manage the rule list:
|
The following socket options are used to manage the rule list:
|
||||||
|
@ -198,7 +198,8 @@ as they should.
|
|||||||
Sometimes, when booting, the driver gets stuck waiting for the Fibre Channel
|
Sometimes, when booting, the driver gets stuck waiting for the Fibre Channel
|
||||||
f/w to tell it that the loop port database is ready.
|
f/w to tell it that the loop port database is ready.
|
||||||
In this case you'll
|
In this case you'll
|
||||||
see an announcement that the loop state has a value of 0x1. To unwedge
|
see an announcement that the loop state has a value of 0x1.
|
||||||
|
To unwedge
|
||||||
the system, unplug and replug the fibre channel connection, or otherwise
|
the system, unplug and replug the fibre channel connection, or otherwise
|
||||||
cause a LIP (Loop Initialization Primitive sequence)- this will kick the f/w
|
cause a LIP (Loop Initialization Primitive sequence)- this will kick the f/w
|
||||||
into getting unstuck.
|
into getting unstuck.
|
||||||
|
@ -49,14 +49,16 @@
|
|||||||
All values are just examples.
|
All values are just examples.
|
||||||
.Pp
|
.Pp
|
||||||
The \fBNDGBPORTS\fR option defines the total number of ports on all cards
|
The \fBNDGBPORTS\fR option defines the total number of ports on all cards
|
||||||
installed in the system. When not defined the number is computed:
|
installed in the system.
|
||||||
|
When not defined the number is computed:
|
||||||
|
|
||||||
.br
|
.br
|
||||||
default \fBNDGBPORTS\fR = number_of_described_DigiBoard_cards * 16
|
default \fBNDGBPORTS\fR = number_of_described_DigiBoard_cards * 16
|
||||||
|
|
||||||
If it is less than the actual number of ports
|
If it is less than the actual number of ports
|
||||||
the system will be able to use only the
|
the system will be able to use only the
|
||||||
first \fBNDGBPORTS\fR ports. If it is greater then all ports will be usable
|
first \fBNDGBPORTS\fR ports.
|
||||||
|
If it is greater then all ports will be usable
|
||||||
but some memory will be wasted.
|
but some memory will be wasted.
|
||||||
.Pp
|
.Pp
|
||||||
Meaning of \fBflags\fR:
|
Meaning of \fBflags\fR:
|
||||||
@ -97,10 +99,12 @@ Input and output for each line may set to one of following baud rates;
|
|||||||
.Pp
|
.Pp
|
||||||
The driver doesn't use any interrupts, it is ``polling-based''. This means that
|
The driver doesn't use any interrupts, it is ``polling-based''. This means that
|
||||||
it uses clock interrupts instead of interrupts generated by DigiBoard cards and
|
it uses clock interrupts instead of interrupts generated by DigiBoard cards and
|
||||||
checks the state of cards 25 times per second. This is practical because the
|
checks the state of cards 25 times per second.
|
||||||
|
This is practical because the
|
||||||
DigiBoard cards have large input and output buffers (more than 1Kbyte per
|
DigiBoard cards have large input and output buffers (more than 1Kbyte per
|
||||||
port) and hardware that allows efficiently finding the port that needs
|
port) and hardware that allows efficiently finding the port that needs
|
||||||
attention. The only problem seen with this policy is slower
|
attention.
|
||||||
|
The only problem seen with this policy is slower
|
||||||
SLIP and PPP response.
|
SLIP and PPP response.
|
||||||
.Pp
|
.Pp
|
||||||
Each line in the kernel configuration file describes one card, not one port
|
Each line in the kernel configuration file describes one card, not one port
|
||||||
@ -145,15 +149,18 @@ for all the DigiBoards installed
|
|||||||
(but not for any other card or real memory). DigiBoards
|
(but not for any other card or real memory). DigiBoards
|
||||||
with a large amount of memory (256K or 512K and perhaps
|
with a large amount of memory (256K or 512K and perhaps
|
||||||
even 128K) must be mapped
|
even 128K) must be mapped
|
||||||
to memory addresses outside of the first megabyte. If the computer
|
to memory addresses outside of the first megabyte.
|
||||||
|
If the computer
|
||||||
has more than 15 megabytes of memory then there is no free address space
|
has more than 15 megabytes of memory then there is no free address space
|
||||||
outside of the first megabyte where such DigiBoards can be mapped.
|
outside of the first megabyte where such DigiBoards can be mapped.
|
||||||
In this case you
|
In this case you
|
||||||
may need to reduce the amount of memory in the computer.
|
may need to reduce the amount of memory in the computer.
|
||||||
But many machines provide a better solution. They have the ability to
|
But many machines provide a better solution.
|
||||||
|
They have the ability to
|
||||||
``turn off'' the memory in the 16th megabyte (addresses 0xF00000 - 0xFFFFFF)
|
``turn off'' the memory in the 16th megabyte (addresses 0xF00000 - 0xFFFFFF)
|
||||||
using the
|
using the
|
||||||
BIOS setup. Then the DigiBoard's address space can be set to this ``hole''.
|
BIOS setup.
|
||||||
|
Then the DigiBoard's address space can be set to this ``hole''.
|
||||||
.\" XXX the following should be true for all serial drivers and
|
.\" XXX the following should be true for all serial drivers and
|
||||||
.\" should not be repeated in the man pages for all serial drivers.
|
.\" should not be repeated in the man pages for all serial drivers.
|
||||||
.\" It was copied from sio.4. The only changes were s/sio/dgb/g.
|
.\" It was copied from sio.4. The only changes were s/sio/dgb/g.
|
||||||
@ -267,12 +274,14 @@ the wrong \fBiomem\fR value is specified in the kernel config file.
|
|||||||
.El
|
.El
|
||||||
.Bl -diag
|
.Bl -diag
|
||||||
.It dgb\fIX\fB: BIOS start failed
|
.It dgb\fIX\fB: BIOS start failed
|
||||||
Problems with starting the on-board BIOS. Probably the memory addresses of the
|
Problems with starting the on-board BIOS.
|
||||||
|
Probably the memory addresses of the
|
||||||
DigiBoard overlap with some other device or with RAM.
|
DigiBoard overlap with some other device or with RAM.
|
||||||
.El
|
.El
|
||||||
.Bl -diag
|
.Bl -diag
|
||||||
.It dgb\fIX\fB: BIOS download failed
|
.It dgb\fIX\fB: BIOS download failed
|
||||||
Problems with the on-board BIOS. Probably the memory addresses of the
|
Problems with the on-board BIOS.
|
||||||
|
Probably the memory addresses of the
|
||||||
DigiBoard overlap with some other device or with RAM.
|
DigiBoard overlap with some other device or with RAM.
|
||||||
.El
|
.El
|
||||||
.Bl -diag
|
.Bl -diag
|
||||||
@ -319,12 +328,14 @@ unusable due to misconfiguration.
|
|||||||
.El
|
.El
|
||||||
.Bl -diag
|
.Bl -diag
|
||||||
.It dgb\fIX\fB: port \fIY\fB: event \fIN\fB mstat \fIM\fB lstat \fIK\fB
|
.It dgb\fIX\fB: port \fIY\fB: event \fIN\fB mstat \fIM\fB lstat \fIK\fB
|
||||||
The driver got a strange event from card. Probably this means that you have a
|
The driver got a strange event from card.
|
||||||
|
Probably this means that you have a
|
||||||
newer card with an extended list of events or some other hardware problem.
|
newer card with an extended list of events or some other hardware problem.
|
||||||
.El
|
.El
|
||||||
.Bl -diag
|
.Bl -diag
|
||||||
.It dgb\fIX\fB: port \fIY\fB: overrun
|
.It dgb\fIX\fB: port \fIY\fB: overrun
|
||||||
Input buffer has filled up. Problems in polling logic of driver.
|
Input buffer has filled up.
|
||||||
|
Problems in polling logic of driver.
|
||||||
.El
|
.El
|
||||||
.Bl -diag
|
.Bl -diag
|
||||||
.It dgb\fIX\fB: port \fIY\fB: FEP command on disabled port
|
.It dgb\fIX\fB: port \fIY\fB: FEP command on disabled port
|
||||||
@ -357,6 +368,8 @@ There was a bug in implementation of
|
|||||||
.Xr select 2 .
|
.Xr select 2 .
|
||||||
It is fixed now but not widely tested yet.
|
It is fixed now but not widely tested yet.
|
||||||
.Pp
|
.Pp
|
||||||
There is no ditty command. Most of its functions (alternate pinout,
|
There is no ditty command.
|
||||||
speed up to 115200 baud, etc.) are implemented in the driver itself. Some
|
Most of its functions (alternate pinout,
|
||||||
|
speed up to 115200 baud, etc.) are implemented in the driver itself.
|
||||||
|
Some
|
||||||
other functions are missing.
|
other functions are missing.
|
||||||
|
@ -67,24 +67,31 @@ are a bit field, and are summarized as follows:
|
|||||||
.Pp
|
.Pp
|
||||||
.Bl -hang -offset indent
|
.Bl -hang -offset indent
|
||||||
.It Em 0x01
|
.It Em 0x01
|
||||||
Disable tranceiver. On those cards which support it, this flag causes the tranceiver to
|
Disable tranceiver.
|
||||||
|
On those cards which support it, this flag causes the tranceiver to
|
||||||
be disabled and the AUI connection to be used by default.
|
be disabled and the AUI connection to be used by default.
|
||||||
.It Em 0x02
|
.It Em 0x02
|
||||||
Force 8bit mode. This flag forces the card to 8bit mode regardless of how the
|
Force 8bit mode.
|
||||||
card identifies itself. This may be needed for some clones which incorrectly
|
This flag forces the card to 8bit mode regardless of how the
|
||||||
|
card identifies itself.
|
||||||
|
This may be needed for some clones which incorrectly
|
||||||
identify themselves as 16bit, even though they only have an 8bit interface.
|
identify themselves as 16bit, even though they only have an 8bit interface.
|
||||||
.It Em 0x04
|
.It Em 0x04
|
||||||
Force 16bit mode. This flag forces the card to 16bit mode regardless of how the
|
Force 16bit mode.
|
||||||
card identifies itself. This may be needed for some clones which incorrectly
|
This flag forces the card to 16bit mode regardless of how the
|
||||||
|
card identifies itself.
|
||||||
|
This may be needed for some clones which incorrectly
|
||||||
identify themselves as 8bit, even though they have a 16bit ISA interface.
|
identify themselves as 8bit, even though they have a 16bit ISA interface.
|
||||||
.It Em 0x08
|
.It Em 0x08
|
||||||
Disable transmitter multi-buffering. This flag disables the use of multiple
|
Disable transmitter multi-buffering.
|
||||||
|
This flag disables the use of multiple
|
||||||
transmit buffers and may be necessary in rare cases where packets are sent out
|
transmit buffers and may be necessary in rare cases where packets are sent out
|
||||||
faster than a machine on the other end can handle (as evidenced by severe packet
|
faster than a machine on the other end can handle (as evidenced by severe packet
|
||||||
lossage). Some
|
lossage). Some
|
||||||
.Pf ( No non- Ns Tn FreeBSD
|
.Pf ( No non- Ns Tn FreeBSD
|
||||||
:-)) machines have terrible ethernet performance
|
:-)) machines have terrible ethernet performance
|
||||||
and simply can't cope with 1100K+ data rates. Use of this flag also provides
|
and simply can't cope with 1100K+ data rates.
|
||||||
|
Use of this flag also provides
|
||||||
one more packet worth of receiver buffering, and on 8bit cards, this may help
|
one more packet worth of receiver buffering, and on 8bit cards, this may help
|
||||||
reduce receiver lossage.
|
reduce receiver lossage.
|
||||||
.El
|
.El
|
||||||
@ -102,61 +109,75 @@ into the kernel) differs from the irq that has been set on the interface card.
|
|||||||
.It "ed%d: failed to clear shared memory at %x - check configuration."
|
.It "ed%d: failed to clear shared memory at %x - check configuration."
|
||||||
When the card was probed at system boot time, the
|
When the card was probed at system boot time, the
|
||||||
.Nm ed
|
.Nm ed
|
||||||
driver found that it could not clear the card's shared memory. This is most commonly
|
driver found that it could not clear the card's shared memory.
|
||||||
|
This is most commonly
|
||||||
caused by a BIOS extension ROM being configured in the same address space as the
|
caused by a BIOS extension ROM being configured in the same address space as the
|
||||||
ethernet card's shared memory. Either find the offending card and change its BIOS
|
ethernet card's shared memory.
|
||||||
|
Either find the offending card and change its BIOS
|
||||||
ROM to be at an address that doesn't conflict, or change the
|
ROM to be at an address that doesn't conflict, or change the
|
||||||
.Em iomem
|
.Em iomem
|
||||||
option in the kernel config file so that the card's shared memory is mapped at a
|
option in the kernel config file so that the card's shared memory is mapped at a
|
||||||
non-conflicting address.
|
non-conflicting address.
|
||||||
.It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503."
|
.It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503."
|
||||||
The irq number that was specified in the kernel config file is not valid for
|
The irq number that was specified in the kernel config file is not valid for
|
||||||
the 3Com 3c503 card. The 3c503 can only be assigned to irqs 2 through 5.
|
the 3Com 3c503 card.
|
||||||
|
The 3c503 can only be assigned to irqs 2 through 5.
|
||||||
.It "ed%d: Cannot find start of RAM."
|
.It "ed%d: Cannot find start of RAM."
|
||||||
.It "ed%d: Cannot find any RAM, start : %d, x = %d."
|
.It "ed%d: Cannot find any RAM, start : %d, x = %d."
|
||||||
The probe of a Gateway card was unsuccessful in configuring the card's packet memory.
|
The probe of a Gateway card was unsuccessful in configuring the card's packet memory.
|
||||||
This likely indicates that the card was improperly recognized as a Gateway or that
|
This likely indicates that the card was improperly recognized as a Gateway or that
|
||||||
the card is defective.
|
the card is defective.
|
||||||
.It "ed: packets buffered, but transmitter idle."
|
.It "ed: packets buffered, but transmitter idle."
|
||||||
Indicates a logic problem in the driver. Should never happen.
|
Indicates a logic problem in the driver.
|
||||||
|
Should never happen.
|
||||||
.It "ed%d: device timeout"
|
.It "ed%d: device timeout"
|
||||||
Indicates that an expected transmitter interrupt didn't occur. Usually caused by an
|
Indicates that an expected transmitter interrupt didn't occur.
|
||||||
|
Usually caused by an
|
||||||
interrupt conflict with another card on the ISA bus.
|
interrupt conflict with another card on the ISA bus.
|
||||||
.It "ed%d: NIC memory corrupt - invalid packet length %d."
|
.It "ed%d: NIC memory corrupt - invalid packet length %d."
|
||||||
Indicates that a packet was received with a packet length that was either larger than
|
Indicates that a packet was received with a packet length that was either larger than
|
||||||
the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard. Usually
|
the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard.
|
||||||
|
Usually
|
||||||
caused by a conflict with another card on the ISA bus, but in some cases may also
|
caused by a conflict with another card on the ISA bus, but in some cases may also
|
||||||
indicate faulty cabling.
|
indicate faulty cabling.
|
||||||
.It "ed%d: remote transmit DMA failed to complete."
|
.It "ed%d: remote transmit DMA failed to complete."
|
||||||
This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card
|
This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card
|
||||||
has failed to properly complete. Usually caused by the ISA bus speed being set
|
has failed to properly complete.
|
||||||
|
Usually caused by the ISA bus speed being set
|
||||||
too fast.
|
too fast.
|
||||||
.El
|
.El
|
||||||
.Sh CAVEATS
|
.Sh CAVEATS
|
||||||
Early revision DS8390 chips have problems. They lock up whenever the receive
|
Early revision DS8390 chips have problems.
|
||||||
ring-buffer overflows. They occasionally switch the byte order
|
They lock up whenever the receive
|
||||||
|
ring-buffer overflows.
|
||||||
|
They occasionally switch the byte order
|
||||||
of the length field in the packet ring header (several different causes
|
of the length field in the packet ring header (several different causes
|
||||||
of this related to an off-by-one byte alignment) - resulting in "NIC
|
of this related to an off-by-one byte alignment) - resulting in "NIC
|
||||||
memory corrupt - invalid packet length" messages. The card is reset
|
memory corrupt - invalid packet length" messages.
|
||||||
|
The card is reset
|
||||||
whenever these problems occur, but otherwise there is no problem with
|
whenever these problems occur, but otherwise there is no problem with
|
||||||
recovering from these conditions.
|
recovering from these conditions.
|
||||||
.Pp
|
.Pp
|
||||||
The NIC memory access to 3Com and Novell cards is much slower than it is on
|
The NIC memory access to 3Com and Novell cards is much slower than it is on
|
||||||
WD/SMC cards; it's less than 1MB/second on 8bit boards and less than 2MB/second
|
WD/SMC cards; it's less than 1MB/second on 8bit boards and less than 2MB/second
|
||||||
on the 16bit cards. This can lead to ring-buffer overruns resulting in
|
on the 16bit cards.
|
||||||
|
This can lead to ring-buffer overruns resulting in
|
||||||
dropped packets during heavy network traffic.
|
dropped packets during heavy network traffic.
|
||||||
.Pp
|
.Pp
|
||||||
16bit Compex cards identify themselves as being 8bit. While these cards will
|
16bit Compex cards identify themselves as being 8bit.
|
||||||
|
While these cards will
|
||||||
work in 8bit mode, much higher performance can be achieved by specifying
|
work in 8bit mode, much higher performance can be achieved by specifying
|
||||||
.Em "flags 0x04"
|
.Em "flags 0x04"
|
||||||
(force 16bit mode) in your kernel config file. In addition, you should also specify
|
(force 16bit mode) in your kernel config file.
|
||||||
|
In addition, you should also specify
|
||||||
.Em "iosize 16384"
|
.Em "iosize 16384"
|
||||||
to take advantage of the extra 8k of shared memory that 16bit mode provides.
|
to take advantage of the extra 8k of shared memory that 16bit mode provides.
|
||||||
.Sh BUGS
|
.Sh BUGS
|
||||||
The
|
The
|
||||||
.Nm ed
|
.Nm ed
|
||||||
driver is a bit too aggressive about resetting the card whenever any bad
|
driver is a bit too aggressive about resetting the card whenever any bad
|
||||||
packets are received. As a result, it may throw out some good packets which
|
packets are received.
|
||||||
|
As a result, it may throw out some good packets which
|
||||||
have been received but not yet transfered from the card to main memory.
|
have been received but not yet transfered from the card to main memory.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr arp 4 ,
|
.Xr arp 4 ,
|
||||||
|
@ -48,7 +48,8 @@ To enable the link use the following commands:
|
|||||||
.It "en0: 7 32KB receive buffers, 8 32KB transmit buffers allocated"
|
.It "en0: 7 32KB receive buffers, 8 32KB transmit buffers allocated"
|
||||||
.El
|
.El
|
||||||
.Sh CAVEATS
|
.Sh CAVEATS
|
||||||
The driver extensively uses DMA on PCI. The first
|
The driver extensively uses DMA on PCI.
|
||||||
|
The first
|
||||||
generation PCI chipsets do not work or exhibit poor performance.
|
generation PCI chipsets do not work or exhibit poor performance.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr ifconfig 8 ,
|
.Xr ifconfig 8 ,
|
||||||
|
@ -55,7 +55,8 @@ UTP, also known as twisted pair
|
|||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
The default port to use is the port that has been selected with the
|
The default port to use is the port that has been selected with the
|
||||||
setup utility. To override this, use the following media options with
|
setup utility.
|
||||||
|
To override this, use the following media options with
|
||||||
.Xr ifconfig 8
|
.Xr ifconfig 8
|
||||||
or in your
|
or in your
|
||||||
.Pa /etc/rc.conf
|
.Pa /etc/rc.conf
|
||||||
@ -107,4 +108,5 @@ Erase the pencil mark and reboot.
|
|||||||
.Xr ifconfig 8 ,
|
.Xr ifconfig 8 ,
|
||||||
.Xr ng_ether 8
|
.Xr ng_ether 8
|
||||||
.Sh STANDARDS
|
.Sh STANDARDS
|
||||||
are great. There's so many to choose from.
|
are great.
|
||||||
|
There's so many to choose from.
|
||||||
|
@ -65,16 +65,20 @@ output
|
|||||||
The
|
The
|
||||||
.Nm gsc
|
.Nm gsc
|
||||||
character device driver currently handles only the
|
character device driver currently handles only the
|
||||||
Genius GS-4500 handy scanner. It operates in pure DMA modes, although
|
Genius GS-4500 handy scanner.
|
||||||
the hardware could be set up to work with irq. I had neither enough
|
It operates in pure DMA modes, although
|
||||||
|
the hardware could be set up to work with irq.
|
||||||
|
I had neither enough
|
||||||
documentation nor experience in writing interrupt driven device
|
documentation nor experience in writing interrupt driven device
|
||||||
drivers.
|
drivers.
|
||||||
.Pp
|
.Pp
|
||||||
The device can operate at four different
|
The device can operate at four different
|
||||||
.Em resolutions :
|
.Em resolutions :
|
||||||
100, 200,
|
100, 200,
|
||||||
300 and 400dpi. It produces a simple bitmap with the most significant
|
300 and 400dpi.
|
||||||
bit at the left side. The driver can optionally output the famous and
|
It produces a simple bitmap with the most significant
|
||||||
|
bit at the left side.
|
||||||
|
The driver can optionally output the famous and
|
||||||
likely simple portable bitmap file format
|
likely simple portable bitmap file format
|
||||||
.Xr pbm 5
|
.Xr pbm 5
|
||||||
by Jef Poskanzer.
|
by Jef Poskanzer.
|
||||||
@ -87,7 +91,8 @@ only to name some of them ...). In
|
|||||||
.Em raw
|
.Em raw
|
||||||
mode a
|
mode a
|
||||||
bit which is set means a black pixel because the scanner detects black
|
bit which is set means a black pixel because the scanner detects black
|
||||||
points on white paper. On the other hand, because pnm format describes
|
points on white paper.
|
||||||
|
On the other hand, because pnm format describes
|
||||||
intensities of electron beams in video screens a set bit in
|
intensities of electron beams in video screens a set bit in
|
||||||
.Em pbm
|
.Em pbm
|
||||||
mode means a white pixel.
|
mode means a white pixel.
|
||||||
@ -95,13 +100,15 @@ mode means a white pixel.
|
|||||||
The
|
The
|
||||||
.Em width
|
.Em width
|
||||||
of the output bitmap is fixed as given by the
|
of the output bitmap is fixed as given by the
|
||||||
resolution value. However, the
|
resolution value.
|
||||||
|
However, the
|
||||||
.Em height
|
.Em height
|
||||||
of the bitmap must be
|
of the bitmap must be
|
||||||
supplied in
|
supplied in
|
||||||
.Em pnm
|
.Em pnm
|
||||||
mode since the driver must know at what time the
|
mode since the driver must know at what time the
|
||||||
'end-of-file' shall be reached. With this feature you are able to
|
'end-of-file' shall be reached.
|
||||||
|
With this feature you are able to
|
||||||
directly copy the scanner output into a pbm file with
|
directly copy the scanner output into a pbm file with
|
||||||
.Xr cat .
|
.Xr cat .
|
||||||
Of course you can obtain a similar effect by using
|
Of course you can obtain a similar effect by using
|
||||||
@ -114,7 +121,8 @@ The
|
|||||||
.Em graymap
|
.Em graymap
|
||||||
output mode is not yet implemented into the driver.
|
output mode is not yet implemented into the driver.
|
||||||
It is even questionable if external programs would not do this job
|
It is even questionable if external programs would not do this job
|
||||||
better thereby not counting to the size of the kernel. Even though, I
|
better thereby not counting to the size of the kernel.
|
||||||
|
Even though, I
|
||||||
do not know of tools which produce a graymap from a halftone bitmap.
|
do not know of tools which produce a graymap from a halftone bitmap.
|
||||||
.Pp
|
.Pp
|
||||||
The ioctl requests that are served by
|
The ioctl requests that are served by
|
||||||
@ -126,22 +134,26 @@ requests from within shell.
|
|||||||
.It GSC_SRES int
|
.It GSC_SRES int
|
||||||
Set the
|
Set the
|
||||||
.Em resolution
|
.Em resolution
|
||||||
value. If this call is made after the first
|
value.
|
||||||
|
If this call is made after the first
|
||||||
read access to the device there will be no effect unless the device is
|
read access to the device there will be no effect unless the device is
|
||||||
closed and opened again.
|
closed and opened again.
|
||||||
.It GSC_GRES int
|
.It GSC_GRES int
|
||||||
Get current resolution in dots per inch (dpi).
|
Get current resolution in dots per inch (dpi).
|
||||||
.It GSC_SRESSSW void
|
.It GSC_SRESSSW void
|
||||||
Set resolution value from selector switch. The driver must be in an
|
Set resolution value from selector switch.
|
||||||
|
The driver must be in an
|
||||||
open though untouched state otherwise the request will fail and
|
open though untouched state otherwise the request will fail and
|
||||||
.Xr errno 2
|
.Xr errno 2
|
||||||
is set to EBUSY.
|
is set to EBUSY.
|
||||||
.It GSC_SWIDTH int
|
.It GSC_SWIDTH int
|
||||||
Set the
|
Set the
|
||||||
.Em width
|
.Em width
|
||||||
of the bitmap. Actually, this is an alternative
|
of the bitmap.
|
||||||
|
Actually, this is an alternative
|
||||||
way of setting the resolution, since any allowed resolution matches
|
way of setting the resolution, since any allowed resolution matches
|
||||||
exactly one width. Allowed are listed in the table below.
|
exactly one width.
|
||||||
|
Allowed are listed in the table below.
|
||||||
.Bl -tag -width resolution -compact -offset indent
|
.Bl -tag -width resolution -compact -offset indent
|
||||||
.It resolution
|
.It resolution
|
||||||
width
|
width
|
||||||
@ -167,10 +179,13 @@ call to fail with
|
|||||||
set to
|
set to
|
||||||
.Er EINVAL .
|
.Er EINVAL .
|
||||||
.Pp
|
.Pp
|
||||||
As you can see, there are width values > 1696. This does, however, not
|
As you can see, there are width values > 1696.
|
||||||
|
This does, however, not
|
||||||
mean that you can obtain scanned lines longer than the width of your
|
mean that you can obtain scanned lines longer than the width of your
|
||||||
scanner or by higher resolutions. Actually, the resolution is selected
|
scanner or by higher resolutions.
|
||||||
by only by the hardware switch. Any line that is longer than what is
|
Actually, the resolution is selected
|
||||||
|
by only by the hardware switch.
|
||||||
|
Any line that is longer than what is
|
||||||
defined for the actual resolution will be undefined (usually white) on
|
defined for the actual resolution will be undefined (usually white) on
|
||||||
the right part that is exceeding the standard line.
|
the right part that is exceeding the standard line.
|
||||||
.It GSC_GWIDTH int
|
.It GSC_GWIDTH int
|
||||||
@ -180,35 +195,46 @@ Set the
|
|||||||
.Em height
|
.Em height
|
||||||
of the bitmap in
|
of the bitmap in
|
||||||
.Em pnm
|
.Em pnm
|
||||||
mode. This is actually
|
mode.
|
||||||
|
This is actually
|
||||||
a limit on the amount of lines scannable after the first read
|
a limit on the amount of lines scannable after the first read
|
||||||
operation. When the limit is reached read will return 0. However, the
|
operation.
|
||||||
|
When the limit is reached read will return 0. However, the
|
||||||
device is turned off only when a close is performed (either
|
device is turned off only when a close is performed (either
|
||||||
explicitly or implicitly on exit of the calling process).
|
explicitly or implicitly on exit of the calling process).
|
||||||
.It GSC_GHEIGHT int
|
.It GSC_GHEIGHT int
|
||||||
Get the current height of the bitmap.
|
Get the current height of the bitmap.
|
||||||
.It GSC_SBLEN int
|
.It GSC_SBLEN int
|
||||||
Set the length of the buffer used internally to do the DMA transfer.
|
Set the length of the buffer used internally to do the DMA transfer.
|
||||||
The buffer length is supplied in lines of the bitmap. Since the buffer
|
The buffer length is supplied in lines of the bitmap.
|
||||||
|
Since the buffer
|
||||||
size limit is (currently) 0x3000 bytes the maximum number of lines
|
size limit is (currently) 0x3000 bytes the maximum number of lines
|
||||||
allowed will vary with the width of each line. This upper limit is
|
allowed will vary with the width of each line.
|
||||||
|
This upper limit is
|
||||||
checked before it overwrites the current value and pases an ENOMEM in
|
checked before it overwrites the current value and pases an ENOMEM in
|
||||||
the
|
the
|
||||||
.Xr errno 2
|
.Xr errno 2
|
||||||
variable. However, since the bitmap width can change
|
variable.
|
||||||
|
However, since the bitmap width can change
|
||||||
after a buffer length was selected a read request may fail with ENOMEM
|
after a buffer length was selected a read request may fail with ENOMEM
|
||||||
if the buffer length turns out too high. It is generally wise to
|
if the buffer length turns out too high.
|
||||||
|
It is generally wise to
|
||||||
choose long buffers rather than go save in order to obtain better
|
choose long buffers rather than go save in order to obtain better
|
||||||
output.
|
output.
|
||||||
.It GSC_GBLEN int
|
.It GSC_GBLEN int
|
||||||
Get the current buffer length in lines.
|
Get the current buffer length in lines.
|
||||||
.It GSC_SBTIME int
|
.It GSC_SBTIME int
|
||||||
Set the timeout for the completion of reading one buffer. Since a
|
Set the timeout for the completion of reading one buffer.
|
||||||
|
Since a
|
||||||
handy scanner is a human/computer interface timeout values are usually
|
handy scanner is a human/computer interface timeout values are usually
|
||||||
higher than those of a flat scanner. Default is 15 seconds. After
|
higher than those of a flat scanner.
|
||||||
timeout is reached the read operation will fail with EBUSY. Note that
|
Default is 15 seconds.
|
||||||
|
After
|
||||||
|
timeout is reached the read operation will fail with EBUSY.
|
||||||
|
Note that
|
||||||
the timeout timer starts anew for each buffer to be read and thus does
|
the timeout timer starts anew for each buffer to be read and thus does
|
||||||
not cause you to scan faster for longer images. BLEN/BTIME is similar
|
not cause you to scan faster for longer images.
|
||||||
|
BLEN/BTIME is similar
|
||||||
as MIN/TIME in termios(4).
|
as MIN/TIME in termios(4).
|
||||||
.It GSC_GBTIME int
|
.It GSC_GBTIME int
|
||||||
Get the current buffer timeout.
|
Get the current buffer timeout.
|
||||||
@ -216,19 +242,24 @@ Get the current buffer timeout.
|
|||||||
.Pp
|
.Pp
|
||||||
All ioctl requests that modify a parameter except GSC_SBTIME do not
|
All ioctl requests that modify a parameter except GSC_SBTIME do not
|
||||||
have an effect on an ongoing scan process, i.e. after the first read
|
have an effect on an ongoing scan process, i.e. after the first read
|
||||||
request that follows open. You must close the device and open it again
|
request that follows open.
|
||||||
for the new selections to take effect. Consequently, the selections
|
You must close the device and open it again
|
||||||
|
for the new selections to take effect.
|
||||||
|
Consequently, the selections
|
||||||
are not reset when you close or open the device.
|
are not reset when you close or open the device.
|
||||||
.Pp
|
.Pp
|
||||||
Similarly, requests that read a value do not report the value that is
|
Similarly, requests that read a value do not report the value that is
|
||||||
used for the ongoing scan process. The values needed during the scan
|
used for the ongoing scan process.
|
||||||
|
The values needed during the scan
|
||||||
process are saved when it starts and thus are not accessed by ioctl
|
process are saved when it starts and thus are not accessed by ioctl
|
||||||
requests.
|
requests.
|
||||||
.Pp
|
.Pp
|
||||||
The BTIME value does, however, have an immediate effect on the ongoing
|
The BTIME value does, however, have an immediate effect on the ongoing
|
||||||
scan. Thus the timeout can for example be set to long until the user
|
scan.
|
||||||
|
Thus the timeout can for example be set to long until the user
|
||||||
starts scanning. It can then be set to a short amount to react
|
starts scanning. It can then be set to a short amount to react
|
||||||
(nearly) immediately when the user stops. Note that the user should be
|
(nearly) immediately when the user stops.
|
||||||
|
Note that the user should be
|
||||||
left time to at least fill one buffer without having to haste.
|
left time to at least fill one buffer without having to haste.
|
||||||
.Pp
|
.Pp
|
||||||
Note that the
|
Note that the
|
||||||
@ -236,7 +267,8 @@ Note that the
|
|||||||
versus
|
versus
|
||||||
.Em raw
|
.Em raw
|
||||||
mode selection is done by the
|
mode selection is done by the
|
||||||
minor number not by ioctl requests. In
|
minor number not by ioctl requests.
|
||||||
|
In
|
||||||
.Em raw
|
.Em raw
|
||||||
mode the selected
|
mode the selected
|
||||||
height of the bitmap will have no effect.
|
height of the bitmap will have no effect.
|
||||||
@ -295,6 +327,7 @@ whose debug bit (i.e. bit 5 out of 7) is set.
|
|||||||
.Sh BUGS
|
.Sh BUGS
|
||||||
Even though the scanner device has a little switch by which you should
|
Even though the scanner device has a little switch by which you should
|
||||||
be able to select one of the four resolution modes, I could not yet
|
be able to select one of the four resolution modes, I could not yet
|
||||||
determine how to read its status. Unless this is not fixed the driver
|
determine how to read its status.
|
||||||
|
Unless this is not fixed the driver
|
||||||
depends on the value passed by means of ioctl(2) which need not match
|
depends on the value passed by means of ioctl(2) which need not match
|
||||||
what is selected by the hardware.
|
what is selected by the hardware.
|
||||||
|
@ -38,8 +38,10 @@
|
|||||||
The
|
The
|
||||||
.Nm mcd
|
.Nm mcd
|
||||||
driver provides a data and audio interface to the Mitsumi-brand CD-ROM
|
driver provides a data and audio interface to the Mitsumi-brand CD-ROM
|
||||||
player. The CD-ROM player must be interfaced to the ISA bus through
|
player.
|
||||||
one of the Mitsumi proprietary controller boards. The controller
|
The CD-ROM player must be interfaced to the ISA bus through
|
||||||
|
one of the Mitsumi proprietary controller boards.
|
||||||
|
The controller
|
||||||
boards supported are the LU002S, LU005S, the FX001 and the quite
|
boards supported are the LU002S, LU005S, the FX001 and the quite
|
||||||
common FX001D.
|
common FX001D.
|
||||||
.Pp
|
.Pp
|
||||||
@ -62,7 +64,8 @@ The
|
|||||||
.Nm mcd
|
.Nm mcd
|
||||||
driver also responds to special CD-ROM
|
driver also responds to special CD-ROM
|
||||||
.Fn ioctl
|
.Fn ioctl
|
||||||
commands. These commands
|
commands.
|
||||||
|
These commands
|
||||||
control the CD-ROM player's audio features.
|
control the CD-ROM player's audio features.
|
||||||
The commands are:
|
The commands are:
|
||||||
.Pp
|
.Pp
|
||||||
@ -107,7 +110,8 @@ The
|
|||||||
.Fn ioctl
|
.Fn ioctl
|
||||||
commands defined above are the only ones that the
|
commands defined above are the only ones that the
|
||||||
.Nm mcd
|
.Nm mcd
|
||||||
driver supports. There are other CD-ROM related
|
driver supports.
|
||||||
|
There are other CD-ROM related
|
||||||
.Fn ioctl
|
.Fn ioctl
|
||||||
commands (such as
|
commands (such as
|
||||||
.Dv CDIOCSETVOL
|
.Dv CDIOCSETVOL
|
||||||
@ -132,7 +136,8 @@ CD-ROM player as the performance on data is abysmal.
|
|||||||
.Pp
|
.Pp
|
||||||
The current version of the driver uses neither the DMA or IRQ
|
The current version of the driver uses neither the DMA or IRQ
|
||||||
features of the interface board, although it has an interrupt handler
|
features of the interface board, although it has an interrupt handler
|
||||||
for any IRQ requests that are generated. Until the DMA features are
|
for any IRQ requests that are generated.
|
||||||
|
Until the DMA features are
|
||||||
supported, the only interrupts that the board generates are those that
|
supported, the only interrupts that the board generates are those that
|
||||||
aren't supported by the driver anyway.
|
aren't supported by the driver anyway.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
|
@ -35,19 +35,23 @@ and a D-sub 9-pin male connector or a round DIN 9-pin
|
|||||||
male connector.
|
male connector.
|
||||||
.Pp
|
.Pp
|
||||||
The primary port address of the bus and InPort mouse interface cards
|
The primary port address of the bus and InPort mouse interface cards
|
||||||
is usually 0x23c. Some cards may also be set to use the secondary port
|
is usually 0x23c.
|
||||||
address at 0x238. The interface cards require a single IRQ, which may be
|
Some cards may also be set to use the secondary port
|
||||||
|
address at 0x238.
|
||||||
|
The interface cards require a single IRQ, which may be
|
||||||
2, 3, 4 or 5. Some cards may offer additional IRQs.
|
2, 3, 4 or 5. Some cards may offer additional IRQs.
|
||||||
The port number and the IRQ number are configured by jumpers on the cards
|
The port number and the IRQ number are configured by jumpers on the cards
|
||||||
or by software provided with the card.
|
or by software provided with the card.
|
||||||
.Pp
|
.Pp
|
||||||
Frequency, or report rate, at which the device sends movement
|
Frequency, or report rate, at which the device sends movement
|
||||||
and button state reports to the host system, may also be configurable on
|
and button state reports to the host system, may also be configurable on
|
||||||
some interface cards. It may be 15, 30, 60 or 120Hz.
|
some interface cards.
|
||||||
|
It may be 15, 30, 60 or 120Hz.
|
||||||
.Pp
|
.Pp
|
||||||
The difference between the two types of the mice is not in mouse devices
|
The difference between the two types of the mice is not in mouse devices
|
||||||
(in fact they are exactly the same). But in the circuit on the interface
|
(in fact they are exactly the same). But in the circuit on the interface
|
||||||
cards. This means that the device from a bus mouse package can be
|
cards.
|
||||||
|
This means that the device from a bus mouse package can be
|
||||||
connected to the interface card from an InPort mouse package, or vice
|
connected to the interface card from an InPort mouse package, or vice
|
||||||
versa, provided that their connectors match.
|
versa, provided that their connectors match.
|
||||||
.Ss Operation Levels
|
.Ss Operation Levels
|
||||||
@ -71,7 +75,8 @@ Always zero.
|
|||||||
.It bit 2
|
.It bit 2
|
||||||
Left button status; cleared if pressed, otherwise set.
|
Left button status; cleared if pressed, otherwise set.
|
||||||
.It bit 1
|
.It bit 1
|
||||||
Middle button status; cleared if pressed, otherwise set. Always one,
|
Middle button status; cleared if pressed, otherwise set.
|
||||||
|
Always one,
|
||||||
if the device does not have the middle button.
|
if the device does not have the middle button.
|
||||||
.It bit 0
|
.It bit 0
|
||||||
Right button status; cleared if pressed, otherwise set.
|
Right button status; cleared if pressed, otherwise set.
|
||||||
@ -101,7 +106,8 @@ driver can somewhat `accelerate' the movement of the pointing device.
|
|||||||
The faster you move the device, the further the pointer
|
The faster you move the device, the further the pointer
|
||||||
travels on the screen.
|
travels on the screen.
|
||||||
The driver has an internal variable which governs the effect of
|
The driver has an internal variable which governs the effect of
|
||||||
the acceleration. Its value can be modified via the driver flag
|
the acceleration.
|
||||||
|
Its value can be modified via the driver flag
|
||||||
or via an ioctl call.
|
or via an ioctl call.
|
||||||
.Ss Device Number
|
.Ss Device Number
|
||||||
The minor device number of the
|
The minor device number of the
|
||||||
@ -124,7 +130,8 @@ for device node names.
|
|||||||
.Ss Driver Flags
|
.Ss Driver Flags
|
||||||
The
|
The
|
||||||
.Nm
|
.Nm
|
||||||
driver accepts the following driver flag. Set it in the
|
driver accepts the following driver flag.
|
||||||
|
Set it in the
|
||||||
kernel configuration file
|
kernel configuration file
|
||||||
.Pq see Xr config 8
|
.Pq see Xr config 8
|
||||||
or in the User Configuration Menu at
|
or in the User Configuration Menu at
|
||||||
@ -136,7 +143,8 @@ the boot time
|
|||||||
This flag controls the amount of acceleration effect.
|
This flag controls the amount of acceleration effect.
|
||||||
The smaller the value of this flag is, more sensitive the movement becomes.
|
The smaller the value of this flag is, more sensitive the movement becomes.
|
||||||
The minimum value allowed, thus the value for the most sensitive setting,
|
The minimum value allowed, thus the value for the most sensitive setting,
|
||||||
is one. Setting this flag to zero will completely disables the
|
is one.
|
||||||
|
Setting this flag to zero will completely disables the
|
||||||
acceleration effect.
|
acceleration effect.
|
||||||
.El
|
.El
|
||||||
.Sh IOCTLS
|
.Sh IOCTLS
|
||||||
@ -258,7 +266,8 @@ If it is zero, acceleration is disabled.
|
|||||||
.Pp
|
.Pp
|
||||||
The
|
The
|
||||||
.Dv packetsize
|
.Dv packetsize
|
||||||
field specifies the length of the data packet. It depends on the
|
field specifies the length of the data packet.
|
||||||
|
It depends on the
|
||||||
operation level.
|
operation level.
|
||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width level_0__ -compact
|
.Bl -tag -width level_0__ -compact
|
||||||
@ -273,7 +282,8 @@ The array
|
|||||||
holds a bit mask and pattern to detect the first byte of the
|
holds a bit mask and pattern to detect the first byte of the
|
||||||
data packet.
|
data packet.
|
||||||
.Dv syncmask[0]
|
.Dv syncmask[0]
|
||||||
is the bit mask to be ANDed with a byte. If the result is equal to
|
is the bit mask to be ANDed with a byte.
|
||||||
|
If the result is equal to
|
||||||
.Dv syncmask[1] ,
|
.Dv syncmask[1] ,
|
||||||
the byte is likely to be the first byte of the data packet.
|
the byte is likely to be the first byte of the data packet.
|
||||||
Note that this detection method is not 100% reliable,
|
Note that this detection method is not 100% reliable,
|
||||||
@ -296,7 +306,8 @@ Only
|
|||||||
.Dv level
|
.Dv level
|
||||||
and
|
and
|
||||||
.Dv accelfactor
|
.Dv accelfactor
|
||||||
may be modifiable. Setting values in the other field does not generate
|
may be modifiable.
|
||||||
|
Setting values in the other field does not generate
|
||||||
error and has no effect.
|
error and has no effect.
|
||||||
.\" .Pp
|
.\" .Pp
|
||||||
.\" .It Dv MOUSE_GETVARS Ar mousevar_t *vars
|
.\" .It Dv MOUSE_GETVARS Ar mousevar_t *vars
|
||||||
|
@ -46,26 +46,31 @@ parameters in the card's configuration space.
|
|||||||
The manual override mechanism requires the kernel to be compiled with
|
The manual override mechanism requires the kernel to be compiled with
|
||||||
.Cd options USERCONFIG.
|
.Cd options USERCONFIG.
|
||||||
In this case, the kernel keeps a table of fixed size (20 entries as a
|
In this case, the kernel keeps a table of fixed size (20 entries as a
|
||||||
default) where configuration data are held for PnP devices. Each
|
default) where configuration data are held for PnP devices.
|
||||||
|
Each
|
||||||
PnP card can contain several independent devices (5 or 6 is not
|
PnP card can contain several independent devices (5 or 6 is not
|
||||||
unusual).
|
unusual).
|
||||||
.Pp
|
.Pp
|
||||||
By booting the kernel with the
|
By booting the kernel with the
|
||||||
.Dq Fl c
|
.Dq Fl c
|
||||||
flag, commands are available to
|
flag, commands are available to
|
||||||
modify the configuration of PnP cards. Commands start with the
|
modify the configuration of PnP cards.
|
||||||
|
Commands start with the
|
||||||
sequence:
|
sequence:
|
||||||
.Dl pnp CSN LDN
|
.Dl pnp CSN LDN
|
||||||
where CSN and LDN are the Card Select Number and Logical Device Number
|
where CSN and LDN are the Card Select Number and Logical Device Number
|
||||||
associated to the device. Following this sequence any combination of
|
associated to the device.
|
||||||
|
Following this sequence any combination of
|
||||||
the following commands can be used:
|
the following commands can be used:
|
||||||
|
|
||||||
.Bl -tag -width "mmmmmmmmmm""
|
.Bl -tag -width "mmmmmmmmmm""
|
||||||
.It Dv irqN line
|
.It Dv irqN line
|
||||||
Sets the irq line for interrupt 0 or 1 on the card. Line=0 means the line
|
Sets the irq line for interrupt 0 or 1 on the card.
|
||||||
|
Line=0 means the line
|
||||||
is unused.
|
is unused.
|
||||||
.It Dv drqN n
|
.It Dv drqN n
|
||||||
Sets the drq channel used for DMA 0 or 1 on the card. Channel=4 means
|
Sets the drq channel used for DMA 0 or 1 on the card.
|
||||||
|
Channel=4 means
|
||||||
the channel is unused.
|
the channel is unused.
|
||||||
.It Dv portN address
|
.It Dv portN address
|
||||||
Sets the base address for the N-th port's range (N=0..7). address=0
|
Sets the base address for the N-th port's range (N=0..7). address=0
|
||||||
@ -74,7 +79,8 @@ means that the port is not used.
|
|||||||
Sets the base address for the N-th memory's range (N=0..3). address=0
|
Sets the base address for the N-th memory's range (N=0..3). address=0
|
||||||
means that the memory range is not used.
|
means that the memory range is not used.
|
||||||
.It Dv bios
|
.It Dv bios
|
||||||
Makes the PnP device use the configuration set by the BIOS. This
|
Makes the PnP device use the configuration set by the BIOS.
|
||||||
|
This
|
||||||
is the default, and is generally ok if your BIOS has PnP support.
|
is the default, and is generally ok if your BIOS has PnP support.
|
||||||
If BIOS is used, then other parameters are ignored except "flags".
|
If BIOS is used, then other parameters are ignored except "flags".
|
||||||
.It Dv os
|
.It Dv os
|
||||||
@ -88,13 +94,15 @@ Frees the entry used for the device, so that it can be used for
|
|||||||
another device with a different CSN/LDN pair.
|
another device with a different CSN/LDN pair.
|
||||||
.It Dv flags
|
.It Dv flags
|
||||||
Sets the value of a 32-bit flags entry which is passed to the device
|
Sets the value of a 32-bit flags entry which is passed to the device
|
||||||
driver. This can be used to set special operation modes (e.g. SB vs. WSS
|
driver.
|
||||||
|
This can be used to set special operation modes (e.g. SB vs. WSS
|
||||||
emulation on some sound cards, etc.).
|
emulation on some sound cards, etc.).
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
The current content of the table can be printed using the
|
The current content of the table can be printed using the
|
||||||
.Ic ls
|
.Ic ls
|
||||||
command in userconfig. In addition to modifications done by the user,
|
command in userconfig.
|
||||||
|
In addition to modifications done by the user,
|
||||||
the table contains an entry for
|
the table contains an entry for
|
||||||
all logical devices accessed by a PnP device driver.
|
all logical devices accessed by a PnP device driver.
|
||||||
.Pp
|
.Pp
|
||||||
@ -137,15 +145,18 @@ This data structure (defined in /sys/i386/isa/pnp.h) contains all
|
|||||||
informations related to a PnP logical device.
|
informations related to a PnP logical device.
|
||||||
.It Fn read_pnp_parms "struct pnp_cinfo *d" "int ldn"
|
.It Fn read_pnp_parms "struct pnp_cinfo *d" "int ldn"
|
||||||
This function returns the configuration of the requested
|
This function returns the configuration of the requested
|
||||||
logical device. It is not possible to specify a CSN since this function
|
logical device.
|
||||||
|
It is not possible to specify a CSN since this function
|
||||||
is only meant to be used during probe and attach routines
|
is only meant to be used during probe and attach routines
|
||||||
.It Fn write_pnp_parms "struct pnp_cinfo *d" "int ldn"
|
.It Fn write_pnp_parms "struct pnp_cinfo *d" "int ldn"
|
||||||
This function sets the parameters of the requested logical device. At
|
This function sets the parameters of the requested logical device.
|
||||||
|
At
|
||||||
the same time, it updates the entry in the kernel override table.
|
the same time, it updates the entry in the kernel override table.
|
||||||
Device drivers in general should
|
Device drivers in general should
|
||||||
.Em not
|
.Em not
|
||||||
modify the configuration of a device, since either the BIOS or the user
|
modify the configuration of a device, since either the BIOS or the user
|
||||||
(through userconfig) should know better what to do. In particular,
|
(through userconfig) should know better what to do.
|
||||||
|
In particular,
|
||||||
device driver
|
device driver
|
||||||
.Em should not enable
|
.Em should not enable
|
||||||
a logical device which has
|
a logical device which has
|
||||||
|
@ -45,27 +45,35 @@ The
|
|||||||
driver provides support for WaveLAN/IEEE PCCARD adapters (also known
|
driver provides support for WaveLAN/IEEE PCCARD adapters (also known
|
||||||
as WaveLAN II cards). Note that while Lucent sells both ISA and PCMCIA
|
as WaveLAN II cards). Note that while Lucent sells both ISA and PCMCIA
|
||||||
WaveLAN/IEEE devices, the ISA product is actually a PCMCIA card in an
|
WaveLAN/IEEE devices, the ISA product is actually a PCMCIA card in an
|
||||||
ISA to PCMCIA bridge adapter. Consequently, the
|
ISA to PCMCIA bridge adapter.
|
||||||
|
Consequently, the
|
||||||
.Nm
|
.Nm
|
||||||
driver is required for both the ISA and PCMCIA NICs. Both the original
|
driver is required for both the ISA and PCMCIA NICs.
|
||||||
|
Both the original
|
||||||
2Mbps WaveLAN/IEEE cards and the newer 6Mbps WaveLAN/IEEE Turbo
|
2Mbps WaveLAN/IEEE cards and the newer 6Mbps WaveLAN/IEEE Turbo
|
||||||
adapters are supported.
|
adapters are supported.
|
||||||
.Pp
|
.Pp
|
||||||
The core of the WaveLAN/IEEE is the Lucent Hermes controller. All
|
The core of the WaveLAN/IEEE is the Lucent Hermes controller.
|
||||||
host/device interaction is via programmed I/O with the Hermes. The
|
All
|
||||||
|
host/device interaction is via programmed I/O with the Hermes.
|
||||||
|
The
|
||||||
Hermes supports 802.11 and 802.3 frames, power management, BSS, WDS
|
Hermes supports 802.11 and 802.3 frames, power management, BSS, WDS
|
||||||
and ad-hoc operation modes. The
|
and ad-hoc operation modes.
|
||||||
|
The
|
||||||
.Nm
|
.Nm
|
||||||
driver encapsulates all IP and ARP traffic as 802.11 frames, however
|
driver encapsulates all IP and ARP traffic as 802.11 frames, however
|
||||||
it can receive either 802.11 or 802.3 frames. Transmit speed is
|
it can receive either 802.11 or 802.3 frames.
|
||||||
|
Transmit speed is
|
||||||
selectable between 1Mbps fixed, 2Mbps fixed or 2Mbps with auto fallback.
|
selectable between 1Mbps fixed, 2Mbps fixed or 2Mbps with auto fallback.
|
||||||
For WaveLAN/IEEE Turbo adapters, speeds up to 6Mbps are available.
|
For WaveLAN/IEEE Turbo adapters, speeds up to 6Mbps are available.
|
||||||
.Pp
|
.Pp
|
||||||
By default, the
|
By default, the
|
||||||
.Nm
|
.Nm
|
||||||
driver configures the WaveLAN card for ad-hoc operation. In this mode,
|
driver configures the WaveLAN card for ad-hoc operation.
|
||||||
|
In this mode,
|
||||||
stations can communicate among each other without the aid of an access
|
stations can communicate among each other without the aid of an access
|
||||||
point. To join a service set, the driver must be set for BSS mode using
|
point.
|
||||||
|
To join a service set, the driver must be set for BSS mode using
|
||||||
the
|
the
|
||||||
.Xr wicontrol 8
|
.Xr wicontrol 8
|
||||||
utility.
|
utility.
|
||||||
|
@ -234,7 +234,8 @@ If an option is given with no value, a value of 1
|
|||||||
.Pq activated
|
.Pq activated
|
||||||
is substituted.
|
is substituted.
|
||||||
If an option value is given as 0, this options is
|
If an option value is given as 0, this options is
|
||||||
deactivated. Any other value is substituted by 1, too.
|
deactivated.
|
||||||
|
Any other value is substituted by 1, too.
|
||||||
If an option
|
If an option
|
||||||
is omitted, a built-in default is assumed.
|
is omitted, a built-in default is assumed.
|
||||||
|
|
||||||
@ -303,7 +304,8 @@ Default: off
|
|||||||
.It Em PCVT_EMU_MOUSE
|
.It Em PCVT_EMU_MOUSE
|
||||||
Emulate a three-button mouse via the keypad.
|
Emulate a three-button mouse via the keypad.
|
||||||
Useful for notebooks when
|
Useful for notebooks when
|
||||||
running XFree86. See
|
running XFree86.
|
||||||
|
See
|
||||||
.Sx Mouse emulation
|
.Sx Mouse emulation
|
||||||
below.
|
below.
|
||||||
.br
|
.br
|
||||||
@ -524,7 +526,8 @@ were the mouse emulator device.
|
|||||||
The mouse emulation is turned on by
|
The mouse emulation is turned on by
|
||||||
pressing the
|
pressing the
|
||||||
.Aq Em NumLock
|
.Aq Em NumLock
|
||||||
key. The pointer is moved by the numerical keypad keys, into the
|
key.
|
||||||
|
The pointer is moved by the numerical keypad keys, into the
|
||||||
obvious directions.
|
obvious directions.
|
||||||
The pointer is initially moved in single steps,
|
The pointer is initially moved in single steps,
|
||||||
and is accelerated after an adjustable time
|
and is accelerated after an adjustable time
|
||||||
@ -729,7 +732,8 @@ sets the number of columns for the current screen,
|
|||||||
.El
|
.El
|
||||||
|
|
||||||
its parameter is a pointer to an integer containing either a value of 80,
|
its parameter is a pointer to an integer containing either a value of 80,
|
||||||
or a value of 132. Note that setting the number of columns to 132 is
|
or a value of 132.
|
||||||
|
Note that setting the number of columns to 132 is
|
||||||
only supported on VGA adaptors.
|
only supported on VGA adaptors.
|
||||||
Any unsupported numbers cause the ioctl
|
Any unsupported numbers cause the ioctl
|
||||||
to fail with
|
to fail with
|
||||||
|
@ -178,7 +178,8 @@ operate at close to the same performance levels as an equivalent ISA plug-in
|
|||||||
card.
|
card.
|
||||||
.Pp
|
.Pp
|
||||||
At software level, you may implement the protocol you wish, using data and
|
At software level, you may implement the protocol you wish, using data and
|
||||||
address cycles as you want. This is for the IEEE1284 compatible part.
|
address cycles as you want.
|
||||||
|
This is for the IEEE1284 compatible part.
|
||||||
Then,
|
Then,
|
||||||
peripheral vendors may implement protocol handshake with the following
|
peripheral vendors may implement protocol handshake with the following
|
||||||
status lines: PError, nFault and Select.
|
status lines: PError, nFault and Select.
|
||||||
@ -224,7 +225,8 @@ states.
|
|||||||
.Pp
|
.Pp
|
||||||
At any time, the slave may want to send data to the host.
|
At any time, the slave may want to send data to the host.
|
||||||
This is only
|
This is only
|
||||||
possible from forward idle states (nibble, byte, ecp...). So, the
|
possible from forward idle states (nibble, byte, ecp...).
|
||||||
|
So, the
|
||||||
host must have previously negotiated to permit the peripheral to
|
host must have previously negotiated to permit the peripheral to
|
||||||
request transfer.
|
request transfer.
|
||||||
Interrupt lines may be dedicated to the requesting signals
|
Interrupt lines may be dedicated to the requesting signals
|
||||||
|
@ -207,7 +207,8 @@ DMAing all of it.
|
|||||||
.Pp
|
.Pp
|
||||||
The driver can check for an incomplete frame by inspecting the frame
|
The driver can check for an incomplete frame by inspecting the frame
|
||||||
length in the header preceeding the actual packet data: an incomplete
|
length in the header preceeding the actual packet data: an incomplete
|
||||||
frame will have the magic length of 0xFFF0. When the driver encounters
|
frame will have the magic length of 0xFFF0.
|
||||||
|
When the driver encounters
|
||||||
this value, it knows that it has finished processing all currently
|
this value, it knows that it has finished processing all currently
|
||||||
available packets.
|
available packets.
|
||||||
Neither this magic value nor its significance are
|
Neither this magic value nor its significance are
|
||||||
|
@ -45,27 +45,35 @@ The
|
|||||||
driver provides support for WaveLAN/IEEE PCCARD adapters (also known
|
driver provides support for WaveLAN/IEEE PCCARD adapters (also known
|
||||||
as WaveLAN II cards). Note that while Lucent sells both ISA and PCMCIA
|
as WaveLAN II cards). Note that while Lucent sells both ISA and PCMCIA
|
||||||
WaveLAN/IEEE devices, the ISA product is actually a PCMCIA card in an
|
WaveLAN/IEEE devices, the ISA product is actually a PCMCIA card in an
|
||||||
ISA to PCMCIA bridge adapter. Consequently, the
|
ISA to PCMCIA bridge adapter.
|
||||||
|
Consequently, the
|
||||||
.Nm
|
.Nm
|
||||||
driver is required for both the ISA and PCMCIA NICs. Both the original
|
driver is required for both the ISA and PCMCIA NICs.
|
||||||
|
Both the original
|
||||||
2Mbps WaveLAN/IEEE cards and the newer 6Mbps WaveLAN/IEEE Turbo
|
2Mbps WaveLAN/IEEE cards and the newer 6Mbps WaveLAN/IEEE Turbo
|
||||||
adapters are supported.
|
adapters are supported.
|
||||||
.Pp
|
.Pp
|
||||||
The core of the WaveLAN/IEEE is the Lucent Hermes controller. All
|
The core of the WaveLAN/IEEE is the Lucent Hermes controller.
|
||||||
host/device interaction is via programmed I/O with the Hermes. The
|
All
|
||||||
|
host/device interaction is via programmed I/O with the Hermes.
|
||||||
|
The
|
||||||
Hermes supports 802.11 and 802.3 frames, power management, BSS, WDS
|
Hermes supports 802.11 and 802.3 frames, power management, BSS, WDS
|
||||||
and ad-hoc operation modes. The
|
and ad-hoc operation modes.
|
||||||
|
The
|
||||||
.Nm
|
.Nm
|
||||||
driver encapsulates all IP and ARP traffic as 802.11 frames, however
|
driver encapsulates all IP and ARP traffic as 802.11 frames, however
|
||||||
it can receive either 802.11 or 802.3 frames. Transmit speed is
|
it can receive either 802.11 or 802.3 frames.
|
||||||
|
Transmit speed is
|
||||||
selectable between 1Mbps fixed, 2Mbps fixed or 2Mbps with auto fallback.
|
selectable between 1Mbps fixed, 2Mbps fixed or 2Mbps with auto fallback.
|
||||||
For WaveLAN/IEEE Turbo adapters, speeds up to 6Mbps are available.
|
For WaveLAN/IEEE Turbo adapters, speeds up to 6Mbps are available.
|
||||||
.Pp
|
.Pp
|
||||||
By default, the
|
By default, the
|
||||||
.Nm
|
.Nm
|
||||||
driver configures the WaveLAN card for ad-hoc operation. In this mode,
|
driver configures the WaveLAN card for ad-hoc operation.
|
||||||
|
In this mode,
|
||||||
stations can communicate among each other without the aid of an access
|
stations can communicate among each other without the aid of an access
|
||||||
point. To join a service set, the driver must be set for BSS mode using
|
point.
|
||||||
|
To join a service set, the driver must be set for BSS mode using
|
||||||
the
|
the
|
||||||
.Xr wicontrol 8
|
.Xr wicontrol 8
|
||||||
utility.
|
utility.
|
||||||
|
@ -45,7 +45,8 @@ The
|
|||||||
.Nm
|
.Nm
|
||||||
driver provides support for PCI ethernet adapters and embedded
|
driver provides support for PCI ethernet adapters and embedded
|
||||||
controllers based on the 3Com "boomerang" and "cyclone" bus-master
|
controllers based on the 3Com "boomerang" and "cyclone" bus-master
|
||||||
Etherlink XL chips. This includes the 3c900-TP, 3c900-COMBO, 3c905-TX,
|
Etherlink XL chips.
|
||||||
|
This includes the 3c900-TP, 3c900-COMBO, 3c905-TX,
|
||||||
3c905-T4, 3c905B-TP, 3c905B-T4 and 3c905B-TX, and embedded 3c905-TX
|
3c905-T4, 3c905B-TP, 3c905B-T4 and 3c905B-TX, and embedded 3c905-TX
|
||||||
and 3c905B-TX ethernet hardware in certain Dell Optiplex and Dell
|
and 3c905B-TX ethernet hardware in certain Dell Optiplex and Dell
|
||||||
Precision desktop machines, and certain Dell Latitude laptop docking
|
Precision desktop machines, and certain Dell Latitude laptop docking
|
||||||
@ -53,10 +54,12 @@ stations.
|
|||||||
.Pp
|
.Pp
|
||||||
The Etherlink XL chips support built-in 10baseT, 10base2 and 10base5
|
The Etherlink XL chips support built-in 10baseT, 10base2 and 10base5
|
||||||
transceivers as well as an MII bus for externally attached PHY
|
transceivers as well as an MII bus for externally attached PHY
|
||||||
transceivers. The 3c905 series typically uses a National Semiconductor
|
transceivers.
|
||||||
|
The 3c905 series typically uses a National Semiconductor
|
||||||
NS 83840A 10/100 PHY for 10/100 Mbps support in full or half-duplex.
|
NS 83840A 10/100 PHY for 10/100 Mbps support in full or half-duplex.
|
||||||
The 3c905B adapters have built-in autonegotiation logic mapped onto
|
The 3c905B adapters have built-in autonegotiation logic mapped onto
|
||||||
the MII for compatibility with previous drivers. Fast Etherlink XL
|
the MII for compatibility with previous drivers.
|
||||||
|
Fast Etherlink XL
|
||||||
adapters such as the 3c905-TX and 3c905B-TX are capable of 10 or
|
adapters such as the 3c905-TX and 3c905B-TX are capable of 10 or
|
||||||
100Mbps data rates in either full or half duplex and can be manually
|
100Mbps data rates in either full or half duplex and can be manually
|
||||||
configured for any supported mode or automatically negotiate the highest
|
configured for any supported mode or automatically negotiate the highest
|
||||||
@ -68,22 +71,27 @@ driver supports the following media types:
|
|||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
|
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
|
||||||
.It autoselect
|
.It autoselect
|
||||||
Enable autoselection of the media type and options. Note that this
|
Enable autoselection of the media type and options.
|
||||||
|
Note that this
|
||||||
option is only available with the 3c905 and 3c905B adapters with
|
option is only available with the 3c905 and 3c905B adapters with
|
||||||
external PHYs or built-in autonegotiation logic. For 3c900 adapters,
|
external PHYs or built-in autonegotiation logic.
|
||||||
the driver will choose the mode specified in the EEPROM. The user can
|
For 3c900 adapters,
|
||||||
|
the driver will choose the mode specified in the EEPROM.
|
||||||
|
The user can
|
||||||
change this by adding media options to the
|
change this by adding media options to the
|
||||||
.Pa /etc/rc.conf
|
.Pa /etc/rc.conf
|
||||||
file.
|
file.
|
||||||
.It 10baseT/UTP
|
.It 10baseT/UTP
|
||||||
Set 10Mbps operation. The
|
Set 10Mbps operation.
|
||||||
|
The
|
||||||
.Ar mediaopt
|
.Ar mediaopt
|
||||||
option can also be used to select either
|
option can also be used to select either
|
||||||
.Ar full-duplex
|
.Ar full-duplex
|
||||||
or
|
or
|
||||||
.Ar half-duplex modes.
|
.Ar half-duplex modes.
|
||||||
.It 100baseTX
|
.It 100baseTX
|
||||||
Set 100Mbps (fast ethernet) operation. The
|
Set 100Mbps (fast ethernet) operation.
|
||||||
|
The
|
||||||
.Ar mediaopt
|
.Ar mediaopt
|
||||||
option can abso be used to select either
|
option can abso be used to select either
|
||||||
.Ar full-duplex
|
.Ar full-duplex
|
||||||
@ -127,39 +135,50 @@ allocating a pad buffer or collapsing an mbuf chain into a cluster.
|
|||||||
.It "xl%d: command never completed!"
|
.It "xl%d: command never completed!"
|
||||||
Some commands issued to the 3c90x ASIC take time to complete: the
|
Some commands issued to the 3c90x ASIC take time to complete: the
|
||||||
driver is supposed to wait until the 'command in progress' bit in
|
driver is supposed to wait until the 'command in progress' bit in
|
||||||
the status register clears before continuing. In rare instances, this
|
the status register clears before continuing.
|
||||||
bit may not clear. To avoid getting caught in an infinite wait loop,
|
In rare instances, this
|
||||||
|
bit may not clear.
|
||||||
|
To avoid getting caught in an infinite wait loop,
|
||||||
the driver only polls the bit for a finite number of times before
|
the driver only polls the bit for a finite number of times before
|
||||||
giving up, at which point it issues this message. This message may
|
giving up, at which point it issues this message.
|
||||||
be printed during driver initialization on slower machines. If you
|
This message may
|
||||||
|
be printed during driver initialization on slower machines.
|
||||||
|
If you
|
||||||
see this message but the driver continues to function normally, the
|
see this message but the driver continues to function normally, the
|
||||||
message can probably be ignored.
|
message can probably be ignored.
|
||||||
.It "xl%d: chip is in D3 power state -- setting to D0"
|
.It "xl%d: chip is in D3 power state -- setting to D0"
|
||||||
This message applies only to 3c905B adapters, which support power
|
This message applies only to 3c905B adapters, which support power
|
||||||
management. Some operating systems place the 3c905B in low power
|
management.
|
||||||
|
Some operating systems place the 3c905B in low power
|
||||||
mode when shutting down, and some PCI BIOSes fail to bring the chip
|
mode when shutting down, and some PCI BIOSes fail to bring the chip
|
||||||
out of this state before configuring it. The 3c905B loses all of
|
out of this state before configuring it.
|
||||||
|
The 3c905B loses all of
|
||||||
its PCI configuration in the D3 state, so if the BIOS does not set
|
its PCI configuration in the D3 state, so if the BIOS does not set
|
||||||
it back to full power mode in time, it won't be able to configure it
|
it back to full power mode in time, it won't be able to configure it
|
||||||
correctly. The driver tries to detect this condition and bring
|
correctly.
|
||||||
|
The driver tries to detect this condition and bring
|
||||||
the adapter back to the D0 (full power) state, but this may not be
|
the adapter back to the D0 (full power) state, but this may not be
|
||||||
enough to return the driver to a fully operational condition. If
|
enough to return the driver to a fully operational condition.
|
||||||
|
If
|
||||||
you see this message at boot time and the driver fails to attach
|
you see this message at boot time and the driver fails to attach
|
||||||
the device as a network interface, you will have to perform second
|
the device as a network interface, you will have to perform second
|
||||||
warm boot to have the device properly configured.
|
warm boot to have the device properly configured.
|
||||||
.Pp
|
.Pp
|
||||||
Note that this condition only occurs when warm booting from another
|
Note that this condition only occurs when warm booting from another
|
||||||
operating system. If you power down your system prior to booting
|
operating system.
|
||||||
|
If you power down your system prior to booting
|
||||||
.Fx ,
|
.Fx ,
|
||||||
the card should be configured correctly.
|
the card should be configured correctly.
|
||||||
.It "xl%d: WARNING: no media options bits set in the media options register!"
|
.It "xl%d: WARNING: no media options bits set in the media options register!"
|
||||||
This warning may appear when using the driver on some Dell Latitude
|
This warning may appear when using the driver on some Dell Latitude
|
||||||
docking stations with built-in 3c905-TX adapters. For whatever the
|
docking stations with built-in 3c905-TX adapters.
|
||||||
|
For whatever the
|
||||||
reason, the 'MII available' bit in the media options register on
|
reason, the 'MII available' bit in the media options register on
|
||||||
this particular equipment is not set, even though it should be (the
|
this particular equipment is not set, even though it should be (the
|
||||||
3c905-TX always uses an external PHY transceiver). The driver will
|
3c905-TX always uses an external PHY transceiver). The driver will
|
||||||
attempt to guess the proper media type based on the PCI device ID
|
attempt to guess the proper media type based on the PCI device ID
|
||||||
word. The driver makes a lot of noise about this condition because
|
word.
|
||||||
|
The driver makes a lot of noise about this condition because
|
||||||
the author considers it a manufacturing defect.
|
the author considers it a manufacturing defect.
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
|
@ -88,7 +88,8 @@ is an
|
|||||||
client/server system that allows a group of
|
client/server system that allows a group of
|
||||||
machines within an
|
machines within an
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
domain to share a common set of configuration files. This permits a system
|
domain to share a common set of configuration files.
|
||||||
|
This permits a system
|
||||||
administrator to set up
|
administrator to set up
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
client systems with only minimal configuration
|
client systems with only minimal configuration
|
||||||
@ -109,11 +110,13 @@ where
|
|||||||
.Pa [domainname]
|
.Pa [domainname]
|
||||||
is the name of the
|
is the name of the
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
domain being served. A single
|
domain being served.
|
||||||
|
A single
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
server can
|
server can
|
||||||
support several domains at once, therefore it is possible to have several
|
support several domains at once, therefore it is possible to have several
|
||||||
such directories, one for each supported domain. Each domain will have
|
such directories, one for each supported domain.
|
||||||
|
Each domain will have
|
||||||
its own independent set of maps.
|
its own independent set of maps.
|
||||||
.Pp
|
.Pp
|
||||||
In
|
In
|
||||||
@ -137,8 +140,10 @@ into
|
|||||||
and
|
and
|
||||||
.Em .pag
|
.Em .pag
|
||||||
files which the ndbm code uses to hold separate parts of the hash
|
files which the ndbm code uses to hold separate parts of the hash
|
||||||
database. The Berkeley DB hash method instead uses a single file for
|
database.
|
||||||
both pieces of information. This means that while you may have
|
The Berkeley DB hash method instead uses a single file for
|
||||||
|
both pieces of information.
|
||||||
|
This means that while you may have
|
||||||
.Pa passwd.byname.dir
|
.Pa passwd.byname.dir
|
||||||
and
|
and
|
||||||
.Pa passwd.byname.pag
|
.Pa passwd.byname.pag
|
||||||
@ -153,7 +158,8 @@ server,
|
|||||||
.Xr ypserv 8 ,
|
.Xr ypserv 8 ,
|
||||||
and related tools need to know the database format of the
|
and related tools need to know the database format of the
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
maps. Client
|
maps.
|
||||||
|
Client
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
systems receive all
|
systems receive all
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
@ -200,20 +206,24 @@ command) and begins broadcasting
|
|||||||
requests on the local network.
|
requests on the local network.
|
||||||
These requests specify the name of the domain for which
|
These requests specify the name of the domain for which
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
is attempting to establish a binding. If a server that has been
|
is attempting to establish a binding.
|
||||||
|
If a server that has been
|
||||||
configured to serve the requested domain receives one of the broadcasts,
|
configured to serve the requested domain receives one of the broadcasts,
|
||||||
it will respond to
|
it will respond to
|
||||||
.Xr ypbind 8 ,
|
.Xr ypbind 8 ,
|
||||||
which will record the server's address. If there are several servers
|
which will record the server's address.
|
||||||
|
If there are several servers
|
||||||
available (a master and several slaves, for example),
|
available (a master and several slaves, for example),
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
will use the address of the first one to respond. From that point
|
will use the address of the first one to respond.
|
||||||
|
From that point
|
||||||
on, the client system will direct all of its
|
on, the client system will direct all of its
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
requests to that server.
|
requests to that server.
|
||||||
.Xr Ypbind 8
|
.Xr Ypbind 8
|
||||||
will occasionally ``ping'' the server to make sure it's still up
|
will occasionally ``ping'' the server to make sure it's still up
|
||||||
and running. If it fails to receive a reply to one of its pings
|
and running.
|
||||||
|
If it fails to receive a reply to one of its pings
|
||||||
within a reasonable amount of time,
|
within a reasonable amount of time,
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
will mark the domain as unbound and begin broadcasting again in the
|
will mark the domain as unbound and begin broadcasting again in the
|
||||||
@ -231,7 +241,8 @@ is responsible for receiving incoming requests from
|
|||||||
clients,
|
clients,
|
||||||
translating the requested domain and map name to a path to the
|
translating the requested domain and map name to a path to the
|
||||||
corresponding database file and transmitting data from the database
|
corresponding database file and transmitting data from the database
|
||||||
back to the client. There is a specific set of requests that
|
back to the client.
|
||||||
|
There is a specific set of requests that
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
is designed to handle, most of which are implemented as functions
|
is designed to handle, most of which are implemented as functions
|
||||||
within the standard C library:
|
within the standard C library:
|
||||||
@ -280,11 +291,13 @@ and are not meant to be used by standard utilities.
|
|||||||
.Pp
|
.Pp
|
||||||
On networks with a large number of hosts, it is often a good idea to
|
On networks with a large number of hosts, it is often a good idea to
|
||||||
use a master server and several slaves rather than just a single master
|
use a master server and several slaves rather than just a single master
|
||||||
server. A slave server provides the exact same information as a master
|
server.
|
||||||
|
A slave server provides the exact same information as a master
|
||||||
server: whenever the maps on the master server are updated, the new
|
server: whenever the maps on the master server are updated, the new
|
||||||
data should be propagated to the slave systems using the
|
data should be propagated to the slave systems using the
|
||||||
.Xr yppush 8
|
.Xr yppush 8
|
||||||
command. The
|
command.
|
||||||
|
The
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
Makefile
|
Makefile
|
||||||
.Pf ( Pa /var/yp/Makefile )
|
.Pf ( Pa /var/yp/Makefile )
|
||||||
@ -305,8 +318,10 @@ master server using
|
|||||||
automatically from within
|
automatically from within
|
||||||
.Xr ypserv 8 ;
|
.Xr ypserv 8 ;
|
||||||
therefore it is not usually necessary for the administrator
|
therefore it is not usually necessary for the administrator
|
||||||
to use it directly. It can be run manually if
|
to use it directly.
|
||||||
desired, however.) Maintaining
|
It can be run manually if
|
||||||
|
desired, however.)
|
||||||
|
Maintaining
|
||||||
slave servers helps improve
|
slave servers helps improve
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
performance on large
|
performance on large
|
||||||
@ -328,11 +343,13 @@ domain to extend beyond
|
|||||||
a local network (the
|
a local network (the
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
daemon might not be able to locate a server automatically if it resides on
|
daemon might not be able to locate a server automatically if it resides on
|
||||||
a network outside the reach of its broadcasts. It is possible to force
|
a network outside the reach of its broadcasts.
|
||||||
|
It is possible to force
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
to bind to a particular server with
|
to bind to a particular server with
|
||||||
.Xr ypset 8
|
.Xr ypset 8
|
||||||
but this is sometimes inconvenient. This problem can be avoided simply by
|
but this is sometimes inconvenient.
|
||||||
|
This problem can be avoided simply by
|
||||||
placing a slave server on the local network.)
|
placing a slave server on the local network.)
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
@ -345,7 +362,8 @@ other
|
|||||||
implementations) when used exclusively with
|
implementations) when used exclusively with
|
||||||
.Bx Free
|
.Bx Free
|
||||||
client
|
client
|
||||||
systems. The
|
systems.
|
||||||
|
The
|
||||||
.Bx Free
|
.Bx Free
|
||||||
password database system (which is derived directly
|
password database system (which is derived directly
|
||||||
from
|
from
|
||||||
@ -373,8 +391,10 @@ in a special way: the server will only provide access to these
|
|||||||
maps in response to requests that originate on privileged ports.
|
maps in response to requests that originate on privileged ports.
|
||||||
Since only the super-user is allowed to bind to a privileged port,
|
Since only the super-user is allowed to bind to a privileged port,
|
||||||
the server assumes that all such requests come from privileged
|
the server assumes that all such requests come from privileged
|
||||||
users. All other requests are denied: requests from non-privileged
|
users.
|
||||||
ports will receive only an error code from the server. Additionally,
|
All other requests are denied: requests from non-privileged
|
||||||
|
ports will receive only an error code from the server.
|
||||||
|
Additionally,
|
||||||
.Bx Free Ns 's
|
.Bx Free Ns 's
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
includes support for Wietse Venema's tcp wrapper package; with tcp
|
includes support for Wietse Venema's tcp wrapper package; with tcp
|
||||||
@ -384,7 +404,8 @@ to respond only to selected client machines.
|
|||||||
.Pp
|
.Pp
|
||||||
While these enhancements provide better security than stock
|
While these enhancements provide better security than stock
|
||||||
.Tn NIS Ns ,
|
.Tn NIS Ns ,
|
||||||
they are by no means 100% effective. It is still possible for
|
they are by no means 100% effective.
|
||||||
|
It is still possible for
|
||||||
someone with access to your network to spoof the server into disclosing
|
someone with access to your network to spoof the server into disclosing
|
||||||
the shadow password maps.
|
the shadow password maps.
|
||||||
.Pp
|
.Pp
|
||||||
@ -393,9 +414,11 @@ On the client side,
|
|||||||
.Fn getpwent 3
|
.Fn getpwent 3
|
||||||
functions will automatically search for the
|
functions will automatically search for the
|
||||||
.Pa master.passwd
|
.Pa master.passwd
|
||||||
maps and use them if they exist. If they do, they will be used, and
|
maps and use them if they exist.
|
||||||
|
If they do, they will be used, and
|
||||||
all fields in these special maps (class, password age and account
|
all fields in these special maps (class, password age and account
|
||||||
expiration) will be decoded. If they aren't found, the standard
|
expiration) will be decoded.
|
||||||
|
If they aren't found, the standard
|
||||||
.Pa passwd
|
.Pa passwd
|
||||||
maps will be used instead.
|
maps will be used instead.
|
||||||
.Sh COMPATIBILITY
|
.Sh COMPATIBILITY
|
||||||
@ -405,7 +428,8 @@ to be running in order
|
|||||||
for their hostname resolution functions (
|
for their hostname resolution functions (
|
||||||
.Fn gethostbyname ,
|
.Fn gethostbyname ,
|
||||||
.Fn gethostbyaddr ,
|
.Fn gethostbyaddr ,
|
||||||
etc) to work properly. On these systems,
|
etc) to work properly.
|
||||||
|
On these systems,
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
performs
|
performs
|
||||||
.Tn DNS
|
.Tn DNS
|
||||||
@ -425,12 +449,14 @@ if desired), therefore its
|
|||||||
server doesn't do
|
server doesn't do
|
||||||
.Tn DNS
|
.Tn DNS
|
||||||
lookups
|
lookups
|
||||||
by default. However,
|
by default.
|
||||||
|
However,
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
can be made to perform
|
can be made to perform
|
||||||
.Tn DNS
|
.Tn DNS
|
||||||
lookups if it is started with a special
|
lookups if it is started with a special
|
||||||
flag. It can also be made to register itself as an
|
flag.
|
||||||
|
It can also be made to register itself as an
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
v1 server
|
v1 server
|
||||||
in order to placate certain systems that insist on the presence of
|
in order to placate certain systems that insist on the presence of
|
||||||
@ -463,7 +489,8 @@ client and server capabilities, it does not yet have support for
|
|||||||
.Xr ypupdated 8
|
.Xr ypupdated 8
|
||||||
or the
|
or the
|
||||||
.Fn yp_update
|
.Fn yp_update
|
||||||
function. Both of these require secure
|
function.
|
||||||
|
Both of these require secure
|
||||||
.Tn RPC Ns ,
|
.Tn RPC Ns ,
|
||||||
which
|
which
|
||||||
.Bx Free
|
.Bx Free
|
||||||
@ -476,7 +503,8 @@ and
|
|||||||
.Xr getprotoent 3
|
.Xr getprotoent 3
|
||||||
functions do not yet have
|
functions do not yet have
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
support. Fortunately, these files
|
support.
|
||||||
|
Fortunately, these files
|
||||||
don't need to be updated that often.
|
don't need to be updated that often.
|
||||||
.Pp
|
.Pp
|
||||||
Many more manual pages should be written, especially
|
Many more manual pages should be written, especially
|
||||||
@ -492,7 +520,8 @@ The
|
|||||||
.Nm YP
|
.Nm YP
|
||||||
subsystem was written from the ground up by
|
subsystem was written from the ground up by
|
||||||
.An Theo de Raadt
|
.An Theo de Raadt
|
||||||
to be compatible to Sun's implementation. Bug fixes, improvements
|
to be compatible to Sun's implementation.
|
||||||
|
Bug fixes, improvements
|
||||||
and
|
and
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
server support were later added by
|
server support were later added by
|
||||||
@ -501,5 +530,6 @@ The server-side code was originally written by
|
|||||||
.An Peter Eriksson
|
.An Peter Eriksson
|
||||||
and
|
and
|
||||||
.An Tobias Reber
|
.An Tobias Reber
|
||||||
and is subject to the GNU Public License. No Sun code was
|
and is subject to the GNU Public License.
|
||||||
|
No Sun code was
|
||||||
referenced.
|
referenced.
|
||||||
|
@ -35,21 +35,25 @@
|
|||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
The header file
|
The header file
|
||||||
.Aq Pa elf.h
|
.Aq Pa elf.h
|
||||||
defines the format of ELF executable binary files. Amongst these files are
|
defines the format of ELF executable binary files.
|
||||||
|
Amongst these files are
|
||||||
normal executable files, relocatable object files, core files and shared
|
normal executable files, relocatable object files, core files and shared
|
||||||
libraries.
|
libraries.
|
||||||
.Pp
|
.Pp
|
||||||
An executable file using the ELF file format consists of an ELF header,
|
An executable file using the ELF file format consists of an ELF header,
|
||||||
followed by a program header table or a section header table, or both.
|
followed by a program header table or a section header table, or both.
|
||||||
The ELF header is always at offset zero of the file. The program header
|
The ELF header is always at offset zero of the file.
|
||||||
|
The program header
|
||||||
table and the section header table's offset in the file are defined in the
|
table and the section header table's offset in the file are defined in the
|
||||||
ELF header. The two tables describe the rest of the particularities of
|
ELF header.
|
||||||
|
The two tables describe the rest of the particularities of
|
||||||
the file.
|
the file.
|
||||||
.Pp
|
.Pp
|
||||||
Applications which wish to process ELF binary files for their native
|
Applications which wish to process ELF binary files for their native
|
||||||
architecture only should include
|
architecture only should include
|
||||||
.Pa sys/elf.h
|
.Pa sys/elf.h
|
||||||
in their source code. These applications should need to refer to
|
in their source code.
|
||||||
|
These applications should need to refer to
|
||||||
all the types and structures by their generic names
|
all the types and structures by their generic names
|
||||||
.Dq Elf_xxx
|
.Dq Elf_xxx
|
||||||
and to the macros by
|
and to the macros by
|
||||||
@ -105,7 +109,8 @@ Elf64_Quarter Unsigned quarterword field
|
|||||||
.Pp
|
.Pp
|
||||||
All data structures that the file format defines follow the
|
All data structures that the file format defines follow the
|
||||||
.Dq natural
|
.Dq natural
|
||||||
size and alignment guidelines for the relevant class. If necessary,
|
size and alignment guidelines for the relevant class.
|
||||||
|
If necessary,
|
||||||
data structures contain explicit padding to ensure 4-byte alignment
|
data structures contain explicit padding to ensure 4-byte alignment
|
||||||
for 4-byte objects, to force structure sizes to a multiple of 4, etc.
|
for 4-byte objects, to force structure sizes to a multiple of 4, etc.
|
||||||
.Pp
|
.Pp
|
||||||
@ -163,16 +168,20 @@ The following macros are defined:
|
|||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "EI_VERSION" -compact
|
.Bl -tag -width "EI_VERSION" -compact
|
||||||
.It Dv EI_MAG0
|
.It Dv EI_MAG0
|
||||||
The first byte of the magic number. It must be filled with
|
The first byte of the magic number.
|
||||||
|
It must be filled with
|
||||||
.Sy ELFMAG0 .
|
.Sy ELFMAG0 .
|
||||||
.It Dv EI_MAG1
|
.It Dv EI_MAG1
|
||||||
The second byte of the magic number. It must be filled with
|
The second byte of the magic number.
|
||||||
|
It must be filled with
|
||||||
.Sy ELFMAG1 .
|
.Sy ELFMAG1 .
|
||||||
.It Dv EI_MAG2
|
.It Dv EI_MAG2
|
||||||
The third byte of the magic number. It must be filled with
|
The third byte of the magic number.
|
||||||
|
It must be filled with
|
||||||
.Sy ELFMAG2 .
|
.Sy ELFMAG2 .
|
||||||
.It Dv EI_MAG3
|
.It Dv EI_MAG3
|
||||||
The fourth byte of the magic number. It must be filled with
|
The fourth byte of the magic number.
|
||||||
|
It must be filled with
|
||||||
.Sy ELFMAG3 .
|
.Sy ELFMAG3 .
|
||||||
.It Dv EI_CLASS
|
.It Dv EI_CLASS
|
||||||
The fifth byte identifies the architecture for this binary:
|
The fifth byte identifies the architecture for this binary:
|
||||||
@ -181,14 +190,16 @@ The fifth byte identifies the architecture for this binary:
|
|||||||
.It Dv ELFCLASSNONE
|
.It Dv ELFCLASSNONE
|
||||||
This class is invalid.
|
This class is invalid.
|
||||||
.It Dv ELFCLASS32
|
.It Dv ELFCLASS32
|
||||||
This defines the 32-bit architecture. It supports machines with files
|
This defines the 32-bit architecture.
|
||||||
|
It supports machines with files
|
||||||
and virtual address spaces up to 4 Gigabytes.
|
and virtual address spaces up to 4 Gigabytes.
|
||||||
.It Dv ELFCLASS64
|
.It Dv ELFCLASS64
|
||||||
This defines the 64-bit architecture.
|
This defines the 64-bit architecture.
|
||||||
.El
|
.El
|
||||||
.It Dv EI_DATA
|
.It Dv EI_DATA
|
||||||
The sixth byte specifies the data encoding of the processor-specific
|
The sixth byte specifies the data encoding of the processor-specific
|
||||||
data in the file. Currently these encodings are supported:
|
data in the file.
|
||||||
|
Currently these encodings are supported:
|
||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "ELFDATA2LSB" -compact
|
.Bl -tag -width "ELFDATA2LSB" -compact
|
||||||
.It Dv ELFDATANONE
|
.It Dv ELFDATANONE
|
||||||
@ -208,8 +219,11 @@ Invalid version.
|
|||||||
Current version.
|
Current version.
|
||||||
.El
|
.El
|
||||||
.It Dv EI_PAD
|
.It Dv EI_PAD
|
||||||
Start of padding. These bytes are reserved and set to zero. Programs
|
Start of padding.
|
||||||
which read them should ignore them. The value for EI_PAD will change in
|
These bytes are reserved and set to zero.
|
||||||
|
Programs
|
||||||
|
which read them should ignore them.
|
||||||
|
The value for EI_PAD will change in
|
||||||
the future if currently unused bytes are given meanings.
|
the future if currently unused bytes are given meanings.
|
||||||
.It Dv EI_BRAND
|
.It Dv EI_BRAND
|
||||||
Start of architecture identification.
|
Start of architecture identification.
|
||||||
@ -278,16 +292,20 @@ Current version
|
|||||||
.El
|
.El
|
||||||
.It Dv e_entry
|
.It Dv e_entry
|
||||||
This member gives the virtual address to which the system first transfers
|
This member gives the virtual address to which the system first transfers
|
||||||
control, thus starting the process. If the file has no associated entry
|
control, thus starting the process.
|
||||||
|
If the file has no associated entry
|
||||||
point, this member holds zero.
|
point, this member holds zero.
|
||||||
.It Dv e_phoff
|
.It Dv e_phoff
|
||||||
This member holds the program header table's file offset in bytes. If
|
This member holds the program header table's file offset in bytes.
|
||||||
|
If
|
||||||
the file has no program header table, this member holds zero.
|
the file has no program header table, this member holds zero.
|
||||||
.It Dv e_shoff
|
.It Dv e_shoff
|
||||||
This member holds the section header table's file offset in bytes. If the
|
This member holds the section header table's file offset in bytes.
|
||||||
|
If the
|
||||||
file has no section header table this member holds zero.
|
file has no section header table this member holds zero.
|
||||||
.It Dv e_flags
|
.It Dv e_flags
|
||||||
This member holds processor-specific flags associated with the file. Flag
|
This member holds processor-specific flags associated with the file.
|
||||||
|
Flag
|
||||||
names take the form EF_`machine_flag'. Currently no flags have been defined.
|
names take the form EF_`machine_flag'. Currently no flags have been defined.
|
||||||
.It Dv e_ehsize
|
.It Dv e_ehsize
|
||||||
This member holds the ELF header's size in bytes.
|
This member holds the ELF header's size in bytes.
|
||||||
@ -296,37 +314,44 @@ This member holds the size in bytes of one entry in the file's program header
|
|||||||
table; all entries are the same size.
|
table; all entries are the same size.
|
||||||
.It Dv e_phnum
|
.It Dv e_phnum
|
||||||
This member holds the number of entries in the program header
|
This member holds the number of entries in the program header
|
||||||
table. Thus the product of
|
table.
|
||||||
|
Thus the product of
|
||||||
.Sy e_phentsize
|
.Sy e_phentsize
|
||||||
and
|
and
|
||||||
.Sy e_phnum
|
.Sy e_phnum
|
||||||
gives the table's size
|
gives the table's size
|
||||||
in bytes. If a file has no program header,
|
in bytes.
|
||||||
|
If a file has no program header,
|
||||||
.Sy e_phnum
|
.Sy e_phnum
|
||||||
holds the value zero.
|
holds the value zero.
|
||||||
.It Dv e_shentsize
|
.It Dv e_shentsize
|
||||||
This member holds a sections header's size in bytes. A section header is one
|
This member holds a sections header's size in bytes.
|
||||||
|
A section header is one
|
||||||
entry in the section header table; all entries are the same size.
|
entry in the section header table; all entries are the same size.
|
||||||
.It Dv e_shnum
|
.It Dv e_shnum
|
||||||
This member holds the number of entries in the section header table. Thus
|
This member holds the number of entries in the section header table.
|
||||||
|
Thus
|
||||||
the product of
|
the product of
|
||||||
.Sy e_shentsize
|
.Sy e_shentsize
|
||||||
and
|
and
|
||||||
.Sy e_shnum
|
.Sy e_shnum
|
||||||
gives the section header table's size in bytes. If a file has no section
|
gives the section header table's size in bytes.
|
||||||
|
If a file has no section
|
||||||
header table,
|
header table,
|
||||||
.Sy e_shnum
|
.Sy e_shnum
|
||||||
holds the value of zero.
|
holds the value of zero.
|
||||||
.It Dv e_shstrndx
|
.It Dv e_shstrndx
|
||||||
This member holds the section header table index of the entry associated
|
This member holds the section header table index of the entry associated
|
||||||
with the section name string table. If the file has no section name string
|
with the section name string table.
|
||||||
|
If the file has no section name string
|
||||||
table, this member holds the value
|
table, this member holds the value
|
||||||
.Sy SHN_UNDEF .
|
.Sy SHN_UNDEF .
|
||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "SHN_LORESERVE" -compact
|
.Bl -tag -width "SHN_LORESERVE" -compact
|
||||||
.It Dv SHN_UNDEF
|
.It Dv SHN_UNDEF
|
||||||
This value marks an undefined, missing, irrelevant, or otherwise meaningless
|
This value marks an undefined, missing, irrelevant, or otherwise meaningless
|
||||||
section reference. For example, a symbol
|
section reference.
|
||||||
|
For example, a symbol
|
||||||
.Dq defined
|
.Dq defined
|
||||||
relative to section number
|
relative to section number
|
||||||
.Sy SHN_UNDEF
|
.Sy SHN_UNDEF
|
||||||
@ -342,7 +367,8 @@ This value down to and including
|
|||||||
.Sy SHN_LOPROC
|
.Sy SHN_LOPROC
|
||||||
are reserved for processor-specific semantics.
|
are reserved for processor-specific semantics.
|
||||||
.It Dv SHN_ABS
|
.It Dv SHN_ABS
|
||||||
This value specifies absolute values for the corresponding reference. For
|
This value specifies absolute values for the corresponding reference.
|
||||||
|
For
|
||||||
example, symbols defined relative to section number
|
example, symbols defined relative to section number
|
||||||
.Sy SHN_ABS
|
.Sy SHN_ABS
|
||||||
have absolute values and are not affected by relocation.
|
have absolute values and are not affected by relocation.
|
||||||
@ -356,7 +382,8 @@ indices between
|
|||||||
and
|
and
|
||||||
.Sy SHN_HIRESERVE ,
|
.Sy SHN_HIRESERVE ,
|
||||||
inclusive; the values do
|
inclusive; the values do
|
||||||
not reference the section header table. That is, the section header table
|
not reference the section header table.
|
||||||
|
That is, the section header table
|
||||||
does
|
does
|
||||||
.Em not
|
.Em not
|
||||||
contain entries for the reserved indices.
|
contain entries for the reserved indices.
|
||||||
@ -365,7 +392,8 @@ contain entries for the reserved indices.
|
|||||||
.Pp
|
.Pp
|
||||||
An executable or shared object file's program header table is an array of
|
An executable or shared object file's program header table is an array of
|
||||||
structures, each describing a segment or other information the system needs
|
structures, each describing a segment or other information the system needs
|
||||||
to prepare the program for execution. An object file
|
to prepare the program for execution.
|
||||||
|
An object file
|
||||||
.Em segment
|
.Em segment
|
||||||
contains one or more
|
contains one or more
|
||||||
.Em sections .
|
.Em sections .
|
||||||
@ -374,7 +402,8 @@ A file specifies its own program header size with the ELF header's
|
|||||||
.Sy e_phentsize
|
.Sy e_phentsize
|
||||||
and
|
and
|
||||||
.Sy e_phnum
|
.Sy e_phnum
|
||||||
members. As with the Elf executable header, the program header
|
members.
|
||||||
|
As with the Elf executable header, the program header
|
||||||
also has different versions depending on the architecture:
|
also has different versions depending on the architecture:
|
||||||
.Pp
|
.Pp
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
@ -423,7 +452,8 @@ The array element specifies a loadable segment, described by
|
|||||||
and
|
and
|
||||||
.Sy p_memsz .
|
.Sy p_memsz .
|
||||||
The bytes from the file are mapped to the beginning of the memory
|
The bytes from the file are mapped to the beginning of the memory
|
||||||
segment. If the segment's memory size (
|
segment.
|
||||||
|
If the segment's memory size (
|
||||||
.Sy p_memsz
|
.Sy p_memsz
|
||||||
) is larger than the file
|
) is larger than the file
|
||||||
size (
|
size (
|
||||||
@ -431,7 +461,8 @@ size (
|
|||||||
), the
|
), the
|
||||||
.Dq extra
|
.Dq extra
|
||||||
bytes are defined to hold the value 0 and to follow the segment's
|
bytes are defined to hold the value 0 and to follow the segment's
|
||||||
initialized area. The file size may not be larger than the memory size.
|
initialized area.
|
||||||
|
The file size may not be larger than the memory size.
|
||||||
Loadable segment entries in the program header table appear in ascending
|
Loadable segment entries in the program header table appear in ascending
|
||||||
order, sorted on the
|
order, sorted on the
|
||||||
.Sy p_vaddr
|
.Sy p_vaddr
|
||||||
@ -440,21 +471,26 @@ member.
|
|||||||
The array element specifies dynamic linking information.
|
The array element specifies dynamic linking information.
|
||||||
.It Dv PT_INTERP
|
.It Dv PT_INTERP
|
||||||
The array element specifies the location and size of a null-terminated
|
The array element specifies the location and size of a null-terminated
|
||||||
path name to invoke as an interpreter. This segment type is meaningful
|
path name to invoke as an interpreter.
|
||||||
|
This segment type is meaningful
|
||||||
only for executable files (though it may occur for shared objects). However
|
only for executable files (though it may occur for shared objects). However
|
||||||
it may not occur more than once in a file. If it is present it must precede
|
it may not occur more than once in a file.
|
||||||
|
If it is present it must precede
|
||||||
any loadable segment entry.
|
any loadable segment entry.
|
||||||
.It Dv PT_NOTE
|
.It Dv PT_NOTE
|
||||||
The array element specifies the location and size for auxiliary information.
|
The array element specifies the location and size for auxiliary information.
|
||||||
.It Dv PT_SHLIB
|
.It Dv PT_SHLIB
|
||||||
This segment type is reserved but has unspecified semantics. Programs that
|
This segment type is reserved but has unspecified semantics.
|
||||||
|
Programs that
|
||||||
contain an array element of this type do not conform to the ABI.
|
contain an array element of this type do not conform to the ABI.
|
||||||
.It Dv PT_PHDR
|
.It Dv PT_PHDR
|
||||||
The array element, if present, specifies the location and size of the program
|
The array element, if present, specifies the location and size of the program
|
||||||
header table itself, both in the file and in the memory image of the program.
|
header table itself, both in the file and in the memory image of the program.
|
||||||
This segment type may not occur more than once in a file. Moreover, it may
|
This segment type may not occur more than once in a file.
|
||||||
|
Moreover, it may
|
||||||
only occur if the program header table is part of the memory image of the
|
only occur if the program header table is part of the memory image of the
|
||||||
program. If it is present it must precede any loadable segment entry.
|
program.
|
||||||
|
If it is present it must precede any loadable segment entry.
|
||||||
.It Dv PT_LOPROC
|
.It Dv PT_LOPROC
|
||||||
This value up to and including
|
This value up to and including
|
||||||
.Sy PT_HIPROC
|
.Sy PT_HIPROC
|
||||||
@ -473,7 +509,8 @@ This member holds the virtual address at which the first byte of the
|
|||||||
segment resides in memory.
|
segment resides in memory.
|
||||||
.It Dv p_paddr
|
.It Dv p_paddr
|
||||||
On systems for which physical addressing is relevant, this member is
|
On systems for which physical addressing is relevant, this member is
|
||||||
reserved for the segment's physical address. Under BSD this member is
|
reserved for the segment's physical address.
|
||||||
|
Under BSD this member is
|
||||||
not used and must be zero.
|
not used and must be zero.
|
||||||
.It Dv p_filesz
|
.It Dv p_filesz
|
||||||
This member holds the number of bytes in the file image of the segment.
|
This member holds the number of bytes in the file image of the segment.
|
||||||
@ -504,11 +541,13 @@ and
|
|||||||
.Sy PF_R .
|
.Sy PF_R .
|
||||||
.It Dv p_align
|
.It Dv p_align
|
||||||
This member holds the value to which the segments are aligned in memory
|
This member holds the value to which the segments are aligned in memory
|
||||||
and in the file. Loadable process segments must have congruent values for
|
and in the file.
|
||||||
|
Loadable process segments must have congruent values for
|
||||||
.Sy p_vaddr
|
.Sy p_vaddr
|
||||||
and
|
and
|
||||||
.Sy p_offset ,
|
.Sy p_offset ,
|
||||||
modulo the page size. Values of zero and one mean no alignment is required.
|
modulo the page size.
|
||||||
|
Values of zero and one mean no alignment is required.
|
||||||
Otherwise,
|
Otherwise,
|
||||||
.Sy p_align
|
.Sy p_align
|
||||||
should be a positive, integral power of two, and
|
should be a positive, integral power of two, and
|
||||||
@ -519,8 +558,10 @@ modulo
|
|||||||
.Sy p_align .
|
.Sy p_align .
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
An file's section header table lets one locate all the file's sections. The
|
An file's section header table lets one locate all the file's sections.
|
||||||
section header table is an array of Elf32_Shdr or Elf64_Shdr structures. The
|
The
|
||||||
|
section header table is an array of Elf32_Shdr or Elf64_Shdr structures.
|
||||||
|
The
|
||||||
ELF header's
|
ELF header's
|
||||||
.Sy e_shoff
|
.Sy e_shoff
|
||||||
member gives the byte offset from the beginning of the file to the section
|
member gives the byte offset from the beginning of the file to the section
|
||||||
@ -530,8 +571,10 @@ holds the number of entries the section header table contains.
|
|||||||
.Sy e_shentsize
|
.Sy e_shentsize
|
||||||
holds the size in bytes of each entry.
|
holds the size in bytes of each entry.
|
||||||
.Pp
|
.Pp
|
||||||
A section header table index is a subscript into this array. Some section
|
A section header table index is a subscript into this array.
|
||||||
header table indices are reserved. An object file does not have sections for
|
Some section
|
||||||
|
header table indices are reserved.
|
||||||
|
An object file does not have sections for
|
||||||
these special indices:
|
these special indices:
|
||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "SHN_LORESERVE" -compact
|
.Bl -tag -width "SHN_LORESERVE" -compact
|
||||||
@ -549,7 +592,8 @@ This value down to and including
|
|||||||
.Sy SHN_LOPROC
|
.Sy SHN_LOPROC
|
||||||
are reserved for processor-specific semantics.
|
are reserved for processor-specific semantics.
|
||||||
.It Dv SHN_ABS
|
.It Dv SHN_ABS
|
||||||
This value specifies absolute values for the corresponding reference. For
|
This value specifies absolute values for the corresponding reference.
|
||||||
|
For
|
||||||
example, symbols defined relative to section number
|
example, symbols defined relative to section number
|
||||||
.Sy SHN_ABS
|
.Sy SHN_ABS
|
||||||
have absolute values and are not affected by relocation.
|
have absolute values and are not affected by relocation.
|
||||||
@ -557,12 +601,14 @@ have absolute values and are not affected by relocation.
|
|||||||
Symbols defined relative to this section are common symbols, such as FORTRAN
|
Symbols defined relative to this section are common symbols, such as FORTRAN
|
||||||
COMMON or unallocated C external variables.
|
COMMON or unallocated C external variables.
|
||||||
.It Dv SHN_HIRESERVE
|
.It Dv SHN_HIRESERVE
|
||||||
This value specifies the upper bound of the range of reserved indices. The
|
This value specifies the upper bound of the range of reserved indices.
|
||||||
|
The
|
||||||
system reserves indices between
|
system reserves indices between
|
||||||
.Sy SHN_LORESERVE
|
.Sy SHN_LORESERVE
|
||||||
and
|
and
|
||||||
.Sy SHN_HIRESERVE,
|
.Sy SHN_HIRESERVE,
|
||||||
inclusive. The section header table does not contain entries for the
|
inclusive.
|
||||||
|
The section header table does not contain entries for the
|
||||||
reserved indices.
|
reserved indices.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
@ -599,7 +645,8 @@ typedef struct {
|
|||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "sh_addralign" -compact
|
.Bl -tag -width "sh_addralign" -compact
|
||||||
.It Dv sh_name
|
.It Dv sh_name
|
||||||
This member specifies the name of the section. Its value is an index
|
This member specifies the name of the section.
|
||||||
|
Its value is an index
|
||||||
into the section header string table section, giving the location of
|
into the section header string table section, giving the location of
|
||||||
a null-terminated string.
|
a null-terminated string.
|
||||||
.It Dv sh_type
|
.It Dv sh_type
|
||||||
@ -607,36 +654,46 @@ This member categorizes the section's contents and semantics.
|
|||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "SHT_PROGBITS" -compact
|
.Bl -tag -width "SHT_PROGBITS" -compact
|
||||||
.It Dv SHT_NULL
|
.It Dv SHT_NULL
|
||||||
This value marks the section header as inactive. It does not
|
This value marks the section header as inactive.
|
||||||
have an associated section. Other members of the section header
|
It does not
|
||||||
|
have an associated section.
|
||||||
|
Other members of the section header
|
||||||
have undefined values.
|
have undefined values.
|
||||||
.It Dv SHT_PROGBITS
|
.It Dv SHT_PROGBITS
|
||||||
The section holds information defined by the program, whose
|
The section holds information defined by the program, whose
|
||||||
format and meaning are determined solely by the program.
|
format and meaning are determined solely by the program.
|
||||||
.It Dv SHT_SYMTAB
|
.It Dv SHT_SYMTAB
|
||||||
This section holds a symbol table. Typically,
|
This section holds a symbol table.
|
||||||
|
Typically,
|
||||||
.Sy SHT_SYMTAB
|
.Sy SHT_SYMTAB
|
||||||
provides symbols for link editing, though it may also be used
|
provides symbols for link editing, though it may also be used
|
||||||
for dynamic linking. As a complete symbol table, it may contain
|
for dynamic linking.
|
||||||
many symbols unnecessary for dynamic linking. An object file can
|
As a complete symbol table, it may contain
|
||||||
|
many symbols unnecessary for dynamic linking.
|
||||||
|
An object file can
|
||||||
also contain a
|
also contain a
|
||||||
.Sy SHN_DYNSYM
|
.Sy SHN_DYNSYM
|
||||||
section.
|
section.
|
||||||
.It Dv SHT_STRTAB
|
.It Dv SHT_STRTAB
|
||||||
This section holds a string table. An object file may have multiple
|
This section holds a string table.
|
||||||
|
An object file may have multiple
|
||||||
string table sections.
|
string table sections.
|
||||||
.It Dv SHT_RELA
|
.It Dv SHT_RELA
|
||||||
This section holds relocation entries with explicit addends, such
|
This section holds relocation entries with explicit addends, such
|
||||||
as type
|
as type
|
||||||
.Sy Elf32_Rela
|
.Sy Elf32_Rela
|
||||||
for the 32-bit class of object files. An object may have multiple
|
for the 32-bit class of object files.
|
||||||
|
An object may have multiple
|
||||||
relocation sections.
|
relocation sections.
|
||||||
.It Dv SHT_HASH
|
.It Dv SHT_HASH
|
||||||
This section holds a symbol hash table. All object participating in
|
This section holds a symbol hash table.
|
||||||
dynamic linking must contain a symbol hash table. An object file may
|
All object participating in
|
||||||
|
dynamic linking must contain a symbol hash table.
|
||||||
|
An object file may
|
||||||
have only one hash table.
|
have only one hash table.
|
||||||
.It Dv SHT_DYNAMIC
|
.It Dv SHT_DYNAMIC
|
||||||
This section holds information for dynamic linking. An object file may
|
This section holds information for dynamic linking.
|
||||||
|
An object file may
|
||||||
have only one dynamic section.
|
have only one dynamic section.
|
||||||
.It Dv SHT_NOTE
|
.It Dv SHT_NOTE
|
||||||
This section holds information that marks the file in some way.
|
This section holds information that marks the file in some way.
|
||||||
@ -651,12 +708,14 @@ member contains the conceptual file offset.
|
|||||||
This section holds relocation offsets without explicit addends, such
|
This section holds relocation offsets without explicit addends, such
|
||||||
as type
|
as type
|
||||||
.Sy Elf32_Rel
|
.Sy Elf32_Rel
|
||||||
for the 32-bit class of object files. An object file may have multiple
|
for the 32-bit class of object files.
|
||||||
|
An object file may have multiple
|
||||||
relocation sections.
|
relocation sections.
|
||||||
.It Dv SHT_SHLIB
|
.It Dv SHT_SHLIB
|
||||||
This section is reserved but has unspecified semantics.
|
This section is reserved but has unspecified semantics.
|
||||||
.It Dv SHT_DYNSYM
|
.It Dv SHT_DYNSYM
|
||||||
This section holds a minimal set of dynamic linking symbols. An
|
This section holds a minimal set of dynamic linking symbols.
|
||||||
|
An
|
||||||
object file can also contain a
|
object file can also contain a
|
||||||
.Sy SHN_SYMTAB
|
.Sy SHN_SYMTAB
|
||||||
section.
|
section.
|
||||||
@ -673,7 +732,8 @@ This value specifies the lower bound of the range of indices reserved for
|
|||||||
application programs.
|
application programs.
|
||||||
.It Dv SHT_HIUSER
|
.It Dv SHT_HIUSER
|
||||||
This value specifies the upper bound of the range of indices reserved for
|
This value specifies the upper bound of the range of indices reserved for
|
||||||
application programs. Section types between
|
application programs.
|
||||||
|
Section types between
|
||||||
.Sy SHT_LOUSER
|
.Sy SHT_LOUSER
|
||||||
and
|
and
|
||||||
.Sy SHT_HIUSER
|
.Sy SHT_HIUSER
|
||||||
@ -687,17 +747,21 @@ If a flag bit is set in
|
|||||||
.Sy sh_flags ,
|
.Sy sh_flags ,
|
||||||
the attribute is
|
the attribute is
|
||||||
.Dq on
|
.Dq on
|
||||||
for the section. Otherwise, the attribute is
|
for the section.
|
||||||
|
Otherwise, the attribute is
|
||||||
.Dq off
|
.Dq off
|
||||||
or does not apply. Undefined attributes are set to zero.
|
or does not apply.
|
||||||
|
Undefined attributes are set to zero.
|
||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width "SHF_EXECINSTR" -compact
|
.Bl -tag -width "SHF_EXECINSTR" -compact
|
||||||
.It Dv SHF_WRITE
|
.It Dv SHF_WRITE
|
||||||
This section contains data that should be writable during process
|
This section contains data that should be writable during process
|
||||||
execution.
|
execution.
|
||||||
.It Dv SHF_ALLOC
|
.It Dv SHF_ALLOC
|
||||||
The section occupies memory during process execution. Some control
|
The section occupies memory during process execution.
|
||||||
sections do not reside in the memory image of an object file. This
|
Some control
|
||||||
|
sections do not reside in the memory image of an object file.
|
||||||
|
This
|
||||||
attribute is off for those sections.
|
attribute is off for those sections.
|
||||||
.It Dv SHF_EXECINSTR
|
.It Dv SHF_EXECINSTR
|
||||||
The section contains executable machine instructions.
|
The section contains executable machine instructions.
|
||||||
@ -712,18 +776,21 @@ holds the address at which the section's first byte should reside.
|
|||||||
Otherwise, the member contains zero.
|
Otherwise, the member contains zero.
|
||||||
.It Dv sh_offset
|
.It Dv sh_offset
|
||||||
This member's value holds the byte offset from the beginning of the file
|
This member's value holds the byte offset from the beginning of the file
|
||||||
to the first byte in the section. One section type,
|
to the first byte in the section.
|
||||||
|
One section type,
|
||||||
.Sy SHT_NOBITS ,
|
.Sy SHT_NOBITS ,
|
||||||
occupies no space in the file, and its
|
occupies no space in the file, and its
|
||||||
.Sy sh_offset
|
.Sy sh_offset
|
||||||
member locates the conceptual placement in the file.
|
member locates the conceptual placement in the file.
|
||||||
.It Dv sh_size
|
.It Dv sh_size
|
||||||
This member holds the section's size in bytes. Unless the section type
|
This member holds the section's size in bytes.
|
||||||
|
Unless the section type
|
||||||
is
|
is
|
||||||
.Sy SHT_NOBITS ,
|
.Sy SHT_NOBITS ,
|
||||||
the section occupies
|
the section occupies
|
||||||
.Sy sh_size
|
.Sy sh_size
|
||||||
bytes in the file. A section of type
|
bytes in the file.
|
||||||
|
A section of type
|
||||||
.Sy SHT_NOBITS
|
.Sy SHT_NOBITS
|
||||||
may have a non-zero size, but it occupies no space in the file.
|
may have a non-zero size, but it occupies no space in the file.
|
||||||
.It Dv sh_link
|
.It Dv sh_link
|
||||||
@ -733,13 +800,16 @@ depends on the section type.
|
|||||||
This member holds extra information, whose interpretation depends on the
|
This member holds extra information, whose interpretation depends on the
|
||||||
section type.
|
section type.
|
||||||
.It Dv sh_addralign
|
.It Dv sh_addralign
|
||||||
Some sections have address alignment constraints. If a section holds a
|
Some sections have address alignment constraints.
|
||||||
|
If a section holds a
|
||||||
doubleword, the system must ensure doubleword alignment for the entire
|
doubleword, the system must ensure doubleword alignment for the entire
|
||||||
section. That is, the value of
|
section.
|
||||||
|
That is, the value of
|
||||||
.Sy sh_addr
|
.Sy sh_addr
|
||||||
must be congruent to zero, modulo the value of
|
must be congruent to zero, modulo the value of
|
||||||
.Sy sh_addralign .
|
.Sy sh_addralign .
|
||||||
Only zero and positive integral powers of two are allowed. Values of zero
|
Only zero and positive integral powers of two are allowed.
|
||||||
|
Values of zero
|
||||||
or one mean the section has no alignment constraints.
|
or one mean the section has no alignment constraints.
|
||||||
.It Dv sh_entsize
|
.It Dv sh_entsize
|
||||||
Some sections hold a table of fixed-sized entries, such as a symbol table.
|
Some sections hold a table of fixed-sized entries, such as a symbol table.
|
||||||
@ -752,20 +822,24 @@ Various sections hold program and control information:
|
|||||||
.Bl -tag -width ".shstrtab" -compact
|
.Bl -tag -width ".shstrtab" -compact
|
||||||
.It .bss
|
.It .bss
|
||||||
This section holds uninitialized data that contributes to the program's
|
This section holds uninitialized data that contributes to the program's
|
||||||
memory image. By definition, the system initializes the data with zeros
|
memory image.
|
||||||
when the program begins to run. This section is of type
|
By definition, the system initializes the data with zeros
|
||||||
|
when the program begins to run.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_NOBITS .
|
.Sy SHT_NOBITS .
|
||||||
The attributes types are
|
The attributes types are
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
and
|
and
|
||||||
.Sy SHF_WRITE .
|
.Sy SHF_WRITE .
|
||||||
.It .comment
|
.It .comment
|
||||||
This section holds version control information. This section is of type
|
This section holds version control information.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
No attribute types are used.
|
No attribute types are used.
|
||||||
.It .data
|
.It .data
|
||||||
This section holds initialized data that contribute to the program's
|
This section holds initialized data that contribute to the program's
|
||||||
memory image. This section is of type
|
memory image.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attribute types are
|
The attribute types are
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
@ -773,24 +847,30 @@ and
|
|||||||
.Sy SHF_WRITE .
|
.Sy SHF_WRITE .
|
||||||
.It .data1
|
.It .data1
|
||||||
This section holds initialized data that contribute to the program's
|
This section holds initialized data that contribute to the program's
|
||||||
memory image. This section is of type
|
memory image.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attribute types are
|
The attribute types are
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
and
|
and
|
||||||
.Sy SHF_WRITE .
|
.Sy SHF_WRITE .
|
||||||
.It .debug
|
.It .debug
|
||||||
This section holds information for symbolic debugging. The contents
|
This section holds information for symbolic debugging.
|
||||||
are unspecified. This section is of type
|
The contents
|
||||||
|
are unspecified.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
No attribute types are used.
|
No attribute types are used.
|
||||||
.It .dynamic
|
.It .dynamic
|
||||||
This section holds dynamic linking information. The section's attributes
|
This section holds dynamic linking information.
|
||||||
|
The section's attributes
|
||||||
will include the
|
will include the
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
bit. Whether the
|
bit.
|
||||||
|
Whether the
|
||||||
.Sy SHF_WRITE
|
.Sy SHF_WRITE
|
||||||
bit is set is processor-specific. This section is of type
|
bit is set is processor-specific.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_DYNAMIC .
|
.Sy SHT_DYNAMIC .
|
||||||
See the attributes above.
|
See the attributes above.
|
||||||
.It .dynstr
|
.It .dynstr
|
||||||
@ -801,31 +881,37 @@ This section is of type
|
|||||||
The attribute type used is
|
The attribute type used is
|
||||||
.Sy SHF_ALLOC .
|
.Sy SHF_ALLOC .
|
||||||
.It .dynsym
|
.It .dynsym
|
||||||
This section holds the dynamic linking symbol table. This section is of type
|
This section holds the dynamic linking symbol table.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_DYNSYM .
|
.Sy SHT_DYNSYM .
|
||||||
The attribute used is
|
The attribute used is
|
||||||
.Sy SHF_ALLOC .
|
.Sy SHF_ALLOC .
|
||||||
.It .fini
|
.It .fini
|
||||||
This section holds executable instructions that contribute to the process
|
This section holds executable instructions that contribute to the process
|
||||||
termination code. When a program exits normally the system arranges to
|
termination code.
|
||||||
execute the code in this section. This section is of type
|
When a program exits normally the system arranges to
|
||||||
|
execute the code in this section.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attributes used are
|
The attributes used are
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
and
|
and
|
||||||
.Sy SHF_EXECINSTR .
|
.Sy SHF_EXECINSTR .
|
||||||
.It .got
|
.It .got
|
||||||
This section holds the global offset table. This section is of type
|
This section holds the global offset table.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attributes are processor-specific.
|
The attributes are processor-specific.
|
||||||
.It .hash
|
.It .hash
|
||||||
This section holds a symbol hash table. This section is of type
|
This section holds a symbol hash table.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_HASH .
|
.Sy SHT_HASH .
|
||||||
The attribute used is
|
The attribute used is
|
||||||
.Sy SHF_ALLOC .
|
.Sy SHF_ALLOC .
|
||||||
.It .init
|
.It .init
|
||||||
This section holds executable instructions that contribute to the process
|
This section holds executable instructions that contribute to the process
|
||||||
initialization code. When a program starts to run the system arranges to
|
initialization code.
|
||||||
|
When a program starts to run the system arranges to
|
||||||
execute the code in this section before calling the main program entry point.
|
execute the code in this section before calling the main program entry point.
|
||||||
This section is of type
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
@ -834,36 +920,46 @@ The attributes used are
|
|||||||
and
|
and
|
||||||
.Sy SHF_EXECINSTR .
|
.Sy SHF_EXECINSTR .
|
||||||
.It .interp
|
.It .interp
|
||||||
This section holds the pathname of a program interpreter. If the file has
|
This section holds the pathname of a program interpreter.
|
||||||
|
If the file has
|
||||||
a loadable segment that includes the section, the section's attributes will
|
a loadable segment that includes the section, the section's attributes will
|
||||||
include the
|
include the
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
bit. Otherwise, that bit will be off. This section is of type
|
bit.
|
||||||
|
Otherwise, that bit will be off.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
.It .line
|
.It .line
|
||||||
This section holds line number information for symbolic debugging, which
|
This section holds line number information for symbolic debugging, which
|
||||||
describes the correspondence between the program source and the machine code.
|
describes the correspondence between the program source and the machine code.
|
||||||
The contents are unspecified. This section is of type
|
The contents are unspecified.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
No attribute types are used.
|
No attribute types are used.
|
||||||
.It .note
|
.It .note
|
||||||
This section holds information in the
|
This section holds information in the
|
||||||
.Dq Note Section
|
.Dq Note Section
|
||||||
format described below. This section is of type
|
format described below.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_NOTE .
|
.Sy SHT_NOTE .
|
||||||
No attribute types are used.
|
No attribute types are used.
|
||||||
.It .plt
|
.It .plt
|
||||||
This section holds the procedure linkage table. This section is of type
|
This section holds the procedure linkage table.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attributes are processor-specific.
|
The attributes are processor-specific.
|
||||||
.It .relNAME
|
.It .relNAME
|
||||||
This section holds relocation information as described below. If the file
|
This section holds relocation information as described below.
|
||||||
|
If the file
|
||||||
has a loadable segment that includes relocation, the section's attributes
|
has a loadable segment that includes relocation, the section's attributes
|
||||||
will include the
|
will include the
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
bit. Otherwise the bit will be off. By convention,
|
bit.
|
||||||
|
Otherwise the bit will be off.
|
||||||
|
By convention,
|
||||||
.Dq NAME
|
.Dq NAME
|
||||||
is supplied by the section to which the relocations apply. Thus a relocation
|
is supplied by the section to which the relocations apply.
|
||||||
|
Thus a relocation
|
||||||
section for
|
section for
|
||||||
.Sy .text
|
.Sy .text
|
||||||
normally would have the name
|
normally would have the name
|
||||||
@ -871,13 +967,17 @@ normally would have the name
|
|||||||
This section is of type
|
This section is of type
|
||||||
.Sy SHT_REL .
|
.Sy SHT_REL .
|
||||||
.It .relaNAME
|
.It .relaNAME
|
||||||
This section holds relocation information as described below. If the file
|
This section holds relocation information as described below.
|
||||||
|
If the file
|
||||||
has a loadable segment that includes relocation, the section's attributes
|
has a loadable segment that includes relocation, the section's attributes
|
||||||
will include the
|
will include the
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
bit. Otherwise the bit will be off. By convention,
|
bit.
|
||||||
|
Otherwise the bit will be off.
|
||||||
|
By convention,
|
||||||
.Dq NAME
|
.Dq NAME
|
||||||
is supplied by the section to which the relocations apply. Thus a relocation
|
is supplied by the section to which the relocations apply.
|
||||||
|
Thus a relocation
|
||||||
section for
|
section for
|
||||||
.Sy .text
|
.Sy .text
|
||||||
normally would have the name
|
normally would have the name
|
||||||
@ -886,39 +986,49 @@ This section is of type
|
|||||||
.Sy SHT_RELA .
|
.Sy SHT_RELA .
|
||||||
.It .rodata
|
.It .rodata
|
||||||
This section holds read-only data that typically contributes to a
|
This section holds read-only data that typically contributes to a
|
||||||
non-writable segment in the process image. This section is of type
|
non-writable segment in the process image.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attribute used is
|
The attribute used is
|
||||||
.Sy SHF_ALLOC .
|
.Sy SHF_ALLOC .
|
||||||
.It .rodata1
|
.It .rodata1
|
||||||
This section hold read-only data that typically contributes to a
|
This section hold read-only data that typically contributes to a
|
||||||
non-writable segment in the process image. This section is of type
|
non-writable segment in the process image.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attribute used is
|
The attribute used is
|
||||||
.Sy SHF_ALLOC .
|
.Sy SHF_ALLOC .
|
||||||
.It .shstrtab
|
.It .shstrtab
|
||||||
This section holds section names. This section is of type
|
This section holds section names.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_STRTAB .
|
.Sy SHT_STRTAB .
|
||||||
No attribute types are used.
|
No attribute types are used.
|
||||||
.It .strtab
|
.It .strtab
|
||||||
This section holds strings, most commonly the strings that represent the
|
This section holds strings, most commonly the strings that represent the
|
||||||
names associated with symbol table entries. If the file has a loadable
|
names associated with symbol table entries.
|
||||||
|
If the file has a loadable
|
||||||
segment that includes the symbol string table, the section's attributes
|
segment that includes the symbol string table, the section's attributes
|
||||||
will include the
|
will include the
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
bit. Otherwise the bit will be off. This section is of type
|
bit.
|
||||||
|
Otherwise the bit will be off.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_STRTAB .
|
.Sy SHT_STRTAB .
|
||||||
.It .symtab
|
.It .symtab
|
||||||
This section holds a symbol table. If the file has a loadable segment
|
This section holds a symbol table.
|
||||||
|
If the file has a loadable segment
|
||||||
that includes the symbol table, the section's attributes will include
|
that includes the symbol table, the section's attributes will include
|
||||||
the
|
the
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
bit. Otherwise the bit will be off. This section is of type
|
bit.
|
||||||
|
Otherwise the bit will be off.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_SYMTAB .
|
.Sy SHT_SYMTAB .
|
||||||
.It .text
|
.It .text
|
||||||
This section holds the
|
This section holds the
|
||||||
.Dq text ,
|
.Dq text ,
|
||||||
or executable instructions, of a program. This section is of type
|
or executable instructions, of a program.
|
||||||
|
This section is of type
|
||||||
.Sy SHT_PROGBITS .
|
.Sy SHT_PROGBITS .
|
||||||
The attributes used are
|
The attributes used are
|
||||||
.Sy SHF_ALLOC
|
.Sy SHF_ALLOC
|
||||||
@ -927,14 +1037,19 @@ and
|
|||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
String table sections hold null-terminated character sequences, commonly
|
String table sections hold null-terminated character sequences, commonly
|
||||||
called strings. The object file uses these strings to represent symbol
|
called strings.
|
||||||
and section names. One references a string as an index into the string
|
The object file uses these strings to represent symbol
|
||||||
table section. The first byte, which is index zero, is defined to hold
|
and section names.
|
||||||
a null character. Similarly, a string table's last byte is defined to
|
One references a string as an index into the string
|
||||||
|
table section.
|
||||||
|
The first byte, which is index zero, is defined to hold
|
||||||
|
a null character.
|
||||||
|
Similarly, a string table's last byte is defined to
|
||||||
hold a null character, ensuring null termination for all strings.
|
hold a null character, ensuring null termination for all strings.
|
||||||
.Pp
|
.Pp
|
||||||
An object file's symbol table holds information needed to locate and
|
An object file's symbol table holds information needed to locate and
|
||||||
relocate a program's symbolic definitions and references. A symbol table
|
relocate a program's symbolic definitions and references.
|
||||||
|
A symbol table
|
||||||
index is a subscript into this array.
|
index is a subscript into this array.
|
||||||
.Pp
|
.Pp
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
@ -962,13 +1077,16 @@ typedef struct {
|
|||||||
.Bl -tag -width "st_value" -compact
|
.Bl -tag -width "st_value" -compact
|
||||||
.It Dv st_name
|
.It Dv st_name
|
||||||
This member holds an index into the object file's symbol string table,
|
This member holds an index into the object file's symbol string table,
|
||||||
which holds character representations of the symbol names. If the value
|
which holds character representations of the symbol names.
|
||||||
|
If the value
|
||||||
is non-zero, it represents a string table index that gives the symbol
|
is non-zero, it represents a string table index that gives the symbol
|
||||||
name. Otherwise, the symbol table has no name.
|
name.
|
||||||
|
Otherwise, the symbol table has no name.
|
||||||
.It Dv st_value
|
.It Dv st_value
|
||||||
This member gives the value of the associated symbol.
|
This member gives the value of the associated symbol.
|
||||||
.It Dv st_size
|
.It Dv st_size
|
||||||
Many symbols have associated sizes. This member holds zero if the symbol
|
Many symbols have associated sizes.
|
||||||
|
This member holds zero if the symbol
|
||||||
has no size or an unknown size.
|
has no size or an unknown size.
|
||||||
.It Dv st_info
|
.It Dv st_info
|
||||||
This member specifies the symbol's type and binding attributes:
|
This member specifies the symbol's type and binding attributes:
|
||||||
@ -981,13 +1099,15 @@ The symbol is associated with a data object.
|
|||||||
.It Dv STT_FUNC
|
.It Dv STT_FUNC
|
||||||
The symbol is associated with a function or other executable code.
|
The symbol is associated with a function or other executable code.
|
||||||
.It Dv STT_SECTION
|
.It Dv STT_SECTION
|
||||||
The symbol is associated with a section. Symbol table entries of
|
The symbol is associated with a section.
|
||||||
|
Symbol table entries of
|
||||||
this type exist primarily for relocation and normally have
|
this type exist primarily for relocation and normally have
|
||||||
.Sy STB_LOCAL
|
.Sy STB_LOCAL
|
||||||
bindings.
|
bindings.
|
||||||
.It Dv STT_FILE
|
.It Dv STT_FILE
|
||||||
By convention the symbol's name gives the name of the source file
|
By convention the symbol's name gives the name of the source file
|
||||||
associated with the object file. A file symbol has
|
associated with the object file.
|
||||||
|
A file symbol has
|
||||||
.Sy STB_LOCAL
|
.Sy STB_LOCAL
|
||||||
bindings, its section index is
|
bindings, its section index is
|
||||||
.Sy SHN_ABS ,
|
.Sy SHN_ABS ,
|
||||||
@ -1007,10 +1127,12 @@ are reserved for processor-specific semantics.
|
|||||||
.Bl -tag -width "STB_GLOBAL" -compact
|
.Bl -tag -width "STB_GLOBAL" -compact
|
||||||
.It Dv STB_LOCAL
|
.It Dv STB_LOCAL
|
||||||
Local symbols are not visible outside the object file containing their
|
Local symbols are not visible outside the object file containing their
|
||||||
definition. Local symbols of the same name may exist in multiple file
|
definition.
|
||||||
|
Local symbols of the same name may exist in multiple file
|
||||||
without interfering with each other.
|
without interfering with each other.
|
||||||
.It Dv STB_GLOBAL
|
.It Dv STB_GLOBAL
|
||||||
Global symbols are visible to all object files being combined. One file's
|
Global symbols are visible to all object files being combined.
|
||||||
|
One file's
|
||||||
definition of a global symbol will satisfy another file's undefined
|
definition of a global symbol will satisfy another file's undefined
|
||||||
reference to the same symbol.
|
reference to the same symbol.
|
||||||
.It Dv STB_WEAK
|
.It Dv STB_WEAK
|
||||||
@ -1047,15 +1169,18 @@ This member currently holds zero and has no defined meaning.
|
|||||||
.It Dv st_shndx
|
.It Dv st_shndx
|
||||||
Every symbol table entry is
|
Every symbol table entry is
|
||||||
.Dq defined
|
.Dq defined
|
||||||
in relation to some action. This member holds the relevant section
|
in relation to some action.
|
||||||
|
This member holds the relevant section
|
||||||
header table index.
|
header table index.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Relocation is the process of connecting symbolic references with
|
Relocation is the process of connecting symbolic references with
|
||||||
symbolic definitions. Relocatable files must have information that
|
symbolic definitions.
|
||||||
|
Relocatable files must have information that
|
||||||
describes how to modify their section contents, thus allowing executable
|
describes how to modify their section contents, thus allowing executable
|
||||||
and shared object files to hold the right information for a process'
|
and shared object files to hold the right information for a process'
|
||||||
program image. Relocation entries are these data.
|
program image.
|
||||||
|
Relocation entries are these data.
|
||||||
.Pp
|
.Pp
|
||||||
Relocation structures that do not need an addend:
|
Relocation structures that do not need an addend:
|
||||||
.Pp
|
.Pp
|
||||||
@ -1093,13 +1218,16 @@ typedef struct {
|
|||||||
.It Dv r_offset
|
.It Dv r_offset
|
||||||
This member gives the location at which to apply the relocation action.
|
This member gives the location at which to apply the relocation action.
|
||||||
For a relocatable file, the value is the byte offset from the beginning
|
For a relocatable file, the value is the byte offset from the beginning
|
||||||
of the section to the storage unit affected by the relocation. For an
|
of the section to the storage unit affected by the relocation.
|
||||||
|
For an
|
||||||
executable file or shared object, the value is the virtual address of
|
executable file or shared object, the value is the virtual address of
|
||||||
the storage unit affected by the relocation.
|
the storage unit affected by the relocation.
|
||||||
.It Dv r_info
|
.It Dv r_info
|
||||||
This member gives both the symbol table index with respect to which the
|
This member gives both the symbol table index with respect to which the
|
||||||
relocation must be made and the type of relocation to apply. Relocation
|
relocation must be made and the type of relocation to apply.
|
||||||
types are processor-specific. When the text refers to a relocation
|
Relocation
|
||||||
|
types are processor-specific.
|
||||||
|
When the text refers to a relocation
|
||||||
entry's relocation type or symbol table index, it means the result of
|
entry's relocation type or symbol table index, it means the result of
|
||||||
applying
|
applying
|
||||||
.Sy ELF_[32|64]_R_TYPE
|
.Sy ELF_[32|64]_R_TYPE
|
||||||
|
@ -20,7 +20,8 @@ All other lines consist of three fields delimited by
|
|||||||
whitespace: a login device (/dev/ttyv0), an octal
|
whitespace: a login device (/dev/ttyv0), an octal
|
||||||
permission number (0600), and a ":"-delimited list of
|
permission number (0600), and a ":"-delimited list of
|
||||||
devices (/dev/console). All device names are
|
devices (/dev/console). All device names are
|
||||||
absolute paths. A path that ends in "/*" refers to all
|
absolute paths.
|
||||||
|
A path that ends in "/*" refers to all
|
||||||
directory entries except "." and "..".
|
directory entries except "." and "..".
|
||||||
.Pp
|
.Pp
|
||||||
If the tty argument (relative path) matches a login device
|
If the tty argument (relative path) matches a login device
|
||||||
|
@ -44,12 +44,15 @@ The include file
|
|||||||
declares several structures that are present in dynamically linked
|
declares several structures that are present in dynamically linked
|
||||||
programs and libraries.
|
programs and libraries.
|
||||||
The structures define the interface between several components of the
|
The structures define the interface between several components of the
|
||||||
link-editor and loader mechanism. The layout of a number of these
|
link-editor and loader mechanism.
|
||||||
|
The layout of a number of these
|
||||||
structures within the binaries resembles the a.out format in many places
|
structures within the binaries resembles the a.out format in many places
|
||||||
as it serves such similar functions as symbol definitions (including the
|
as it serves such similar functions as symbol definitions (including the
|
||||||
accompanying string table) and relocation records needed to resolve
|
accompanying string table) and relocation records needed to resolve
|
||||||
references to external entities. It also records a number of data structures
|
references to external entities.
|
||||||
unique to the dynamic loading and linking process. These include references
|
It also records a number of data structures
|
||||||
|
unique to the dynamic loading and linking process.
|
||||||
|
These include references
|
||||||
to other objects that are required to complete the link-editing process and
|
to other objects that are required to complete the link-editing process and
|
||||||
indirection tables to facilitate
|
indirection tables to facilitate
|
||||||
.Em Position Independent Code
|
.Em Position Independent Code
|
||||||
@ -63,36 +66,45 @@ format offers no room for it elsewhere.
|
|||||||
.Pp
|
.Pp
|
||||||
Several utilities cooperate to ensure that the task of getting a program
|
Several utilities cooperate to ensure that the task of getting a program
|
||||||
ready to run can complete successfully in a way that optimizes the use
|
ready to run can complete successfully in a way that optimizes the use
|
||||||
of system resources. The compiler emits PIC code from which shared libraries
|
of system resources.
|
||||||
|
The compiler emits PIC code from which shared libraries
|
||||||
can be built by
|
can be built by
|
||||||
.Xr ld 1 .
|
.Xr ld 1 .
|
||||||
The compiler also includes size information of any initialized data items
|
The compiler also includes size information of any initialized data items
|
||||||
through the .size assembler directive. PIC code differs from conventional code
|
through the .size assembler directive.
|
||||||
|
PIC code differs from conventional code
|
||||||
in that it accesses data variables through an indirection table, the
|
in that it accesses data variables through an indirection table, the
|
||||||
Global Offset Table, by convention accessible by the reserved name
|
Global Offset Table, by convention accessible by the reserved name
|
||||||
.Em _GLOBAL_OFFSET_TABLE_.
|
.Em _GLOBAL_OFFSET_TABLE_.
|
||||||
The exact mechanism used for this is machine dependent, usually a machine
|
The exact mechanism used for this is machine dependent, usually a machine
|
||||||
register is reserved for the purpose. The rational behind this construct
|
register is reserved for the purpose.
|
||||||
is to generate code that is independent of the actual load address. Only
|
The rational behind this construct
|
||||||
|
is to generate code that is independent of the actual load address.
|
||||||
|
Only
|
||||||
the values contained in the Global Offset Table may need updating at run-time
|
the values contained in the Global Offset Table may need updating at run-time
|
||||||
depending on the load addresses of the various shared objects in the address
|
depending on the load addresses of the various shared objects in the address
|
||||||
space.
|
space.
|
||||||
.Pp
|
.Pp
|
||||||
Likewise, procedure calls to globally defined functions are redirected through
|
Likewise, procedure calls to globally defined functions are redirected through
|
||||||
the Procedure Linkage Table (PLT) residing in the data segment of the core
|
the Procedure Linkage Table (PLT) residing in the data segment of the core
|
||||||
image. Again, this is done to avoid run-time modifications to the text segment.
|
image.
|
||||||
|
Again, this is done to avoid run-time modifications to the text segment.
|
||||||
.Pp
|
.Pp
|
||||||
The linker-editor allocates the Global Offset Table and Procedure Linkage Table
|
The linker-editor allocates the Global Offset Table and Procedure Linkage Table
|
||||||
when combining PIC object files into an image suitable for mapping into the
|
when combining PIC object files into an image suitable for mapping into the
|
||||||
process address space. It also collects all symbols that may be needed by the
|
process address space.
|
||||||
|
It also collects all symbols that may be needed by the
|
||||||
run-time link-editor and stores these along with the image's text and data bits.
|
run-time link-editor and stores these along with the image's text and data bits.
|
||||||
Another reserved symbol,
|
Another reserved symbol,
|
||||||
.Em _DYNAMIC
|
.Em _DYNAMIC
|
||||||
is used to indicate the presence of the run-time linker structures. Whenever
|
is used to indicate the presence of the run-time linker structures.
|
||||||
|
Whenever
|
||||||
_DYNAMIC is relocated to 0, there is no need to invoke the run-time
|
_DYNAMIC is relocated to 0, there is no need to invoke the run-time
|
||||||
link-editor. If this symbol is non-zero, it points at a data structure from
|
link-editor.
|
||||||
|
If this symbol is non-zero, it points at a data structure from
|
||||||
which the location of the necessary relocation- and symbol information can
|
which the location of the necessary relocation- and symbol information can
|
||||||
be derived. This is most notably used by the start-up module,
|
be derived.
|
||||||
|
This is most notably used by the start-up module,
|
||||||
.Em crt0.
|
.Em crt0.
|
||||||
The _DYNAMIC structure is conventionally located at the start of the data
|
The _DYNAMIC structure is conventionally located at the start of the data
|
||||||
segment of the image to which it pertains.
|
segment of the image to which it pertains.
|
||||||
@ -120,7 +132,8 @@ struct _dynamic {
|
|||||||
.Bl -tag -width d_version
|
.Bl -tag -width d_version
|
||||||
.It Fa d_version
|
.It Fa d_version
|
||||||
This field provides for different versions of the dynamic linking
|
This field provides for different versions of the dynamic linking
|
||||||
implementation. The current version numbers understood by
|
implementation.
|
||||||
|
The current version numbers understood by
|
||||||
.Xr ld 1
|
.Xr ld 1
|
||||||
and
|
and
|
||||||
.Xr ld.so 1
|
.Xr ld.so 1
|
||||||
@ -300,12 +313,15 @@ structure.
|
|||||||
Hook for attaching private data maintained by the run-time link-editor.
|
Hook for attaching private data maintained by the run-time link-editor.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Symbol description with size. This is simply an
|
Symbol description with size.
|
||||||
|
This is simply an
|
||||||
.Fa nlist
|
.Fa nlist
|
||||||
structure with one field
|
structure with one field
|
||||||
.Pq Fa nz_size
|
.Pq Fa nz_size
|
||||||
added. Used to convey size information on items in the data segment
|
added.
|
||||||
of shared objects. An array of these lives in the shared object's
|
Used to convey size information on items in the data segment
|
||||||
|
of shared objects.
|
||||||
|
An array of these lives in the shared object's
|
||||||
text segment and is addressed by the
|
text segment and is addressed by the
|
||||||
.Fa sdt_nzlist
|
.Fa sdt_nzlist
|
||||||
field of
|
field of
|
||||||
@ -356,12 +372,14 @@ The index of the symbol in the shared object's symbol table (as given by the
|
|||||||
field).
|
field).
|
||||||
.It Fa rh_next
|
.It Fa rh_next
|
||||||
In case of collisions, this field is the offset of the next entry in this
|
In case of collisions, this field is the offset of the next entry in this
|
||||||
hash table bucket. It is zero for the last bucket element.
|
hash table bucket.
|
||||||
|
It is zero for the last bucket element.
|
||||||
.El
|
.El
|
||||||
The
|
The
|
||||||
.Fa rt_symbol
|
.Fa rt_symbol
|
||||||
structure is used to keep track of run-time allocated commons
|
structure is used to keep track of run-time allocated commons
|
||||||
and data items copied from shared objects. These items are kept on linked list
|
and data items copied from shared objects.
|
||||||
|
These items are kept on linked list
|
||||||
and is exported through the
|
and is exported through the
|
||||||
.Fa dd_cc
|
.Fa dd_cc
|
||||||
field in the
|
field in the
|
||||||
@ -383,7 +401,8 @@ The symbol description.
|
|||||||
.It Fa rt_next
|
.It Fa rt_next
|
||||||
Virtual address of next rt_symbol.
|
Virtual address of next rt_symbol.
|
||||||
.It Fa rt_link
|
.It Fa rt_link
|
||||||
Next in hash bucket. Used by internally by
|
Next in hash bucket.
|
||||||
|
Used by internally by
|
||||||
.Nm ld.so .
|
.Nm ld.so .
|
||||||
.It Fa rt_srcaddr
|
.It Fa rt_srcaddr
|
||||||
Location of the source of initialized data within a shared object.
|
Location of the source of initialized data within a shared object.
|
||||||
@ -396,7 +415,8 @@ The
|
|||||||
.Fa so_debug
|
.Fa so_debug
|
||||||
structure is used by debuggers to gain knowledge of any shared objects
|
structure is used by debuggers to gain knowledge of any shared objects
|
||||||
that have been loaded in the process's address space as a result of run-time
|
that have been loaded in the process's address space as a result of run-time
|
||||||
link-editing. Since the run-time link-editor runs as a part of process
|
link-editing.
|
||||||
|
Since the run-time link-editor runs as a part of process
|
||||||
initialization, a debugger that wishes to access symbols from shared objects
|
initialization, a debugger that wishes to access symbols from shared objects
|
||||||
can only do so after the link-editor has been called from crt0.
|
can only do so after the link-editor has been called from crt0.
|
||||||
A dynamically linked binary contains a
|
A dynamically linked binary contains a
|
||||||
@ -426,7 +446,8 @@ run under control of a debugger.
|
|||||||
Set by the run-time linker whenever it adds symbols by loading shared objects.
|
Set by the run-time linker whenever it adds symbols by loading shared objects.
|
||||||
.It Fa dd_bpt_addr
|
.It Fa dd_bpt_addr
|
||||||
The address were a breakpoint will be set by the run-time linker to
|
The address were a breakpoint will be set by the run-time linker to
|
||||||
divert control to the debugger. This address is determined by the start-up
|
divert control to the debugger.
|
||||||
|
This address is determined by the start-up
|
||||||
module,
|
module,
|
||||||
.Em crt0.o,
|
.Em crt0.o,
|
||||||
to be some convenient place before the call to _main.
|
to be some convenient place before the call to _main.
|
||||||
@ -485,7 +506,8 @@ was loaded by crt0.
|
|||||||
.It Fa crt_dzfd
|
.It Fa crt_dzfd
|
||||||
On SunOS systems, this field contains an open file descriptor to
|
On SunOS systems, this field contains an open file descriptor to
|
||||||
.Dq Pa /dev/zero
|
.Dq Pa /dev/zero
|
||||||
used to get demand paged zeroed pages. On
|
used to get demand paged zeroed pages.
|
||||||
|
On
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
systems it contains -1.
|
systems it contains -1.
|
||||||
.It Fa crt_ldfd
|
.It Fa crt_ldfd
|
||||||
|
@ -190,7 +190,8 @@ The system administrator can configure
|
|||||||
to use NIS/YP for
|
to use NIS/YP for
|
||||||
its password information by adding special records to the
|
its password information by adding special records to the
|
||||||
.Pa /etc/master.passwd
|
.Pa /etc/master.passwd
|
||||||
file. These entries should be added with
|
file.
|
||||||
|
These entries should be added with
|
||||||
.Xr vipw 8
|
.Xr vipw 8
|
||||||
so that the changes can be properly merged with the hashed
|
so that the changes can be properly merged with the hashed
|
||||||
password databases and the
|
password databases and the
|
||||||
@ -220,10 +221,12 @@ Note that the entry shown above is known as a
|
|||||||
.Em wildcard
|
.Em wildcard
|
||||||
entry, because it matches all users (the `+' without any other information
|
entry, because it matches all users (the `+' without any other information
|
||||||
matches everybody) and allows all NIS password data to be retrieved
|
matches everybody) and allows all NIS password data to be retrieved
|
||||||
unaltered. However, by
|
unaltered.
|
||||||
|
However, by
|
||||||
specifying a username or netgroup next to the `+' in the NIS
|
specifying a username or netgroup next to the `+' in the NIS
|
||||||
entry, the administrator can affect what data are extracted from the
|
entry, the administrator can affect what data are extracted from the
|
||||||
NIS passwd maps and how it is interpreted. Here are a few example
|
NIS passwd maps and how it is interpreted.
|
||||||
|
Here are a few example
|
||||||
records that illustrate this feature (note that you can have several
|
records that illustrate this feature (note that you can have several
|
||||||
NIS entries in a single
|
NIS entries in a single
|
||||||
.Pa master.passwd
|
.Pa master.passwd
|
||||||
@ -240,8 +243,10 @@ file):
|
|||||||
Specific usernames are listed explicitly while netgroups are signified
|
Specific usernames are listed explicitly while netgroups are signified
|
||||||
by a preceding `@'. In the above example, users in the ``staff'' and
|
by a preceding `@'. In the above example, users in the ``staff'' and
|
||||||
``permitted-users'' netgroups will have their password information
|
``permitted-users'' netgroups will have their password information
|
||||||
read from NIS and used unaltered. In other words, they will be allowed
|
read from NIS and used unaltered.
|
||||||
normal access to the machine. Users ``ken'' and ``dennis,'' who have
|
In other words, they will be allowed
|
||||||
|
normal access to the machine.
|
||||||
|
Users ``ken'' and ``dennis,'' who have
|
||||||
been named explicitly rather than through a netgroup, will also have
|
been named explicitly rather than through a netgroup, will also have
|
||||||
their password data read from NIS, _except_ that user ``ken'' will
|
their password data read from NIS, _except_ that user ``ken'' will
|
||||||
have his shell remapped to
|
have his shell remapped to
|
||||||
@ -250,7 +255,8 @@ This means that value for his shell specified in the NIS password map
|
|||||||
will be overridden by the value specified in the special NIS entry in
|
will be overridden by the value specified in the special NIS entry in
|
||||||
the local
|
the local
|
||||||
.Pa master.passwd
|
.Pa master.passwd
|
||||||
file. User ``ken'' may have been assigned the csh shell because his
|
file.
|
||||||
|
User ``ken'' may have been assigned the csh shell because his
|
||||||
NIS password entry specified a different shell that may not be
|
NIS password entry specified a different shell that may not be
|
||||||
installed on the client machine for political or technical reasons.
|
installed on the client machine for political or technical reasons.
|
||||||
Meanwhile, users in the ``rejected-users'' netgroup are prevented
|
Meanwhile, users in the ``rejected-users'' netgroup are prevented
|
||||||
@ -261,12 +267,14 @@ User ``mitnick'' will be be ignored entirely because his entry is
|
|||||||
specified with a `-' instead of a `+'. A minus entry can be used
|
specified with a `-' instead of a `+'. A minus entry can be used
|
||||||
to block out certain NIS password entries completely; users who's
|
to block out certain NIS password entries completely; users who's
|
||||||
password data has been excluded in this way are not recognized by
|
password data has been excluded in this way are not recognized by
|
||||||
the system at all. (Any overrides specified with minus entries are
|
the system at all.
|
||||||
|
(Any overrides specified with minus entries are
|
||||||
also ignored since there is no point in processing override information
|
also ignored since there is no point in processing override information
|
||||||
for a user that the system isn't going to recognize in the first place.)
|
for a user that the system isn't going to recognize in the first place.)
|
||||||
In general, a minus entry is used to specifically exclude a user
|
In general, a minus entry is used to specifically exclude a user
|
||||||
who might otherwise be granted access because he happens to be a
|
who might otherwise be granted access because he happens to be a
|
||||||
member of an authorized netgroup. For example, if ``mitnick'' is
|
member of an authorized netgroup.
|
||||||
|
For example, if ``mitnick'' is
|
||||||
a member of the ``permitted-users'' netgroup and must, for whatever
|
a member of the ``permitted-users'' netgroup and must, for whatever
|
||||||
the reason, be permitted to remain in that netgroup (possibly to
|
the reason, be permitted to remain in that netgroup (possibly to
|
||||||
retain access to other machines within the domain), the administrator
|
retain access to other machines within the domain), the administrator
|
||||||
@ -276,12 +284,14 @@ allowed access rather than generate a possibly complicated list of
|
|||||||
users who are allowed access and omit the rest.
|
users who are allowed access and omit the rest.
|
||||||
.Pp
|
.Pp
|
||||||
Note that the plus and minus entries are evaluated in order from
|
Note that the plus and minus entries are evaluated in order from
|
||||||
first to last with the first match taking precedence. This means
|
first to last with the first match taking precedence.
|
||||||
|
This means
|
||||||
the system will only use the first entry that matches a particular user.
|
the system will only use the first entry that matches a particular user.
|
||||||
If, for instance, we have a user ``foo'' who is a member of both the ``staff''
|
If, for instance, we have a user ``foo'' who is a member of both the ``staff''
|
||||||
netgroup and the ``rejected-users'' netgroup, he will be admitted to
|
netgroup and the ``rejected-users'' netgroup, he will be admitted to
|
||||||
the system because the above example lists the entry for ``staff''
|
the system because the above example lists the entry for ``staff''
|
||||||
before the entry for ``rejected-users.'' If we reversed the order,
|
before the entry for ``rejected-users.''
|
||||||
|
If we reversed the order,
|
||||||
user ``foo'' would be flagged as a ``rejected-user'' instead and
|
user ``foo'' would be flagged as a ``rejected-user'' instead and
|
||||||
denied access.
|
denied access.
|
||||||
.Pp
|
.Pp
|
||||||
@ -294,11 +304,13 @@ entries). In our example shown above, we do not have a wildcard
|
|||||||
entry at the end of the list; therefore, the system will not recognize
|
entry at the end of the list; therefore, the system will not recognize
|
||||||
anyone except
|
anyone except
|
||||||
``ken,'' ``dennis,'' the ``staff'' netgroup and the ``permitted-users''
|
``ken,'' ``dennis,'' the ``staff'' netgroup and the ``permitted-users''
|
||||||
netgroup as authorized users. The ``rejected-users'' netgroup will
|
netgroup as authorized users.
|
||||||
|
The ``rejected-users'' netgroup will
|
||||||
be recognized but all members will have their shells remapped and
|
be recognized but all members will have their shells remapped and
|
||||||
therefore be denied access.
|
therefore be denied access.
|
||||||
All other NIS password records
|
All other NIS password records
|
||||||
will be ignored. The administrator may add a wildcard entry to the
|
will be ignored.
|
||||||
|
The administrator may add a wildcard entry to the
|
||||||
end of the list such as:
|
end of the list such as:
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
+:::::::::/usr/local/bin/go_away
|
+:::::::::/usr/local/bin/go_away
|
||||||
@ -309,7 +321,8 @@ any of the other entries.
|
|||||||
.Pa /usr/local/bin/go_away
|
.Pa /usr/local/bin/go_away
|
||||||
can be a short shell script or program
|
can be a short shell script or program
|
||||||
that prints a message telling the user that he is not allowed access
|
that prints a message telling the user that he is not allowed access
|
||||||
to the system. This technique is sometimes useful when it is
|
to the system.
|
||||||
|
This technique is sometimes useful when it is
|
||||||
desirable to have the system be able to recognize all users in a
|
desirable to have the system be able to recognize all users in a
|
||||||
particular NIS domain without necessarily granting them login access.
|
particular NIS domain without necessarily granting them login access.
|
||||||
See the above text on the shell field regarding security concerns when using
|
See the above text on the shell field regarding security concerns when using
|
||||||
@ -318,7 +331,8 @@ a shell script as the login shell.
|
|||||||
The primary use of this
|
The primary use of this
|
||||||
.Pa override
|
.Pa override
|
||||||
feature is to permit the administrator
|
feature is to permit the administrator
|
||||||
to enforce access restrictions on NIS client systems. Users can be
|
to enforce access restrictions on NIS client systems.
|
||||||
|
Users can be
|
||||||
granted access to one group of machines and denied access to other
|
granted access to one group of machines and denied access to other
|
||||||
machines simply by adding or removing them from a particular netgroup.
|
machines simply by adding or removing them from a particular netgroup.
|
||||||
Since the netgroup database can also be accessed via NIS, this allows
|
Since the netgroup database can also be accessed via NIS, this allows
|
||||||
@ -334,10 +348,12 @@ are stored only in
|
|||||||
.Pa /etc/master.passwd
|
.Pa /etc/master.passwd
|
||||||
and
|
and
|
||||||
.Pa /etc/spwd.db ,
|
.Pa /etc/spwd.db ,
|
||||||
which are readable and writable only by the superuser. This is done
|
which are readable and writable only by the superuser.
|
||||||
|
This is done
|
||||||
to prevent users from running the encrypted passwords through
|
to prevent users from running the encrypted passwords through
|
||||||
password-guessing programs and gaining unauthorized access to
|
password-guessing programs and gaining unauthorized access to
|
||||||
other users' accounts. NIS does not support a standard means of
|
other users' accounts.
|
||||||
|
NIS does not support a standard means of
|
||||||
password shadowing, which implies that placing your password data
|
password shadowing, which implies that placing your password data
|
||||||
into the NIS passwd maps totally defeats the security of
|
into the NIS passwd maps totally defeats the security of
|
||||||
.Tn FreeBSD Ns 's
|
.Tn FreeBSD Ns 's
|
||||||
@ -345,11 +361,13 @@ password shadowing system.
|
|||||||
.Pp
|
.Pp
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
provides a few special features to help get around this
|
provides a few special features to help get around this
|
||||||
problem. It is possible to implement password shadowing between
|
problem.
|
||||||
|
It is possible to implement password shadowing between
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
NIS clients and
|
NIS clients and
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
NIS servers. The
|
NIS servers.
|
||||||
|
The
|
||||||
.Xr getpwent 3
|
.Xr getpwent 3
|
||||||
routines will search for a
|
routines will search for a
|
||||||
.Pa master.passwd.byname
|
.Pa master.passwd.byname
|
||||||
@ -357,7 +375,8 @@ and
|
|||||||
.Pa master.passwd.byuid
|
.Pa master.passwd.byuid
|
||||||
maps which should contain the same data found in the
|
maps which should contain the same data found in the
|
||||||
.Pa /etc/master.passwd
|
.Pa /etc/master.passwd
|
||||||
file. If the maps exist,
|
file.
|
||||||
|
If the maps exist,
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
will attempt to use them for user
|
will attempt to use them for user
|
||||||
authentication instead of the standard
|
authentication instead of the standard
|
||||||
@ -368,12 +387,14 @@ maps.
|
|||||||
.Tn FreeBSD Ns 's
|
.Tn FreeBSD Ns 's
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
will also check client requests to make sure they originate on a
|
will also check client requests to make sure they originate on a
|
||||||
privileged port. Since only the superuser is allowed to bind to
|
privileged port.
|
||||||
|
Since only the superuser is allowed to bind to
|
||||||
a privileged port, the server can tell if the requesting user
|
a privileged port, the server can tell if the requesting user
|
||||||
is the superuser; all requests from non-privileged users to access
|
is the superuser; all requests from non-privileged users to access
|
||||||
the
|
the
|
||||||
.Pa master.passwd
|
.Pa master.passwd
|
||||||
maps will be refused. Since all user authentication programs run
|
maps will be refused.
|
||||||
|
Since all user authentication programs run
|
||||||
with superuser privilege, they should have the required access to
|
with superuser privilege, they should have the required access to
|
||||||
users' encrypted password data while normal users will only
|
users' encrypted password data while normal users will only
|
||||||
be allowed access to the standard
|
be allowed access to the standard
|
||||||
@ -382,7 +403,8 @@ maps which contain no password information.
|
|||||||
.Pp
|
.Pp
|
||||||
Note that this feature cannot be used in an environment with
|
Note that this feature cannot be used in an environment with
|
||||||
.No non- Ns Tn FreeBSD
|
.No non- Ns Tn FreeBSD
|
||||||
systems. Note also that a truly determined user with
|
systems.
|
||||||
|
Note also that a truly determined user with
|
||||||
unrestricted access to your network could still compromise the
|
unrestricted access to your network could still compromise the
|
||||||
.Pa master.passwd
|
.Pa master.passwd
|
||||||
maps.
|
maps.
|
||||||
@ -407,7 +429,8 @@ This entry will cause all users in the `foo-users' netgroup to
|
|||||||
have
|
have
|
||||||
.Pa all
|
.Pa all
|
||||||
of their password information overridden, including UIDs,
|
of their password information overridden, including UIDs,
|
||||||
GIDs and passwords. The result is that all `foo-users' will be
|
GIDs and passwords.
|
||||||
|
The result is that all `foo-users' will be
|
||||||
locked out of the system, since their passwords will be remapped
|
locked out of the system, since their passwords will be remapped
|
||||||
to invalid values.
|
to invalid values.
|
||||||
.Pp
|
.Pp
|
||||||
@ -451,21 +474,25 @@ password
|
|||||||
.Pa /etc/passwd
|
.Pa /etc/passwd
|
||||||
file is in plain
|
file is in plain
|
||||||
.Tn ASCII
|
.Tn ASCII
|
||||||
format. The
|
format.
|
||||||
|
The
|
||||||
.Tn SunOS
|
.Tn SunOS
|
||||||
documentation claims that
|
documentation claims that
|
||||||
adding a '+' entry to the password file causes the contents of
|
adding a '+' entry to the password file causes the contents of
|
||||||
the NIS password database to be 'inserted' at the position in
|
the NIS password database to be 'inserted' at the position in
|
||||||
the file where the '+' entry appears. If, for example, the
|
the file where the '+' entry appears.
|
||||||
|
If, for example, the
|
||||||
administrator places the +:::::: entry in the middle of
|
administrator places the +:::::: entry in the middle of
|
||||||
.Pa /etc/passwd,
|
.Pa /etc/passwd,
|
||||||
then the entire contents of the NIS password map would appear
|
then the entire contents of the NIS password map would appear
|
||||||
as though it had been copied into the middle of the password
|
as though it had been copied into the middle of the password
|
||||||
file. If the administrator places the +:::::: entry at both the
|
file.
|
||||||
|
If the administrator places the +:::::: entry at both the
|
||||||
middle and the end of
|
middle and the end of
|
||||||
.Pa /etc/passwd ,
|
.Pa /etc/passwd ,
|
||||||
then the NIS password map would appear twice: once in the middle
|
then the NIS password map would appear twice: once in the middle
|
||||||
of the file and once at the end. (By using override entries
|
of the file and once at the end.
|
||||||
|
(By using override entries
|
||||||
instead of simple wildcards, other combinations could be achieved.)
|
instead of simple wildcards, other combinations could be achieved.)
|
||||||
.Pp
|
.Pp
|
||||||
By contrast,
|
By contrast,
|
||||||
@ -473,7 +500,8 @@ By contrast,
|
|||||||
does not have a single
|
does not have a single
|
||||||
.Tn ASCII
|
.Tn ASCII
|
||||||
password file: it
|
password file: it
|
||||||
has a hashed password database. This database does not have an
|
has a hashed password database.
|
||||||
|
This database does not have an
|
||||||
easily-defined beginning, middle or end, which makes it very hard
|
easily-defined beginning, middle or end, which makes it very hard
|
||||||
to design a scheme that is 100% compatible with
|
to design a scheme that is 100% compatible with
|
||||||
.Tn SunOS .
|
.Tn SunOS .
|
||||||
@ -485,8 +513,10 @@ and
|
|||||||
functions in
|
functions in
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
are designed to do direct queries to the
|
are designed to do direct queries to the
|
||||||
hash database rather than a linear search. This approach is faster
|
hash database rather than a linear search.
|
||||||
on systems where the password database is large. However, when
|
This approach is faster
|
||||||
|
on systems where the password database is large.
|
||||||
|
However, when
|
||||||
using direct database queries, the system does not know or care
|
using direct database queries, the system does not know or care
|
||||||
about the order of the original password file, and therefore
|
about the order of the original password file, and therefore
|
||||||
it cannot easily apply the same override logic used by
|
it cannot easily apply the same override logic used by
|
||||||
@ -495,7 +525,8 @@ it cannot easily apply the same override logic used by
|
|||||||
Instead,
|
Instead,
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
groups all the NIS override entries together
|
groups all the NIS override entries together
|
||||||
and constructs a filter out of them. Each NIS password entry
|
and constructs a filter out of them.
|
||||||
|
Each NIS password entry
|
||||||
is compared against the override filter exactly once and
|
is compared against the override filter exactly once and
|
||||||
treated accordingly: if the filter allows the entry through
|
treated accordingly: if the filter allows the entry through
|
||||||
unaltered, it's treated unaltered; if the filter calls for remapping
|
unaltered, it's treated unaltered; if the filter calls for remapping
|
||||||
@ -536,13 +567,15 @@ In %99 of all
|
|||||||
configurations, NIS client behavior will be
|
configurations, NIS client behavior will be
|
||||||
indistinguishable from that of
|
indistinguishable from that of
|
||||||
.Tn SunOS
|
.Tn SunOS
|
||||||
or other similar systems. Even
|
or other similar systems.
|
||||||
|
Even
|
||||||
so, users should be aware of these architectural differences.
|
so, users should be aware of these architectural differences.
|
||||||
.Pp
|
.Pp
|
||||||
.Ss Using groups instead of netgroups for NIS overrides
|
.Ss Using groups instead of netgroups for NIS overrides
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
offers the capability to do override matching based on
|
offers the capability to do override matching based on
|
||||||
user groups rather than netgroups. If, for example, an NIS entry
|
user groups rather than netgroups.
|
||||||
|
If, for example, an NIS entry
|
||||||
is specified as:
|
is specified as:
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
+@operator:::::::::
|
+@operator:::::::::
|
||||||
@ -567,7 +600,8 @@ was possible for
|
|||||||
.Fn getpwuid
|
.Fn getpwuid
|
||||||
to return a login name that
|
to return a login name that
|
||||||
.Fn getpwnam
|
.Fn getpwnam
|
||||||
would not recognize. This has been fixed: overrides specified
|
would not recognize.
|
||||||
|
This has been fixed: overrides specified
|
||||||
in
|
in
|
||||||
.Pa /etc/master.passwd
|
.Pa /etc/master.passwd
|
||||||
now apply to all
|
now apply to all
|
||||||
@ -580,7 +614,8 @@ netgroup overrides did not work at
|
|||||||
all, largely because
|
all, largely because
|
||||||
.Tn FreeBSD
|
.Tn FreeBSD
|
||||||
did not have support for reading
|
did not have support for reading
|
||||||
netgroups through NIS. Again, this has been fixed, and
|
netgroups through NIS.
|
||||||
|
Again, this has been fixed, and
|
||||||
netgroups can be specified just as in
|
netgroups can be specified just as in
|
||||||
.Tn SunOS
|
.Tn SunOS
|
||||||
and similar NIS-capable
|
and similar NIS-capable
|
||||||
|
@ -88,7 +88,8 @@ is an
|
|||||||
client/server system that allows a group of
|
client/server system that allows a group of
|
||||||
machines within an
|
machines within an
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
domain to share a common set of configuration files. This permits a system
|
domain to share a common set of configuration files.
|
||||||
|
This permits a system
|
||||||
administrator to set up
|
administrator to set up
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
client systems with only minimal configuration
|
client systems with only minimal configuration
|
||||||
@ -109,11 +110,13 @@ where
|
|||||||
.Pa [domainname]
|
.Pa [domainname]
|
||||||
is the name of the
|
is the name of the
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
domain being served. A single
|
domain being served.
|
||||||
|
A single
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
server can
|
server can
|
||||||
support several domains at once, therefore it is possible to have several
|
support several domains at once, therefore it is possible to have several
|
||||||
such directories, one for each supported domain. Each domain will have
|
such directories, one for each supported domain.
|
||||||
|
Each domain will have
|
||||||
its own independent set of maps.
|
its own independent set of maps.
|
||||||
.Pp
|
.Pp
|
||||||
In
|
In
|
||||||
@ -137,8 +140,10 @@ into
|
|||||||
and
|
and
|
||||||
.Em .pag
|
.Em .pag
|
||||||
files which the ndbm code uses to hold separate parts of the hash
|
files which the ndbm code uses to hold separate parts of the hash
|
||||||
database. The Berkeley DB hash method instead uses a single file for
|
database.
|
||||||
both pieces of information. This means that while you may have
|
The Berkeley DB hash method instead uses a single file for
|
||||||
|
both pieces of information.
|
||||||
|
This means that while you may have
|
||||||
.Pa passwd.byname.dir
|
.Pa passwd.byname.dir
|
||||||
and
|
and
|
||||||
.Pa passwd.byname.pag
|
.Pa passwd.byname.pag
|
||||||
@ -153,7 +158,8 @@ server,
|
|||||||
.Xr ypserv 8 ,
|
.Xr ypserv 8 ,
|
||||||
and related tools need to know the database format of the
|
and related tools need to know the database format of the
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
maps. Client
|
maps.
|
||||||
|
Client
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
systems receive all
|
systems receive all
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
@ -200,20 +206,24 @@ command) and begins broadcasting
|
|||||||
requests on the local network.
|
requests on the local network.
|
||||||
These requests specify the name of the domain for which
|
These requests specify the name of the domain for which
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
is attempting to establish a binding. If a server that has been
|
is attempting to establish a binding.
|
||||||
|
If a server that has been
|
||||||
configured to serve the requested domain receives one of the broadcasts,
|
configured to serve the requested domain receives one of the broadcasts,
|
||||||
it will respond to
|
it will respond to
|
||||||
.Xr ypbind 8 ,
|
.Xr ypbind 8 ,
|
||||||
which will record the server's address. If there are several servers
|
which will record the server's address.
|
||||||
|
If there are several servers
|
||||||
available (a master and several slaves, for example),
|
available (a master and several slaves, for example),
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
will use the address of the first one to respond. From that point
|
will use the address of the first one to respond.
|
||||||
|
From that point
|
||||||
on, the client system will direct all of its
|
on, the client system will direct all of its
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
requests to that server.
|
requests to that server.
|
||||||
.Xr Ypbind 8
|
.Xr Ypbind 8
|
||||||
will occasionally ``ping'' the server to make sure it's still up
|
will occasionally ``ping'' the server to make sure it's still up
|
||||||
and running. If it fails to receive a reply to one of its pings
|
and running.
|
||||||
|
If it fails to receive a reply to one of its pings
|
||||||
within a reasonable amount of time,
|
within a reasonable amount of time,
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
will mark the domain as unbound and begin broadcasting again in the
|
will mark the domain as unbound and begin broadcasting again in the
|
||||||
@ -231,7 +241,8 @@ is responsible for receiving incoming requests from
|
|||||||
clients,
|
clients,
|
||||||
translating the requested domain and map name to a path to the
|
translating the requested domain and map name to a path to the
|
||||||
corresponding database file and transmitting data from the database
|
corresponding database file and transmitting data from the database
|
||||||
back to the client. There is a specific set of requests that
|
back to the client.
|
||||||
|
There is a specific set of requests that
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
is designed to handle, most of which are implemented as functions
|
is designed to handle, most of which are implemented as functions
|
||||||
within the standard C library:
|
within the standard C library:
|
||||||
@ -280,11 +291,13 @@ and are not meant to be used by standard utilities.
|
|||||||
.Pp
|
.Pp
|
||||||
On networks with a large number of hosts, it is often a good idea to
|
On networks with a large number of hosts, it is often a good idea to
|
||||||
use a master server and several slaves rather than just a single master
|
use a master server and several slaves rather than just a single master
|
||||||
server. A slave server provides the exact same information as a master
|
server.
|
||||||
|
A slave server provides the exact same information as a master
|
||||||
server: whenever the maps on the master server are updated, the new
|
server: whenever the maps on the master server are updated, the new
|
||||||
data should be propagated to the slave systems using the
|
data should be propagated to the slave systems using the
|
||||||
.Xr yppush 8
|
.Xr yppush 8
|
||||||
command. The
|
command.
|
||||||
|
The
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
Makefile
|
Makefile
|
||||||
.Pf ( Pa /var/yp/Makefile )
|
.Pf ( Pa /var/yp/Makefile )
|
||||||
@ -305,8 +318,10 @@ master server using
|
|||||||
automatically from within
|
automatically from within
|
||||||
.Xr ypserv 8 ;
|
.Xr ypserv 8 ;
|
||||||
therefore it is not usually necessary for the administrator
|
therefore it is not usually necessary for the administrator
|
||||||
to use it directly. It can be run manually if
|
to use it directly.
|
||||||
desired, however.) Maintaining
|
It can be run manually if
|
||||||
|
desired, however.)
|
||||||
|
Maintaining
|
||||||
slave servers helps improve
|
slave servers helps improve
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
performance on large
|
performance on large
|
||||||
@ -328,11 +343,13 @@ domain to extend beyond
|
|||||||
a local network (the
|
a local network (the
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
daemon might not be able to locate a server automatically if it resides on
|
daemon might not be able to locate a server automatically if it resides on
|
||||||
a network outside the reach of its broadcasts. It is possible to force
|
a network outside the reach of its broadcasts.
|
||||||
|
It is possible to force
|
||||||
.Xr ypbind 8
|
.Xr ypbind 8
|
||||||
to bind to a particular server with
|
to bind to a particular server with
|
||||||
.Xr ypset 8
|
.Xr ypset 8
|
||||||
but this is sometimes inconvenient. This problem can be avoided simply by
|
but this is sometimes inconvenient.
|
||||||
|
This problem can be avoided simply by
|
||||||
placing a slave server on the local network.)
|
placing a slave server on the local network.)
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
@ -345,7 +362,8 @@ other
|
|||||||
implementations) when used exclusively with
|
implementations) when used exclusively with
|
||||||
.Bx Free
|
.Bx Free
|
||||||
client
|
client
|
||||||
systems. The
|
systems.
|
||||||
|
The
|
||||||
.Bx Free
|
.Bx Free
|
||||||
password database system (which is derived directly
|
password database system (which is derived directly
|
||||||
from
|
from
|
||||||
@ -373,8 +391,10 @@ in a special way: the server will only provide access to these
|
|||||||
maps in response to requests that originate on privileged ports.
|
maps in response to requests that originate on privileged ports.
|
||||||
Since only the super-user is allowed to bind to a privileged port,
|
Since only the super-user is allowed to bind to a privileged port,
|
||||||
the server assumes that all such requests come from privileged
|
the server assumes that all such requests come from privileged
|
||||||
users. All other requests are denied: requests from non-privileged
|
users.
|
||||||
ports will receive only an error code from the server. Additionally,
|
All other requests are denied: requests from non-privileged
|
||||||
|
ports will receive only an error code from the server.
|
||||||
|
Additionally,
|
||||||
.Bx Free Ns 's
|
.Bx Free Ns 's
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
includes support for Wietse Venema's tcp wrapper package; with tcp
|
includes support for Wietse Venema's tcp wrapper package; with tcp
|
||||||
@ -384,7 +404,8 @@ to respond only to selected client machines.
|
|||||||
.Pp
|
.Pp
|
||||||
While these enhancements provide better security than stock
|
While these enhancements provide better security than stock
|
||||||
.Tn NIS Ns ,
|
.Tn NIS Ns ,
|
||||||
they are by no means 100% effective. It is still possible for
|
they are by no means 100% effective.
|
||||||
|
It is still possible for
|
||||||
someone with access to your network to spoof the server into disclosing
|
someone with access to your network to spoof the server into disclosing
|
||||||
the shadow password maps.
|
the shadow password maps.
|
||||||
.Pp
|
.Pp
|
||||||
@ -393,9 +414,11 @@ On the client side,
|
|||||||
.Fn getpwent 3
|
.Fn getpwent 3
|
||||||
functions will automatically search for the
|
functions will automatically search for the
|
||||||
.Pa master.passwd
|
.Pa master.passwd
|
||||||
maps and use them if they exist. If they do, they will be used, and
|
maps and use them if they exist.
|
||||||
|
If they do, they will be used, and
|
||||||
all fields in these special maps (class, password age and account
|
all fields in these special maps (class, password age and account
|
||||||
expiration) will be decoded. If they aren't found, the standard
|
expiration) will be decoded.
|
||||||
|
If they aren't found, the standard
|
||||||
.Pa passwd
|
.Pa passwd
|
||||||
maps will be used instead.
|
maps will be used instead.
|
||||||
.Sh COMPATIBILITY
|
.Sh COMPATIBILITY
|
||||||
@ -405,7 +428,8 @@ to be running in order
|
|||||||
for their hostname resolution functions (
|
for their hostname resolution functions (
|
||||||
.Fn gethostbyname ,
|
.Fn gethostbyname ,
|
||||||
.Fn gethostbyaddr ,
|
.Fn gethostbyaddr ,
|
||||||
etc) to work properly. On these systems,
|
etc) to work properly.
|
||||||
|
On these systems,
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
performs
|
performs
|
||||||
.Tn DNS
|
.Tn DNS
|
||||||
@ -425,12 +449,14 @@ if desired), therefore its
|
|||||||
server doesn't do
|
server doesn't do
|
||||||
.Tn DNS
|
.Tn DNS
|
||||||
lookups
|
lookups
|
||||||
by default. However,
|
by default.
|
||||||
|
However,
|
||||||
.Xr ypserv 8
|
.Xr ypserv 8
|
||||||
can be made to perform
|
can be made to perform
|
||||||
.Tn DNS
|
.Tn DNS
|
||||||
lookups if it is started with a special
|
lookups if it is started with a special
|
||||||
flag. It can also be made to register itself as an
|
flag.
|
||||||
|
It can also be made to register itself as an
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
v1 server
|
v1 server
|
||||||
in order to placate certain systems that insist on the presence of
|
in order to placate certain systems that insist on the presence of
|
||||||
@ -463,7 +489,8 @@ client and server capabilities, it does not yet have support for
|
|||||||
.Xr ypupdated 8
|
.Xr ypupdated 8
|
||||||
or the
|
or the
|
||||||
.Fn yp_update
|
.Fn yp_update
|
||||||
function. Both of these require secure
|
function.
|
||||||
|
Both of these require secure
|
||||||
.Tn RPC Ns ,
|
.Tn RPC Ns ,
|
||||||
which
|
which
|
||||||
.Bx Free
|
.Bx Free
|
||||||
@ -476,7 +503,8 @@ and
|
|||||||
.Xr getprotoent 3
|
.Xr getprotoent 3
|
||||||
functions do not yet have
|
functions do not yet have
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
support. Fortunately, these files
|
support.
|
||||||
|
Fortunately, these files
|
||||||
don't need to be updated that often.
|
don't need to be updated that often.
|
||||||
.Pp
|
.Pp
|
||||||
Many more manual pages should be written, especially
|
Many more manual pages should be written, especially
|
||||||
@ -492,7 +520,8 @@ The
|
|||||||
.Nm YP
|
.Nm YP
|
||||||
subsystem was written from the ground up by
|
subsystem was written from the ground up by
|
||||||
.An Theo de Raadt
|
.An Theo de Raadt
|
||||||
to be compatible to Sun's implementation. Bug fixes, improvements
|
to be compatible to Sun's implementation.
|
||||||
|
Bug fixes, improvements
|
||||||
and
|
and
|
||||||
.Tn NIS
|
.Tn NIS
|
||||||
server support were later added by
|
server support were later added by
|
||||||
@ -501,5 +530,6 @@ The server-side code was originally written by
|
|||||||
.An Peter Eriksson
|
.An Peter Eriksson
|
||||||
and
|
and
|
||||||
.An Tobias Reber
|
.An Tobias Reber
|
||||||
and is subject to the GNU Public License. No Sun code was
|
and is subject to the GNU Public License.
|
||||||
|
No Sun code was
|
||||||
referenced.
|
referenced.
|
||||||
|
@ -44,8 +44,10 @@
|
|||||||
.Pp
|
.Pp
|
||||||
This device method should probe to see if the device is present.
|
This device method should probe to see if the device is present.
|
||||||
It should return 0 if the device exists, ENXIO if it cannot be
|
It should return 0 if the device exists, ENXIO if it cannot be
|
||||||
found. If some other error happens during the probe (such as a memory
|
found.
|
||||||
allocation failure), an appropriate error code should be returned. For
|
If some other error happens during the probe (such as a memory
|
||||||
|
allocation failure), an appropriate error code should be returned.
|
||||||
|
For
|
||||||
cases where more than one driver matches a device, a priority value can
|
cases where more than one driver matches a device, a priority value can
|
||||||
be returned. In this case, success codes are values less than or equal
|
be returned. In this case, success codes are values less than or equal
|
||||||
to zero with the highest value representing the best match. Failure
|
to zero with the highest value representing the best match. Failure
|
||||||
@ -54,15 +56,18 @@ codes should be used for the purpose.
|
|||||||
.Pp
|
.Pp
|
||||||
If a driver returns a success code which is less than zero, it must
|
If a driver returns a success code which is less than zero, it must
|
||||||
not assume that it will be the same driver which is attached to the
|
not assume that it will be the same driver which is attached to the
|
||||||
device. In particular, it must not assume that any values stored in
|
device.
|
||||||
|
In particular, it must not assume that any values stored in
|
||||||
the softc structure will be available for its attach method and any
|
the softc structure will be available for its attach method and any
|
||||||
resources allocated during probe must be released and re-allocated
|
resources allocated during probe must be released and re-allocated
|
||||||
if the attach method is called. If a success code of zero is
|
if the attach method is called.
|
||||||
|
If a success code of zero is
|
||||||
returned, the driver can assume that it will be the one attached.
|
returned, the driver can assume that it will be the one attached.
|
||||||
.Pp
|
.Pp
|
||||||
Devices which implement busses should use this method to probe for
|
Devices which implement busses should use this method to probe for
|
||||||
the existence of devices attached to the bus and add them as
|
the existence of devices attached to the bus and add them as
|
||||||
children. If this is combined with the use of
|
children.
|
||||||
|
If this is combined with the use of
|
||||||
.Xr bus_generic_attach 9
|
.Xr bus_generic_attach 9
|
||||||
the child devices will be automatically probed and attached.
|
the child devices will be automatically probed and attached.
|
||||||
.Sh RETURN VALUES
|
.Sh RETURN VALUES
|
||||||
|
@ -55,7 +55,8 @@ module implements the RSA Data Security, Inc. MD5 Message-Digest Algorithm
|
|||||||
.It Pa MD5Init
|
.It Pa MD5Init
|
||||||
must be called just before
|
must be called just before
|
||||||
.Fn MD5Transform
|
.Fn MD5Transform
|
||||||
will be used to produce a digest. The
|
will be used to produce a digest.
|
||||||
|
The
|
||||||
.Fa buf
|
.Fa buf
|
||||||
argument is the storage for the digest being produced on subsequent
|
argument is the storage for the digest being produced on subsequent
|
||||||
calls to the
|
calls to the
|
||||||
|
@ -57,7 +57,8 @@ microsequencer implementation and an example of how using it in
|
|||||||
.Ss Background
|
.Ss Background
|
||||||
The parallel port model chosen for ppbus is the PC parallel port model.
|
The parallel port model chosen for ppbus is the PC parallel port model.
|
||||||
Thus, any register described later has the same semantic than its counterpart
|
Thus, any register described later has the same semantic than its counterpart
|
||||||
in a PC parallel port. For more info about ISA/ECP programming, get the
|
in a PC parallel port.
|
||||||
|
For more info about ISA/ECP programming, get the
|
||||||
Microsoft standard referenced as "Extended Capabilities Port Protocol and
|
Microsoft standard referenced as "Extended Capabilities Port Protocol and
|
||||||
ISA interface Standard". Registers described later are standard parallel port
|
ISA interface Standard". Registers described later are standard parallel port
|
||||||
registers.
|
registers.
|
||||||
@ -66,8 +67,10 @@ Mask macros are defined in the standard ppbus include files for each valid
|
|||||||
bit of parallel port registers.
|
bit of parallel port registers.
|
||||||
.Ss Data register
|
.Ss Data register
|
||||||
In compatible or nibble mode, writing to this register will drive data to the
|
In compatible or nibble mode, writing to this register will drive data to the
|
||||||
parallel port data lines. In any other mode, drivers may be tri-stated by
|
parallel port data lines.
|
||||||
setting the direction bit (PCD) in the control register. Reads to this register
|
In any other mode, drivers may be tri-stated by
|
||||||
|
setting the direction bit (PCD) in the control register.
|
||||||
|
Reads to this register
|
||||||
return the value on the data lines.
|
return the value on the data lines.
|
||||||
.Ss Device status register
|
.Ss Device status register
|
||||||
This read-only register reflects the inputs on the parallel port interface.
|
This read-only register reflects the inputs on the parallel port interface.
|
||||||
@ -99,7 +102,8 @@ some functions.
|
|||||||
.Ss Description
|
.Ss Description
|
||||||
.Em Microinstructions
|
.Em Microinstructions
|
||||||
are either parallel port accesses, program iterations, submicrosequence or
|
are either parallel port accesses, program iterations, submicrosequence or
|
||||||
C calls. The parallel port must be considered as the logical model described in
|
C calls.
|
||||||
|
The parallel port must be considered as the logical model described in
|
||||||
.Xr ppbus 4 .
|
.Xr ppbus 4 .
|
||||||
.Pp
|
.Pp
|
||||||
Available microinstructions are:
|
Available microinstructions are:
|
||||||
@ -217,7 +221,8 @@ is positive.
|
|||||||
Parameter:
|
Parameter:
|
||||||
.Bl -enum -offset ident
|
.Bl -enum -offset ident
|
||||||
.It
|
.It
|
||||||
integer offset in the current executed (sub)microsequence. Offset is added to
|
integer offset in the current executed (sub)microsequence.
|
||||||
|
Offset is added to
|
||||||
the index of the next microinstruction to execute.
|
the index of the next microinstruction to execute.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
@ -231,7 +236,8 @@ Parameter:
|
|||||||
.It
|
.It
|
||||||
bits of the status register
|
bits of the status register
|
||||||
.It
|
.It
|
||||||
integer offset in the current executed (sub)microsequence. Offset is added to
|
integer offset in the current executed (sub)microsequence.
|
||||||
|
Offset is added to
|
||||||
the index of the next microinstruction to execute.
|
the index of the next microinstruction to execute.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
@ -245,13 +251,16 @@ Parameter:
|
|||||||
.It
|
.It
|
||||||
bits of the status register
|
bits of the status register
|
||||||
.It
|
.It
|
||||||
integer offset in the current executed (sub)microsequence. Offset is added to
|
integer offset in the current executed (sub)microsequence.
|
||||||
|
Offset is added to
|
||||||
the index of the next microinstruction to execute.
|
the index of the next microinstruction to execute.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_BRCLEAR(mask,offset)
|
Predefined macro: MS_BRCLEAR(mask,offset)
|
||||||
.Ss MS_OP_RET - RETurn
|
.Ss MS_OP_RET - RETurn
|
||||||
is used to return from a microsequence. This instruction is mandatory. This
|
is used to return from a microsequence.
|
||||||
|
This instruction is mandatory.
|
||||||
|
This
|
||||||
is the only way for the microsequencer to detect the end of the microsequence.
|
is the only way for the microsequencer to detect the end of the microsequence.
|
||||||
The return code is returned in the integer pointed by the (int *) parameter
|
The return code is returned in the integer pointed by the (int *) parameter
|
||||||
of the ppb_MS_microseq().
|
of the ppb_MS_microseq().
|
||||||
@ -264,7 +273,8 @@ integer return code
|
|||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_RET(code)
|
Predefined macro: MS_RET(code)
|
||||||
.Ss MS_OP_C_CALL - C function CALL
|
.Ss MS_OP_C_CALL - C function CALL
|
||||||
is used to call C functions from microsequence execution. This may be useful
|
is used to call C functions from microsequence execution.
|
||||||
|
This may be useful
|
||||||
when a non-standard i/o is performed to retrieve a data character from the
|
when a non-standard i/o is performed to retrieve a data character from the
|
||||||
parallel port.
|
parallel port.
|
||||||
.Pp
|
.Pp
|
||||||
@ -294,7 +304,8 @@ Note that this pointer is automatically incremented during xxx_P() calls
|
|||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_PTR(ptr)
|
Predefined macro: MS_PTR(ptr)
|
||||||
.Ss MS_OP_ADELAY - do an Asynchronous DELAY
|
.Ss MS_OP_ADELAY - do an Asynchronous DELAY
|
||||||
is used to make a tsleep() during microsequence execution. The tsleep is
|
is used to make a tsleep() during microsequence execution.
|
||||||
|
The tsleep is
|
||||||
executed at PPBPRI level.
|
executed at PPBPRI level.
|
||||||
.Pp
|
.Pp
|
||||||
Parameter:
|
Parameter:
|
||||||
@ -310,27 +321,33 @@ is used to branch on status register state condition.
|
|||||||
Parameter:
|
Parameter:
|
||||||
.Bl -enum -offset ident
|
.Bl -enum -offset ident
|
||||||
.It
|
.It
|
||||||
mask of asserted bits. Bits that shall be asserted in the status register
|
mask of asserted bits.
|
||||||
|
Bits that shall be asserted in the status register
|
||||||
are set in the mask
|
are set in the mask
|
||||||
.It
|
.It
|
||||||
mask of cleared bits. Bits that shall be cleared in the status register
|
mask of cleared bits.
|
||||||
|
Bits that shall be cleared in the status register
|
||||||
are set in the mask
|
are set in the mask
|
||||||
.It
|
.It
|
||||||
integer offset in the current executed (sub)microsequence. Offset is added
|
integer offset in the current executed (sub)microsequence.
|
||||||
|
Offset is added
|
||||||
to the index of the next microinstruction to execute.
|
to the index of the next microinstruction to execute.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_BRSTAT(asserted_bits,clear_bits,offset)
|
Predefined macro: MS_BRSTAT(asserted_bits,clear_bits,offset)
|
||||||
.Ss MS_OP_SUBRET - SUBmicrosequence RETurn
|
.Ss MS_OP_SUBRET - SUBmicrosequence RETurn
|
||||||
is used to return from the submicrosequence call. This action is mandatory
|
is used to return from the submicrosequence call.
|
||||||
before a RET call. Some microinstructions (PUT, GET) may not be callable
|
This action is mandatory
|
||||||
|
before a RET call.
|
||||||
|
Some microinstructions (PUT, GET) may not be callable
|
||||||
within a submicrosequence.
|
within a submicrosequence.
|
||||||
.Pp
|
.Pp
|
||||||
No parameter.
|
No parameter.
|
||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_SUBRET()
|
Predefined macro: MS_SUBRET()
|
||||||
.Ss MS_OP_CALL - submicrosequence CALL
|
.Ss MS_OP_CALL - submicrosequence CALL
|
||||||
is used to call a submicrosequence. A submicrosequence is a microsequence with
|
is used to call a submicrosequence.
|
||||||
|
A submicrosequence is a microsequence with
|
||||||
a SUBRET call.
|
a SUBRET call.
|
||||||
Parameter:
|
Parameter:
|
||||||
.Bl -enum -offset ident
|
.Bl -enum -offset ident
|
||||||
@ -352,7 +369,8 @@ register
|
|||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_RASSERT_P(iter,reg)
|
Predefined macro: MS_RASSERT_P(iter,reg)
|
||||||
.Ss MS_OP_RFETCH_P - Register FETCH to internal PTR
|
.Ss MS_OP_RFETCH_P - Register FETCH to internal PTR
|
||||||
is used to fetch data from a register. Data is stored in the buffer currently
|
is used to fetch data from a register.
|
||||||
|
Data is stored in the buffer currently
|
||||||
pointed by the internal PTR pointer.
|
pointed by the internal PTR pointer.
|
||||||
Parameter:
|
Parameter:
|
||||||
.Bl -enum -offset ident
|
.Bl -enum -offset ident
|
||||||
@ -366,9 +384,12 @@ mask applied to fetched data
|
|||||||
.Pp
|
.Pp
|
||||||
Predefined macro: MS_RFETCH_P(iter,reg,mask)
|
Predefined macro: MS_RFETCH_P(iter,reg,mask)
|
||||||
.Ss MS_OP_TRIG - TRIG register
|
.Ss MS_OP_TRIG - TRIG register
|
||||||
is used to trigger the parallel port. This microinstruction is intended to
|
is used to trigger the parallel port.
|
||||||
provide a very efficient control of the parallel port. Triggering a register
|
This microinstruction is intended to
|
||||||
is writing data, wait a while, write data, wait a while... This allows to
|
provide a very efficient control of the parallel port.
|
||||||
|
Triggering a register
|
||||||
|
is writing data, wait a while, write data, wait a while...
|
||||||
|
This allows to
|
||||||
write magic sequences to the port.
|
write magic sequences to the port.
|
||||||
Parameter:
|
Parameter:
|
||||||
.Bl -enum -offset ident
|
.Bl -enum -offset ident
|
||||||
@ -379,8 +400,10 @@ register
|
|||||||
.It
|
.It
|
||||||
size of the array
|
size of the array
|
||||||
.It
|
.It
|
||||||
array of unsigned chars. Each couple of u_chars define the data to write to
|
array of unsigned chars.
|
||||||
the register and the delay in us to wait. The delay is limited to 255 us to
|
Each couple of u_chars define the data to write to
|
||||||
|
the register and the delay in us to wait.
|
||||||
|
The delay is limited to 255 us to
|
||||||
simplify and reduce the size of the array.
|
simplify and reduce the size of the array.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
@ -402,9 +425,11 @@ struct ppb_microseq {
|
|||||||
.Ed
|
.Ed
|
||||||
.Ss Using microsequences
|
.Ss Using microsequences
|
||||||
To instantiate a microsequence, just declare an array of ppb_microseq
|
To instantiate a microsequence, just declare an array of ppb_microseq
|
||||||
structures and initialize it as needed. You may either use predefined macros
|
structures and initialize it as needed.
|
||||||
|
You may either use predefined macros
|
||||||
or code directly your microinstructions according to the ppb_microseq
|
or code directly your microinstructions according to the ppb_microseq
|
||||||
definition. For example,
|
definition.
|
||||||
|
For example,
|
||||||
.Bd -literal
|
.Bd -literal
|
||||||
struct ppb_microseq select_microseq[] = {
|
struct ppb_microseq select_microseq[] = {
|
||||||
|
|
||||||
@ -430,7 +455,8 @@ definition. For example,
|
|||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
Here, some parameters are undefined and must be filled before executing
|
Here, some parameters are undefined and must be filled before executing
|
||||||
the microsequence. In order to initialize each microsequence, one
|
the microsequence.
|
||||||
|
In order to initialize each microsequence, one
|
||||||
should use the ppb_MS_init_msq() function like this:
|
should use the ppb_MS_init_msq() function like this:
|
||||||
.Bd -literal
|
.Bd -literal
|
||||||
ppb_MS_init_msq(select_microseq, 2,
|
ppb_MS_init_msq(select_microseq, 2,
|
||||||
@ -443,7 +469,8 @@ and then execute the microsequence.
|
|||||||
The microsequencer is executed either at ppbus or adapter level (see
|
The microsequencer is executed either at ppbus or adapter level (see
|
||||||
.Xr ppbus 4
|
.Xr ppbus 4
|
||||||
for info about ppbus system layers). Most of the microsequencer is executed
|
for info about ppbus system layers). Most of the microsequencer is executed
|
||||||
at ppc level to avoid ppbus to adapter function call overhead. But some
|
at ppc level to avoid ppbus to adapter function call overhead.
|
||||||
|
But some
|
||||||
actions like deciding whereas the transfer is IEEE1284-1994 compliant are
|
actions like deciding whereas the transfer is IEEE1284-1994 compliant are
|
||||||
executed at ppbus layer.
|
executed at ppbus layer.
|
||||||
.Sh BUGS
|
.Sh BUGS
|
||||||
|
@ -220,7 +220,8 @@ character sequence.
|
|||||||
The script will then fail because it found a match to
|
The script will then fail because it found a match to
|
||||||
the abort string.
|
the abort string.
|
||||||
If it received the string \fINO CARRIER\fR, it will abort
|
If it received the string \fINO CARRIER\fR, it will abort
|
||||||
for the same reason. Either string may be received.
|
for the same reason.
|
||||||
|
Either string may be received.
|
||||||
Either string will
|
Either string will
|
||||||
terminate the \fIchat\fR script.
|
terminate the \fIchat\fR script.
|
||||||
.SH CLR_ABORT STRINGS
|
.SH CLR_ABORT STRINGS
|
||||||
@ -420,7 +421,8 @@ The EOT sequence may be embedded into the send string using the
|
|||||||
sequence \fI^D\fR.
|
sequence \fI^D\fR.
|
||||||
.SH GENERATING BREAK
|
.SH GENERATING BREAK
|
||||||
The special reply string of \fIBREAK\fR will cause a break condition
|
The special reply string of \fIBREAK\fR will cause a break condition
|
||||||
to be sent. The break is a special signal on the transmitter.
|
to be sent.
|
||||||
|
The break is a special signal on the transmitter.
|
||||||
The
|
The
|
||||||
normal processing on the receiver is to change the transmission rate.
|
normal processing on the receiver is to change the transmission rate.
|
||||||
It may be used to cycle through the available transmission rates on
|
It may be used to cycle through the available transmission rates on
|
||||||
|
@ -316,7 +316,8 @@ If the password is invalid, all changes will be
|
|||||||
discarded.
|
discarded.
|
||||||
.Pp
|
.Pp
|
||||||
Exception: the super-user on the NIS master server is allowed to
|
Exception: the super-user on the NIS master server is allowed to
|
||||||
submit changes without supplying a password. (The super-user may
|
submit changes without supplying a password.
|
||||||
|
(The super-user may
|
||||||
choose to turn off this feature using the
|
choose to turn off this feature using the
|
||||||
.Fl o
|
.Fl o
|
||||||
flag, described below.)
|
flag, described below.)
|
||||||
|
@ -65,7 +65,8 @@ Partial numbers of blocks are rounded up.
|
|||||||
The options are as follows:
|
The options are as follows:
|
||||||
.Bl -tag -width Ds
|
.Bl -tag -width Ds
|
||||||
.It Fl P
|
.It Fl P
|
||||||
No symbolic links are followed. (default)
|
No symbolic links are followed.
|
||||||
|
(default)
|
||||||
.It Fl H
|
.It Fl H
|
||||||
Symbolic links on the command line are followed, symbolic links in file
|
Symbolic links on the command line are followed, symbolic links in file
|
||||||
hierarchies are not followed.
|
hierarchies are not followed.
|
||||||
@ -82,7 +83,8 @@ that cannot be opened, and so on. This is the default case.
|
|||||||
This option exists solely for conformance with
|
This option exists solely for conformance with
|
||||||
.St -xpg4 .
|
.St -xpg4 .
|
||||||
.It Fl s
|
.It Fl s
|
||||||
Display an entry for each specified file. (Equivalent to
|
Display an entry for each specified file.
|
||||||
|
(Equivalent to
|
||||||
.Fl d
|
.Fl d
|
||||||
0 )
|
0 )
|
||||||
.It Fl d Ar depth
|
.It Fl d Ar depth
|
||||||
|
@ -94,21 +94,25 @@ Backward space
|
|||||||
.Ar count
|
.Ar count
|
||||||
setmarks.
|
setmarks.
|
||||||
.It Cm rdhpos
|
.It Cm rdhpos
|
||||||
Read Hardware block position. Some drives do not support this.
|
Read Hardware block position.
|
||||||
|
Some drives do not support this.
|
||||||
The block
|
The block
|
||||||
number reported is specific for that hardware only.
|
number reported is specific for that hardware only.
|
||||||
The count argument is
|
The count argument is
|
||||||
ignored.
|
ignored.
|
||||||
.It Cm rdspos
|
.It Cm rdspos
|
||||||
Read SCSI logical block position. Some drives do not support this.
|
Read SCSI logical block position.
|
||||||
|
Some drives do not support this.
|
||||||
The
|
The
|
||||||
count argument is ignored.
|
count argument is ignored.
|
||||||
.It Cm sethpos
|
.It Cm sethpos
|
||||||
Set Hardware block position. Some drives do not support this.
|
Set Hardware block position.
|
||||||
|
Some drives do not support this.
|
||||||
The count
|
The count
|
||||||
argument is interpreted as a hardware block to which to position the tape.
|
argument is interpreted as a hardware block to which to position the tape.
|
||||||
.It Cm setspos
|
.It Cm setspos
|
||||||
Set SCSI logical block position. Some drives do not support this.
|
Set SCSI logical block position.
|
||||||
|
Some drives do not support this.
|
||||||
The count
|
The count
|
||||||
argument is interpreted as a SCSI logical block to which to position the tape.
|
argument is interpreted as a SCSI logical block to which to position the tape.
|
||||||
.It Cm rewind
|
.It Cm rewind
|
||||||
|
@ -125,7 +125,8 @@ will be that shell.
|
|||||||
If
|
If
|
||||||
.Ev SHELL
|
.Ev SHELL
|
||||||
is not set, the Bourne shell
|
is not set, the Bourne shell
|
||||||
is assumed. (Most shells set this variable automatically).
|
is assumed.
|
||||||
|
(Most shells set this variable automatically).
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr csh 1
|
.Xr csh 1
|
||||||
|
@ -239,7 +239,8 @@ Show the disk
|
|||||||
.Tn I/O
|
.Tn I/O
|
||||||
statistics in bar graph form (default).
|
statistics in bar graph form (default).
|
||||||
.It Cm kbpt
|
.It Cm kbpt
|
||||||
Toggle the display of kilobytes per transaction. (the default is to
|
Toggle the display of kilobytes per transaction.
|
||||||
|
(the default is to
|
||||||
not display kilobytes per transaction).
|
not display kilobytes per transaction).
|
||||||
.El
|
.El
|
||||||
.It Ic swap
|
.It Ic swap
|
||||||
|
@ -253,7 +253,8 @@ Set the station address for the specified interface.
|
|||||||
The
|
The
|
||||||
.Ar mac address
|
.Ar mac address
|
||||||
is specified as a series of six hexadecimal values separated by colons,
|
is specified as a series of six hexadecimal values separated by colons,
|
||||||
e.g.: 00:60:1d:12:34:56. This programs the new address into the card
|
e.g.: 00:60:1d:12:34:56.
|
||||||
|
This programs the new address into the card
|
||||||
and updates the interface as well.
|
and updates the interface as well.
|
||||||
.It Fl i Ar iface Fl n Ar SSID "[-v 1|2|3]"
|
.It Fl i Ar iface Fl n Ar SSID "[-v 1|2|3]"
|
||||||
Set the desired SSID (network name). There are three SSIDs which allows
|
Set the desired SSID (network name). There are three SSIDs which allows
|
||||||
@ -282,7 +283,8 @@ Valid power settings
|
|||||||
vary depending on the actual NIC and can be viewed by dumping the
|
vary depending on the actual NIC and can be viewed by dumping the
|
||||||
device capabilities with the
|
device capabilities with the
|
||||||
.Fl I
|
.Fl I
|
||||||
flag. Typical values are 1, 5, 20, 50 and 100mW.
|
flag.
|
||||||
|
Typical values are 1, 5, 20, 50 and 100mW.
|
||||||
Selecting 0 sets
|
Selecting 0 sets
|
||||||
the factory default.
|
the factory default.
|
||||||
.It Fl i Ar iface Fl c Ar channel
|
.It Fl i Ar iface Fl c Ar channel
|
||||||
@ -321,7 +323,8 @@ If an illegal channel is specified, the
|
|||||||
NIC will revert to its default channel.
|
NIC will revert to its default channel.
|
||||||
For NICs sold in the United States
|
For NICs sold in the United States
|
||||||
and Europe, the default channel is 3. For NICs sold in France, the default
|
and Europe, the default channel is 3. For NICs sold in France, the default
|
||||||
channel is 11. For NICs sold in Japan, the only available channel is 14.
|
channel is 11.
|
||||||
|
For NICs sold in Japan, the only available channel is 14.
|
||||||
Note that two stations must be set to the same channel in order to
|
Note that two stations must be set to the same channel in order to
|
||||||
communicate.
|
communicate.
|
||||||
.It Fl i Ar iface Fl f Ar fragmentation threshold
|
.It Fl i Ar iface Fl f Ar fragmentation threshold
|
||||||
@ -339,7 +342,8 @@ This controls the
|
|||||||
number of bytes used for the RTS/CTS handhake boundary.
|
number of bytes used for the RTS/CTS handhake boundary.
|
||||||
The
|
The
|
||||||
.Ar RTS threshold
|
.Ar RTS threshold
|
||||||
can be any value between 0 and 2312. The default is 2312.
|
can be any value between 0 and 2312.
|
||||||
|
The default is 2312.
|
||||||
.It Fl h
|
.It Fl h
|
||||||
Prints a list of available options and sample usage.
|
Prints a list of available options and sample usage.
|
||||||
.El
|
.El
|
||||||
|
@ -79,7 +79,8 @@ in minutes,
|
|||||||
.Ar end_s ,
|
.Ar end_s ,
|
||||||
in seconds and
|
in seconds and
|
||||||
.Ar end_f
|
.Ar end_f
|
||||||
(frame number). Minutes are in the range 0-99. Seconds are in the range 0-59.
|
(frame number). Minutes are in the range 0-99.
|
||||||
|
Seconds are in the range 0-59.
|
||||||
Frame numbers are in the range 0-74.
|
Frame numbers are in the range 0-74.
|
||||||
|
|
||||||
.It Cm play Op Ar #start_block Op length
|
.It Cm play Op Ar #start_block Op length
|
||||||
|
@ -94,7 +94,8 @@ The following keywords are valid in the system configuration section:
|
|||||||
If this parameter is set to
|
If this parameter is set to
|
||||||
.Em on ,
|
.Em on ,
|
||||||
accounting information is written even if the local site was not charged
|
accounting information is written even if the local site was not charged
|
||||||
or no charging information is available or is not subscribed. (optional)
|
or no charging information is available or is not subscribed.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li acctfile
|
.It Li acctfile
|
||||||
Specifies the name of the accounting file which is used when the keyword
|
Specifies the name of the accounting file which is used when the keyword
|
||||||
@ -103,14 +104,16 @@ Specifies the name of the accounting file which is used when the keyword
|
|||||||
.Em on .
|
.Em on .
|
||||||
See also system keyword
|
See also system keyword
|
||||||
.Em rotatesuffix .
|
.Em rotatesuffix .
|
||||||
If this keyword is omitted the system default is used. (optional)
|
If this keyword is omitted the system default is used.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li aliasing
|
.It Li aliasing
|
||||||
If this parameter is set to
|
If this parameter is set to
|
||||||
.Em on ,
|
.Em on ,
|
||||||
alias processing of telephone-number to name is enabled (see also the
|
alias processing of telephone-number to name is enabled (see also the
|
||||||
.Em aliasfile
|
.Em aliasfile
|
||||||
keyword below). The default is off. (optional)
|
keyword below). The default is off.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li aliasfile
|
.It Li aliasfile
|
||||||
Specifies the name of the telephone number-to-name alias database file shared
|
Specifies the name of the telephone number-to-name alias database file shared
|
||||||
@ -118,7 +121,8 @@ with the
|
|||||||
.Xr isdntel 1
|
.Xr isdntel 1
|
||||||
utility when alias processing is enabled via the
|
utility when alias processing is enabled via the
|
||||||
.Em aliasing
|
.Em aliasing
|
||||||
keyword. (optional)
|
keyword.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li beepconnect
|
.It Li beepconnect
|
||||||
In fullscreen mode, if this parameter is set to
|
In fullscreen mode, if this parameter is set to
|
||||||
@ -130,7 +134,8 @@ If this parameter is set to
|
|||||||
.Em on ,
|
.Em on ,
|
||||||
date/time information from the exchange (if provided) is written to the
|
date/time information from the exchange (if provided) is written to the
|
||||||
logfile.
|
logfile.
|
||||||
The default is off. (optional)
|
The default is off.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li mailer
|
.It Li mailer
|
||||||
This keyword is used to specify the path/name of a mail program which
|
This keyword is used to specify the path/name of a mail program which
|
||||||
@ -204,7 +209,8 @@ The supported access rights are:
|
|||||||
.It Li ratesfile
|
.It Li ratesfile
|
||||||
Specifies the name of the ratesfile.
|
Specifies the name of the ratesfile.
|
||||||
If this keyword is omitted the system
|
If this keyword is omitted the system
|
||||||
default is used. (optional)
|
default is used.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li regexpr
|
.It Li regexpr
|
||||||
This keyword is used to specify regular expressions.
|
This keyword is used to specify regular expressions.
|
||||||
@ -247,7 +253,8 @@ rotatesuffix is used and a USR1 signal is sent to isdnd, the logfile and the
|
|||||||
accounting file is not only closed and reopened but the old logfile is also
|
accounting file is not only closed and reopened but the old logfile is also
|
||||||
renamed to the former filename with the rotatesuffix string appended.
|
renamed to the former filename with the rotatesuffix string appended.
|
||||||
If this keyword is omitted, the logfiles are just closed and reopened; this
|
If this keyword is omitted, the logfiles are just closed and reopened; this
|
||||||
is also the default behaviour. (optional)
|
is also the default behaviour.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li rtprio
|
.It Li rtprio
|
||||||
Specifies the realtime priority
|
Specifies the realtime priority
|
||||||
@ -268,7 +275,8 @@ was compiled with -DUSE_RTPRIO.
|
|||||||
If this parameter is set to
|
If this parameter is set to
|
||||||
.Em on
|
.Em on
|
||||||
charging (if available) and accounting information is written to the
|
charging (if available) and accounting information is written to the
|
||||||
accounting file. (optional)
|
accounting file.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.El
|
.El
|
||||||
|
|
||||||
@ -341,11 +349,13 @@ No framing at all (used for telephony).
|
|||||||
|
|
||||||
.It Li callbackwait
|
.It Li callbackwait
|
||||||
The time in seconds to wait between hanging up the call from a remote site
|
The time in seconds to wait between hanging up the call from a remote site
|
||||||
and calling back the remote site. (optional)
|
and calling back the remote site.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li calledbackwait
|
.It Li calledbackwait
|
||||||
The time in seconds to wait for a remote site calling back the local site
|
The time in seconds to wait for a remote site calling back the local site
|
||||||
after a call from the local site to the remote site has been made. (optional)
|
after a call from the local site to the remote site has been made.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li dialin-reaction
|
.It Li dialin-reaction
|
||||||
Used to specify what to do when an incoming connection request is received.
|
Used to specify what to do when an incoming connection request is received.
|
||||||
@ -386,7 +396,8 @@ to minimize the chance of two sites dialing synchronously so each gets a busy
|
|||||||
each time it dials because the other side is also dialing.
|
each time it dials because the other side is also dialing.
|
||||||
|
|
||||||
.It Li dialretries
|
.It Li dialretries
|
||||||
The number of dialing retries before giving up. (optional)
|
The number of dialing retries before giving up.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li direction
|
.It Li direction
|
||||||
This keyword is used to configure if incoming and outgoing, incoming-only or
|
This keyword is used to configure if incoming and outgoing, incoming-only or
|
||||||
@ -426,7 +437,8 @@ This keyword is optional and is set to 60 seconds by default.
|
|||||||
|
|
||||||
.It Li earlyhangup
|
.It Li earlyhangup
|
||||||
A (safety) time in seconds which specifies the time to hangup before an
|
A (safety) time in seconds which specifies the time to hangup before an
|
||||||
expected next charging unit will occur. (optional)
|
expected next charging unit will occur.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li idle-algorithm-outgoing
|
.It Li idle-algorithm-outgoing
|
||||||
The algorithm used to determine when to hang up an outgoing call when the
|
The algorithm used to determine when to hang up an outgoing call when the
|
||||||
@ -472,13 +484,15 @@ A delay value suitable for the
|
|||||||
kernel subroutine to delay the transmittion of the first packet after a
|
kernel subroutine to delay the transmittion of the first packet after a
|
||||||
successfull connection is made by this value for
|
successfull connection is made by this value for
|
||||||
.Em incoming
|
.Em incoming
|
||||||
ISDN connections. The specification unit is 1/100 second.
|
ISDN connections.
|
||||||
|
The specification unit is 1/100 second.
|
||||||
A zero (0) disables
|
A zero (0) disables
|
||||||
this feature and is the default value.
|
this feature and is the default value.
|
||||||
This feature is implemented (and makes
|
This feature is implemented (and makes
|
||||||
sense only) for the
|
sense only) for the
|
||||||
.Xr i4bipr 4
|
.Xr i4bipr 4
|
||||||
IP over raw HDLC ISDN driver. (optional)
|
IP over raw HDLC ISDN driver.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li isdntxdel-outgoing
|
.It Li isdntxdel-outgoing
|
||||||
A delay value suitable for the
|
A delay value suitable for the
|
||||||
@ -486,13 +500,15 @@ A delay value suitable for the
|
|||||||
kernel subroutine to delay the transmittion of the first packet after a
|
kernel subroutine to delay the transmittion of the first packet after a
|
||||||
successfull connection is made by this value for
|
successfull connection is made by this value for
|
||||||
.Em outgoing
|
.Em outgoing
|
||||||
ISDN connections. The specification unit is 1/100 second.
|
ISDN connections.
|
||||||
|
The specification unit is 1/100 second.
|
||||||
A zero (0) disables
|
A zero (0) disables
|
||||||
this feature and is the default value.
|
this feature and is the default value.
|
||||||
This feature is implemented (and makes
|
This feature is implemented (and makes
|
||||||
sense only) for the
|
sense only) for the
|
||||||
.Xr i4bipr 4
|
.Xr i4bipr 4
|
||||||
IP over raw HDLC ISDN driver. (optional)
|
IP over raw HDLC ISDN driver.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li local-phone-dialout
|
.It Li local-phone-dialout
|
||||||
The local telephone number used when the local site dials out.
|
The local telephone number used when the local site dials out.
|
||||||
@ -520,17 +536,20 @@ This keyword is mandatory for the ipr interfaces.
|
|||||||
Defines a symbolic name for this configuration entry.
|
Defines a symbolic name for this configuration entry.
|
||||||
It's purpose is to
|
It's purpose is to
|
||||||
use this name in the full-screen display for easy identification of a link
|
use this name in the full-screen display for easy identification of a link
|
||||||
to a remote site and for accounting purposes. (mandatory)
|
to a remote site and for accounting purposes.
|
||||||
|
(mandatory)
|
||||||
|
|
||||||
.It Li ratetype
|
.It Li ratetype
|
||||||
The rate entry used from the rates file. (optional)
|
The rate entry used from the rates file.
|
||||||
|
(optional)
|
||||||
.br
|
.br
|
||||||
For example, ratetype=0 selects lines beginning "ra0" in /etc/isdn/isdnd.rates;
|
For example, ratetype=0 selects lines beginning "ra0" in /etc/isdn/isdnd.rates;
|
||||||
(typically ra0 lines are a set of tables for local call rates on different
|
(typically ra0 lines are a set of tables for local call rates on different
|
||||||
days of the week & times per day).
|
days of the week & times per day).
|
||||||
|
|
||||||
.It Li recoverytime
|
.It Li recoverytime
|
||||||
The time in seconds to wait between dial retries. (optional)
|
The time in seconds to wait between dial retries.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li remdial-handling
|
.It Li remdial-handling
|
||||||
is used to specify the dialout behavior in case more than one outgoing
|
is used to specify the dialout behavior in case more than one outgoing
|
||||||
@ -577,7 +596,8 @@ This keyword may have a wildcard parameter '*' to permit anyone dialing in.
|
|||||||
.It Li unitlength
|
.It Li unitlength
|
||||||
The length of a charging unit in seconds.
|
The length of a charging unit in seconds.
|
||||||
This is used in conjunction with
|
This is used in conjunction with
|
||||||
the idletime to decide when to hangup a connection. (optional)
|
the idletime to decide when to hangup a connection.
|
||||||
|
(optional)
|
||||||
|
|
||||||
.It Li unitlengthsrc
|
.It Li unitlengthsrc
|
||||||
This keyword is used to specify from which source
|
This keyword is used to specify from which source
|
||||||
@ -599,7 +619,8 @@ file with the keyword
|
|||||||
.Em ratetype .
|
.Em ratetype .
|
||||||
.It Ar aocd
|
.It Ar aocd
|
||||||
Use a dynamically calculated unitlength in case AOCD is subscribed on
|
Use a dynamically calculated unitlength in case AOCD is subscribed on
|
||||||
the ISDN line. (AOCD is an acronym for ``Advice Of Charge During the call''
|
the ISDN line.
|
||||||
|
(AOCD is an acronym for ``Advice Of Charge During the call''
|
||||||
which is a service provided by the telecommunications (ie phone) provider,
|
which is a service provided by the telecommunications (ie phone) provider,
|
||||||
to indicate billable units).
|
to indicate billable units).
|
||||||
.El
|
.El
|
||||||
|
@ -98,7 +98,8 @@ print layer 1 (I.430) INFO signals to monitor layer 1 activity (default off).
|
|||||||
switch displaying of Layer 2 (Q.921) frames off (default on).
|
switch displaying of Layer 2 (Q.921) frames off (default on).
|
||||||
.It Fl n
|
.It Fl n
|
||||||
This option takes a numeric argument specifying the minimum
|
This option takes a numeric argument specifying the minimum
|
||||||
frame size in octetts a frame must have to be displayed. (default 0)
|
frame size in octetts a frame must have to be displayed.
|
||||||
|
(default 0)
|
||||||
.It Fl o
|
.It Fl o
|
||||||
switch off writing trace output to a file (default on).
|
switch off writing trace output to a file (default on).
|
||||||
.It Fl p
|
.It Fl p
|
||||||
@ -154,7 +155,8 @@ ISDN D-channel layer 2 protocol description.
|
|||||||
.It Ar Q.931
|
.It Ar Q.931
|
||||||
ISDN D-channel layer 3 protocol description.
|
ISDN D-channel layer 3 protocol description.
|
||||||
.It Ar 1TR6
|
.It Ar 1TR6
|
||||||
German-specific ISDN layer 3 protocol description. (NOTICE: decoding
|
German-specific ISDN layer 3 protocol description.
|
||||||
|
(NOTICE: decoding
|
||||||
of the 1TR6 protocol is included but not supported since i dont have
|
of the 1TR6 protocol is included but not supported since i dont have
|
||||||
any longer access to a 1TR6 based ISDN installation.)
|
any longer access to a 1TR6 based ISDN installation.)
|
||||||
.El
|
.El
|
||||||
|
@ -114,7 +114,8 @@ To be able to use PnP cards under FreeBSD, you have to add
|
|||||||
.Pp
|
.Pp
|
||||||
.Cd controller pnp0
|
.Cd controller pnp0
|
||||||
.Pp
|
.Pp
|
||||||
to you kernel config file. More, it is recommended to add
|
to you kernel config file.
|
||||||
|
More, it is recommended to add
|
||||||
.Pp
|
.Pp
|
||||||
.Cd options \&"USERCONFIG\&"
|
.Cd options \&"USERCONFIG\&"
|
||||||
.Pp
|
.Pp
|
||||||
@ -244,7 +245,8 @@ The required (optional under NetBSD)
|
|||||||
value is 2.
|
value is 2.
|
||||||
.Pp
|
.Pp
|
||||||
These boards have a jumper which specifies an i/o base address of either
|
These boards have a jumper which specifies an i/o base address of either
|
||||||
0xd80, 0xe80 or 0xf80. The remaining necessary configuration values are then
|
0xd80, 0xe80 or 0xf80.
|
||||||
|
The remaining necessary configuration values are then
|
||||||
programmed at run time by accessing this i/o port.
|
programmed at run time by accessing this i/o port.
|
||||||
.Pp
|
.Pp
|
||||||
Valid interrupts are 2, 3, 4, 5, 10, 11, 12 or 15.
|
Valid interrupts are 2, 3, 4, 5, 10, 11, 12 or 15.
|
||||||
@ -318,7 +320,8 @@ Valid i/o port values are 0x200, 0x208, 0x210, 0x218, 0x220, 0x228, 0x230,
|
|||||||
Valid interrupt configurations are 5, 7, 10, 11, 12, 14, 15.
|
Valid interrupt configurations are 5, 7, 10, 11, 12, 14, 15.
|
||||||
.Pp
|
.Pp
|
||||||
Notice: this card has a strange address decoding scheme resulting in 64
|
Notice: this card has a strange address decoding scheme resulting in 64
|
||||||
windows of some bytes length. Anyway, support for this card is good because
|
windows of some bytes length.
|
||||||
|
Anyway, support for this card is good because
|
||||||
the manufacturer gave out technical docs for this card!
|
the manufacturer gave out technical docs for this card!
|
||||||
.Pp
|
.Pp
|
||||||
.Pp
|
.Pp
|
||||||
@ -332,7 +335,8 @@ The card is auto-configured by the PnP kernel subsystem.
|
|||||||
.Pp
|
.Pp
|
||||||
.It Ar "Sedlbauer Win Speed"
|
.It Ar "Sedlbauer Win Speed"
|
||||||
.Pp
|
.Pp
|
||||||
Valid i/o port values must be in the range 0x100 ... 0x3f0. (alignment 0x8,
|
Valid i/o port values must be in the range 0x100 ... 0x3f0.
|
||||||
|
(alignment 0x8,
|
||||||
len 0x8)
|
len 0x8)
|
||||||
.Pp
|
.Pp
|
||||||
Valid interrupt configurations are 3, 4, 5, 7, 10, 11, 12, 13, 15.
|
Valid interrupt configurations are 3, 4, 5, 7, 10, 11, 12, 13, 15.
|
||||||
@ -385,7 +389,8 @@ Note that currently, you have to jumper the card interupt for
|
|||||||
.Em IPL 2
|
.Em IPL 2
|
||||||
instead of IPL 6 (which is used by most AmigaOS software).
|
instead of IPL 6 (which is used by most AmigaOS software).
|
||||||
.Pp
|
.Pp
|
||||||
Note that the ITH ISDN MasterII doesn't work in the DraCo Zorro bus. This
|
Note that the ITH ISDN MasterII doesn't work in the DraCo Zorro bus.
|
||||||
|
This
|
||||||
is no NetBSD problem, but general.
|
is no NetBSD problem, but general.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
|
@ -128,7 +128,8 @@ lookups will be done exclusively through
|
|||||||
with
|
with
|
||||||
.Fn innetgr 3
|
.Fn innetgr 3
|
||||||
taking advantage of the netgroup.byuser and
|
taking advantage of the netgroup.byuser and
|
||||||
netgroup.byhost maps to speed up searches. (This
|
netgroup.byhost maps to speed up searches.
|
||||||
|
(This
|
||||||
is more or less compatible with the behavior of SunOS and
|
is more or less compatible with the behavior of SunOS and
|
||||||
similar platforms.)
|
similar platforms.)
|
||||||
.It
|
.It
|
||||||
|
@ -853,7 +853,8 @@ options. You must also specify the destination label in
|
|||||||
.Pa /etc/ppp/ppp.conf
|
.Pa /etc/ppp/ppp.conf
|
||||||
to use. It must contain the
|
to use. It must contain the
|
||||||
.Dq set ifaddr
|
.Dq set ifaddr
|
||||||
command to define the remote peers IP address. (refer to
|
command to define the remote peers IP address.
|
||||||
|
(refer to
|
||||||
.Pa /usr/share/examples/ppp/ppp.conf.sample )
|
.Pa /usr/share/examples/ppp/ppp.conf.sample )
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
# ppp -auto pmdemand
|
# ppp -auto pmdemand
|
||||||
@ -911,7 +912,8 @@ command:
|
|||||||
.Bl -tag -width attempts -compact
|
.Bl -tag -width attempts -compact
|
||||||
.It Ar secs
|
.It Ar secs
|
||||||
is the number of seconds to wait before attempting
|
is the number of seconds to wait before attempting
|
||||||
to connect again. If the argument is the literal string
|
to connect again.
|
||||||
|
If the argument is the literal string
|
||||||
.Sq Li random ,
|
.Sq Li random ,
|
||||||
the delay period is a random value between 1 and 30 seconds inclusive.
|
the delay period is a random value between 1 and 30 seconds inclusive.
|
||||||
.It Ar inc
|
.It Ar inc
|
||||||
@ -980,7 +982,8 @@ Modifying the dial delay is very useful when running
|
|||||||
.Nm
|
.Nm
|
||||||
in
|
in
|
||||||
.Fl auto
|
.Fl auto
|
||||||
mode on both ends of the link. If each end has the same timeout,
|
mode on both ends of the link.
|
||||||
|
If each end has the same timeout,
|
||||||
both ends wind up calling each other at the same time if the link
|
both ends wind up calling each other at the same time if the link
|
||||||
drops and both ends have packets queued.
|
drops and both ends have packets queued.
|
||||||
At some locations, the serial link may not be reliable, and carrier
|
At some locations, the serial link may not be reliable, and carrier
|
||||||
@ -1421,7 +1424,8 @@ and that other machines have designated the
|
|||||||
.Nm
|
.Nm
|
||||||
host as the gateway for the LAN.
|
host as the gateway for the LAN.
|
||||||
.Sh PACKET FILTERING
|
.Sh PACKET FILTERING
|
||||||
This implementation supports packet filtering. There are four kinds of
|
This implementation supports packet filtering.
|
||||||
|
There are four kinds of
|
||||||
filters; the
|
filters; the
|
||||||
.Em in
|
.Em in
|
||||||
filter, the
|
filter, the
|
||||||
@ -1635,13 +1639,15 @@ to successfully negotiate DEFLATE with
|
|||||||
version 2.3.*.
|
version 2.3.*.
|
||||||
.Sh CONTROLLING IP ADDRESS
|
.Sh CONTROLLING IP ADDRESS
|
||||||
.Nm
|
.Nm
|
||||||
uses IPCP to negotiate IP addresses. Each side of the connection
|
uses IPCP to negotiate IP addresses.
|
||||||
|
Each side of the connection
|
||||||
specifies the IP address that it's willing to use, and if the requested
|
specifies the IP address that it's willing to use, and if the requested
|
||||||
IP address is acceptable then
|
IP address is acceptable then
|
||||||
.Nm
|
.Nm
|
||||||
returns ACK to the requester. Otherwise,
|
returns ACK to the requester. Otherwise,
|
||||||
.Nm
|
.Nm
|
||||||
returns NAK to suggest that the peer use a different IP address. When
|
returns NAK to suggest that the peer use a different IP address.
|
||||||
|
When
|
||||||
both sides of the connection agree to accept the received request (and
|
both sides of the connection agree to accept the received request (and
|
||||||
send ACK), IPCP is set to the open state and a network level connection
|
send ACK), IPCP is set to the open state and a network level connection
|
||||||
is established.
|
is established.
|
||||||
|
@ -853,7 +853,8 @@ options. You must also specify the destination label in
|
|||||||
.Pa /etc/ppp/ppp.conf
|
.Pa /etc/ppp/ppp.conf
|
||||||
to use. It must contain the
|
to use. It must contain the
|
||||||
.Dq set ifaddr
|
.Dq set ifaddr
|
||||||
command to define the remote peers IP address. (refer to
|
command to define the remote peers IP address.
|
||||||
|
(refer to
|
||||||
.Pa /usr/share/examples/ppp/ppp.conf.sample )
|
.Pa /usr/share/examples/ppp/ppp.conf.sample )
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
# ppp -auto pmdemand
|
# ppp -auto pmdemand
|
||||||
@ -911,7 +912,8 @@ command:
|
|||||||
.Bl -tag -width attempts -compact
|
.Bl -tag -width attempts -compact
|
||||||
.It Ar secs
|
.It Ar secs
|
||||||
is the number of seconds to wait before attempting
|
is the number of seconds to wait before attempting
|
||||||
to connect again. If the argument is the literal string
|
to connect again.
|
||||||
|
If the argument is the literal string
|
||||||
.Sq Li random ,
|
.Sq Li random ,
|
||||||
the delay period is a random value between 1 and 30 seconds inclusive.
|
the delay period is a random value between 1 and 30 seconds inclusive.
|
||||||
.It Ar inc
|
.It Ar inc
|
||||||
@ -980,7 +982,8 @@ Modifying the dial delay is very useful when running
|
|||||||
.Nm
|
.Nm
|
||||||
in
|
in
|
||||||
.Fl auto
|
.Fl auto
|
||||||
mode on both ends of the link. If each end has the same timeout,
|
mode on both ends of the link.
|
||||||
|
If each end has the same timeout,
|
||||||
both ends wind up calling each other at the same time if the link
|
both ends wind up calling each other at the same time if the link
|
||||||
drops and both ends have packets queued.
|
drops and both ends have packets queued.
|
||||||
At some locations, the serial link may not be reliable, and carrier
|
At some locations, the serial link may not be reliable, and carrier
|
||||||
@ -1421,7 +1424,8 @@ and that other machines have designated the
|
|||||||
.Nm
|
.Nm
|
||||||
host as the gateway for the LAN.
|
host as the gateway for the LAN.
|
||||||
.Sh PACKET FILTERING
|
.Sh PACKET FILTERING
|
||||||
This implementation supports packet filtering. There are four kinds of
|
This implementation supports packet filtering.
|
||||||
|
There are four kinds of
|
||||||
filters; the
|
filters; the
|
||||||
.Em in
|
.Em in
|
||||||
filter, the
|
filter, the
|
||||||
@ -1635,13 +1639,15 @@ to successfully negotiate DEFLATE with
|
|||||||
version 2.3.*.
|
version 2.3.*.
|
||||||
.Sh CONTROLLING IP ADDRESS
|
.Sh CONTROLLING IP ADDRESS
|
||||||
.Nm
|
.Nm
|
||||||
uses IPCP to negotiate IP addresses. Each side of the connection
|
uses IPCP to negotiate IP addresses.
|
||||||
|
Each side of the connection
|
||||||
specifies the IP address that it's willing to use, and if the requested
|
specifies the IP address that it's willing to use, and if the requested
|
||||||
IP address is acceptable then
|
IP address is acceptable then
|
||||||
.Nm
|
.Nm
|
||||||
returns ACK to the requester. Otherwise,
|
returns ACK to the requester. Otherwise,
|
||||||
.Nm
|
.Nm
|
||||||
returns NAK to suggest that the peer use a different IP address. When
|
returns NAK to suggest that the peer use a different IP address.
|
||||||
|
When
|
||||||
both sides of the connection agree to accept the received request (and
|
both sides of the connection agree to accept the received request (and
|
||||||
send ACK), IPCP is set to the open state and a network level connection
|
send ACK), IPCP is set to the open state and a network level connection
|
||||||
is established.
|
is established.
|
||||||
|
@ -203,7 +203,8 @@ may be combined with
|
|||||||
.Ar show ,
|
.Ar show ,
|
||||||
or
|
or
|
||||||
.Ar next
|
.Ar next
|
||||||
in any order. (For example,
|
in any order.
|
||||||
|
(For example,
|
||||||
.Ar showuser ,
|
.Ar showuser ,
|
||||||
.Ar usershow ,
|
.Ar usershow ,
|
||||||
.Ar show user , and
|
.Ar show user , and
|
||||||
|
@ -80,9 +80,11 @@ the
|
|||||||
.Xr ypchsh 1 ,
|
.Xr ypchsh 1 ,
|
||||||
or
|
or
|
||||||
.Xr ypchpass 1
|
.Xr ypchpass 1
|
||||||
commands. (Some administrators don't want users to be able to change their
|
commands.
|
||||||
|
(Some administrators don't want users to be able to change their
|
||||||
full name information or shells; the server can be invoked with option flags
|
full name information or shells; the server can be invoked with option flags
|
||||||
that disallow such changes.) When the server receives an update request,
|
that disallow such changes.)
|
||||||
|
When the server receives an update request,
|
||||||
it compares the address of the client making the request against the
|
it compares the address of the client making the request against the
|
||||||
.Pa securenets
|
.Pa securenets
|
||||||
rules outlined in
|
rules outlined in
|
||||||
@ -103,7 +105,8 @@ the template password file (the default is
|
|||||||
.Pa /var/yp/master.passwd )
|
.Pa /var/yp/master.passwd )
|
||||||
and then runs the
|
and then runs the
|
||||||
.Pa /usr/libexec/yppwupdate
|
.Pa /usr/libexec/yppwupdate
|
||||||
script to rebuild the NIS maps. (This script has two arguments passed
|
script to rebuild the NIS maps.
|
||||||
|
(This script has two arguments passed
|
||||||
to it: the absolute pathname of the password template that was modified
|
to it: the absolute pathname of the password template that was modified
|
||||||
and the name of the domain that is to be updated.
|
and the name of the domain that is to be updated.
|
||||||
These in turn are
|
These in turn are
|
||||||
@ -216,8 +219,10 @@ will search through all the passwd maps of all the domains it
|
|||||||
can find under
|
can find under
|
||||||
.Pa /var/yp
|
.Pa /var/yp
|
||||||
until it finds an entry that matches the user information specified in
|
until it finds an entry that matches the user information specified in
|
||||||
a given update request. (Matches are determined by checking the username,
|
a given update request.
|
||||||
UID and GID fields.) The matched entry and corresponding domain are then
|
(Matches are determined by checking the username,
|
||||||
|
UID and GID fields.)
|
||||||
|
The matched entry and corresponding domain are then
|
||||||
used for the update.
|
used for the update.
|
||||||
.Pp
|
.Pp
|
||||||
Note that in order for multi-domain mode to work, there have to be
|
Note that in order for multi-domain mode to work, there have to be
|
||||||
|
@ -197,10 +197,12 @@ Let the prefix to be added to have on-link or off-link nature
|
|||||||
for the assigned interface.
|
for the assigned interface.
|
||||||
If
|
If
|
||||||
.Cm on
|
.Cm on
|
||||||
is specified, the prefix have on-link nature. (e.g. the prefix
|
is specified, the prefix have on-link nature.
|
||||||
|
(e.g. the prefix
|
||||||
belong to the link) If
|
belong to the link) If
|
||||||
.Cm off
|
.Cm off
|
||||||
is specified, the prefix have off-link nature. (e.g. the
|
is specified, the prefix have off-link nature.
|
||||||
|
(e.g. the
|
||||||
prefix does not belong to the link)
|
prefix does not belong to the link)
|
||||||
.It Cm raf_auto Cm on|off
|
.It Cm raf_auto Cm on|off
|
||||||
Enable or disable the autonomous address auto configuration
|
Enable or disable the autonomous address auto configuration
|
||||||
@ -244,7 +246,8 @@ has just same syntax with above add|change|setglobal statement.
|
|||||||
.Sh EXAMPLE
|
.Sh EXAMPLE
|
||||||
For each configuration file example shown below, we suppose
|
For each configuration file example shown below, we suppose
|
||||||
every IPv6 subnet has its own prefix beginning with
|
every IPv6 subnet has its own prefix beginning with
|
||||||
fec0:0:0::/48 and with its own subnet number. (in this case,
|
fec0:0:0::/48 and with its own subnet number.
|
||||||
|
(in this case,
|
||||||
subnet number is 7th and 8th octet value of the prefix)
|
subnet number is 7th and 8th octet value of the prefix)
|
||||||
.Pp
|
.Pp
|
||||||
If you want to assigne prefixes beginning with fec0:1:1::/48
|
If you want to assigne prefixes beginning with fec0:1:1::/48
|
||||||
|
@ -108,7 +108,8 @@ The options are as follows:
|
|||||||
.It Fl i Ar iface Op Fl o
|
.It Fl i Ar iface Op Fl o
|
||||||
Display the current settings of the specified WaveLAN/IEEE interface.
|
Display the current settings of the specified WaveLAN/IEEE interface.
|
||||||
This retrieves the current card settings from the driver and prints them
|
This retrieves the current card settings from the driver and prints them
|
||||||
out. Using the additional
|
out.
|
||||||
|
Using the additional
|
||||||
.Fl o
|
.Fl o
|
||||||
flag will cause
|
flag will cause
|
||||||
.Nm
|
.Nm
|
||||||
@ -205,13 +206,15 @@ Set the station address for the specified interface.
|
|||||||
The
|
The
|
||||||
.Ar mac address
|
.Ar mac address
|
||||||
is specified as a series of six hexadecimal values separated by colons,
|
is specified as a series of six hexadecimal values separated by colons,
|
||||||
e.g.: 00:60:1d:12:34:56. This programs the new address into the card
|
e.g.: 00:60:1d:12:34:56.
|
||||||
|
This programs the new address into the card
|
||||||
and updates the interface as well.
|
and updates the interface as well.
|
||||||
.It Fl i Ar iface Fl d Ar max_data_length
|
.It Fl i Ar iface Fl d Ar max_data_length
|
||||||
Set the maximum receive and transmit frame size for a specified interface.
|
Set the maximum receive and transmit frame size for a specified interface.
|
||||||
The
|
The
|
||||||
.Ar max data length
|
.Ar max data length
|
||||||
can be any number from 350 to 2304. The default is 2304.
|
can be any number from 350 to 2304.
|
||||||
|
The default is 2304.
|
||||||
.It Fl i Ar iface Fl e Ar 0|1
|
.It Fl i Ar iface Fl e Ar 0|1
|
||||||
Enable or disable WEP encryption.
|
Enable or disable WEP encryption.
|
||||||
Permitted values are
|
Permitted values are
|
||||||
@ -240,7 +243,8 @@ which means the key can be specified as either a 16 character text
|
|||||||
string or 32 hex digits.
|
string or 32 hex digits.
|
||||||
.Pp
|
.Pp
|
||||||
Note: currently, the field in the structure used to program the key
|
Note: currently, the field in the structure used to program the key
|
||||||
into the NIC is only 14 bytes long, not 16. I'm not sure how this is
|
into the NIC is only 14 bytes long, not 16.
|
||||||
|
I'm not sure how this is
|
||||||
supposed to allow 128 bits of key info for the gold cards.
|
supposed to allow 128 bits of key info for the gold cards.
|
||||||
.It Fl i Ar iface Fl T Ar 1|2|3|4
|
.It Fl i Ar iface Fl T Ar 1|2|3|4
|
||||||
Specify which of the four WEP encryption keys will be used to
|
Specify which of the four WEP encryption keys will be used to
|
||||||
@ -251,7 +255,8 @@ This controls the
|
|||||||
number of bytes used for the RTS/CTS handshake boundary.
|
number of bytes used for the RTS/CTS handshake boundary.
|
||||||
The
|
The
|
||||||
.Ar RTS threshold
|
.Ar RTS threshold
|
||||||
can be any value between 0 and 2047. The default is 2347.
|
can be any value between 0 and 2047.
|
||||||
|
The default is 2347.
|
||||||
.It Fl i Ar iface Fl f Ar frequency
|
.It Fl i Ar iface Fl f Ar frequency
|
||||||
Set the radio frequency of a given interface.
|
Set the radio frequency of a given interface.
|
||||||
The
|
The
|
||||||
@ -288,7 +293,8 @@ If an illegal channel is specified, the
|
|||||||
NIC will revert to its default channel.
|
NIC will revert to its default channel.
|
||||||
For NICs sold in the United States
|
For NICs sold in the United States
|
||||||
and Europe, the default channel is 3. For NICs sold in France, the default
|
and Europe, the default channel is 3. For NICs sold in France, the default
|
||||||
channel is 11. For NICs sold in Japan, the only available channel is 14.
|
channel is 11.
|
||||||
|
For NICs sold in Japan, the only available channel is 14.
|
||||||
Note that two stations must be set to the same channel in order to
|
Note that two stations must be set to the same channel in order to
|
||||||
communicate.
|
communicate.
|
||||||
.It Fl i Ar iface Fl P Ar 0|1
|
.It Fl i Ar iface Fl P Ar 0|1
|
||||||
@ -296,7 +302,8 @@ Enable or disable power management on a given interface.
|
|||||||
Enabling
|
Enabling
|
||||||
power management uses an alternating sleep/wake protocol to help
|
power management uses an alternating sleep/wake protocol to help
|
||||||
conserve power on mobile stations, at the cost of some increased
|
conserve power on mobile stations, at the cost of some increased
|
||||||
receive latency. Power management is off by default.
|
receive latency.
|
||||||
|
Power management is off by default.
|
||||||
Note that power
|
Note that power
|
||||||
management requires the cooperation of an access point in order to
|
management requires the cooperation of an access point in order to
|
||||||
function; it is not functional in ad-hoc mode.
|
function; it is not functional in ad-hoc mode.
|
||||||
|
@ -143,7 +143,8 @@ maps in a special way.
|
|||||||
When the server receives a request to access
|
When the server receives a request to access
|
||||||
either of these two maps, it will check the TCP port from which the
|
either of these two maps, it will check the TCP port from which the
|
||||||
request originated and return an error if the port number is greater
|
request originated and return an error if the port number is greater
|
||||||
than 1023. Since only the superuser is allowed to bind to TCP ports
|
than 1023.
|
||||||
|
Since only the superuser is allowed to bind to TCP ports
|
||||||
with values less than 1024, the server can use this test to determine
|
with values less than 1024, the server can use this test to determine
|
||||||
whether or not the access request came from a privileged user.
|
whether or not the access request came from a privileged user.
|
||||||
Any requests made by non-privileged users are therefore rejected.
|
Any requests made by non-privileged users are therefore rejected.
|
||||||
@ -236,7 +237,8 @@ called
|
|||||||
(Note that this path varies depending on the path specified with
|
(Note that this path varies depending on the path specified with
|
||||||
the
|
the
|
||||||
.Fl p
|
.Fl p
|
||||||
option, which is explained below.) This file contains entries
|
option, which is explained below.)
|
||||||
|
This file contains entries
|
||||||
that consist of a network specification and a network mask separated
|
that consist of a network specification and a network mask separated
|
||||||
by white space.
|
by white space.
|
||||||
Lines starting with
|
Lines starting with
|
||||||
@ -339,7 +341,8 @@ It is generally a good idea to force the servers to
|
|||||||
bind to themselves rather than allowing them to broadcast bind
|
bind to themselves rather than allowing them to broadcast bind
|
||||||
requests and possibly become bound to each other: strange failure
|
requests and possibly become bound to each other: strange failure
|
||||||
modes can result if one server goes down and
|
modes can result if one server goes down and
|
||||||
others are dependent upon on it. (Eventually all the clients will
|
others are dependent upon on it.
|
||||||
|
(Eventually all the clients will
|
||||||
time out and attempt to bind to other servers, but the delay
|
time out and attempt to bind to other servers, but the delay
|
||||||
involved can be considerable and the failure mode is still present
|
involved can be considerable and the failure mode is still present
|
||||||
since the servers might bind to each other all over again).
|
since the servers might bind to each other all over again).
|
||||||
@ -404,10 +407,12 @@ request that it receives.
|
|||||||
Also, while running in debug mode,
|
Also, while running in debug mode,
|
||||||
.Nm
|
.Nm
|
||||||
will not spawn any additional subprocesses as it normally does
|
will not spawn any additional subprocesses as it normally does
|
||||||
when handling yp_all requests or doing DNS lookups. (These actions
|
when handling yp_all requests or doing DNS lookups.
|
||||||
|
(These actions
|
||||||
often take a fair amount of time to complete and are therefore handled
|
often take a fair amount of time to complete and are therefore handled
|
||||||
in subprocesses, allowing the parent server process to go on handling
|
in subprocesses, allowing the parent server process to go on handling
|
||||||
other requests.) This makes it easier to trace the server with
|
other requests.)
|
||||||
|
This makes it easier to trace the server with
|
||||||
a debugging tool.
|
a debugging tool.
|
||||||
.It Fl p Ar path
|
.It Fl p Ar path
|
||||||
Normally,
|
Normally,
|
||||||
|
Loading…
Reference in New Issue
Block a user