Mechanically kill hard sentence breaks and double whitespaces.
This commit is contained in:
parent
b524342941
commit
5203edcdc5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=131530
@ -44,21 +44,25 @@
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
gets summary and detailed SCSI Environmental Services (or SAF-TE) device
|
||||
enclosure status. The overall status is printed out. If the overall status
|
||||
enclosure status.
|
||||
The overall status is printed out.
|
||||
If the overall status
|
||||
is considered okay, nothing else is printed out (unless the
|
||||
.Fl v
|
||||
option is used).
|
||||
.Pp
|
||||
A SCSI Environmental Services device enclosure may be either in the state
|
||||
of being \fBOK\fR, or in one or more of the states of \fBINFORMATIONAL\fR,
|
||||
\fBNON-CRITICAL\fR, \fBCRITICAL\fB or \fBUNRECOVERABLE\fR states. These
|
||||
\fBNON-CRITICAL\fR, \fBCRITICAL\fB or \fBUNRECOVERABLE\fR states.
|
||||
These
|
||||
overall states reflect a summary of the states of each object within
|
||||
such a device (such as power supplies or disk drives).
|
||||
.Pp
|
||||
With the
|
||||
.Fl v
|
||||
option, the status of all objects within the device is printed, whether
|
||||
\fBOK\fR or not. Along with the status of each object is the object identifier.
|
||||
\fBOK\fR or not.
|
||||
Along with the status of each object is the object identifier.
|
||||
.Pp
|
||||
The user may then use
|
||||
.Xr setencstat 8
|
||||
|
@ -49,8 +49,10 @@ argument may be determined by running
|
||||
.Pp
|
||||
The status fields are partially common (first byte only, which must
|
||||
have a value of 0x80 contained in it), but otherwise quite device
|
||||
specific. A complete discussion of the possible values is impractical
|
||||
here. Please refer to the ANSI SCSI specification (available on
|
||||
specific.
|
||||
A complete discussion of the possible values is impractical
|
||||
here.
|
||||
Please refer to the ANSI SCSI specification (available on
|
||||
the FTP site ftp.t10.org).
|
||||
.Pp
|
||||
Note that devices may simply and silently ignore the setting of these values.
|
||||
|
@ -100,9 +100,11 @@ New code should use the functionality provided by
|
||||
When a floating point exception is detected, the exception sticky flag is
|
||||
set and the exception mask is tested.
|
||||
If the mask is set, then a trap
|
||||
occurs. These routines allow both setting the floating point exception
|
||||
masks, and resetting the exception sticky flags after an exception is
|
||||
detected. In addition, they allow setting the floating point rounding mode
|
||||
occurs.
|
||||
These routines allow both setting the floating point exception
|
||||
masks, and resetting the exception sticky flags after an exception is
|
||||
detected.
|
||||
In addition, they allow setting the floating point rounding mode
|
||||
and precision.
|
||||
.Pp
|
||||
The
|
||||
@ -170,7 +172,8 @@ At present, they are implemented only on the i386 and amd64 platforms.
|
||||
.Xr isnan 3
|
||||
.Sh CAVEAT
|
||||
After a floating point exception and before a mask is set, the sticky
|
||||
flags must be reset. If another exception occurs before the sticky
|
||||
flags must be reset.
|
||||
If another exception occurs before the sticky
|
||||
flags are reset, then a wrong exception type may be signaled.
|
||||
.Sh HISTORY
|
||||
These routines are based on SysV/386 routines of the same name.
|
||||
|
@ -97,7 +97,8 @@ Use of these routines should, for the most part, be avoided.
|
||||
The manual page entry for each compatibility routine
|
||||
indicates the proper interface to use.
|
||||
.It Xr libkvm Pq Fl l Ns Ar kvm
|
||||
Functions used to access kernel memory are in this library. They can be used
|
||||
Functions used to access kernel memory are in this library.
|
||||
They can be used
|
||||
against both a running system and a crash dump.
|
||||
(See
|
||||
.Xr kvm 3 . )
|
||||
|
@ -47,7 +47,7 @@ expands to a constant expression of type
|
||||
whose value matches no pointer to an object in memory nor the value
|
||||
.Dv NULL .
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
If successful, the
|
||||
.Fn pthread_cancel
|
||||
functions will return zero.
|
||||
Otherwise an error number will be returned to
|
||||
|
@ -95,7 +95,7 @@ The signal mask is inherited from the creating thread.
|
||||
The set of signals pending for the new thread is empty.
|
||||
.El
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
If successful, the
|
||||
.Fn pthread_create
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned to
|
||||
|
@ -60,7 +60,7 @@ The effect of multiple
|
||||
.Fn pthread_detach
|
||||
calls on the same target thread is unspecified.
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
If successful, the
|
||||
.Fn pthread_detach
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned to
|
||||
|
@ -68,7 +68,8 @@ An implicit call to
|
||||
is made when a thread other than the thread in which
|
||||
.Fn main
|
||||
was first invoked returns from the start routine that was used to create
|
||||
it. The function's return value serves as the thread's exit status.
|
||||
it.
|
||||
The function's return value serves as the thread's exit status.
|
||||
.Pp
|
||||
The behavior of
|
||||
.Fn pthread_exit
|
||||
|
@ -75,7 +75,7 @@ is cancelled, then the target thread is not detached.
|
||||
A thread that has exited but remains unjoined counts against
|
||||
[_POSIX_THREAD_THREADS_MAX].
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
If successful, the
|
||||
.Fn pthread_join
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned to
|
||||
|
@ -94,7 +94,7 @@ is undefined if
|
||||
has automatic storage duration or is not initialized by
|
||||
.Fa PTHREAD_ONCE_INIT .
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
If successful, the
|
||||
.Fn pthread_once
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned to
|
||||
|
@ -46,7 +46,8 @@ function is used to destroy a read/write lock previously created with
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlock_destroy
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlock_init 3
|
||||
|
@ -54,7 +54,8 @@ with an already initialized lock are undefined.
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlock_init
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlockattr_init 3 ,
|
||||
|
@ -49,17 +49,19 @@ function acquires a read lock on
|
||||
provided that
|
||||
.Fa lock
|
||||
is not presently held for writing and no writer threads are
|
||||
presently blocked on the lock. If the read lock cannot be
|
||||
presently blocked on the lock.
|
||||
If the read lock cannot be
|
||||
immediately acquired, the calling thread blocks until it can
|
||||
acquire the lock.
|
||||
.Pp
|
||||
The
|
||||
.Fn pthread_rwlock_tryrdlock
|
||||
function performs the same action, but does not block if the lock
|
||||
cannot be immediately obtained (i.e. the lock is held for writing
|
||||
cannot be immediately obtained (i.e., the lock is held for writing
|
||||
or there are waiting writers).
|
||||
.Pp
|
||||
A thread may hold multiple concurrent read locks. If so,
|
||||
A thread may hold multiple concurrent read locks.
|
||||
If so,
|
||||
.Fn pthread_rwlock_unlock
|
||||
must be called once for each lock obtained.
|
||||
.Pp
|
||||
@ -72,7 +74,8 @@ If successful, the
|
||||
.Fn pthread_rwlock_rdlock
|
||||
and
|
||||
.Fn pthread_rwlock_tryrdlock
|
||||
functions will return zero. Otherwise an error number will be returned
|
||||
functions will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlock_init 3 ,
|
||||
|
@ -50,7 +50,8 @@ or
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlock_unlock
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Pp
|
||||
The results are undefined if
|
||||
|
@ -60,7 +60,8 @@ If successful, the
|
||||
.Fn pthread_rwlock_wrlock
|
||||
and
|
||||
.Fn pthread_rwlock_trywrlock
|
||||
functions will return zero. Otherwise an error number will be returned
|
||||
functions will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlock_init 3 ,
|
||||
|
@ -47,7 +47,8 @@ previously created with
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlockattr_destroy
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlockattr_init 3
|
||||
|
@ -42,7 +42,8 @@
|
||||
The
|
||||
.Fn pthread_rwlockattr_getpshared
|
||||
function is used to get the process shared setting of a read/write
|
||||
lock attribute object. The setting is returned via
|
||||
lock attribute object.
|
||||
The setting is returned via
|
||||
.Fa pshared ,
|
||||
and may be one of two values:
|
||||
.Bl -tag -width PTHREAD_PROCESS_PRIVATE
|
||||
@ -51,13 +52,15 @@ Any thread of any process that has access to the memory where the
|
||||
read/write lock resides can manipulate the lock.
|
||||
.It Dv PTHREAD_PROCESS_PRIVATE
|
||||
Only threads created within the same process as the thread that
|
||||
initialized the read/write lock can manipulate the lock. This is
|
||||
initialized the read/write lock can manipulate the lock.
|
||||
This is
|
||||
the default value.
|
||||
.El
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlockattr_getpshared
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlockattr_init 3 ,
|
||||
|
@ -45,7 +45,8 @@ function is used to initialize a read/write lock attributes object.
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlockattr_init
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlockattr_destroy 3 ,
|
||||
|
@ -54,13 +54,15 @@ Any thread of any process that has access to the memory where the
|
||||
read/write lock resides can manipulate the lock.
|
||||
.It Dv PTHREAD_PROCESS_PRIVATE
|
||||
Only threads created within the same process as the thread that
|
||||
initialized the read/write lock can manipulate the lock. This is
|
||||
initialized the read/write lock can manipulate the lock.
|
||||
This is
|
||||
the default value.
|
||||
.El
|
||||
.Sh RETURN VALUES
|
||||
If successful, the
|
||||
.Fn pthread_rwlockattr_setpshared
|
||||
function will return zero. Otherwise an error number will be returned
|
||||
function will return zero.
|
||||
Otherwise an error number will be returned
|
||||
to indicate the error.
|
||||
.Sh SEE ALSO
|
||||
.Xr pthread_rwlockattr_getpshared 3 ,
|
||||
|
@ -85,7 +85,7 @@ and must be called first.
|
||||
The parameter
|
||||
.Fa last
|
||||
is the name of the last parameter before the variable argument list,
|
||||
i.e. the last parameter of which the calling function knows the type.
|
||||
i.e., the last parameter of which the calling function knows the type.
|
||||
.Pp
|
||||
Because the address of this parameter is used in the
|
||||
.Fn va_start
|
||||
|
@ -40,7 +40,8 @@ According to
|
||||
it is not a good practice to call
|
||||
.Xr exit 3
|
||||
with arbitrary values to indicate a failure condition when ending
|
||||
a program. Instead, the pre-defined exit codes from
|
||||
a program.
|
||||
Instead, the pre-defined exit codes from
|
||||
.Nm
|
||||
should be used, so the caller of the process can get a rough
|
||||
estimation about the failure class without looking up the source code.
|
||||
@ -50,14 +51,16 @@ The successful exit is always indicated by a status of 0, or
|
||||
Error numbers begin at
|
||||
.Sy EX__BASE
|
||||
to reduce the possibility of clashing with other exit statuses that
|
||||
random programs may already return. The meaning of the codes is
|
||||
random programs may already return.
|
||||
The meaning of the codes is
|
||||
approximately as follows:
|
||||
.Bl -tag -width "EX_UNAVAILABLEXX(XX)"
|
||||
.It Sy EX_USAGE Pq 64
|
||||
The command was used incorrectly, e.g., with the wrong number of
|
||||
arguments, a bad flag, a bad syntax in a parameter, or whatever.
|
||||
.It Sy EX_DATAERR Pq 65
|
||||
The input data was incorrect in some way. This should only be used
|
||||
The input data was incorrect in some way.
|
||||
This should only be used
|
||||
for user's data and not system files.
|
||||
.It Sy EX_NOINPUT Pq 66
|
||||
An input file (not a system file) did not exist or was not readable.
|
||||
@ -65,24 +68,31 @@ This could also include errors like
|
||||
.Dq \&No message
|
||||
to a mailer (if it cared to catch it).
|
||||
.It Sy EX_NOUSER Pq 67
|
||||
The user specified did not exist. This might be used for mail
|
||||
The user specified did not exist.
|
||||
This might be used for mail
|
||||
addresses or remote logins.
|
||||
.It Sy EX_NOHOST Pq 68
|
||||
The host specified did not exist. This is used in mail addresses or
|
||||
The host specified did not exist.
|
||||
This is used in mail addresses or
|
||||
network requests.
|
||||
.It Sy EX_UNAVAILABLE Pq 69
|
||||
A service is unavailable. This can occur if a support program or file
|
||||
does not exist. This can also be used as a catchall message when
|
||||
A service is unavailable.
|
||||
This can occur if a support program or file
|
||||
does not exist.
|
||||
This can also be used as a catchall message when
|
||||
something you wanted to do doesn't work, but you don't know why.
|
||||
.It Sy EX_SOFTWARE Pq 70
|
||||
An internal software error has been detected. This should be limited
|
||||
An internal software error has been detected.
|
||||
This should be limited
|
||||
to non-operating system related errors as possible.
|
||||
.It Sy EX_OSERR Pq 71
|
||||
An operating system error has been detected. This is intended to be
|
||||
An operating system error has been detected.
|
||||
This is intended to be
|
||||
used for such things as
|
||||
.Dq cannot fork ,
|
||||
.Dq cannot create pipe ,
|
||||
or the like. It includes things like getuid returning a user that
|
||||
or the like.
|
||||
It includes things like getuid returning a user that
|
||||
does not exist in the passwd file.
|
||||
.It Sy EX_OSFILE Pq 72
|
||||
Some system file (e.g.,
|
||||
@ -103,7 +113,8 @@ The remote system returned something that was
|
||||
.Dq not possible
|
||||
during a protocol exchange.
|
||||
.It Sy EX_NOPERM Pq 77
|
||||
You did not have sufficient permission to perform the operation. This
|
||||
You did not have sufficient permission to perform the operation.
|
||||
This
|
||||
is not intended for file system problems, which should use
|
||||
.Sy EX_NOINPUT
|
||||
or
|
||||
|
@ -75,13 +75,13 @@ command.
|
||||
.It "Function Key number"
|
||||
Function Key
|
||||
.It "1, 2,...12"
|
||||
F1, F2,... F12
|
||||
F1, F2,...\& F12
|
||||
.It "13, 14,...24"
|
||||
Shift+F1, Shift+F2,... Shift+F12
|
||||
Shift+F1, Shift+F2,...\& Shift+F12
|
||||
.It "25, 26,...36"
|
||||
Ctl+F1, Ctl+F2,... Ctl+F12
|
||||
Ctl+F1, Ctl+F2,...\& Ctl+F12
|
||||
.It "37, 38,...48"
|
||||
Shift+Ctl+F1, Shift+Ctl+F2,... Shift+Ctl+F12
|
||||
Shift+Ctl+F1, Shift+Ctl+F2,...\& Shift+Ctl+F12
|
||||
.It 49
|
||||
Home and Numpad 7 (without NumLock)
|
||||
.It 50
|
||||
|
@ -169,7 +169,7 @@ and
|
||||
.Em The Ports Collection
|
||||
also be installed.
|
||||
.It Pa /usr/ports/audio/xmradio
|
||||
An FM Radio Tuner for cards which have an FM Radio tuner fitted. - requires that
|
||||
An FM Radio Tuner for cards which have an FM Radio tuner fitted - requires that
|
||||
.Em The X Window System
|
||||
and
|
||||
.Em The Ports Collection
|
||||
|
@ -175,7 +175,8 @@ structure.
|
||||
All other fields are undefined.
|
||||
.It Dv BIOCSETIF
|
||||
.Pq Li "struct ifreq"
|
||||
Sets the hardware interface associate with the file. This
|
||||
Sets the hardware interface associate with the file.
|
||||
This
|
||||
command must be performed before any packets can be read.
|
||||
The device is indicated by name using the
|
||||
.Li ifr_name
|
||||
@ -477,26 +478,17 @@ The semantics of all the recognized
|
||||
.Dv BPF_LD
|
||||
instructions follow.
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_LD+BPF_W+BPF_IND" -compact
|
||||
.It Li BPF_LD+BPF_W+BPF_ABS
|
||||
A <- P[k:4]
|
||||
.It Li BPF_LD+BPF_H+BPF_ABS
|
||||
A <- P[k:2]
|
||||
.It Li BPF_LD+BPF_B+BPF_ABS
|
||||
A <- P[k:1]
|
||||
.It Li BPF_LD+BPF_W+BPF_IND
|
||||
A <- P[X+k:4]
|
||||
.It Li BPF_LD+BPF_H+BPF_IND
|
||||
A <- P[X+k:2]
|
||||
.It Li BPF_LD+BPF_B+BPF_IND
|
||||
A <- P[X+k:1]
|
||||
.It Li BPF_LD+BPF_W+BPF_LEN
|
||||
A <- len
|
||||
.It Li BPF_LD+BPF_IMM
|
||||
A <- k
|
||||
.It Li BPF_LD+BPF_MEM
|
||||
A <- M[k]
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_LD+BPF_W+BPF_ABS A <- P[k:4]
|
||||
BPF_LD+BPF_H+BPF_ABS A <- P[k:2]
|
||||
BPF_LD+BPF_B+BPF_ABS A <- P[k:1]
|
||||
BPF_LD+BPF_W+BPF_IND A <- P[X+k:4]
|
||||
BPF_LD+BPF_H+BPF_IND A <- P[X+k:2]
|
||||
BPF_LD+BPF_B+BPF_IND A <- P[X+k:1]
|
||||
BPF_LD+BPF_W+BPF_LEN A <- len
|
||||
BPF_LD+BPF_IMM A <- k
|
||||
BPF_LD+BPF_MEM A <- M[k]
|
||||
.Ed
|
||||
.It Dv BPF_LDX
|
||||
These instructions load a value into the index register.
|
||||
Note that
|
||||
@ -505,32 +497,26 @@ but they include
|
||||
.Dv BPF_MSH ,
|
||||
a hack for efficiently loading the IP header length.
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_LDX+BPF_W+BPF_MEM" -compact
|
||||
.It Li BPF_LDX+BPF_W+BPF_IMM
|
||||
X <- k
|
||||
.It Li BPF_LDX+BPF_W+BPF_MEM
|
||||
X <- M[k]
|
||||
.It Li BPF_LDX+BPF_W+BPF_LEN
|
||||
X <- len
|
||||
.It Li BPF_LDX+BPF_B+BPF_MSH
|
||||
X <- 4*(P[k:1]&0xf)
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_LDX+BPF_W+BPF_IMM X <- k
|
||||
BPF_LDX+BPF_W+BPF_MEM X <- M[k]
|
||||
BPF_LDX+BPF_W+BPF_LEN X <- len
|
||||
BPF_LDX+BPF_B+BPF_MSH X <- 4*(P[k:1]&0xf)
|
||||
.Ed
|
||||
.It Dv BPF_ST
|
||||
This instruction stores the accumulator into the scratch memory.
|
||||
We do not need an addressing mode since there is only one possibility
|
||||
for the destination.
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_ST" -compact
|
||||
.It Li BPF_ST
|
||||
M[k] <- A
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_ST M[k] <- A
|
||||
.Ed
|
||||
.It Dv BPF_STX
|
||||
This instruction stores the index register in the scratch memory store.
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_STX" -compact
|
||||
.It Li BPF_STX
|
||||
M[k] <- X
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_STX M[k] <- X
|
||||
.Ed
|
||||
.It Dv BPF_ALU
|
||||
The alu instructions perform operations between the accumulator and
|
||||
index register or constant, and store the result back in the accumulator.
|
||||
@ -539,42 +525,25 @@ For binary operations, a source mode is required
|
||||
or
|
||||
.Dv BPF_X ) .
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_ALU+BPF_MUL+BPF_K" -compact
|
||||
.It Li BPF_ALU+BPF_ADD+BPF_K
|
||||
A <- A + k
|
||||
.It Li BPF_ALU+BPF_SUB+BPF_K
|
||||
A <- A - k
|
||||
.It Li BPF_ALU+BPF_MUL+BPF_K
|
||||
A <- A * k
|
||||
.It Li BPF_ALU+BPF_DIV+BPF_K
|
||||
A <- A / k
|
||||
.It Li BPF_ALU+BPF_AND+BPF_K
|
||||
A <- A & k
|
||||
.It Li BPF_ALU+BPF_OR+BPF_K
|
||||
A <- A | k
|
||||
.It Li BPF_ALU+BPF_LSH+BPF_K
|
||||
A <- A << k
|
||||
.It Li BPF_ALU+BPF_RSH+BPF_K
|
||||
A <- A >> k
|
||||
.It Li BPF_ALU+BPF_ADD+BPF_X
|
||||
A <- A + X
|
||||
.It Li BPF_ALU+BPF_SUB+BPF_X
|
||||
A <- A - X
|
||||
.It Li BPF_ALU+BPF_MUL+BPF_X
|
||||
A <- A * X
|
||||
.It Li BPF_ALU+BPF_DIV+BPF_X
|
||||
A <- A / X
|
||||
.It Li BPF_ALU+BPF_AND+BPF_X
|
||||
A <- A & X
|
||||
.It Li BPF_ALU+BPF_OR+BPF_X
|
||||
A <- A | X
|
||||
.It Li BPF_ALU+BPF_LSH+BPF_X
|
||||
A <- A << X
|
||||
.It Li BPF_ALU+BPF_RSH+BPF_X
|
||||
A <- A >> X
|
||||
.It Li BPF_ALU+BPF_NEG
|
||||
A <- -A
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_ALU+BPF_ADD+BPF_K A <- A + k
|
||||
BPF_ALU+BPF_SUB+BPF_K A <- A - k
|
||||
BPF_ALU+BPF_MUL+BPF_K A <- A * k
|
||||
BPF_ALU+BPF_DIV+BPF_K A <- A / k
|
||||
BPF_ALU+BPF_AND+BPF_K A <- A & k
|
||||
BPF_ALU+BPF_OR+BPF_K A <- A | k
|
||||
BPF_ALU+BPF_LSH+BPF_K A <- A << k
|
||||
BPF_ALU+BPF_RSH+BPF_K A <- A >> k
|
||||
BPF_ALU+BPF_ADD+BPF_X A <- A + X
|
||||
BPF_ALU+BPF_SUB+BPF_X A <- A - X
|
||||
BPF_ALU+BPF_MUL+BPF_X A <- A * X
|
||||
BPF_ALU+BPF_DIV+BPF_X A <- A / X
|
||||
BPF_ALU+BPF_AND+BPF_X A <- A & X
|
||||
BPF_ALU+BPF_OR+BPF_X A <- A | X
|
||||
BPF_ALU+BPF_LSH+BPF_X A <- A << X
|
||||
BPF_ALU+BPF_RSH+BPF_X A <- A >> X
|
||||
BPF_ALU+BPF_NEG A <- -A
|
||||
.Ed
|
||||
.It Dv BPF_JMP
|
||||
The jump instructions alter flow of control.
|
||||
Conditional jumps
|
||||
@ -592,26 +561,17 @@ opcode uses the 32 bit
|
||||
field as the offset, allowing arbitrarily distant destinations.
|
||||
All conditionals use unsigned comparison conventions.
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_JMP+BPF_KSET+BPF_X" -compact
|
||||
.It Li BPF_JMP+BPF_JA
|
||||
pc += k
|
||||
.It Li BPF_JMP+BPF_JGT+BPF_K
|
||||
pc += (A > k) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JGE+BPF_K
|
||||
pc += (A >= k) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JEQ+BPF_K
|
||||
pc += (A == k) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JSET+BPF_K
|
||||
pc += (A & k) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JGT+BPF_X
|
||||
pc += (A > X) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JGE+BPF_X
|
||||
pc += (A >= X) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JEQ+BPF_X
|
||||
pc += (A == X) ? jt : jf
|
||||
.It Li BPF_JMP+BPF_JSET+BPF_X
|
||||
pc += (A & X) ? jt : jf
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_JMP+BPF_JA pc += k
|
||||
BPF_JMP+BPF_JGT+BPF_K pc += (A > k) ? jt : jf
|
||||
BPF_JMP+BPF_JGE+BPF_K pc += (A >= k) ? jt : jf
|
||||
BPF_JMP+BPF_JEQ+BPF_K pc += (A == k) ? jt : jf
|
||||
BPF_JMP+BPF_JSET+BPF_K pc += (A & k) ? jt : jf
|
||||
BPF_JMP+BPF_JGT+BPF_X pc += (A > X) ? jt : jf
|
||||
BPF_JMP+BPF_JGE+BPF_X pc += (A >= X) ? jt : jf
|
||||
BPF_JMP+BPF_JEQ+BPF_X pc += (A == X) ? jt : jf
|
||||
BPF_JMP+BPF_JSET+BPF_X pc += (A & X) ? jt : jf
|
||||
.Ed
|
||||
.It Dv BPF_RET
|
||||
The return instructions terminate the filter program and specify the amount
|
||||
of packet to accept (i.e., they return the truncation amount).
|
||||
@ -621,12 +581,10 @@ The return value is either a constant
|
||||
or the accumulator
|
||||
.Pq Dv BPF_A .
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_RET+BPF_K" -compact
|
||||
.It Li BPF_RET+BPF_A
|
||||
accept A bytes
|
||||
.It Li BPF_RET+BPF_K
|
||||
accept k bytes
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_RET+BPF_A accept A bytes
|
||||
BPF_RET+BPF_K accept k bytes
|
||||
.Ed
|
||||
.It Dv BPF_MISC
|
||||
The miscellaneous category was created for anything that doesn't
|
||||
fit into the above classes, and for any new instructions that might need to
|
||||
@ -634,12 +592,10 @@ be added.
|
||||
Currently, these are the register transfer instructions
|
||||
that copy the index register to the accumulator or vice versa.
|
||||
.Pp
|
||||
.Bl -tag -width "BPF_MISC+BPF_TAX" -compact
|
||||
.It Li BPF_MISC+BPF_TAX
|
||||
X <- A
|
||||
.It Li BPF_MISC+BPF_TXA
|
||||
A <- X
|
||||
.El
|
||||
.Bd -literal
|
||||
BPF_MISC+BPF_TAX X <- A
|
||||
BPF_MISC+BPF_TXA A <- X
|
||||
.Ed
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
@ -765,5 +721,6 @@ and
|
||||
.An -nosplit
|
||||
.An Steven McCanne ,
|
||||
of Lawrence Berkeley Laboratory, implemented BPF in
|
||||
Summer 1990. Much of the design is due to
|
||||
Summer 1990.
|
||||
Much of the design is due to
|
||||
.An Van Jacobson .
|
||||
|
@ -108,7 +108,7 @@ you do this, but sequential performance is not usually an issue with a
|
||||
multitasking load.
|
||||
.Pp
|
||||
An interleave factor must be specified when using a mirroring configuration,
|
||||
even when you have only two disks (i.e. the layout winds up being the same
|
||||
even when you have only two disks (i.e., the layout winds up being the same
|
||||
no matter what the interleave factor).
|
||||
The interleave factor will determine
|
||||
how I/O is broken up, however, and a value 128 or greater is recommended.
|
||||
|
@ -374,7 +374,8 @@ drives; however, this is not yet under way.
|
||||
The
|
||||
.Nm
|
||||
driver attempts to automatically determine whether the drive it is talking
|
||||
to supports 6 byte or 10 byte MODE SENSE/MODE SELECT operations. Many
|
||||
to supports 6 byte or 10 byte MODE SENSE/MODE SELECT operations.
|
||||
Many
|
||||
.Tn SCSI
|
||||
drives only support 6 byte commands, and
|
||||
.Tn ATAPI
|
||||
@ -389,17 +390,22 @@ After that, the
|
||||
driver defaults to using 6 byte commands (assuming the protocol the drive
|
||||
speaks claims to support 6 byte commands), until one fails with a
|
||||
.Tn SCSI
|
||||
ILLEGAL REQUEST error. Then it tries the 10 byte version of the command to
|
||||
see if that works instead. Users can change the default via per-drive
|
||||
sysctl variables and loader tunables. The variable names are the same in
|
||||
ILLEGAL REQUEST error.
|
||||
Then it tries the 10 byte version of the command to
|
||||
see if that works instead.
|
||||
Users can change the default via per-drive
|
||||
sysctl variables and loader tunables.
|
||||
The variable names are the same in
|
||||
both instances:
|
||||
.Pp
|
||||
.Va kern.cam.cd.%d.minimum_cmd_size
|
||||
.Pp
|
||||
Where
|
||||
.Dq %d
|
||||
is the unit number of the drive in question. Valid minimum command sizes
|
||||
are 6 and 10. Any value above 6 will be rounded to 10, and any value below
|
||||
is the unit number of the drive in question.
|
||||
Valid minimum command sizes
|
||||
are 6 and 10.
|
||||
Any value above 6 will be rounded to 10, and any value below
|
||||
6 will be rounded to 6.
|
||||
.Sh CHANGER OPERATION
|
||||
This driver has built-in support for LUN-based CD changers.
|
||||
|
@ -292,7 +292,7 @@ A medium is present.
|
||||
.It Dv CESTATUS_IMPEXP
|
||||
The medium has been deposited by the operator (and not by a picker).
|
||||
.It Dv CESTATUS_EXCEPT
|
||||
The element is in an exceptional state (e.g. invalid barcode label,
|
||||
The element is in an exceptional state (e.g.\& invalid barcode label,
|
||||
barcode not yet scanned).
|
||||
.It Dv CESTATUS_ACCESS
|
||||
The element is accessible by the picker.
|
||||
|
@ -33,7 +33,7 @@ offloading most of the queueing and being-a-disk chores onto CAM.
|
||||
Entry to the driver is via the PCI bus attachment
|
||||
.Fn ciss_probe ,
|
||||
.Fn ciss_attach ,
|
||||
etc. and via the CAM interface
|
||||
etc.\& and via the CAM interface
|
||||
.Fn ciss_cam_action ,
|
||||
and
|
||||
.Fn ciss_cam_poll .
|
||||
@ -62,12 +62,15 @@ except under extreme load.
|
||||
Non-disk devices (such as internal DATs and devices
|
||||
attached to the external SCSI bus) are supported as normal CAM devices
|
||||
provided that they are exported by the controller firmware and are not
|
||||
marked as being masked. Masked devices can be exposed by setting the
|
||||
marked as being masked.
|
||||
Masked devices can be exposed by setting the
|
||||
.Va hw.ciss.expose_hidden_physical
|
||||
tunable to non-zero at boot time. Direct Access devices (such as disk
|
||||
tunable to non-zero at boot time.
|
||||
Direct Access devices (such as disk
|
||||
drives) are only exposed as
|
||||
.Xr pass 4
|
||||
devices. Hot-insertion and removal of devices is supported but a bus
|
||||
devices.
|
||||
Hot-insertion and removal of devices is supported but a bus
|
||||
rescan might be necessary.
|
||||
.Pp
|
||||
Supported controllers include:
|
||||
|
@ -154,10 +154,12 @@ in the normal way on the initial-state devices to program
|
||||
initial termios states suitable for your setup.
|
||||
.Pp
|
||||
The lock termios state acts as flags to disable changing
|
||||
the termios state. E.g., to lock a flag variable such as
|
||||
the termios state.
|
||||
E.g., to lock a flag variable such as
|
||||
CRTSCTS, use
|
||||
.Em "stty crtscts"
|
||||
on the lock-state device. Speeds and special characters
|
||||
on the lock-state device.
|
||||
Speeds and special characters
|
||||
may be locked by setting the corresponding value in the lock-state
|
||||
device to any nonzero value.
|
||||
.Pp
|
||||
@ -170,11 +172,15 @@ should be set to suit the devices attached and may need to be
|
||||
locked to prevent buggy programs from changing them.
|
||||
E.g., CRTSCTS should be locked on for devices that support
|
||||
RTS/CTS handshaking at all times and off for devices that don't
|
||||
support it at all. CLOCAL should be locked on for devices
|
||||
that don't support carrier. HUPCL may be locked off if you don't
|
||||
want to hang up for some reason. In general, very bad things happen
|
||||
support it at all.
|
||||
CLOCAL should be locked on for devices
|
||||
that don't support carrier.
|
||||
HUPCL may be locked off if you don't
|
||||
want to hang up for some reason.
|
||||
In general, very bad things happen
|
||||
if something is locked to the wrong state, and things should not
|
||||
be locked for devices that support more than one setting. The
|
||||
be locked for devices that support more than one setting.
|
||||
The
|
||||
CLOCAL flag on callin ports should be locked off for logins
|
||||
to avoid certain security holes, but this needs to be done by
|
||||
getty if the callin port is used for anything else.
|
||||
|
@ -96,7 +96,8 @@ utility.
|
||||
The read cache is used to store data from device-initiated read ahead
|
||||
operations as well as frequently used data.
|
||||
The read cache is transparent
|
||||
to the user and can be enabled without any adverse effect. Most devices
|
||||
to the user and can be enabled without any adverse effect.
|
||||
Most devices
|
||||
with a read cache come from the factory with it enabled.
|
||||
The read cache can be disabled by setting the
|
||||
.Tn RCD
|
||||
@ -228,14 +229,14 @@ given
|
||||
unit.
|
||||
(The %d above denotes the unit number of the
|
||||
.Nm
|
||||
driver instance, e.g. 1, 2, 4, 8, etc.)
|
||||
driver instance, e.g.\& 1, 2, 4, 8, etc.)
|
||||
Valid minimum command size values are 6, 10, 12 and 16 bytes.
|
||||
The default is 6 bytes.
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
driver issues a CAM Path Inquiry CCB at probe time to determine whether the
|
||||
protocol the device in question speaks (e.g. ATAPI) typically doesn't allow
|
||||
protocol the device in question speaks (e.g.\& ATAPI) typically doesn't allow
|
||||
6 byte commands.
|
||||
If it doesn't, the
|
||||
.Nm
|
||||
|
@ -88,7 +88,8 @@ Others use different receiver filter programming
|
||||
mechanisms.
|
||||
At least one supports only chained DMA descriptors
|
||||
(most support both chained descriptors and contiguously allocated
|
||||
fixed size rings). Some chips (especially the PNIC) also have
|
||||
fixed size rings).
|
||||
Some chips (especially the PNIC) also have
|
||||
peculiar bugs.
|
||||
The
|
||||
.Nm
|
||||
@ -165,7 +166,7 @@ NDC SOHOware SFA110A (98713A)
|
||||
.It
|
||||
NDC SOHOware SFA110A Rev B4 (98715AEC-C)
|
||||
.It
|
||||
NetGear FA310-TX Rev. D1, D2 or D3 (PNIC 82c169)
|
||||
NetGear FA310-TX Rev.\& D1, D2 or D3 (PNIC 82c169)
|
||||
.It
|
||||
Netgear FA511
|
||||
.It
|
||||
|
@ -108,7 +108,8 @@ Packets written into a divert socket
|
||||
re-enter the packet filter at the rule number
|
||||
following the tag given in the port part of the socket address, which
|
||||
is usually already set at the rule number that caused the diversion
|
||||
(not the next rule if there are several at the same number). If the 'tag'
|
||||
(not the next rule if there are several at the same number).
|
||||
If the 'tag'
|
||||
is altered to indicate an alternative re-entry point, care should be taken
|
||||
to avoid loops, where the same packet is diverted more than once at the
|
||||
same rule.
|
||||
|
@ -14,7 +14,7 @@
|
||||
The
|
||||
.Nm
|
||||
device driver supports Midway-based ATM interfaces including the
|
||||
Efficient Networks, Inc. ENI-155 and Adaptec ANA-59x0.
|
||||
Efficient Networks, Inc.\& ENI-155 and Adaptec ANA-59x0.
|
||||
Midway is an AAL5 SAR (Segmentation and Reassembly) chip.
|
||||
.Pp
|
||||
For configuring the card for IP see
|
||||
|
@ -50,7 +50,8 @@ The driver interfaces with the
|
||||
framework,
|
||||
.Xr netgraph 4
|
||||
and HARP.
|
||||
It provides only PVC services. Signalling, ATMARP, ILMI and other
|
||||
It provides only PVC services.
|
||||
Signalling, ATMARP, ILMI and other
|
||||
higher layer protocols are implemented using
|
||||
.Xr netgraph 4
|
||||
or HARP.
|
||||
@ -71,12 +72,15 @@ Returns a list of
|
||||
with internal driver statistics.
|
||||
.It Cm hw.atm.fatmN.retry_tx
|
||||
If this is set packets are stuffed back into the interface's send queue when
|
||||
the cards transmit queue is found to be full. They are transmitted later.
|
||||
If this is not set the packets are dropped. It may be useful to set this
|
||||
the cards transmit queue is found to be full.
|
||||
They are transmitted later.
|
||||
If this is not set the packets are dropped.
|
||||
It may be useful to set this
|
||||
if only UBR traffic is sent.
|
||||
.It Cm hw.atm.fatmN.debug
|
||||
.Em (only if debugging enabled)
|
||||
These are debugging flags. See
|
||||
These are debugging flags.
|
||||
See
|
||||
.Fn if_fatmvar.h
|
||||
for the possible flags.
|
||||
.El
|
||||
@ -97,9 +101,12 @@ fatm0: <FORE PCA200E> mem 0xd5800000-0xd59fffff irq 9 at device 9.0 on pci0
|
||||
.Xr natmip 4 ,
|
||||
.Xr utopia 4
|
||||
.Sh BUGS
|
||||
These cards can CBR shape a single VCC only. It is currently possible to
|
||||
request more than one CBR connection. In this case all the timing will be
|
||||
wrong. See
|
||||
These cards can CBR shape a single VCC only.
|
||||
It is currently possible to
|
||||
request more than one CBR connection.
|
||||
In this case all the timing will be
|
||||
wrong.
|
||||
See
|
||||
.Xr hatm 4
|
||||
for a better card.
|
||||
.Sh AUTHORS
|
||||
|
@ -54,15 +54,18 @@ Compared to traditional "volume management", GEOM differs from most
|
||||
and in some cases all previous implementations in the following ways:
|
||||
.Bl -bullet
|
||||
.It
|
||||
GEOM is extensible. It is trivially simple to write a new class
|
||||
of transformation and it will not be given stepchild treatment. If
|
||||
GEOM is extensible.
|
||||
It is trivially simple to write a new class
|
||||
of transformation and it will not be given stepchild treatment.
|
||||
If
|
||||
someone for some reason wanted to mount IBM MVS diskpacks, a class
|
||||
recognizing and configuring their VTOC information would be a trivial
|
||||
matter.
|
||||
.It
|
||||
GEOM is topologically agnostic. Most volume management implementations
|
||||
GEOM is topologically agnostic.
|
||||
Most volume management implementations
|
||||
have very strict notions of how classes can fit together, very often
|
||||
one fixed hierarchy is provided for instance subdisk - plex -
|
||||
one fixed hierarchy is provided for instance subdisk - plex -
|
||||
volume.
|
||||
.El
|
||||
.Pp
|
||||
@ -83,11 +86,13 @@ GEOM is quite object oriented and consequently the terminology
|
||||
borrows a lot of context and semantics from the OO vocabulary:
|
||||
.Pp
|
||||
A "class", represented by the data structure g_class implements one
|
||||
particular kind of transformation. Typical examples are MBR disk
|
||||
particular kind of transformation.
|
||||
Typical examples are MBR disk
|
||||
partition, BSD disklabel, and RAID5 classes.
|
||||
.Pp
|
||||
An instance of a class is called a "geom" and represented by the
|
||||
data structure "g_geom". In a typical i386 FreeBSD system, there
|
||||
data structure "g_geom".
|
||||
In a typical i386 FreeBSD system, there
|
||||
will be one geom of class MBR for each disk.
|
||||
.Pp
|
||||
A "provider", represented by the data structure "g_provider", is
|
||||
@ -116,7 +121,8 @@ A provider can have zero or more consumers attached.
|
||||
.El
|
||||
.Pp
|
||||
All geoms have a rank-number assigned, which is used to detect and
|
||||
prevent loops in the acyclic directed graph. This rank number is
|
||||
prevent loops in the acyclic directed graph.
|
||||
This rank number is
|
||||
assigned as follows:
|
||||
.Bl -enum
|
||||
.It
|
||||
@ -161,7 +167,8 @@ is the process by which a provider is removed while
|
||||
it potentially is still being used.
|
||||
.Pp
|
||||
When a geom orphans a provider, all future I/O requests will
|
||||
"bounce" on the provider with an error code set by the geom. Any
|
||||
"bounce" on the provider with an error code set by the geom.
|
||||
Any
|
||||
consumers attached to the provider will receive notification about
|
||||
the orphanization when the eventloop gets around to it, and they
|
||||
can take appropriate action at that time.
|
||||
@ -226,7 +233,7 @@ Imagine a disk, "da0" on top of which a MBR geom provides
|
||||
"da0s1a" through "da0s1e", both the MBR and BSD geoms have
|
||||
autoconfigured based on data structures on the disk media.
|
||||
Now imagine the case where "da0" is opened for writing and those
|
||||
data structures are modified or overwritten: Now the geoms would
|
||||
data structures are modified or overwritten: Now the geoms would
|
||||
be operating on stale metadata unless some notification system
|
||||
can inform them otherwise.
|
||||
.Pp
|
||||
@ -273,7 +280,8 @@ again, it has served its purpose.
|
||||
.Pp
|
||||
.Em CONFIGURE
|
||||
is the process where the administrator issues instructions
|
||||
for a particular class to instantiate itself. There are multiple
|
||||
for a particular class to instantiate itself.
|
||||
There are multiple
|
||||
ways to express intent in this case, a particular provider can be
|
||||
specified with a level of override forcing for instance a BSD
|
||||
disklabel module to attach to a provider which was not found palatable
|
||||
@ -311,7 +319,8 @@ range to reduce the amount of data available for attack.
|
||||
It is important to recognize that a delete indication is not a
|
||||
request and consequently there is no guarantee that the data actually
|
||||
will be erased or made unavailable unless guaranteed by specific
|
||||
geoms in the graph. If "secure delete" semantics are required, a
|
||||
geoms in the graph.
|
||||
If "secure delete" semantics are required, a
|
||||
geom should be pushed which converts delete indications into (a
|
||||
sequence of) write requests.
|
||||
.Pp
|
||||
@ -328,7 +337,8 @@ under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the
|
||||
DARPA CHATS research program.
|
||||
.Pp
|
||||
The first precursor for GEOM was a gruesome hack to Minix 1.2 and was
|
||||
never distributed. An earlier attempt to implement a less general scheme
|
||||
never distributed.
|
||||
An earlier attempt to implement a less general scheme
|
||||
in FreeBSD never succeeded.
|
||||
.Sh AUTHORS
|
||||
.An "Poul-Henning Kamp" Aq phk@FreeBSD.org
|
||||
|
@ -70,7 +70,7 @@ Encapsulated datagrams are
|
||||
prepended an outer datagram and a GRE header.
|
||||
The GRE header specifies
|
||||
the type of the encapsulated datagram and thus allows for tunneling other
|
||||
protocols than IP like e.g. AppleTalk.
|
||||
protocols than IP like e.g.\& AppleTalk.
|
||||
GRE mode is also the default tunnel mode on Cisco routers.
|
||||
This is also the default mode of operation of the
|
||||
.Nm
|
||||
@ -158,7 +158,7 @@ Query operation mode.
|
||||
Note that the IP addresses of the tunnel endpoints may be the same as the
|
||||
ones defined with
|
||||
.Xr ifconfig 8
|
||||
for the interface (as if IP is encapsulated), but need not be, as e.g. when
|
||||
for the interface (as if IP is encapsulated), but need not be, as e.g.\& when
|
||||
encapsulating AppleTalk.
|
||||
.Sh EXAMPLES
|
||||
Configuration example:
|
||||
@ -204,7 +204,7 @@ ifconfig tunnel greN D A
|
||||
If all goes well, you should see packets flowing ;-)
|
||||
.Pp
|
||||
If you want to reach Host A over the tunnel (from Host D (Cisco)), then
|
||||
you have to have an alias on Host A for e.g. the Ethernet interface like:
|
||||
you have to have an alias on Host A for e.g.\& the Ethernet interface like:
|
||||
.Pp
|
||||
.Dl "ifconfig <etherif> alias Y"
|
||||
.Pp
|
||||
|
@ -57,7 +57,8 @@ Gravis UltraSound MAX
|
||||
.Pp
|
||||
The value of flags specifies the secondary DMA channel.
|
||||
If the secondary
|
||||
DMA channel is C, set the flags to (C | 0x10). For a sound card without the
|
||||
DMA channel is C, set the flags to (C | 0x10).
|
||||
For a sound card without the
|
||||
secondary DMA channel, the flags should be set to zero.
|
||||
.Sh DIAGNOSTICS
|
||||
.Bl -diag
|
||||
|
@ -51,7 +51,8 @@ The driver interfaces with the
|
||||
framework,
|
||||
.Xr netgraph 4
|
||||
and the HARP ATM stack.
|
||||
It provides only PVC services. Signalling, ATMARP, ILMI and other
|
||||
It provides only PVC services.
|
||||
Signalling, ATMARP, ILMI and other
|
||||
higher layer protocols are implemented using
|
||||
.Xr netgraph 4
|
||||
or HARP.
|
||||
@ -64,7 +65,8 @@ handled by
|
||||
.Xr utopia 4 :
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.atm.hatm.natm_traffic
|
||||
This is the traffic type to be used for NATM pvc connections. The type of
|
||||
This is the traffic type to be used for NATM pvc connections.
|
||||
The type of
|
||||
this variable is integer and it must have one of the values 0 (UBR) or 1 (CBR).
|
||||
.It Cm hw.atm.hatm.natm_pcr
|
||||
This is the peak cell rate to be used for NATM CBR connections.
|
||||
@ -78,12 +80,14 @@ Contains an array of
|
||||
with internal driver statistics.
|
||||
.It Cm hw.atm.hatmN.debug
|
||||
.Em (only if debugging enabled)
|
||||
These are the debugging flags. See
|
||||
These are the debugging flags.
|
||||
See
|
||||
.Fn if_hatmvar.h
|
||||
for the possible flags.
|
||||
.It Cm hw.atm.hatmN.tsr
|
||||
.Em (only if debugging enabled)
|
||||
This is an array containing all transmission status registers. For each of the
|
||||
This is an array containing all transmission status registers.
|
||||
For each of the
|
||||
4096 possible VCCs there are 15 32-bit registers.
|
||||
.It Cm hw.atm.hatmN.tpd
|
||||
.Em (only if debugging enabled)
|
||||
@ -120,86 +124,120 @@ hatm0: ForeRunnerHE 622, Rev. D, S/N 2949834, MAC=00:20:48:2d:02:ca
|
||||
When attaching to a device the driver checks the kernel environment
|
||||
(see
|
||||
.Xr kenv 4 )
|
||||
to see if the default queues sizes should be overwritten or not. The
|
||||
to see if the default queues sizes should be overwritten or not.
|
||||
The
|
||||
following variables are checked and interpreted as unsigned integer
|
||||
values (in either radix):
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.hatmN.rbps0_size
|
||||
Size of the small receive buffer pool 0. This pool is used for all
|
||||
except raw AAL connections. The pool size must be a power of two between
|
||||
4 and 8192 inclusive. When attaching the driver allocates this number
|
||||
Size of the small receive buffer pool 0.
|
||||
This pool is used for all
|
||||
except raw AAL connections.
|
||||
The pool size must be a power of two between
|
||||
4 and 8192 inclusive.
|
||||
When attaching the driver allocates this number
|
||||
of mbufs.
|
||||
.It Cm hw.hatmN.rbps0_thresh
|
||||
Interrupt threshold for small receive buffer pool 0. When the number of free
|
||||
Interrupt threshold for small receive buffer pool 0.
|
||||
When the number of free
|
||||
buffers in the pool falls below this threshold it generates an interrupt
|
||||
so that the driver can refill the pool.
|
||||
.It Cm hw.hatmN.rbpl0_thresh
|
||||
Size of the large receive buffer pool 0. This pool is used for all
|
||||
except raw AAL connections. The pool size must be a power of two between
|
||||
4 and 8192 inclusive. When attaching the driver allocates this number
|
||||
Size of the large receive buffer pool 0.
|
||||
This pool is used for all
|
||||
except raw AAL connections.
|
||||
The pool size must be a power of two between
|
||||
4 and 8192 inclusive.
|
||||
When attaching the driver allocates this number
|
||||
of mbufs with clusters.
|
||||
.It Cm hw.hatmN.rbpl0_thresh
|
||||
Interrupt threshold for large receive buffer pool 0. When the number of free
|
||||
Interrupt threshold for large receive buffer pool 0.
|
||||
When the number of free
|
||||
buffers in the pool falls below this threshold it generates an interrupt
|
||||
so that the driver can refill the pool.
|
||||
.It Cm hw.hatmN.rbrq0_size
|
||||
Size of receive buffer return queue 0. This queue is used to return buffers
|
||||
filled with received frames to the driver. The size must be a power of 2
|
||||
Size of receive buffer return queue 0.
|
||||
This queue is used to return buffers
|
||||
filled with received frames to the driver.
|
||||
The size must be a power of 2
|
||||
between 1 and 16384 inclusive.
|
||||
.It Cm hw.hatmN.rbrq0_thresh
|
||||
Interrupt threshold for receive buffer return queue 0. This threshold
|
||||
Interrupt threshold for receive buffer return queue 0.
|
||||
This threshold
|
||||
should only be triggered in exceptional cases.
|
||||
.It Cm hw.hatmN.rbrq0_tout
|
||||
Interrupt timeout for receive buffer return queue 0. An interrupt is generated
|
||||
after this time if the queue is not empty. The number is in internal card
|
||||
Interrupt timeout for receive buffer return queue 0.
|
||||
An interrupt is generated
|
||||
after this time if the queue is not empty.
|
||||
The number is in internal card
|
||||
ticks.
|
||||
.It Cm hw.hatmN.rbrq0_pcnt
|
||||
Packet count threshold for receive buffer return queue 0. An interrupt
|
||||
Packet count threshold for receive buffer return queue 0.
|
||||
An interrupt
|
||||
is generated if this number of packets is in the queue.
|
||||
.It Cm hw.hatmN.rbps1_size
|
||||
Size of the small receive buffer pool 1. This pool is used for all
|
||||
raw AAL connections. The pool size must be a power of two between
|
||||
4 and 8192 inclusive. When attaching the driver allocates this number
|
||||
Size of the small receive buffer pool 1.
|
||||
This pool is used for all
|
||||
raw AAL connections.
|
||||
The pool size must be a power of two between
|
||||
4 and 8192 inclusive.
|
||||
When attaching the driver allocates this number
|
||||
of mbufs.
|
||||
.It Cm hw.hatmN.rbps1_thresh
|
||||
Interrupt threshold for small receive buffer pool 1. When the number of free
|
||||
Interrupt threshold for small receive buffer pool 1.
|
||||
When the number of free
|
||||
buffers in the pool falls below this threshold it generates an interrupt
|
||||
so that the driver can refill the pool.
|
||||
.It Cm hw.hatmN.rbrq1_size
|
||||
Size of receive buffer return queue 1. This queue is used to return buffers
|
||||
filled with received cells to the driver. The size must be a power of 2
|
||||
Size of receive buffer return queue 1.
|
||||
This queue is used to return buffers
|
||||
filled with received cells to the driver.
|
||||
The size must be a power of 2
|
||||
between 1 and 16384 inclusive.
|
||||
.It Cm hw.hatmN.rbrq1_thresh
|
||||
Interrupt threshold for receive buffer return queue 1. This threshold
|
||||
Interrupt threshold for receive buffer return queue 1.
|
||||
This threshold
|
||||
should only be triggered in exceptional cases.
|
||||
.It Cm hw.hatmN.rbrq1_tout
|
||||
Interrupt timeout for receive buffer return queue 1. An interrupt is generated
|
||||
after this time if the queue is not empty. The number is in internal card
|
||||
Interrupt timeout for receive buffer return queue 1.
|
||||
An interrupt is generated
|
||||
after this time if the queue is not empty.
|
||||
The number is in internal card
|
||||
ticks.
|
||||
.It Cm hw.hatmN.rbrq1_pcnt
|
||||
Packet count threshold for receive buffer return queue 0. An interrupt
|
||||
Packet count threshold for receive buffer return queue 0.
|
||||
An interrupt
|
||||
is generated if this number of cells is in the queue.
|
||||
.It Cm hw.hatmN.irq0_size
|
||||
Size of interrupt queue 0. This must be a number between 1 and 1023 inclusive.
|
||||
Size of interrupt queue 0.
|
||||
This must be a number between 1 and 1023 inclusive.
|
||||
.It Cm hw.hatmN.irq0_thresh
|
||||
Interrupt retrigger threshold of interrupt queue 0. A new interrupt is trigger
|
||||
Interrupt retrigger threshold of interrupt queue 0.
|
||||
A new interrupt is trigger
|
||||
if the queue fill state reaches this threshold and the interrupt was no
|
||||
served.
|
||||
.It Cm hw.hatmN.tbrq0_size
|
||||
Transmit buffer return queue 0 size. This queue is used to feed back empty
|
||||
buffers of transmitted frames back to the driver. It must be a power of 2
|
||||
Transmit buffer return queue 0 size.
|
||||
This queue is used to feed back empty
|
||||
buffers of transmitted frames back to the driver.
|
||||
It must be a power of 2
|
||||
between 1 and 4096 inclusive.
|
||||
.It Cm hw.hatmN.tbrq0_thresh
|
||||
Transmit buffer return queue 0 threshold. An interrupt is generated if the
|
||||
Transmit buffer return queue 0 threshold.
|
||||
An interrupt is generated if the
|
||||
queue fill state reaches this point.
|
||||
.It Cm hw.hatmN.tpdrq_size
|
||||
Transmit descriptor ready queue size. This queue is used by the driver
|
||||
to feed transmit descriptors into the card. The size must be a power of 2
|
||||
Transmit descriptor ready queue size.
|
||||
This queue is used by the driver
|
||||
to feed transmit descriptors into the card.
|
||||
The size must be a power of 2
|
||||
between 1 and 16384 inclusive.
|
||||
.It Cm hw.hatmN.tpdmax
|
||||
Maximum number of active TPDs per connection. This controls the maximum
|
||||
Maximum number of active TPDs per connection.
|
||||
This controls the maximum
|
||||
number of outstanding packet chunks per connection and thus the maximum
|
||||
delay packets can have because of queueing on the adapter. If set to 0,
|
||||
delay packets can have because of queueing on the adapter.
|
||||
If set to 0,
|
||||
a connection can eat up all available TPDs.
|
||||
.It Cm hw.hatmN.mbuf_max_pages
|
||||
Maximum number of memory pages allocated to small external mbufs.
|
||||
|
@ -90,7 +90,7 @@ The index of the last row in the table is given by
|
||||
A management application searching for a particular interface should
|
||||
start with row 1 and continue through the table row-by-row until the
|
||||
desired interface is found, or the interface count is reached.
|
||||
Note that the table may be sparse, i.e. a given row may not exist,
|
||||
Note that the table may be sparse, i.e., a given row may not exist,
|
||||
indicated by an
|
||||
.Va errno
|
||||
of
|
||||
|
@ -38,7 +38,9 @@ The
|
||||
character device driver provides generic i/o to any
|
||||
.Xr iicbus 4
|
||||
instance.
|
||||
In order to control I2C devices, use /dev/iic? with the
|
||||
In order to control I2C devices, use
|
||||
.Pa /dev/iic?
|
||||
with the
|
||||
following ioctls:
|
||||
.Pp
|
||||
.Bl -column "I2CRSTCARD" -compact
|
||||
|
@ -44,7 +44,7 @@
|
||||
.Sh DESCRIPTION
|
||||
The Internet protocol family is a collection of protocols
|
||||
layered atop the
|
||||
.Em Internet Protocol
|
||||
.Em Internet Protocol
|
||||
.Pq Tn IP
|
||||
transport layer, and utilizing the Internet address format.
|
||||
The Internet family provides protocol support for the
|
||||
|
@ -127,7 +127,7 @@ This includes making backups of entire disk partitions, or
|
||||
to
|
||||
.Em raw
|
||||
floppy disks
|
||||
(i.e. those used like tapes).
|
||||
(i.e., those used like tapes).
|
||||
.Pp
|
||||
Access restrictions to device nodes are usually subject to the regular
|
||||
file permissions of the device node entry, instead of being enforced
|
||||
|
@ -104,7 +104,7 @@ The basic API looks very similar to the API presented in
|
||||
Advanced API uses ancillary data and can handle more complex cases.
|
||||
.Pp
|
||||
To specify some of socket options, certain privilege
|
||||
(i.e. root privilege) is required.
|
||||
(i.e., root privilege) is required.
|
||||
.\"
|
||||
.Ss Basic IPv6 sockets API
|
||||
.Dv IPV6_UNICAST_HOPS
|
||||
|
@ -33,8 +33,10 @@
|
||||
.Cd "device ispfw"
|
||||
.Sh DESCRIPTION
|
||||
This trivial driver provides access to firmware sets for the Qlogic
|
||||
based SCSI and FibreChannel SCSI Host Adapters. It may either be
|
||||
statically linked into the kernel, or loaded as a module. In either
|
||||
based SCSI and FibreChannel SCSI Host Adapters.
|
||||
It may either be
|
||||
statically linked into the kernel, or loaded as a module.
|
||||
In either
|
||||
case, the
|
||||
.Xr isp 4
|
||||
driver will notice that firmware is available to be downloaded onto
|
||||
|
@ -61,16 +61,16 @@ only interested by the buttons status.
|
||||
Get the time limit (in microseconds) used for reading the joystick
|
||||
status.
|
||||
.It Dv JOY_SET_X_OFFSET Fa int *offset
|
||||
Set the value to be added to the X position when reading the joystick
|
||||
Set the value to be added to the X position when reading the joystick
|
||||
status.
|
||||
.It Dv JOY_SET_Y_OFFSET Fa int *offset
|
||||
Set the value to be added to the Y position when reading the joystick
|
||||
Set the value to be added to the Y position when reading the joystick
|
||||
status.
|
||||
.It Dv JOY_GET_X_OFFSET Fa int *offset
|
||||
Get the value which is added to the X position when reading the joystick
|
||||
Get the value which is added to the X position when reading the joystick
|
||||
status.
|
||||
.It Dv JOY_GET_Y_OFFSET Fa int *offset
|
||||
Get the value which is added to the Y position when reading the joystick
|
||||
Get the value which is added to the Y position when reading the joystick
|
||||
status.
|
||||
.El
|
||||
.Sh TECHNICAL SPECIFICATIONS
|
||||
|
@ -50,7 +50,8 @@ Switch virtual console.
|
||||
Change the meaning of another key.
|
||||
.El
|
||||
.Pp
|
||||
The keyboard is seen as a number of keys numbered from 1 to n. This
|
||||
The keyboard is seen as a number of keys numbered from 1 to n.
|
||||
This
|
||||
number is often referred to as the "scancode" for a given key.
|
||||
The number
|
||||
of the key is transmitted as an 8 bit char with bit 7 as 0 when a key is
|
||||
@ -92,17 +93,21 @@ represented by the map array, as shown below:
|
||||
.Ed
|
||||
.Pp
|
||||
This is the default mapping for the key labelled 'A' which normally has
|
||||
scancode 0x1E. The eight states are as shown, giving the 'A' key its
|
||||
scancode 0x1E.
|
||||
The eight states are as shown, giving the 'A' key its
|
||||
normal behavior.
|
||||
The spcl field is used to give the key "special" treatment, and is
|
||||
interpreted as follows.
|
||||
Each bit corresponds to one of the states above.
|
||||
If the bit is 0 the
|
||||
key emits the number defined in the corresponding map[] entry.
|
||||
If the bit is 1 the key is "special". This means it does not emit
|
||||
anything; instead it changes the "state". That means it is a shift,
|
||||
If the bit is 1 the key is "special".
|
||||
This means it does not emit
|
||||
anything; instead it changes the "state".
|
||||
That means it is a shift,
|
||||
control, alt, lock, switch-screen, function-key or no-op key.
|
||||
The bitmap is backwards ie. 7 for base, 6 for shift etc.
|
||||
The bitmap is backwards i.e.,
|
||||
7 for base, 6 for shift etc.
|
||||
.Pp
|
||||
The flgs field defines if the key should react on caps-lock (1),
|
||||
num-lock (2), both (3) or ignore both (0).
|
||||
@ -113,7 +118,7 @@ utility is used to load such a description into/outof
|
||||
the kernel at runtime.
|
||||
This makes it possible to change the key
|
||||
assignments at runtime, or more important to get (GIO_KEYMAP ioctl)
|
||||
the exact key meanings from the kernel (fx. used by the X server).
|
||||
the exact key meanings from the kernel (e.g.\& used by the X server).
|
||||
.Pp
|
||||
The function keys can be programmed using the SETFKEY ioctl call.
|
||||
.Pp
|
||||
|
@ -153,7 +153,7 @@ The packet format has a two-byte header, comprising the fixed values 0x08,
|
||||
The start of a packet is indicated by simply signalling the first byte
|
||||
of the header.
|
||||
The end of the packet is indicated by inverting
|
||||
the data lines (ie. writing the ones-complement of the previous nibble
|
||||
the data lines (i.e., writing the ones-complement of the previous nibble
|
||||
to be transmitted) without changing the state of the handshake.
|
||||
.Pp
|
||||
Note that the end-of-packet marker assumes that the handshake signal and
|
||||
|
@ -273,7 +273,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -232,6 +232,7 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
|
@ -105,6 +105,6 @@ Project.
|
||||
This software was contributed to the
|
||||
.Fx
|
||||
Project by NAI Labs, the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.\& under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
|
@ -114,7 +114,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -216,6 +216,7 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
|
@ -112,7 +112,7 @@ clearance level is lower than the clearance level of the object it is
|
||||
attempting to observe.
|
||||
.It
|
||||
Subjects may not read, write, or otherwise observe objects without proper
|
||||
clearance (e.g. subjects may not observe objects whose classification label
|
||||
clearance (e.g.\& subjects may not observe objects whose classification label
|
||||
dominates its own clearance label)
|
||||
.It
|
||||
Subjects may not write to objects with a lower classification level than
|
||||
@ -233,7 +233,7 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Laboratories,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.\& under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -93,7 +93,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -114,7 +114,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -227,6 +227,6 @@ first appeared in
|
||||
This software was contributed to the
|
||||
.Fx
|
||||
Project by NAI Labs, the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.\& under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
|
@ -107,7 +107,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -96,7 +96,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -97,7 +97,8 @@ This software was contributed to the
|
||||
.Fx
|
||||
Project by Network Associates Labs,
|
||||
the Security Research Division of Network Associates
|
||||
Inc. under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
Inc.
|
||||
under DARPA/SPAWAR contract N66001-01-C-8035
|
||||
.Pq Dq CBOSS ,
|
||||
as part of the DARPA CHATS research program.
|
||||
.Sh BUGS
|
||||
|
@ -32,7 +32,7 @@
|
||||
.Nd OSF/1 ABI support
|
||||
.Sh SYNOPSIS
|
||||
To link OSF/1 ABI support into the kernel:
|
||||
.Cd options COMPAT_OSF1
|
||||
.Cd "options COMPAT_OSF1"
|
||||
.Pp
|
||||
To load the OSF/1 ABI support kernel module:
|
||||
.Dl kldload osf1
|
||||
|
@ -81,7 +81,8 @@ TV-Out
|
||||
.Pp
|
||||
Some models also support video switching via the generic
|
||||
.Xr acpi_video 4
|
||||
driver. Most models don't, however.
|
||||
driver.
|
||||
Most models don't, however.
|
||||
.El
|
||||
.Pp
|
||||
Defaults for these variables can be set in
|
||||
|
@ -55,7 +55,9 @@ The
|
||||
driver first appeared in
|
||||
.Fx 4.5 .
|
||||
.Sh AUTHORS
|
||||
This driver was written by Matthew C. Forman.
|
||||
.An -nosplit
|
||||
This driver was written by
|
||||
.An "Matthew C. Forman" .
|
||||
Based heavily on the
|
||||
.Nm alpm
|
||||
driver by
|
||||
|
@ -40,14 +40,17 @@ comprising of system wakeup time and elapsed time during suspended mode.
|
||||
.It
|
||||
.Nm
|
||||
slows CPU clock when there are no system activities (runnable processes,
|
||||
interrupts, etc.). This function is available only on systems whose APM
|
||||
interrupts, etc.).
|
||||
This function is available only on systems whose APM
|
||||
supports CPU idling.
|
||||
.It
|
||||
.Nm
|
||||
exports an application interface as a character device. Applications
|
||||
exports an application interface as a character device.
|
||||
Applications
|
||||
can control APM, or retrieve APM status information via this interface.
|
||||
.Nm
|
||||
exports the following interfaces. These symbols are defined in
|
||||
exports the following interfaces.
|
||||
These symbols are defined in
|
||||
.In machine/apm_bios.h .
|
||||
.Bl -tag -width 4n -offset indent
|
||||
.It Sy APMIO_SUSPEND
|
||||
@ -67,11 +70,13 @@ Some APM implementations execute the HLT
|
||||
(Halt CPU until an interrupt occurs)
|
||||
instruction in the
|
||||
.Dq Em Idle CPU
|
||||
call, while others do not. Thus enabling this may result in
|
||||
call, while others do not.
|
||||
Thus enabling this may result in
|
||||
redundant HLT executions because
|
||||
.Dq Em Idle CPU
|
||||
is called from the kernel context switch routine that inherently executes
|
||||
HLT. This may reduce peak system performance.
|
||||
HLT.
|
||||
This may reduce peak system performance.
|
||||
.Pp
|
||||
Also the system hangs up if HLT instruction is disabled in the kernel
|
||||
context switch routine, and if the APM implementation of the machine
|
||||
@ -89,7 +94,8 @@ The current version of
|
||||
does not call
|
||||
.Dq Em Idle CPU
|
||||
from the kernel context switch routine if clock slowdown is not supported,
|
||||
and it executes HLT instruction by default. Therefore, there is
|
||||
and it executes HLT instruction by default.
|
||||
Therefore, there is
|
||||
no need to use these two operations in most cases.
|
||||
.El
|
||||
.Pp
|
||||
@ -112,10 +118,14 @@ polls APM events and handles the following events.
|
||||
.El
|
||||
.El
|
||||
.Sh BUGS
|
||||
WARNING! Many, if not most, of the implementations of APM-bios in laptops
|
||||
today are buggy. You may be putting your LCD-display and batteries at
|
||||
a risk by using this interface. (The reason this isn't a problem for
|
||||
MS-windows is that they use the real-mode interface.) If you see any
|
||||
WARNING!
|
||||
Many, if not most, of the implementations of APM-bios in laptops
|
||||
today are buggy.
|
||||
You may be putting your LCD-display and batteries at
|
||||
a risk by using this interface.
|
||||
(The reason this isn't a problem for
|
||||
MS-windows is that they use the real-mode interface.)
|
||||
If you see any
|
||||
weird behavior from your system with this code in use, unplug the
|
||||
power and batteries ASAP, if not immediately, and disable this code.
|
||||
.Pp
|
||||
@ -129,7 +139,8 @@ may cause serious trouble when resuming the system.
|
||||
BIOS setup programs should be called during bootstrap, or from DOS.
|
||||
.Pp
|
||||
Some APM implementations cannot handle events such as pushing the
|
||||
power button or closing the cover. On such implementations, the system
|
||||
power button or closing the cover.
|
||||
On such implementations, the system
|
||||
.Ar must
|
||||
be suspended
|
||||
.Ar only
|
||||
|
@ -61,9 +61,11 @@ Alternately, the driver can be compiled to support
|
||||
(see below).
|
||||
.Sh NUMBERING
|
||||
Only one line for each card is needed in the kernel configuration file.
|
||||
The first card's ports will be installed from ar0. The numbering of the
|
||||
next card will continue where the first stopped, eg. if the first card
|
||||
is a two port card it will use ar0 and ar1. The next card will then
|
||||
The first card's ports will be installed from ar0.
|
||||
The numbering of the
|
||||
next card will continue where the first stopped, e.g.\& if the first card
|
||||
is a two port card it will use ar0 and ar1.
|
||||
The next card will then
|
||||
start at ar2.
|
||||
.Pp
|
||||
The card only supports IRQ 3, 5, 7, 10, 11, 12 and 15.
|
||||
|
@ -47,7 +47,8 @@ driver provides support for ISA ethernet adapters based on the
|
||||
.Tn Crystal Semiconductor CS8900
|
||||
and
|
||||
.Tn CS8920
|
||||
NICs. These devices are used on the
|
||||
NICs.
|
||||
These devices are used on the
|
||||
.Tn IBM EtherJet ISA
|
||||
adapters and in many embedded applications where the high integration, small
|
||||
size and low cost of the CS89x0 family compensate for their drawbacks.
|
||||
@ -62,7 +63,8 @@ Other parameters specified in
|
||||
.Pa /boot/device.hints
|
||||
will be used if present;
|
||||
the card may be soft-configured so these may be any valid
|
||||
value. Adapters based on the CS8920 normally offer PnP configuration and the driver
|
||||
value.
|
||||
Adapters based on the CS8920 normally offer PnP configuration and the driver
|
||||
will detect the
|
||||
.Tn IBM EtherJet
|
||||
and the
|
||||
@ -70,25 +72,29 @@ and the
|
||||
adapters automatically.
|
||||
.Pp
|
||||
Note that the CS8900 is limited to 4 IRQ values; these are normally implemented
|
||||
as 5, 10, 11 and 12. The CS8920 has no such limitation.
|
||||
as 5, 10, 11 and 12.
|
||||
The CS8920 has no such limitation.
|
||||
.Pp
|
||||
Memory-mapped and DMA operation are not supported at this time.
|
||||
.Sh DIAGNOSTICS
|
||||
.Bl -diag
|
||||
.It "cs%d: full/half duplex negotiation timeout"
|
||||
The attempt to negotiate duplex settings with the hub timed out. This may
|
||||
The attempt to negotiate duplex settings with the hub timed out.
|
||||
This may
|
||||
indicate a cabling problem or a faulty or incompatible hub.
|
||||
.It "cs%d: failed to enable <media>"
|
||||
The CS89x0 failed to select the nominated media, either because it is not
|
||||
present or not operating correctly.
|
||||
.It "cs%d: No EEPROM, assuming defaults"
|
||||
The CS89x0 does not have an EEPROM, or the EEPROM is hopelessly damaged. Operation
|
||||
The CS89x0 does not have an EEPROM, or the EEPROM is hopelessly damaged.
|
||||
Operation
|
||||
will only be successful if the configuration entry lists suitable values for
|
||||
the adapter.
|
||||
.It "cs%d: Invalid irq"
|
||||
The IRQ specified in the configuration entry is not valid for the adapter.
|
||||
.It "cs%d: Could not allocate memory for NIC"
|
||||
There is a critical memory shortage. The adapter will not function.
|
||||
There is a critical memory shortage.
|
||||
The adapter will not function.
|
||||
.It "cs%d: Adapter has no media"
|
||||
The adapter is not configured for a specific media type.
|
||||
The media type will have
|
||||
@ -98,11 +104,13 @@ The PnP probe code found a recognised adapter, but the adapter is disabled.
|
||||
.It "failed to read pnp parms"
|
||||
A PnP adapter was found, but configuration parameters for it could not be read.
|
||||
.It "failed to pnp card parameters"
|
||||
The parameters obtained via PnP were not accepted by the driver. The adapter
|
||||
The parameters obtained via PnP were not accepted by the driver.
|
||||
The adapter
|
||||
may not function.
|
||||
.El
|
||||
.Sh CAVEATS
|
||||
The CS89x0 family of adapters have a very small RAM buffer (4K). This may
|
||||
The CS89x0 family of adapters have a very small RAM buffer (4K).
|
||||
This may
|
||||
cause problems with extremely high network loads or bursty network traffic.
|
||||
In particular, NFS operations should be limited to 1k read/write transactions
|
||||
in order to avoid overruns.
|
||||
|
@ -123,9 +123,12 @@ host adapters.
|
||||
.Xr scsi 4
|
||||
.Sh NOTES
|
||||
Historically, the driver for the Cronyx Tau WAN adapters was
|
||||
ct. This device name was changed to ctau to avoid conflicts
|
||||
with this pc98 ct driver. The network device name for ctau
|
||||
is 'ct'. Please see
|
||||
ct.
|
||||
This device name was changed to ctau to avoid conflicts
|
||||
with this pc98 ct driver.
|
||||
The network device name for ctau
|
||||
is 'ct'.
|
||||
Please see
|
||||
.Xr ctau 4
|
||||
for the details for that device.
|
||||
.Sh HISTORY
|
||||
|
@ -41,8 +41,10 @@ and Pro/10+ Ethernet cards based on the Intel i82595 chip.
|
||||
The Olicom OC2220 is also supported.
|
||||
.Pp
|
||||
The card will be searched for in the
|
||||
I/O address range 0x200 - 0x3a0. If the IRQ will be
|
||||
read from the EEPROM on the card. For correct operation on newer
|
||||
I/O address range 0x200 - 0x3a0.
|
||||
If the IRQ will be
|
||||
read from the EEPROM on the card.
|
||||
For correct operation on newer
|
||||
cards the Plug-N-Play support should be disabled.
|
||||
.Sh DIAGNOSTICS
|
||||
.Bl -diag
|
||||
|
@ -326,7 +326,8 @@ This manual page was written by
|
||||
This document and the associated software may be used, modified,
|
||||
copied, distributed, and sold, in both source and binary form provided
|
||||
that the above copyright, these terms and the following disclaimer are
|
||||
retained. The name of the author and/or the contributor may not be
|
||||
retained.
|
||||
The name of the author and/or the contributor may not be
|
||||
used to endorse or promote products derived from this document and the
|
||||
associated software without specific prior written permission.
|
||||
.Pp
|
||||
@ -335,7 +336,8 @@ AND THE CONTRIBUTOR
|
||||
.Dq AS IS
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR THE
|
||||
PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR OR THE
|
||||
CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
|
@ -44,7 +44,8 @@ Any process that holds a file descriptor on
|
||||
open will get its
|
||||
.Em IOPL
|
||||
bits in the flag register set, thus allowing it to perform direct
|
||||
I/O operations. This can be useful in order to write userland
|
||||
I/O operations.
|
||||
This can be useful in order to write userland
|
||||
programs that handle some hardware directly.
|
||||
Note that even read-only access will grant the full I/O privileges.
|
||||
.Pp
|
||||
|
@ -45,7 +45,8 @@ is usually 0x23c.
|
||||
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
|
||||
or by software provided with the card.
|
||||
.Pp
|
||||
@ -55,7 +56,8 @@ some interface cards.
|
||||
It may be 15, 30, 60 or 120Hz.
|
||||
.Pp
|
||||
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
|
||||
connected to the interface card from an InPort mouse package, or vice
|
||||
|
@ -49,33 +49,41 @@ network drivers to be used with
|
||||
The
|
||||
.Nm
|
||||
driver is provided in source code form and must be combined with
|
||||
the Windows(r) driver supplied with your network adapter. The
|
||||
the Windows(r) driver supplied with your network adapter.
|
||||
The
|
||||
.Nm
|
||||
driver uses the
|
||||
.Xr ndisapi 9
|
||||
kernel subsystem to relocate and link the Windows(r) binary so
|
||||
that it can be used in conjunction with native code. The
|
||||
that it can be used in conjunction with native code.
|
||||
The
|
||||
.Xr ndisapi 9
|
||||
subsystem provides an interface between the NDIS API and the
|
||||
.Fx
|
||||
networking infrastructure. The Windows(r) driver is essentially
|
||||
fooled into thinking it's running on Windows(r). Note that this
|
||||
networking infrastructure.
|
||||
The Windows(r) driver is essentially
|
||||
fooled into thinking it's running on Windows(r).
|
||||
Note that this
|
||||
means the
|
||||
.Nm
|
||||
driver is only useful on x86 machines.
|
||||
.Pp
|
||||
To build a functional driver, the user must have a copy of the
|
||||
driver distribution media for his or her card. From this distribution,
|
||||
driver distribution media for his or her card.
|
||||
From this distribution,
|
||||
the user must extract two files: the .SYS file containing the driver
|
||||
binary code, and its companion .INF file, which contains the
|
||||
definitions for driver-specific registry keys and other installation
|
||||
data such as device identifiers. These two files can be converted
|
||||
data such as device identifiers.
|
||||
These two files can be converted
|
||||
into a
|
||||
.Pa ndis_driver_data.h
|
||||
file using the
|
||||
.Xr ndiscvt 8
|
||||
utility. This file contains a binary image of the driver plus
|
||||
registry key data. When the
|
||||
utility.
|
||||
This file contains a binary image of the driver plus
|
||||
registry key data.
|
||||
When the
|
||||
.Nm
|
||||
driver loads, it will create
|
||||
.Xr sysctl 9
|
||||
@ -84,13 +92,17 @@ nodes for each registry key extracted from the .INF file.
|
||||
The
|
||||
.Nm
|
||||
driver is designed to support mainly ethernet and wireless
|
||||
network devices with PCI and PCMCIA bus attachments. (Cardbus
|
||||
devices are also supported as a subset of PCI.) It there can
|
||||
support many different media types and speeds. One limitation
|
||||
network devices with PCI and PCMCIA bus attachments.
|
||||
(Cardbus
|
||||
devices are also supported as a subset of PCI.)
|
||||
It there can
|
||||
support many different media types and speeds.
|
||||
One limitation
|
||||
however, is that there is no consistent way to learn if an
|
||||
ethernet device is operating in full or half duplex mode.
|
||||
The NDIS API allows for a generic means for determining link
|
||||
state and speed, but not the duplex setting. There may be
|
||||
state and speed, but not the duplex setting.
|
||||
There may be
|
||||
driver-specific registry keys to control the media setting
|
||||
which can be configured via the
|
||||
.Xr sysctl 8
|
||||
|
@ -46,7 +46,8 @@ capabilities of the
|
||||
.Tn Pentium
|
||||
and
|
||||
.Tn "Pentium Pro"
|
||||
CPUs. These processors implement two internal counters which can be
|
||||
CPUs.
|
||||
These processors implement two internal counters which can be
|
||||
configured to measure a variety of events for either count or duration
|
||||
(in CPU cycles), as well as a cycle counter which counts clock cycles.
|
||||
The
|
||||
@ -67,7 +68,8 @@ and
|
||||
processors.
|
||||
.Pp
|
||||
.Sy NOTA BENE :
|
||||
The set of available events differs from processor to processor. It
|
||||
The set of available events differs from processor to processor.
|
||||
It
|
||||
is the responsibility of the programmer to ensure that the event
|
||||
numbers used are the correct ones for the CPU type being measured.
|
||||
.Pp
|
||||
@ -119,22 +121,27 @@ returns the current configuration of the specified counter.
|
||||
.It Dv PMIOSTART
|
||||
.It Dv PMIOSTOP
|
||||
.Pq Li int
|
||||
starts (stops) the specified counter. Due to hardware deficiencies,
|
||||
counters must be started and stopped in numerical order. (That is to
|
||||
starts (stops) the specified counter.
|
||||
Due to hardware deficiencies,
|
||||
counters must be started and stopped in numerical order.
|
||||
(That is to
|
||||
say, counter 0 can never be stopped without first stopping counter 1.)
|
||||
The driver will
|
||||
.Em not
|
||||
enforce this restriction (since it may not be present in future CPUs).
|
||||
.It Dv PMIORESET
|
||||
.Pq Li int
|
||||
reset the specified counter to zero. The counter should be stopped
|
||||
reset the specified counter to zero.
|
||||
The counter should be stopped
|
||||
with
|
||||
.Dv PMIOSTOP
|
||||
before it is reset. All counters are automatically reset by
|
||||
before it is reset.
|
||||
All counters are automatically reset by
|
||||
.Dv PMIOSETUP .
|
||||
.It Dv PMIOREAD
|
||||
.Pq Li "struct pmc_data"
|
||||
get the current value of the counter. The
|
||||
get the current value of the counter.
|
||||
The
|
||||
.Li pmc_data
|
||||
structure defines two fields:
|
||||
.Pp
|
||||
@ -152,7 +159,8 @@ instruction on
|
||||
processors to read the counters directly.
|
||||
.It Dv PMIOTSTAMP
|
||||
.Pq Li "struct pmc_tstamp"
|
||||
read the time stamp counter. The
|
||||
read the time stamp counter.
|
||||
The
|
||||
.Li pmc_tstamp
|
||||
structure defines two fields:
|
||||
.Pp
|
||||
@ -166,7 +174,8 @@ the current value of the counter as a 64-bit integer
|
||||
It is important to note that the counter rate, as provided in the
|
||||
.Li pmct_rate
|
||||
field, is often incorrect because of calibration difficulties and
|
||||
non-integral clock rates. This field should be considered more of a
|
||||
non-integral clock rates.
|
||||
This field should be considered more of a
|
||||
hint or sanity-check than an actual representation of the rate of
|
||||
clock ticks.
|
||||
.El
|
||||
|
@ -253,7 +253,7 @@ Represents link corruption or non standard nodes in the network.
|
||||
The received
|
||||
.Tn IEEE
|
||||
802.11
|
||||
data packet has a reserved (i.e. not allowed) subtype.
|
||||
data packet has a reserved (i.e., not allowed) subtype.
|
||||
Represents link corruption or non standard nodes in the network.
|
||||
.It "ray?: MGT TODS/FROMDS wrong fc1 0x??"
|
||||
The received
|
||||
@ -272,7 +272,7 @@ Benign, but might represent buggy firmware.
|
||||
The received
|
||||
.Tn IEEE
|
||||
802.11
|
||||
management packet has a reserved (i.e. not allowed)
|
||||
management packet has a reserved (i.e., not allowed)
|
||||
subtype.
|
||||
Represents link corruption or non standard nodes in the network.
|
||||
.It "ray?: open system authentication request"
|
||||
@ -287,7 +287,7 @@ Self explanatory and for testing
|
||||
.Tn "Aviator Pro"
|
||||
interworking.
|
||||
.It "ray?: reserved authentication subtype 0x??"
|
||||
An authentication request has been received for a reserved (i.e. not allowed)
|
||||
An authentication request has been received for a reserved (i.e., not allowed)
|
||||
subtype.
|
||||
Represents link corruption or non standard nodes in the network.
|
||||
.It "ray?: CTL TODS/FROMDS wrong fc1 0x??"
|
||||
@ -307,7 +307,7 @@ Benign, but might represent buggy firmware.
|
||||
The received
|
||||
.Tn IEEE
|
||||
802.11
|
||||
control packet has a reserved (i.e. not allowed)
|
||||
control packet has a reserved (i.e., not allowed)
|
||||
subtype.
|
||||
Represents link corruption or non standard nodes in the network.
|
||||
.It "ray?: bad ccs index 0x??"
|
||||
|
@ -43,7 +43,8 @@ In
|
||||
The
|
||||
.Nm
|
||||
driver provides a data interface to the Sony CDU31 and CDU33A CD-ROM
|
||||
drives. The drive must be hooked to a Sony proprietary interface
|
||||
drives.
|
||||
The drive must be hooked to a Sony proprietary interface
|
||||
card or a compatible clone.
|
||||
.Sh FILES
|
||||
.Bl -tag -width /dev/[r]scd0a -compact
|
||||
|
@ -68,7 +68,8 @@ a zero duration.
|
||||
.Pp
|
||||
The play-string language is modeled on the PLAY statement conventions of
|
||||
.Tn IBM
|
||||
Advanced BASIC 2.0. The
|
||||
Advanced BASIC 2.0.
|
||||
The
|
||||
.Li MB ,
|
||||
.Li MF ,
|
||||
and
|
||||
@ -80,7 +81,8 @@ feature and the slur mark are new.
|
||||
.Pp
|
||||
There are 84 accessible notes numbered 1-84 in 7 octaves, each running from
|
||||
C to B, numbered 0-6; the scale is equal-tempered A440 and octave 3 starts
|
||||
with middle C. By default, the play function emits half-second notes with the
|
||||
with middle C.
|
||||
By default, the play function emits half-second notes with the
|
||||
last 1/16th second being `rest time'.
|
||||
.Pp
|
||||
Play strings are interpreted left to right as a series of play command groups;
|
||||
@ -89,12 +91,15 @@ Play command groups are as follows:
|
||||
.Bl -tag -width CDEFGABxx
|
||||
.It Li CDEFGAB
|
||||
Letters A through G cause the corresponding note to be played in the
|
||||
current octave. A note letter may optionally be followed by an
|
||||
current octave.
|
||||
A note letter may optionally be followed by an
|
||||
.Dq Em "accidental sign" ,
|
||||
one of # + or -; the first two of these cause it to be sharped one
|
||||
half-tone, the last causes it to be flatted one half-tone. It may
|
||||
half-tone, the last causes it to be flatted one half-tone.
|
||||
It may
|
||||
also be followed by a time value number and by sustain dots (see
|
||||
below). Time values are interpreted as for the L command below.
|
||||
below).
|
||||
Time values are interpreted as for the L command below.
|
||||
.It Ns Li O Sy n
|
||||
If
|
||||
.Sy n
|
||||
@ -109,8 +114,10 @@ When octave-tracking is on, interpretation of a pair of letter notes
|
||||
will change octaves if necessary in order to make the smallest
|
||||
possible jump between notes.
|
||||
Thus ``olbc'' will be played as
|
||||
``olb>c'', and ``olcb'' as ``olc<b''. Octave locking is disabled for
|
||||
one letter note following >, < and O[0123456]. (The octave-locking
|
||||
``olb>c'', and ``olcb'' as ``olc<b''.
|
||||
Octave locking is disabled for
|
||||
one letter note following >, < and O[0123456].
|
||||
(The octave-locking
|
||||
feature is not supported in
|
||||
.Tn IBM
|
||||
BASIC.)
|
||||
@ -125,7 +132,8 @@ Play note
|
||||
being 1 to 84 or 0 for a rest of current time value.
|
||||
May be followed by sustain dots.
|
||||
.It Ns Li L Sy n
|
||||
Sets the current time value for notes. The default is
|
||||
Sets the current time value for notes.
|
||||
The default is
|
||||
.Li L4 ,
|
||||
quarter or crotchet notes.
|
||||
The lowest possible value is 1; values up
|
||||
@ -142,10 +150,12 @@ Pause (rest), with
|
||||
interpreted as for
|
||||
.Li L Sy n .
|
||||
May be followed by
|
||||
sustain dots. May also be written
|
||||
sustain dots.
|
||||
May also be written
|
||||
.Li ~ .
|
||||
.It Ns Li T Sy n
|
||||
Sets the number of quarter notes per minute; default is 120. Musical
|
||||
Sets the number of quarter notes per minute; default is 120.
|
||||
Musical
|
||||
names for common tempi are:
|
||||
.Bd -literal -offset indent
|
||||
Tempo Beats Per Minute
|
||||
@ -192,7 +202,8 @@ dotted twice, it is held 9/4, and three times would give 27/8.
|
||||
.Pp
|
||||
A note and its sustain dots may also be followed by a slur mark (underscore).
|
||||
This causes the normal micro-rest after the note to be filled in, slurring it
|
||||
to the next one. (The slur feature is not supported in
|
||||
to the next one.
|
||||
(The slur feature is not supported in
|
||||
.Tn IBM
|
||||
BASIC.)
|
||||
.Pp
|
||||
@ -206,9 +217,11 @@ There is no volume control.
|
||||
.Pp
|
||||
The action of two or more sustain dots does not reflect standard musical
|
||||
notation, in which each dot adds half the value of the previous dot
|
||||
modifier, not half the value of the note as modified. Thus, a note dotted
|
||||
modifier, not half the value of the note as modified.
|
||||
Thus, a note dotted
|
||||
once is held for 3/2 of its undotted value; dotted twice, it is held 7/4,
|
||||
and three times would give 15/8. The multiply-by-3/2 interpretation,
|
||||
and three times would give 15/8.
|
||||
The multiply-by-3/2 interpretation,
|
||||
however, is specified in the
|
||||
.Tn IBM
|
||||
BASIC manual and has been retained for
|
||||
|
@ -55,7 +55,7 @@ Hence, opening a stream device produces a result similar to what would be
|
||||
obtained by calling
|
||||
.Xr socket 2 .
|
||||
.Pp
|
||||
Applications should never use this interface directly: STREAMS
|
||||
Applications should never use this interface directly: STREAMS
|
||||
emulation is only provided as a service to support ABI requirements in
|
||||
the SVR4 environment which
|
||||
.Xr svr4 4
|
||||
|
@ -74,7 +74,8 @@ Use the UTP port.
|
||||
.Bl -diag
|
||||
.It "vx%d: not configured; kernel is built for only %d devices."
|
||||
There are not enough devices in the kernel configuration file for the number
|
||||
of adapters present in the system. Add devices to the configuration file,
|
||||
of adapters present in the system.
|
||||
Add devices to the configuration file,
|
||||
rebuild the kernel, and reboot.
|
||||
.El
|
||||
.Pp
|
||||
@ -82,7 +83,8 @@ All other diagnostics indicate either a hardware problem or a bug in the
|
||||
driver.
|
||||
.Sh CAVEATS
|
||||
Some early-revision 3c590 cards are defective and suffer from many receive
|
||||
overruns, which cause lost packets. The author has attempted to implement
|
||||
overruns, which cause lost packets.
|
||||
The author has attempted to implement
|
||||
a test for it based on the information supplied by 3Com, but the test resulted
|
||||
mostly in spurious warnings.
|
||||
.Pp
|
||||
|
@ -41,28 +41,38 @@
|
||||
The
|
||||
.Nm
|
||||
driver controls a radio lan card system made originally by
|
||||
NCR, then ATT, now Lucent. The system is spread-spectrum radio
|
||||
at around 915 MHz (or 2.4 GHz). With the supplied omni-directional antennae,
|
||||
NCR, then ATT, now Lucent.
|
||||
The system is spread-spectrum radio
|
||||
at around 915 MHz (or 2.4 GHz).
|
||||
With the supplied omni-directional antennae,
|
||||
about 400 feet (indoors, more outdoors) can be covered in circumference.
|
||||
This card can talk to the companion (wlp0) pccard. Speeds vary
|
||||
This card can talk to the companion (wlp0) pccard.
|
||||
Speeds vary
|
||||
from 1 megabit to theoretically 2 megabits (roughly T1 in speed).
|
||||
.Pp
|
||||
The card has three fundamental hardware
|
||||
units, a so-called PSA or programmable storage area, a radio modem,
|
||||
and a ethernet lan controller. The latter component is the
|
||||
and a ethernet lan controller.
|
||||
The latter component is the
|
||||
ancient (and not very honorable) Intel 82586 ethernet chip.
|
||||
Fundamentally it appears to the operating system as an ethernet system,
|
||||
and speaks IEEE MAC addresses. The radio modem simply translates
|
||||
and speaks IEEE MAC addresses.
|
||||
The radio modem simply translates
|
||||
ethernet packets to/from radio packets, that are either at 2.4 GHz
|
||||
or 915 MHz depending on the radio modem. It supports a collision
|
||||
avoidance scheme. The lan controller
|
||||
or 915 MHz depending on the radio modem.
|
||||
It supports a collision
|
||||
avoidance scheme.
|
||||
The lan controller
|
||||
supports promiscuous mode, broadcast, and multicasting
|
||||
(although there is a glitch
|
||||
in the latter). "It thinks it is ethernet".
|
||||
in the latter).
|
||||
"It thinks it is ethernet".
|
||||
.Pp
|
||||
How it is used
|
||||
depends on the kind of antennae deployed with it. Point to point
|
||||
applications are possible as are ethernet-like lan use. The vendor
|
||||
depends on the kind of antennae deployed with it.
|
||||
Point to point
|
||||
applications are possible as are ethernet-like lan use.
|
||||
The vendor
|
||||
ships an omni-directional antennae that works in the
|
||||
vicinity of 400 feet (indoors).
|
||||
Point to point antennae can be purchased that will go miles.
|
||||
@ -72,7 +82,8 @@ Typically minimally an IRQ, port, and Network ID must be supplied.
|
||||
Michael Smith's
|
||||
.Xr wlconfig 8
|
||||
utility can now be used to do this work from
|
||||
the UNIX side. The card is "not" plug and play.
|
||||
the UNIX side.
|
||||
The card is "not" plug and play.
|
||||
The network id controls whether one set of cards can hear another.
|
||||
If different, cards will read physical packets, but they will be discarded
|
||||
by the radio modem.
|
||||
@ -85,13 +96,17 @@ variables are as follows:
|
||||
.Bl -diag
|
||||
.It "machdep.wl_xmit_delay <useconds>"
|
||||
This variable will cause the driver to insert a delay on transmit.
|
||||
250 is the default. The delay should probably be a bit longer
|
||||
on faster cpus and less on slower cpus. It exists because the 82586
|
||||
250 is the default.
|
||||
The delay should probably be a bit longer
|
||||
on faster cpus and less on slower cpus.
|
||||
It exists because the 82586
|
||||
was not designed to work with Pentium-speed cpu systems and if overdriven
|
||||
will have copious xmit side errors.
|
||||
.It machdep.wl_ignore_nwid <0 | 1>
|
||||
This switch defaults to 0; i.e., the nwid is not ignored. It can
|
||||
be set to 1 to cause the nwid to not be used. This may be useful
|
||||
This switch defaults to 0; i.e., the nwid is not ignored.
|
||||
It can
|
||||
be set to 1 to cause the nwid to not be used.
|
||||
This may be useful
|
||||
when the device is in promiscuous mode as one can watch for all
|
||||
packets and ignore nwid differences.
|
||||
.It machdep.wl_xmit_watch <milliseconds>
|
||||
@ -99,33 +114,42 @@ This switch is not currently useful.
|
||||
.It machdep.wl_gather_snr <milliseconds>
|
||||
This switch is not currently useful.
|
||||
.Pp
|
||||
There is also a signal strength cache in the driver. It may be interrogated
|
||||
There is also a signal strength cache in the driver.
|
||||
It may be interrogated
|
||||
with
|
||||
.Xr wlconfig 8 .
|
||||
Incoming packets
|
||||
are checked for certain hardware radio-modem values including signal
|
||||
strength, silence, and quality, which range fro 0..63, 0..63, and 0..15
|
||||
respectively. Thus one can read out signal strenth values to see
|
||||
how close/far peer nodes are. The signal strength cache is indexed by
|
||||
respectively.
|
||||
Thus one can read out signal strenth values to see
|
||||
how close/far peer nodes are.
|
||||
The signal strength cache is indexed by
|
||||
sender MAC address.
|
||||
There are two sysctls that change how it filters packets. Both are on
|
||||
There are two sysctls that change how it filters packets.
|
||||
Both are on
|
||||
by default.
|
||||
.It machdep.wl_wlcache_mcastonly <0 | 1>
|
||||
By default this switch is on.
|
||||
It forces the cache to filter out
|
||||
unicast packets. Only broadcast or multicast packets are accepted.
|
||||
unicast packets.
|
||||
Only broadcast or multicast packets are accepted.
|
||||
.It machdep.wl_wlcache_iponly <0 | 1>
|
||||
By default this switch is on. It forces the driver to discard non-IP
|
||||
packets and also stores the IP src address. ARP packets are ignored,
|
||||
By default this switch is on.
|
||||
It forces the driver to discard non-IP
|
||||
packets and also stores the IP src address.
|
||||
ARP packets are ignored,
|
||||
as are any other network protocol barring IPv4 packets.
|
||||
.El
|
||||
.Sh CAVEATS
|
||||
The 82586 has numerous defects. It may experience transmit-side
|
||||
The 82586 has numerous defects.
|
||||
It may experience transmit-side
|
||||
errors when modern faster cpus send packets at it faster than it can handle.
|
||||
The driver (and probably the chip) does not support an all multicast mode.
|
||||
As a result, it can be used with applications like
|
||||
.Xr mrouted 8 ,
|
||||
but it must go into promiscuous mode for that to work. The driver
|
||||
but it must go into promiscuous mode for that to work.
|
||||
The driver
|
||||
is slow to change modes from "normal" to promiscuous mode, presumably
|
||||
due to delays in the configuration code.
|
||||
.Sh SEE ALSO
|
||||
@ -139,9 +163,11 @@ The
|
||||
driver was written by
|
||||
.An Anders Klemets
|
||||
(thousands of years ago?) and
|
||||
appears to be based on an even older Intel 82586 driver. The 82586
|
||||
appears to be based on an even older Intel 82586 driver.
|
||||
The 82586
|
||||
controller was one of the first (if not the first?) integrated lan
|
||||
controller on the block. That does not mean it was the best either.
|
||||
controller on the block.
|
||||
That does not mean it was the best either.
|
||||
Anders ported and or created a driver for the ISA wavelan and PCCARD
|
||||
wavelan system too (wlp).
|
||||
.An Robert T. Morris, Jr.
|
||||
@ -150,12 +176,16 @@ ported the Mach drivers to BSDI.
|
||||
ported them to
|
||||
.Fx 2.1 .
|
||||
.An Michael Smith
|
||||
ported the wl driver only to 2.2.2. Jim and Michael have been
|
||||
maintaining them. The current state of the driver is NOT ANYONE'S
|
||||
FAULT. Thanks to
|
||||
ported the wl driver only to 2.2.2.
|
||||
Jim and Michael have been
|
||||
maintaining them.
|
||||
The current state of the driver is NOT ANYONE'S
|
||||
FAULT.
|
||||
Thanks to
|
||||
.An Bernie Doehner
|
||||
and
|
||||
.An Robert Buaas
|
||||
for contributions.
|
||||
.Sh AUTHORS
|
||||
Too numerous to mention. See above.
|
||||
Too numerous to mention.
|
||||
See above.
|
||||
|
@ -75,16 +75,19 @@ Packard Bell and many other brands.
|
||||
The drives are compatible with the major the Compact Disc standards,
|
||||
including CD-DA (Red Book - Digital Audio on pressed media), CD-WO (Orange
|
||||
Book Part II - Write-Once media), CD-ROM (Yellow Book - Data Storage), and
|
||||
the Kodak Photo-CD system. The drives have some support related to
|
||||
the Kodak Photo-CD system.
|
||||
The drives have some support related to
|
||||
CD-ROM XA and CD-I (Green Book) audio and data requirements.
|
||||
.Pp
|
||||
These drives connect to the PC ISA bus through a simple (but proprietary) host
|
||||
interface. The host interface has been manufactured as a stand-alone adapter
|
||||
interface.
|
||||
The host interface has been manufactured as a stand-alone adapter
|
||||
card, or included on a sound card or other multi-function adapter card.
|
||||
The
|
||||
.Nm
|
||||
driver supports up to four host interfaces with up to four drives on each
|
||||
interface. CD-DA (digital audio) activity may occur on all drives
|
||||
interface.
|
||||
CD-DA (digital audio) activity may occur on all drives
|
||||
simultaneously.
|
||||
.Pp
|
||||
The drive hardware supports a "bus disconnect" system similar to that found
|
||||
@ -102,13 +105,15 @@ driver can be directly linked into the
|
||||
kernel, or exist
|
||||
as a loadable
|
||||
.Fx
|
||||
kernel module. The kernel module can be loaded or unloaded at any time
|
||||
kernel module.
|
||||
The kernel module can be loaded or unloaded at any time
|
||||
using the \fBkldload\fR(8)/\fBkldunload\fR(8) commands.
|
||||
.Pp
|
||||
For most configurations, the
|
||||
.Nm
|
||||
driver should be used as a loadable kernel module and need not be linked into
|
||||
the kernel. However, if you are attempting to do an install from a
|
||||
the kernel.
|
||||
However, if you are attempting to do an install from a
|
||||
CD-ROM/CD-WO disc that is initiated from a non-FreeBSD operating system or
|
||||
you have a BIOS boot capability for this type of Compact Disc drive, having
|
||||
the driver already in the kernel can simplify the installation process.
|
||||
@ -116,27 +121,31 @@ the driver already in the kernel can simplify the installation process.
|
||||
if you determine that you need to have the
|
||||
.Nm
|
||||
driver linked into the kernel, it is necessary to add an entry to the kernel
|
||||
configuration file and generate a new kernel. The
|
||||
configuration file and generate a new kernel.
|
||||
The
|
||||
.Fx
|
||||
kernel source tree comes
|
||||
with the file \fI/usr/src/sys/i386/conf/GENERIC\fR.
|
||||
You should make a copy of this file and give the copy the name of your system,
|
||||
such as "MYSYSTEM". You can then edit the new file to include devices you
|
||||
such as "MYSYSTEM".
|
||||
You can then edit the new file to include devices you
|
||||
want the system to include in the basic kernel and delete the device entries
|
||||
for drivers that you don't want included. Eliminating drivers for hardware
|
||||
for drivers that you don't want included.
|
||||
Eliminating drivers for hardware
|
||||
that you don't have can reduce the size of the finished kernel.
|
||||
.Pp
|
||||
To include the
|
||||
.Nm
|
||||
driver to the configuration file, you will need to add this entry:
|
||||
.Bd -literal -offset indent
|
||||
device matcd
|
||||
device matcd
|
||||
.Ed
|
||||
.Pp
|
||||
and after making any other adjustments, save the file.
|
||||
.Pp
|
||||
Then generate a new kernel by using the \fBconfig\fR(8) command and follow
|
||||
all of the instructions that are displayed. If the kernel completely
|
||||
all of the instructions that are displayed.
|
||||
If the kernel completely
|
||||
builds, use the "make install" command and then reboot the system for that
|
||||
new kernel to become operational.
|
||||
.Sh DRIVER CONFIGURATION
|
||||
@ -145,7 +154,8 @@ Regardless of whether the
|
||||
driver is linked into the kernel or is used as a loadable kernel module,
|
||||
the number of host interfaces that the driver will expect (or search for)
|
||||
is dictated by the number of entries present in the file
|
||||
\fI/boot/device\.hints\fR. For example, in order to support two host
|
||||
\fI/boot/device\.hints\fR.
|
||||
For example, in order to support two host
|
||||
interfaces, you would include entries like:
|
||||
.Bd -literal -offset indent
|
||||
hint.matcd.0.at="isa"
|
||||
@ -183,7 +193,8 @@ using this mechanism has the potential to cause problems when your system has
|
||||
other devices that are located at the I/O ports that the driver will
|
||||
check for potential
|
||||
.Nm
|
||||
host interfaces. The automatic search also significantly increases the
|
||||
host interfaces.
|
||||
The automatic search also significantly increases the
|
||||
amount of time it takes to boot or to load the kernel module.
|
||||
.Pp
|
||||
If you are having problems with the
|
||||
@ -220,7 +231,8 @@ Matsushita CR-563-x
|
||||
Most resellers leave these original markings on the drives since the label
|
||||
also has the FCC, VDE, CSA and RU certification marks.
|
||||
.Pp
|
||||
Both of these drive models have motorized trays. There is also a custom
|
||||
Both of these drive models have motorized trays.
|
||||
There is also a custom
|
||||
version of these drives that does not have the volume control or headphone
|
||||
jack (seen on some Tandy computers), but this drive also works with
|
||||
.Nm .
|
||||
@ -238,12 +250,14 @@ as \fBata\fR(4).
|
||||
.Pp
|
||||
The TEAC CD-55 4X Compact Disc drive also uses the same Creative/Panasonic
|
||||
electrical interface, but the TEAC drive is not command set compatible with
|
||||
the Matsushita CR-56x drives. The TEAC drive cannot be used with
|
||||
the Matsushita CR-56x drives.
|
||||
The TEAC drive cannot be used with
|
||||
.Nm .
|
||||
.Pp
|
||||
The most common source of host interface adapters for the Panasonic drives
|
||||
was found in products from Creative Labs, including SoundBlaster sound
|
||||
cards. There are numerous models of SoundBlaster sound cards, and most
|
||||
cards.
|
||||
There are numerous models of SoundBlaster sound cards, and most
|
||||
of the newer cards provide the appropriate interface, sometimes labeled as
|
||||
the "Creative/Panasonic" interface.
|
||||
.Pp
|
||||
@ -260,7 +274,7 @@ Sound Blaster 16 - cost-reduced (CT1740)
|
||||
.It Creative
|
||||
OmniCD upgrade kit adapter card - stand-alone CD (CT1810)
|
||||
.It Creative
|
||||
Sound Blaster 16 - 2-layer, cost-reduced (CT2230)
|
||||
Sound Blaster 16 - 2-layer, cost-reduced (CT2230)
|
||||
.It Creative
|
||||
Sound Blaster 16 (Vibra16) - 2-layer, single-chip (CT2260)
|
||||
.It Creative
|
||||
@ -281,16 +295,20 @@ that produce sound cards with an identical Creative/Panasonic drive
|
||||
interface released many versions of compatible adapters.
|
||||
.Pp
|
||||
In addition to Creative Labs adapters, adapters that are compatible with
|
||||
Media Vision, IBM and Lasermate adapters are also supported. However,
|
||||
Media Vision, IBM and Lasermate adapters are also supported.
|
||||
However,
|
||||
these adapters use a wide range of I/O port addresses, so the driver
|
||||
must be reconfigured to locate these adapters, at least initially.
|
||||
.Pp
|
||||
.Sh SUPPORTED OPERATIONS
|
||||
The
|
||||
.Nm
|
||||
driver supports block and character access. Partition "a" returns
|
||||
2048-byte User Data blocks from data CDs. Partition "c" returns the full
|
||||
2352-byte Frames from any type of CD, including audio CDs. (Partition
|
||||
driver supports block and character access.
|
||||
Partition "a" returns
|
||||
2048-byte User Data blocks from data CDs.
|
||||
Partition "c" returns the full
|
||||
2352-byte Frames from any type of CD, including audio CDs.
|
||||
(Partition
|
||||
"c" cannot be "mounted" with cd9660 or other standard file system emulators.)
|
||||
No other partitions are supported.
|
||||
.Pp
|
||||
@ -305,7 +323,8 @@ remain locked until all of the devs on that drive are closed.
|
||||
accepts numerous
|
||||
.Fn ioctl
|
||||
commands, including functions related to Compact Disc audio and
|
||||
drive tray control features. The commands are:
|
||||
drive tray control features.
|
||||
The commands are:
|
||||
.Pp
|
||||
.Bl -tag -width CDIOCREADSUBCHANNELXXX -compact -offset indent
|
||||
.It DIOCGDINFO
|
||||
@ -325,7 +344,8 @@ plays audio starting at a particular time offset.
|
||||
.It CDIOCPAUSE
|
||||
pauses a playing disc.
|
||||
.It CDIOCRESUME
|
||||
resumes playing a previously paused disc. Ignored if the drive is
|
||||
resumes playing a previously paused disc.
|
||||
Ignored if the drive is
|
||||
already playing.
|
||||
.It CDIOCSTOP
|
||||
stops playing a disc.
|
||||
@ -337,7 +357,8 @@ closes the disc tray.
|
||||
blocks further attempts to open the drive door until all devices close
|
||||
or a CDIOCALLOW ioctl is issued.
|
||||
.It CDIOCALLOW
|
||||
unlocks the drive door if it was locked. This ioctl is rejected if
|
||||
unlocks the drive door if it was locked.
|
||||
This ioctl is rejected if
|
||||
any locking devices are open, so it must be issued via a non-locking
|
||||
device.
|
||||
.It CDIOCGETVOL
|
||||
@ -346,13 +367,15 @@ returns the current volume settings of the drive.
|
||||
sets the volume settings of the drive.
|
||||
.It CDIOCSETSTEREO
|
||||
the left channel audio is sent to the left channel output and the
|
||||
right channel audio is sent to the right channel output. This is the
|
||||
right channel audio is sent to the right channel output.
|
||||
This is the
|
||||
default state.
|
||||
(Note that the drive does not have a documented "Mono" mode,
|
||||
where L combined with R audio from the disc is sent to both the left and right
|
||||
output channels.)
|
||||
.It CDIOCSETMUTE
|
||||
the audio output is to be turned off. The drive continues to read
|
||||
the audio output is to be turned off.
|
||||
The drive continues to read
|
||||
the audio on the disc and that audio is discarded until the audio routing is
|
||||
turned back on.
|
||||
.It CDIOCSETLEFT
|
||||
@ -366,9 +389,11 @@ The left channel audio signal is discarded.
|
||||
the audio is to be routed as specified in the provided bit maps.
|
||||
.It CDIOCSETPITCH
|
||||
the playback speed of the audio is increased or decreased
|
||||
(for Karaoke "off-key" applications). Speed can be adjusted +/-13%.
|
||||
(for Karaoke "off-key" applications).
|
||||
Speed can be adjusted +/-13%.
|
||||
.It CDIOCCAPABILITY
|
||||
report the capabilities of the drive and driver. Results are returned
|
||||
report the capabilities of the drive and driver.
|
||||
Results are returned
|
||||
as shown in \fI/usr/include/sys/cdio.h\fR.
|
||||
.El
|
||||
.Pp
|
||||
@ -410,11 +435,13 @@ or DMA although the drives themselves are equipped to allow both to be used.
|
||||
.Pp
|
||||
If the disc tray is opened while one or more partitions are open, further
|
||||
I/O to all partitions on the drive will be rejected until all partitions
|
||||
are closed. This prevents a disc change from going undetected by higher
|
||||
are closed.
|
||||
This prevents a disc change from going undetected by higher
|
||||
levels of the operating system.
|
||||
.Pp
|
||||
There must be a drive on each host interface that is addressed as
|
||||
physical drive 0. (Jumpers on the back of the drive control this setting.)
|
||||
physical drive 0.
|
||||
(Jumpers on the back of the drive control this setting.)
|
||||
If there is no physical drive 0, the
|
||||
.Nm
|
||||
driver will be unable to detect that host interface or any of the drives
|
||||
@ -427,7 +454,8 @@ drive 0.
|
||||
.Pp
|
||||
Drives on a second host interface are considered logical
|
||||
drive numbers 4 through 7, drives 8 through 11 are on the third interface
|
||||
and 12 through 15 are on the fourth. The first drive on the second host
|
||||
and 12 through 15 are on the fourth.
|
||||
The first drive on the second host
|
||||
interface is always logical drive 4 regardless of how many drives are
|
||||
present on the first host interface.
|
||||
.Pp
|
||||
@ -447,7 +475,8 @@ All rights reserved.
|
||||
The
|
||||
.Nm
|
||||
driver originally appeared in
|
||||
.Fx 2.0.5 . The
|
||||
.Fx 2.0.5 .
|
||||
The
|
||||
.Fx
|
||||
5.1.x compatible implementation described here appeared in
|
||||
.Fx
|
||||
|
@ -148,7 +148,8 @@ or the maximum, whichever is less.
|
||||
.Pp
|
||||
The
|
||||
.Dv MEMRANGE_SET
|
||||
ioctl is used to add, alter and remove memory range attributes. A range
|
||||
ioctl is used to add, alter and remove memory range attributes.
|
||||
A range
|
||||
with the
|
||||
.Dv MDF_FIXACTIVE
|
||||
flag may not be removed; a range with the
|
||||
@ -166,7 +167,7 @@ to remove a range.
|
||||
.It Bq Er EOPNOTSUPP
|
||||
Memory range operations are not supported on this architecture.
|
||||
.It Bq Er ENXIO
|
||||
No memory range descriptors are available (eg. firmware has not enabled
|
||||
No memory range descriptors are available (e.g.\& firmware has not enabled
|
||||
any).
|
||||
.It Bq Er EINVAL
|
||||
The memory range supplied as an argument is invalid or overlaps another
|
||||
@ -175,7 +176,7 @@ range in a fashion not supported by this architecture.
|
||||
An attempt to remove or update a range failed because the range is busy.
|
||||
.It Bq Er ENOSPC
|
||||
An attempt to create a new range failed due to a shortage of hardware
|
||||
resources (eg. descriptor slots).
|
||||
resources (e.g.\& descriptor slots).
|
||||
.It Bq Er ENOENT
|
||||
An attempt to remove a range failed because no range matches the descriptor
|
||||
base/length supplied.
|
||||
|
@ -505,8 +505,8 @@ u0 y0 v0 y1 u1 y2 v1 y3 ...)
|
||||
rows * columns bytes of y
|
||||
rows * column / 4 bytes of even u
|
||||
rows * column / 4 bytes of even v
|
||||
rows * column / 4 bytes of odd u
|
||||
rows * column / 4 bytes of odd v)
|
||||
rows * column / 4 bytes of odd u
|
||||
rows * column / 4 bytes of odd v)
|
||||
.El
|
||||
.El
|
||||
.Pp
|
||||
|
@ -74,7 +74,7 @@ The controller firmware has started initialisation.
|
||||
Normally this process is performed by the controller BIOS,
|
||||
but the driver may need
|
||||
to do this in cases where the BIOS has failed, or is not compatible
|
||||
(e.g. on non-x86 systems).
|
||||
(e.g.\& on non-x86 systems).
|
||||
.It "mly%d: drive spinup in progress"
|
||||
.Pp
|
||||
Drive startup is in progress; this may take several minutes.
|
||||
|
@ -98,11 +98,13 @@ The first half of vertical movement count in two's complement;
|
||||
-128 through 127.
|
||||
.It Byte 4
|
||||
The second half of the horizontal movement count in two's complement;
|
||||
-128 through 127. To obtain the full horizontal movement count, add
|
||||
-128 through 127.
|
||||
To obtain the full horizontal movement count, add
|
||||
the byte 2 and 4.
|
||||
.It Byte 5
|
||||
The second half of the vertical movement count in two's complement;
|
||||
-128 through 127. To obtain the full vertical movement count, add
|
||||
-128 through 127.
|
||||
To obtain the full vertical movement count, add
|
||||
the byte 3 and 5.
|
||||
.It Byte 6
|
||||
The bit 7 is always zero.
|
||||
@ -234,7 +236,8 @@ constants.
|
||||
The
|
||||
.Dv rate
|
||||
field is the status report rate (reports/sec) at which the device will send
|
||||
movement reports to the host computer. -1 if unknown or not applicable.
|
||||
movement reports to the host computer.
|
||||
-1 if unknown or not applicable.
|
||||
.Pp
|
||||
The
|
||||
.Dv resolution
|
||||
|
@ -62,7 +62,8 @@ is usually prepended to
|
||||
the name of the no-rewind devices.
|
||||
.Pp
|
||||
Tapes can be written with either fixed length records or variable length
|
||||
records. See
|
||||
records.
|
||||
See
|
||||
.Xr sa 4
|
||||
for more information.
|
||||
Two end-of-file markers mark the end of a tape, and
|
||||
|
@ -661,7 +661,8 @@ If the bandwidth of a data flow satisfies some pre-defined filter,
|
||||
the kernel delivers an upcall on the multicast routing socket
|
||||
to the multicast routing process that has installed that filter.
|
||||
.It
|
||||
The bandwidth-upcall filters are installed per (S,G). There can be
|
||||
The bandwidth-upcall filters are installed per (S,G).
|
||||
There can be
|
||||
more than one filter per (S,G).
|
||||
.It
|
||||
Instead of supporting all possible comparison operations
|
||||
@ -903,15 +904,31 @@ after the previous upcall.
|
||||
.\"
|
||||
.Pp
|
||||
.Sh AUTHORS
|
||||
The original multicast code was written by David Waitzman (BBN Labs),
|
||||
.An -nosplit
|
||||
The original multicast code was written by
|
||||
.An David Waitzman
|
||||
(BBN Labs),
|
||||
and later modified by the following individuals:
|
||||
Steve Deering (Stanford), Mark J. Steiglitz (Stanford),
|
||||
Van Jacobson (LBL), Ajit Thyagarajan (PARC),
|
||||
Bill Fenner (PARC).
|
||||
.An Steve Deering
|
||||
(Stanford),
|
||||
.An Mark J. Steiglitz
|
||||
(Stanford),
|
||||
.An Van Jacobson
|
||||
(LBL),
|
||||
.An Ajit Thyagarajan
|
||||
(PARC),
|
||||
.An Bill Fenner
|
||||
(PARC).
|
||||
The IPv6 multicast support was implemented by the KAME project
|
||||
(http://www.kame.net), and was based on the IPv4 multicast code.
|
||||
The advanced multicast API and the multicast bandwidth
|
||||
monitoring were implemented by Pavlin Radoslavov (ICSI)
|
||||
in collaboration with Chris Brown (NextHop).
|
||||
monitoring were implemented by
|
||||
.An Pavlin Radoslavov
|
||||
(ICSI)
|
||||
in collaboration with
|
||||
.An Chris Brown
|
||||
(NextHop).
|
||||
.Pp
|
||||
This manual page was written by Pavlin Radoslavov (ICSI).
|
||||
This manual page was written by
|
||||
.An Pavlin Radoslavov
|
||||
(ICSI).
|
||||
|
@ -10,7 +10,8 @@
|
||||
.Cd "device atm"
|
||||
.Cd "options NATM"
|
||||
.Sh DESCRIPTION
|
||||
The NATM protocol stack includes support for IP over ATM. Without any
|
||||
The NATM protocol stack includes support for IP over ATM.
|
||||
Without any
|
||||
additional signalling stacks or other modules it is possible to build
|
||||
a CLIP (classical IP over ATM) network based on PVCs.
|
||||
.Pp
|
||||
@ -27,12 +28,14 @@ destination and the ATM characteristics of this channel.
|
||||
The address part of the link layer address (see
|
||||
.Xr link_addr 3 )
|
||||
consists of a fixed part (the first 5 bytes) and a part that
|
||||
depends on the kind of the PVC (UBR, CBR, VBR, ABR). Multi-byte values
|
||||
depends on the kind of the PVC (UBR, CBR, VBR, ABR).
|
||||
Multi-byte values
|
||||
are big-endian encoded: the bytes with the lower numbers contain the
|
||||
higher order bits.
|
||||
.Bl -tag -width "bytes 12...12" -offset indent
|
||||
.It byte 0
|
||||
Is a flag byte. Currently only flag 0x20 is used.
|
||||
Is a flag byte.
|
||||
Currently only flag 0x20 is used.
|
||||
When set, all IP frames are LLC/SNAP encapsulated before putting them into
|
||||
an AAL5 frame.
|
||||
Setting this flag is recommended and allows interoperability with other
|
||||
@ -41,9 +44,11 @@ Note that BPF works only with LLC/SNAP encapsulation.
|
||||
.It byte 1
|
||||
This is the VPI of the channel.
|
||||
.It bytes 2...3
|
||||
VCI of the channel. Must not be zero.
|
||||
VCI of the channel.
|
||||
Must not be zero.
|
||||
.It byte 4
|
||||
Traffic type. One of 0 (UBR), 1 (CBR), 2 (ABR), 3 (VBR).
|
||||
Traffic type.
|
||||
One of 0 (UBR), 1 (CBR), 2 (ABR), 3 (VBR).
|
||||
.El
|
||||
.Pp
|
||||
The variable part for UBR connections may be either empty or three bytes:
|
||||
@ -111,7 +116,8 @@ can be reached and
|
||||
.Ar <lladdr>
|
||||
is the link layer address as a string of dot-separated, hexadecimal bytes.
|
||||
.Pp
|
||||
NATM also supports the old, original format. This consists of 4 byte
|
||||
NATM also supports the old, original format.
|
||||
This consists of 4 byte
|
||||
link layer addresses (and the channels are implicit UBR):
|
||||
.Bl -tag -width "bytes 12...12" -offset indent
|
||||
.It byte 0
|
||||
|
@ -53,7 +53,8 @@ and
|
||||
Packets received on
|
||||
.Dv downstream
|
||||
must have 0x03 (indicating unnumbered information) as their first byte;
|
||||
if not the packet is dropped. This byte is then stripped and the
|
||||
if not the packet is dropped.
|
||||
This byte is then stripped and the
|
||||
remainder of the packet sent out on
|
||||
.Dv upstream .
|
||||
.Pp
|
||||
@ -67,10 +68,12 @@ This node type supports the following hooks:
|
||||
.Pp
|
||||
.Bl -tag -width foobar
|
||||
.It Dv downstream
|
||||
Downstream connection. Packets on this side of the node have a 0x03 as
|
||||
Downstream connection.
|
||||
Packets on this side of the node have a 0x03 as
|
||||
their first byte.
|
||||
.It Dv upstream
|
||||
Upstream connection. Packets on this side of the node have the
|
||||
Upstream connection.
|
||||
Packets on this side of the node have the
|
||||
initial 0x03 byte stripped off.
|
||||
.El
|
||||
.Sh CONTROL MESSAGES
|
||||
|
@ -54,7 +54,8 @@ asynchronous serial line.
|
||||
.Pp
|
||||
The node transmits and receives asynchronous data on the
|
||||
.Dv async
|
||||
hook. Mbuf boundaries of incoming data are ignored.
|
||||
hook.
|
||||
Mbuf boundaries of incoming data are ignored.
|
||||
Once a complete packet has been received, it is decoded and
|
||||
stripped of all framing bytes, and transmitted out the
|
||||
.Dv sync
|
||||
@ -68,7 +69,8 @@ and sent out on
|
||||
.Dv async .
|
||||
Received packets should start with the address and control fields,
|
||||
or the PPP protocol field if address and control field compression
|
||||
is employed, and contain no checksum field. If the first four bytes are
|
||||
is employed, and contain no checksum field.
|
||||
If the first four bytes are
|
||||
.Dv "0xff 0x03 0xc0 0x21"
|
||||
(an LCP protocol frame) then complete control character escaping
|
||||
is enabled for that frame (in PPP, LCP packets are always sent with
|
||||
@ -93,7 +95,8 @@ Typically this hook would be connected to a
|
||||
.Xr ng_tty 4
|
||||
node, which handles transmission of serial data over a tty device.
|
||||
.It Dv sync
|
||||
Synchronous connection. This hook sends and receives synchronous frames.
|
||||
Synchronous connection.
|
||||
This hook sends and receives synchronous frames.
|
||||
For PPP, these frames should contain address, control, and protocol fields,
|
||||
but no checksum field.
|
||||
Typically this hook would be connected to an individual link hook of a
|
||||
@ -132,7 +135,8 @@ The
|
||||
and
|
||||
.Dv smru
|
||||
fields are the asynchronous and synchronous MRU (maximum receive unit) values,
|
||||
respectively. These both default to 1600; note that the async MRU
|
||||
respectively.
|
||||
These both default to 1600; note that the async MRU
|
||||
applies to the incoming frame length after asynchronous decoding.
|
||||
The
|
||||
.Dv accm
|
||||
|
@ -51,21 +51,26 @@ When the
|
||||
.Nm
|
||||
module is loaded a node is automatically create for each
|
||||
.Xr natm 4
|
||||
ATM interface. The nodes are named with the same name as the
|
||||
interface. Nodes are also created, if a driver for an ATM
|
||||
ATM interface.
|
||||
The nodes are named with the same name as the
|
||||
interface.
|
||||
Nodes are also created, if a driver for an ATM
|
||||
card is loaded after
|
||||
.Nm
|
||||
was loaded.
|
||||
.Pp
|
||||
.Nm
|
||||
nodes are persistent. They are removed when the interface is removed.
|
||||
nodes are persistent.
|
||||
They are removed when the interface is removed.
|
||||
SHUTDOWN messages are ignored by the node.
|
||||
.Sh HOOKS
|
||||
Four special hooks with fixed names and an unlimited number of hooks with user
|
||||
defined names are supported. Three of the fixed hooks are attached to
|
||||
defined names are supported.
|
||||
Three of the fixed hooks are attached to
|
||||
strategic points in the information flow in the
|
||||
.Xr natm 4
|
||||
system and support only reading. The fourth fixed hook behaves like the other
|
||||
system and support only reading.
|
||||
The fourth fixed hook behaves like the other
|
||||
user hooks, but a number of management messages are sent along the hook.
|
||||
The other hooks can be attached to VCIs dynamically by means of
|
||||
control messages to the
|
||||
@ -77,7 +82,9 @@ The four fixed hooks are:
|
||||
.It Dv input
|
||||
This is a connection to the raw input stream from the network.
|
||||
If this hook is connected, all incoming packets are delivered out to
|
||||
this hook. Note, that this redirects ALL input. Neither
|
||||
this hook.
|
||||
Note, that this redirects ALL input.
|
||||
Neither
|
||||
.Xr natm 4
|
||||
nor the user hooks will see any input if
|
||||
.Dv input
|
||||
@ -98,7 +105,7 @@ An
|
||||
.Xr natm 4 )
|
||||
is prepended to the actual data.
|
||||
.It Dv orphans
|
||||
This hook receives all packets that are unrecognized, i.e. do not belong to
|
||||
This hook receives all packets that are unrecognized, i.e., do not belong to
|
||||
either a
|
||||
.Xr natm 4
|
||||
socket, a
|
||||
@ -107,7 +114,8 @@ VCI or
|
||||
.Xr natm 4
|
||||
IP.
|
||||
Because ATM is connection oriented and packets are received on a given VCI only
|
||||
when someone initiates this VCI, packets should never be orphaned. There is
|
||||
when someone initiates this VCI, packets should never be orphaned.
|
||||
There is
|
||||
however one exception: if you use
|
||||
.Xr natm 4
|
||||
IP with LLC/SNAP encapsulation packets with don't have the IP protocol
|
||||
@ -129,7 +137,8 @@ as long as the name does not collide with one of the three predefined names.
|
||||
To initiate packet sending an receiving on a dynamic hook one has to issue
|
||||
a
|
||||
.Dv NGM_ATM_CPCS_INIT
|
||||
control message. To terminate sending and receiving one must send a
|
||||
control message.
|
||||
To terminate sending and receiving one must send a
|
||||
.Dv NGM_ATM_CPCS_TERM
|
||||
message (see
|
||||
.Sx CONTROL MESSAGES ) .
|
||||
@ -153,7 +162,8 @@ struct ng_atm_config {
|
||||
};
|
||||
.Ed
|
||||
.It Dv NGM_ATM_GET_VCCS
|
||||
Returns the table of open VCCs from the driver. This table consists of
|
||||
Returns the table of open VCCs from the driver.
|
||||
This table consists of
|
||||
a header and a variable sized array of entries, one for each open vcc:
|
||||
.Bd -literal
|
||||
struct atmio_vcctable {
|
||||
@ -188,8 +198,10 @@ struct atmio_tparam {
|
||||
.Pp
|
||||
Note, that this is the driver's table, so all VCCs opened via
|
||||
.Xr natm 4
|
||||
sockets and IP are also shown. They can, however, be distinguished by
|
||||
their flags. The
|
||||
sockets and IP are also shown.
|
||||
They can, however, be distinguished by
|
||||
their flags.
|
||||
The
|
||||
.Dv flags
|
||||
field contains the following flags:
|
||||
.Bl -column ATM_PH_LLCSNAP -offset indent
|
||||
@ -229,7 +241,8 @@ all traffic types however):
|
||||
.It Dv ATMIO_TRAFFIC_VBR
|
||||
.El
|
||||
.It Dv NGM_ATM_CPCS_INIT
|
||||
Initialize a VCC for sending and receiving. The argument is a structure:
|
||||
Initialize a VCC for sending and receiving.
|
||||
The argument is a structure:
|
||||
.Bd -literal
|
||||
struct ng_atm_cpcs_init {
|
||||
char name[NG_HOOKSIZ];
|
||||
@ -261,7 +274,8 @@ This hook must already be connected.
|
||||
.Dv vpi
|
||||
and
|
||||
.Dv vci
|
||||
are the respective VPI and VCI values to use for the ATM cells. They must be
|
||||
are the respective VPI and VCI values to use for the ATM cells.
|
||||
They must be
|
||||
within the range, given by the
|
||||
.Dv maxvpi
|
||||
and
|
||||
@ -273,7 +287,8 @@ structure.
|
||||
contains the flags (see above) and the other fields describe the
|
||||
type of traffic.
|
||||
.It Dv NGM_ATM_CPCS_TERM
|
||||
Stop sending and receiving on the indicated hook. The argument is a
|
||||
Stop sending and receiving on the indicated hook.
|
||||
The argument is a
|
||||
.Bd -literal
|
||||
struct ng_atm_cpcs_term {
|
||||
char name[NG_HOOKSIZ];
|
||||
@ -283,7 +298,8 @@ struct ng_atm_cpcs_term {
|
||||
.Sh MANAGEMENT MESSAGES
|
||||
If the
|
||||
.Dv manage
|
||||
hook is connected certain messages are sent along the hook. They are
|
||||
hook is connected certain messages are sent along the hook.
|
||||
They are
|
||||
received by the peer node with a cookie of
|
||||
.Dv NG_ATM_COOKIE .
|
||||
.Bl -tag -width xxx
|
||||
@ -298,15 +314,18 @@ struct ng_atm_carrier_change {
|
||||
.Ed
|
||||
.Pp
|
||||
.Dv node
|
||||
is the node Id of the ATM node. This can be used by the managing entity
|
||||
is the node Id of the ATM node.
|
||||
This can be used by the managing entity
|
||||
(for example
|
||||
.Xr ilmid 8 )
|
||||
to manage several interfaces at the same time through the same node.
|
||||
.Dv state is 1 if the carrier was detected and 0 if it was lost.
|
||||
.It Dv NGM_ATM_VCC_CHANGE
|
||||
A permanent VCC has been added, deleted or changed. This is used by
|
||||
A permanent VCC has been added, deleted or changed.
|
||||
This is used by
|
||||
.Xr ilmid
|
||||
to generate the appropriate ILMI traps. The structure of the message is:
|
||||
to generate the appropriate ILMI traps.
|
||||
The structure of the message is:
|
||||
.Bd -literal
|
||||
struct ng_atm_vcc_change {
|
||||
uint32_t node;
|
||||
@ -321,22 +340,27 @@ is 0 if the PVC was deleted and 1 if it was added or modified.
|
||||
.El
|
||||
.Sh FLOW CONTROL
|
||||
If the hardware driver supports it the node can emit flow control messages
|
||||
along a user hook. The format of these messages is described in
|
||||
along a user hook.
|
||||
The format of these messages is described in
|
||||
.Pa netgraph/ng_message.h .
|
||||
The
|
||||
.Nm
|
||||
node may generate
|
||||
.Dv NGM_HIGH_WATER_PASSED and NGM_LOW_WATER_PASSED
|
||||
messages. The first one indicates that the hardware driver has stopped output
|
||||
messages.
|
||||
The first one indicates that the hardware driver has stopped output
|
||||
on the channel and drops new packets, the second one reports that
|
||||
output was reenabled. Currently the structures are not filled with
|
||||
output was reenabled.
|
||||
Currently the structures are not filled with
|
||||
information.
|
||||
.Sh SHUTDOWN
|
||||
The nodes are persistent as long as the corresponding interface exists.
|
||||
Upon receipt of a
|
||||
.Dv NGM_SHUTDOWN
|
||||
messages all hooks are disconnected and the node is reinitialized. All
|
||||
VCCs opened via netgraph are closed. When the ATM interface is unloaded
|
||||
messages all hooks are disconnected and the node is reinitialized.
|
||||
All
|
||||
VCCs opened via netgraph are closed.
|
||||
When the ATM interface is unloaded
|
||||
the node disappears.
|
||||
If the node is compiled with
|
||||
.Dv NGATM_DEBUG
|
||||
|
@ -44,11 +44,13 @@ This node currently handles the Ethernet and FDDI protocols.
|
||||
.Pp
|
||||
The node transmits and receives ATM PDUs on the
|
||||
.Dv atm
|
||||
hook. Received PDUs are decoded and forwarded to the
|
||||
hook.
|
||||
Received PDUs are decoded and forwarded to the
|
||||
.Dv ether
|
||||
or
|
||||
.Dv fddi
|
||||
hooks as appropriate. Data received on the
|
||||
hooks as appropriate.
|
||||
Data received on the
|
||||
.Dv ether
|
||||
or
|
||||
.Dv fddi
|
||||
@ -66,12 +68,14 @@ Typically this hook would be connected to a
|
||||
.Xr ng_atm 4
|
||||
node, which handles transmission of ATM PDUs over an ATM device.
|
||||
.It Dv ether
|
||||
Ethernet connection. This hook sends and receives ethernet frames.
|
||||
Ethernet connection.
|
||||
This hook sends and receives ethernet frames.
|
||||
This would normally be connected to an
|
||||
.Xr ng_eiface 4
|
||||
node if in use.
|
||||
.It Dv fddi
|
||||
FDDI connection. This hook sends and receives FDDI frames.
|
||||
FDDI connection.
|
||||
This hook sends and receives FDDI frames.
|
||||
.El
|
||||
.Sh CONTROL MESSAGES
|
||||
This node type supports the generic control messages.
|
||||
|
@ -51,7 +51,8 @@ netgraph node type allows the emulation of
|
||||
networking subsystem.
|
||||
Moreover it includes protection of the PDU against duplication and
|
||||
desequencement.
|
||||
It supports up to 65535 VCs and up to 255 VPs. AAL0, AAL3/4 and AAL5
|
||||
It supports up to 65535 VCs and up to 255 VPs.
|
||||
AAL0, AAL3/4 and AAL5
|
||||
emulation are provided.
|
||||
In order to optimize CPU, this node does not emulate the SAR layer.
|
||||
.Pp
|
||||
@ -66,8 +67,10 @@ It is named hvaX.
|
||||
It has the same features as any other HARP devices.
|
||||
The PIF is removed when the node is removed.
|
||||
.Sh HOOKS
|
||||
There is only one hook: link. This hook can be connected to any other
|
||||
Netgraph node. For example, in order
|
||||
There is only one hook: link.
|
||||
This hook can be connected to any other
|
||||
Netgraph node.
|
||||
For example, in order
|
||||
to test the HARP stack over UDP, it can be connected on a
|
||||
.Xr ksocket 4
|
||||
node.
|
||||
|
@ -49,7 +49,7 @@ A read-only integer variable that shows the current version of the
|
||||
Bluetooth stack.
|
||||
.It Va net.bluetooth.hci.command_timeout
|
||||
A read-write integer variable that controls the Host Controller Interface
|
||||
(HCI) command timeout (in seconds), i.e. how long the HCI layer will wait
|
||||
(HCI) command timeout (in seconds), i.e., how long the HCI layer will wait
|
||||
for the
|
||||
.Dv Command_Complete
|
||||
or
|
||||
|
@ -51,7 +51,8 @@ node type allows Berkeley Packet Filter (see
|
||||
.Xr bpf 4 )
|
||||
filters to be applied to data travelling through a Netgraph network.
|
||||
Each node allows an arbitrary number of connections to arbitrarily
|
||||
named hooks. With each hook is associated a
|
||||
named hooks.
|
||||
With each hook is associated a
|
||||
.Xr bpf 4
|
||||
filter program which is applied to incoming data only, a destination hook
|
||||
for matching packets, a destination hook for non-matching packets,
|
||||
@ -60,7 +61,8 @@ and various statistics counters.
|
||||
A
|
||||
.Xr bpf 4
|
||||
program returns an unsigned integer, which is normally interpreted as
|
||||
the length of the prefix of the packet to return. In the context of this
|
||||
the length of the prefix of the packet to return.
|
||||
In the context of this
|
||||
node type, returning zero is considered a non-match, in which case the
|
||||
entire packet is delivered out the non-match destination hook.
|
||||
Returning a value greater than zero causes the packet to be truncated
|
||||
@ -79,7 +81,8 @@ This node type supports the generic control messages, plus the following:
|
||||
.Bl -tag -width foo
|
||||
.It Dv NGM_BPF_SET_PROGRAM
|
||||
This command sets the filter program that will be applied to incoming
|
||||
data on a hook. The following structure must be supplied as an argument:
|
||||
data on a hook.
|
||||
The following structure must be supplied as an argument:
|
||||
.Bd -literal -offset 4n
|
||||
struct ng_bpf_hookprog {
|
||||
char thisHook[NG_HOOKSIZ]; /* name of hook */
|
||||
@ -101,7 +104,8 @@ Matching and non-matching incoming packets are delivered out the hooks named
|
||||
.Dv ifMatch
|
||||
and
|
||||
.Dv ifNotMatch ,
|
||||
respectively. The program must be a valid
|
||||
respectively.
|
||||
The program must be a valid
|
||||
.Xr bpf 4
|
||||
program or else
|
||||
.Er EINVAL
|
||||
|
@ -98,7 +98,7 @@ Remove all neighbor cache entries for the HCI node.
|
||||
.It Dv SIOC_HCI_RAW_NODE_GET_NEIGHBOR_CACHE
|
||||
Returns content of the neighbor cache for the HCI node.
|
||||
.It Dv SIOC_HCI_RAW_NODE_GET_CON_LIST
|
||||
Returns list of active baseband connections (i.e. ACL and SCO links) for
|
||||
Returns list of active baseband connections (i.e., ACL and SCO links) for
|
||||
the HCI node.
|
||||
.It SIOC_HCI_RAW_NODE_GET_LINK_POLICY_MASK
|
||||
Returns current link policy settings mask for the HCI node.
|
||||
@ -182,7 +182,7 @@ Returns current debug level for the L2CAP node.
|
||||
.It Dv SIOC_L2CAP_NODE_SET_DEBUG
|
||||
Sets current debug level for the L2CAP node.
|
||||
.It Dv SIOC_L2CAP_NODE_GET_CON_LIST
|
||||
Returns list of active baseband connections (i.e. ACL links) for the L2CAP
|
||||
Returns list of active baseband connections (i.e., ACL links) for the L2CAP
|
||||
node.
|
||||
.It Dv SIOC_L2CAP_NODE_GET_CHAN_LIST
|
||||
Returns list of active channels for the L2CAP node.
|
||||
|
@ -48,10 +48,13 @@
|
||||
The
|
||||
.Nm cisco
|
||||
node type performs encapsulation and de-encapsulation of packets
|
||||
using the Cisco HDLC protocol. This is a fairly simple
|
||||
using the Cisco HDLC protocol.
|
||||
This is a fairly simple
|
||||
protocol for the transmission of packets across
|
||||
high speed synchronous lines. Each packet is prepended with
|
||||
an Ethertype, indicating the protocol. There is also a
|
||||
high speed synchronous lines.
|
||||
Each packet is prepended with
|
||||
an Ethertype, indicating the protocol.
|
||||
There is also a
|
||||
.Dq keep alive
|
||||
and an
|
||||
.Dq inquire
|
||||
@ -59,7 +62,8 @@ capability.
|
||||
.Pp
|
||||
The
|
||||
.Dv downstream
|
||||
hook should connect to the synchronous line. On the other side
|
||||
hook should connect to the synchronous line.
|
||||
On the other side
|
||||
of the node are the
|
||||
.Dv inet ,
|
||||
.Dv inet6 ,
|
||||
@ -67,13 +71,15 @@ of the node are the
|
||||
and
|
||||
.Dv ipx
|
||||
hooks, which transmit and receive raw IP, IPv6, AppleTalk, and IPX packets,
|
||||
respectively. Typically these hooks would connect to the corresponding
|
||||
respectively.
|
||||
Typically these hooks would connect to the corresponding
|
||||
hooks on an
|
||||
.Xr ng_iface 4
|
||||
type node.
|
||||
.Sh IP Configuration
|
||||
In order to function properly for IP traffic, the node must be informed
|
||||
of the local IP address and netmask setting. This is because the protocol
|
||||
of the local IP address and netmask setting.
|
||||
This is because the protocol
|
||||
includes an
|
||||
.Dq inquire
|
||||
packet which we must be prepared to answer.
|
||||
@ -84,10 +90,12 @@ Whenever such an inquire packet is received, the node sends a
|
||||
control message to the peer node connected to the
|
||||
.Dv inet
|
||||
hook (if any).
|
||||
If the peer responds, then that response is used. This is the automatic method.
|
||||
If the peer responds, then that response is used.
|
||||
This is the automatic method.
|
||||
.Pp
|
||||
If the peer does not respond, the node falls back on its cached value
|
||||
for the IP address and netmask. This cached value can be set at any time
|
||||
for the IP address and netmask.
|
||||
This cached value can be set at any time
|
||||
with a
|
||||
.Dv NGM_CISCO_SET_IPADDR
|
||||
message, and this is the manual method.
|
||||
@ -124,7 +132,8 @@ This node type supports the generic control messages, plus the following:
|
||||
.It Dv NGM_CISCO_SET_IPADDR
|
||||
This command takes an array of two
|
||||
.Dv "struct in_addr"
|
||||
arguments. The first is the IP address of the corresponding interface
|
||||
arguments.
|
||||
The first is the IP address of the corresponding interface
|
||||
and the second is the netmask.
|
||||
.It Dv NGM_CISCO_GET_IPADDR
|
||||
This command returns the IP configuration in the same format used by
|
||||
@ -149,7 +158,8 @@ This node shuts down upon receipt of a
|
||||
.Dv NGM_SHUTDOWN
|
||||
control message, or when all hooks have been disconnected.
|
||||
.Sh BUGS
|
||||
Not all of the functionality has been implemented. For example,
|
||||
Not all of the functionality has been implemented.
|
||||
For example,
|
||||
the node does not support querying the remote end for its IP address
|
||||
and netmask.
|
||||
.Sh SEE ALSO
|
||||
|
@ -47,7 +47,8 @@
|
||||
The
|
||||
.Nm frame_relay
|
||||
node type performs encapsulation, de-encapsulation, and multiplexing
|
||||
of packets using the frame relay protocol. It supports up to 1024 DLCI's.
|
||||
of packets using the frame relay protocol.
|
||||
It supports up to 1024 DLCI's.
|
||||
The LMI protocol is handled by a separate node type (see
|
||||
.Xr ng_lmi 4 ) .
|
||||
.Pp
|
||||
@ -67,7 +68,8 @@ This node type supports the following hooks:
|
||||
.It Dv downstream
|
||||
The connection to the synchronous line.
|
||||
.It Dv dlciX
|
||||
Here X is a decimal number from 0 to 1023. This hook corresponds
|
||||
Here X is a decimal number from 0 to 1023.
|
||||
This hook corresponds
|
||||
to the DLCI X frame relay virtual channel.
|
||||
.El
|
||||
.Sh CONTROL MESSAGES
|
||||
|
@ -117,7 +117,7 @@ provides a uniform method of accessing the Bluetooth baseband capabilities.
|
||||
.Pp
|
||||
The HCI layer on the Host exchanges data and commands with the HCI firmware
|
||||
on the Bluetooth hardware.
|
||||
The Host Controller Transport Layer (i.e. physical
|
||||
The Host Controller Transport Layer (i.e., physical
|
||||
bus) driver provides both HCI layers with the ability to exchange information
|
||||
with each other.
|
||||
.Pp
|
||||
@ -223,7 +223,7 @@ typedef struct {
|
||||
} ng_hci_node_up_ep;
|
||||
.Ed
|
||||
.Sh HCI FLOW CONTROL
|
||||
HCI layer performs flow control on baseband connection basis (i.e. ACL and
|
||||
HCI layer performs flow control on baseband connection basis (i.e., ACL and
|
||||
SCO link).
|
||||
Each baseband connection has
|
||||
.Dq "connection handle"
|
||||
@ -334,7 +334,7 @@ Returns content of the neighbor cache.
|
||||
.It Dv NGM_HCI_NODE_FLUSH_NEIGHBOR_CACHE
|
||||
Remove all neighbor cache entries.
|
||||
.It Dv NGM_HCI_NODE_GET_CON_LIST
|
||||
Returns list of active baseband connections (i.e. ACL and SCO links).
|
||||
Returns list of active baseband connections (i.e., ACL and SCO links).
|
||||
.It Dv NGM_HCI_NODE_GET_STAT
|
||||
Returns various statistic counters.
|
||||
.It Dv NGM_HCI_NODE_RESET_STAT
|
||||
|
@ -46,7 +46,8 @@
|
||||
.Sh DESCRIPTION
|
||||
An
|
||||
.Nm iface
|
||||
node is both a netgraph node and a system networking interface. When an
|
||||
node is both a netgraph node and a system networking interface.
|
||||
When an
|
||||
.Nm iface
|
||||
node is created, a new interface appears which is accessible via
|
||||
.Xr ifconfig 8 .
|
||||
@ -126,7 +127,8 @@ for a description.
|
||||
.Sh SHUTDOWN
|
||||
This node shuts down upon receipt of a
|
||||
.Dv NGM_SHUTDOWN
|
||||
control message. The associated interface is removed and becomes available
|
||||
control message.
|
||||
The associated interface is removed and becomes available
|
||||
for use by future
|
||||
.Nm iface
|
||||
nodes.
|
||||
|
@ -84,7 +84,8 @@ and
|
||||
are the decimal equivalent of the same arguments to
|
||||
.Xr socket 2 .
|
||||
Alternately, aliases for the commonly used values are accepted as
|
||||
well. For example
|
||||
well.
|
||||
For example
|
||||
.Dv inet/dgram/udp
|
||||
is a more readable but equivalent version of
|
||||
.Dv 2/2/17 .
|
||||
@ -95,7 +96,7 @@ connected (an
|
||||
.Dv NGM_KSOCKET_CONNECT
|
||||
was sent to node before).
|
||||
If socket is not connected, destination
|
||||
.Dv "struct sockaddr"
|
||||
.Vt "struct sockaddr"
|
||||
must be supplied in an mbuf tag with cookie
|
||||
.Dv NGM_KSOCKET_COOKIE
|
||||
and type
|
||||
@ -104,7 +105,7 @@ attached to data.
|
||||
Otherwise
|
||||
.Nm
|
||||
will return
|
||||
.Dv ENOTCONN
|
||||
.Er ENOTCONN
|
||||
to sender.
|
||||
.Sh CONTROL MESSAGES
|
||||
This node type supports the generic control messages, plus the following:
|
||||
@ -114,7 +115,7 @@ This functions exactly like the
|
||||
.Xr bind 2
|
||||
system call.
|
||||
The
|
||||
.Dv "struct sockaddr"
|
||||
.Vt "struct sockaddr"
|
||||
socket address parameter should be supplied as an argument.
|
||||
.It Dv NGM_KSOCKET_LISTEN
|
||||
This functions exactly like the
|
||||
@ -128,7 +129,7 @@ This functions exactly like the
|
||||
.Xr connect 2
|
||||
system call.
|
||||
The
|
||||
.Dv "struct sockaddr"
|
||||
.Vt "struct sockaddr"
|
||||
destination address parameter should be supplied as an argument.
|
||||
.It Dv NGM_KSOCKET_ACCEPT
|
||||
Currently unimplemented.
|
||||
@ -137,25 +138,25 @@ Equivalent to the
|
||||
.Xr getsockname 2
|
||||
system call.
|
||||
The name is returned as a
|
||||
.Dv "struct sockaddr"
|
||||
.Vt "struct sockaddr"
|
||||
in the arguments field of the reply.
|
||||
.It Dv NGM_KSOCKET_GETPEERNAME
|
||||
Equivalent to the
|
||||
.Xr getpeername 2
|
||||
system call.
|
||||
The name is returned as a
|
||||
.Dv "struct sockaddr"
|
||||
.Vt "struct sockaddr"
|
||||
in the arguments field of the reply.
|
||||
.It Dv NGM_KSOCKET_SETOPT
|
||||
Equivalent to the
|
||||
.Xr setsockopt 2
|
||||
system call, except that the option name, level, and value are passed in a
|
||||
.Dv "struct ng_ksocket_sockopt" .
|
||||
.Vt "struct ng_ksocket_sockopt" .
|
||||
.It Dv NGM_KSOCKET_GETOPT
|
||||
Equivalent to the
|
||||
.Xr getsockopt 2
|
||||
system call, except that the option is passed in a
|
||||
.Dv "struct ng_ksocket_sockopt" .
|
||||
.Vt "struct ng_ksocket_sockopt" .
|
||||
When sending this command, the
|
||||
.Dv value
|
||||
field should be empty; upon return, it will contain the
|
||||
@ -163,7 +164,7 @@ retrieved value.
|
||||
.El
|
||||
.Sh ASCII FORM CONTROL MESSAGES
|
||||
For control messages that pass a
|
||||
.Dv "struct sockaddr"
|
||||
.Vt "struct sockaddr"
|
||||
in the argument field, the normal
|
||||
.Tn ASCII
|
||||
equivalent of the C structure
|
||||
@ -193,7 +194,7 @@ inet/192.168.1.1:1234
|
||||
.El
|
||||
.Pp
|
||||
For control messages that pass a
|
||||
.Dv "struct ng_ksocket_sockopt" ,
|
||||
.Vt "struct ng_ksocket_sockopt" ,
|
||||
the normal
|
||||
.Tn ASCII
|
||||
form for that structure is used.
|
||||
|
@ -390,7 +390,7 @@ Returns an integer containing the current debug level for the node.
|
||||
This command takes an integer argument and sets current debug level
|
||||
for the node.
|
||||
.It Dv NGM_L2CAP_NODE_GET_CON_LIST
|
||||
Returns list of active baseband connections (i.e. ACL links).
|
||||
Returns list of active baseband connections (i.e., ACL links).
|
||||
.It Dv NGM_L2CAP_NODE_GET_CHAN_LIST
|
||||
Returns list of active L2CAP channels.
|
||||
.It Dv NGM_L2CAP_NODE_GET_AUTO_DISCON_TIMO
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user