idcheck(ADM)


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]
/etc/conf/bin/idcheck -I interface-name [version]"

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(ADM) 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.

-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.

-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.

-I interface-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(S)). 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: Refer to the ``Options'' subsection for more information on the possible return values.

References

idbuild(ADM), idconfupdate(ADM), idinstall(ADM), Master(DSP), System(DSP)
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 02 June 2005