idcheck(1M) idcheck(1M)
NAME
idcheck - return selected information about the system
configuration
SYNOPSIS
/etc/conf/bin/idcheck -p module-name [-R dir]
/etc/conf/bin/idcheck -y module-name [-R dir]
/etc/conf/bin/idcheck -v vector [-R dir] [-r]
/etc/conf/bin/idcheck -d dma-channel [-R dir] [-r]
/etc/conf/bin/idcheck -a -l lower-address -u upper-address [-R dir] [-r]
/etc/conf/bin/idcheck -c -l lower-address -u upper-address [-R dir] [-r]
DESCRIPTION
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.
-p module-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.
Copyright 1994 Novell, Inc. Page 1
idcheck(1M) idcheck(1M)
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).
-y module-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.
-v vector 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.
-d dma-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.
Copyright 1994 Novell, Inc. Page 2
idcheck(1M) idcheck(1M)
-l lower-address
Specify the lower bound of an address range,
specified in hex (without a leading 0x).
-u upper-address
Specify the upper bound of an address range,
specified in hex (without a leading 0x).
-R dir Specify the directory in which the configuration
files and directories reside. The default directory
is /etc/conf. The old ``-i dir'' 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.
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.
Errors
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 [see fscanf(3S)] translates the
letter to 0. idcheck then uses this value in its query.
REFERENCES
idbuild(1M), idconfupdate(1M), idinstall(1M), Master(4),
System(4)
Copyright 1994 Novell, Inc. Page 3