One of the ID/TP (Installable Driver/Tunable Parameters)
kernel configuration tools,
idcheck returns selected information
about the system configuration.
It is useful in add-on Driver Software Package (DSP)
installation scripts to determine if a
specific device driver has already been installed,
or to verify that a specific interrupt vector,
I/O address, or other selectable parameter is available for use.
Before idcheck returns the configuration information,
it calls
idconfupdate(1M)
to synchronize the resource manager
database and the sdevice files.
Options
idcheck takes the following options:
-r
Report the device name of the first conflicting
device, if any, on stdout.
-pmodule-name
Check for the existence of selected components of the DSP,
as well as the DSP directory under /etc/conf/pack.d.
The exit code is created by adding the return codes, resulting
in a unique exit code for any combination of existing components.
add 1 to the exit code if the DSP directory under
/etc/conf/pack.d exists
add 2 to the exit code if the Master
file for the module has been installed
add 4 to the exit code if the System
file for the module has been installed
add 8 to the exit code if the last kernel was built with the specified
module
add 16 to the exit code if a Driver.o is part of the DSP
(as opposed to a stubs.c file)
-ymodule-name
Return 1 if the DSP has been configured.
The DSP is considered to be
configured if it has a ``Y'' in any of its
controller entries in the System file.
-vvector
Return the ``itype'' field of the device using the specified
vector
(that is, when another DSP is already using the vector).
Return 0 if the vector is not in use.
-ddma-channel
Return 1 if the DMA channel specified is being used.
-a
Determine whether the IOA range bounded by lower-address
and upper-address (inclusive) conflicts with another DSP.
Specify the
lower-address and upper-address using the -l
and -u options.
The return value will be one of the following:
0
The IOA range does not overlap with any currently-installed device.
1
The IOA range overlaps with one or more devices,
and at least one of these does not have the O
option specified in the
``characteristics'' field of its Master entry.
The O option permits a driver to overlap
the IOA region of another driver.
2
The IOA range overlaps with one or more devices,
which all have the O option specified in the
``characteristics'' field of their Master entries.
-c
Return 1 if the CMA range bounded by lower-address and
upper-address (inclusive) conflicts with another DSP.
Specify the lower-address and upper-address by using
the -l and -u options.
-llower-address
Specify the
lower bound of an
address range, specified in hex (without a leading ``0x'').
-uupper-address
Specify the
upper bound of an
address range, specified in hex (without a leading ``0x'').
-Rdir
Specify the directory in which the
configuration files and directories reside.
The default directory is
/etc/conf.
The old -idir option, which gives the location of the
/etc/conf/cf.d directory, is supported for compatibility,
but is discouraged, because the needed files no
longer all reside in this subdirectory.
-Iinterface-name [version]
Report, on stdout, the first
of the specified version(s) of the specified interface
that is supported on the current system.
Useful for determining which of several
driver versions to install.
Exit codes
There are no error messages or checks for valid arguments to options.
idcheck interprets these arguments using the rules of
scanf (see
fscanf(3S)).
For example, if a letter is used in the place of a digit,
scanf
translates the letter to 0.
idcheck then uses this value in its query.
Return values
idcheck returns the following values:
100 if an error occurs
0 if no conflict exists
a positive number greater than 0 and less than 100 if a conflict exists
Refer to the ``Options'' subsection for more information on the
possible return values.