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