adapter_manager(3K) DG/UX R4.11MU05 adapter_manager(3K)
NAME
adapter_manager: dev_scsi_adapter_configure,
dev_scsi_adapter_deconfigure, dev_scsi_adapter_open,
dev_scsi_adapter_close, dev_scsi_adapter_device_to_name,
dev_scsi_adapter_name_to_device, dev_scsi_adapter_register_requester,
dev_scsi_adapter_deregister_requester,
dev_scsi_adapter_set_adapter_options,
dev_scsi_adapter_set_unit_options, dev_scsi_adapter_ioctl,
dev_scsi_adapter_issue_command, dev_scsi_adapter_issue_async_command,
dev_scsi_adapter_issue_command_physical_mode,
dev_scsi_adapter_get_device_info, dev_scsi_adapter_open_dump -
implement the adapter manager utility
SYNOPSIS
status_type dev_scsi_adapter_close (
io_major_device_number_type major_number, READ_ONLY
io_device_handle_type adapter_handle, READ_ONLY
io_channel_flags_type channel_flags READ_ONLY )
status_type dev_scsi_adapter_configure (
char_ptr_type name_ptr READ_ONLY )
status_type dev_scsi_adapter_deconfigure (
char_ptr_type name_ptr READ_ONLY )
void dev_scsi_adapter_deregister_requester (
io_major_device_number_type major_number, READ_ONLY
io_device_handle_type adapter_handle READ_ONLY )
status_type dev_scsi_adapter_device_to_name (
io_device_number_type device_number, READ_ONLY
char_ptr_type name_ptr, READ_ONLY
uint32_type size READ_ONLY )
status_type dev_scsi_adapter_get_device_info (
char_ptr_type name_ptr, READ_ONLY
dev_scsi_adapter_unit_spec_type unit_spec, READ_ONLY
bit8_type device_type, READ_ONLY
io_device_handle_ptr_type driver_handle_ptr WRITE ONLY )
status_type dev_scsi_adapter_ioctl (
io_major_device_number_type major_number, READ_ONLY
io_device_handle_type adapter_handle, READ_ONLY
bit32e_type command, READ_ONLY
bit32e_type parameter, READ_WRITE
int32e_ptr_type return_val_ptr WRITE_ONLY )
status_type dev_scsi_adapter_issue_async_command (
io_major_device_number_type major_number, READ_ONLY
dev_adapter_request_block_ptr_type arb_ptr READ_ONLY )
status_type dev_scsi_adapter_issue_command (
io_major_device_number_type major_number, READ_ONLY
dev_adapter_request_block_ptr_type arb_ptr READ_ONLY )
status_type dev_scsi_adapter_issue_command_physical_mode (
io_major_device_number_type major_number, READ_ONLY
dev_adapter_physical_request_blk_ptr_type request_blk_ptr READ_ONLY )
status_type dev_scsi_adapter_name_to_device (
char_ptr_type name_ptr, READ_ONLY
io_device_number_ptr_type device_number_ptr WRITE ONLY)
status_type dev_scsi_adapter_open (
io_major_device_number_type major_number, READ_ONLY
io_device_handle_type adapter_handle, READ_ONLY
io_channel_flags_type channel_flags READ_ONLY )
status_type dev_scsi_adapter_open_dump (
char_ptr_type device_name, READ_ONLY
io_device_handle_ptr_type device_handle_ptr, READ_ONLY
io_major_device_number_ptr_type major_number_ptr WRITE_ONLY)
status_type dev_scsi_adapter_register_requester (
io_major_device_number_type major_number, READ_ONLY
dev_scsi_adapter_unit_registration_blk_ptr_type rb_ptr READ_ONLY )
status_type dev_scsi_adapter_set_adapter_options (
io_major_device_number_type major_number, READ_ONLY
io_device_handle_type adapter_handle, READ_ONLY
dev_scsi_adapter_options_block_ptr_type adap_opt_blk_ptr READ_ONLY )
status_type dev_scsi_adapter_set_unit_options (
io_major_device_number_type major_number, READ_ONLY
io_device_handle_type adapter_handle, READ_ONLY
dev_scsi_adapter_unit_options_block_ptr_type u_opt_blk_ptr, READ_ONLY)
where:
adapter_handle The device handle of the target SCSI adapter. This
must be the device handle that was returned by the
adapter manager's register-requester routine.
adap_opt_blk_ptr A pointer to an adapter options block that
specifies the options to be selected for the unit.
arb_ptr A pointer to an adapter request block that holds
all information that describes the request.
channel_flags The set of channel flags specifying the type of
access requested on the device.
command A command to the device. The interpretation of the
command is specific to the driver.
device_handle_ptr A pointer to the location where the device handle
is to be returned.
device_name A pointer to the null-terminated string identifying
the device to be opened as a dump device.
device_number The device number of the target SCSI adapter.
device_number_ptr Pointer to where the SCSI adapter device number
(major and minor number) is to be returned.
device_type Device type of device expected to be registered for
unit number and SCSI ID.
driver_handle_ptr Pointer to where driver handle is to be returned.
major_number The major device number of the target SCSI adapter.
major_number_ptr A pointer to the location where the device's major
number is stored.
name_ptr A pointer to the target SCSI adapter's device name
as specified in its system file entry, or a pointer
to where the null-terminated character string name
is to be written.
parameter A command argument. The parameter's interpretation
is specific to the driver and the command.
rb_ptr A pointer to a SCSI adapter registration block.
request_blk_ptr A pointer to a physical request block that holds
information which specifies the request.
return_value_ptr A pointer to the value to be returned to the user.
size The maximum number of bytes, including the
terminating null, that is to be written to
name_ptr.
u_opt_blk_ptr Pointer to a unit options block that specifies the
options to be selected for the unit.
unit_spec SCSI ID and logical unit number of target device.
DESCRIPTION
Adapter driver routines are invoked by their SCSI device drivers.
However, in order to keep the device driver code from being fixed to
a particular adapter driver, device drivers do not call adapter
routines directly. Instead they call adapter manager routines with a
parameter identifying the target adapter and the adapter manager
routines route the calls to the correct adapter driver. The adapter
manager consists of a standard set of adapter driver routines with
the generic mnemonic scsi_adapter.
This man page describes adapter manager routines that SCSI device
drivers use to interface to their SCSI adapter drivers. It includes
the following routines:
dev_scsi_adapter_configure Call configuration routine
dev_scsi_adapter_deconfigure Call deconfiguration routine
dev_scsi_adapter_open Call driver's open routine
dev_scsi_adapter_close Call driver's close routine
dev_scsi_adapter_device_to_name Call device-to-name routine
dev_scsi_adapter_name_to_device Call name-to-device routine
dev_scsi_adapter_register_requester Call register-requester routine
dev_scsi_adapter_deregister_requester
Call deregister-requester
routine
dev_scsi_adapter_set_adapter_options Call set-adapter-options routine
dev_scsi_adapter_set_unit_options Call set-unit-options routine
dev_scsi_adapter_ioctl Call adapter-ioctl routine
dev_scsi_adapter_issue_command Call issue-command routine
dev_scsi_adapter_issue_async_command Call issue-async-command routine
dev_scsi_adapter_issue_command_physical_mode
Call driver's issue-command-
physical-mode routine
dev_scsi_adapter_get_device_info Call get-device-info routine
dev_scsi_adapter_open_dump Call driver's open-dump routine
Constants and Data Structures
Adapter manager routines use the same data structures described for
adapter drivers. For a discussion of these data structures, see the
adapter_driver(3K) man page.
dev_scsi_adapter_close
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's close routine.
dev_scsi_adapter_configure
This routine locates the SCSI adapter driver for the adapter
specified by name_ptr and calls that driver's configuration routine.
dev_scsi_adapter_deconfigure
This routine locates the SCSI adapter driver specified by name_ptr
and calls that driver's deconfiguration routine.
dev_scsi_adapter_deregister_requester
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's deregister-
requester routine.
dev_scsi_adapter_device_to_name
This routine locates the SCSI adapter driver for the adapter
specified by device_number and calls that driver's device-to-name
routine.
dev_scsi_adapter_get_device_info
This routine locates the SCSI adapter driver for the adapter
specified by name_ptr and calls that driver's get-device-info
routine.
dev_scsi_adapter_ioctl
This routine locates the SCSI adapter driver for the adapter
specified by the major_number and calls that driver's adapter-ioctl
routine.
You can use the command parameter to transfer information in either
direction between the caller and the device. In particular it may be
a pointer to a buffer supplied by the caller.
dev_scsi_adapter_issue_async_command
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's issue-async-command
routine.
dev_scsi_adapter_issue_command
This routine locates the SCSI adapter driver for the adapter
specified by the major_number and calls that driver's issue-command
routine.
dev_scsi_adapter_issue_command_physical_mode
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's issue-command-
physical-mode routine.
dev_scsi_adapter_name_to_device
This routine locates the SCSI adapter driver for the adapter
specified by name_ptr and calls that driver's name-to-device routine.
dev_scsi_adapter_open
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's open routine.
dev_scsi_adapter_open_dump
This routine locates the SCSI adapter driver for the adapter
specified by device_name and calls that driver's open-dump routine.
dev_scsi_adapter_register_requester
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's register-requester
routine.
dev_scsi_adapter_set_adapter_options
This routine locates the SCSI adapter driver for the adapter
specified by the major_number and calls that driver's set-adapter-
options routine.
dev_scsi_adapter_set_unit_options
This routine locates the SCSI adapter driver for the adapter
specified by major_number and calls that driver's set-unit-options
routine.
DIAGNOSTICS
Return Value
For dev_scsi_adapter_close, dev_scsi_adapter_ioctl, and
dev_scsi_adapter_open:
IO_ENODEV_FUNCTION_NOT_SUPPORTED
The target adapter does not support this function.
[others] Values returned by adapter driver's close, ioctl, or
open routine, respectively.
For dev_scsi_adapter_configure:
OK The configuration completed successfully.
DEV_ENXIO_ADAPTER_CONFIG_FAILED
The configuration operation failed.
[others] Values returned by adapter driver's configuration
routine.
For dev_scsi_adapter_deconfigure:
OK The deconfiguration completed successfully.
[others] Values returned by adapter driver's deconfiguration
routine.
For dev_scsi_adapter_deregister_requester,
dev_scsi_adapter_device_to_name, dev_scsi_adapter_get_device_info,
dev_scsi_adapter_issue_async_command, dev_scsi_adapter_issue_command,
dev_scsi_adapter_issue_command_physical_mode,
dev_scsi_adapter_name_to_device, and
dev_scsi_adapter_set_unit_options:
[others] Values returned by adapter driver's deregister-
requester, device-to-name, get-device-info issue-
async-command, issue-command, issue-command-
physical-mode, name-to-device, or set-unit-options
routine, respectively.
For dev_scsi_adapter_open_dump:
IO_ENXIO_DEVICE_NAME_NOT_RECOGNIZED
This routine returns this value if no SCSI adapters
are found.
[others] Values returned by adapter driver's open-dump
routine.
For dev_scsi_adapter_register_requester:
DEV_ENXIO_ADAPTER_CONFIG_FAILED
The configuration operation failed.
[others] Values returned by adapter driver's register-
requester routine.
For dev_scsi_adapter_set_adapter_options:
IO_ENODEV_FUNCTION_NOT_SUPPORTED
The interface version used with this device does not
support the adapter set-adapter-options call.
[others] Values returned by adapter driver's set-adapter-
options routine.
SEE ALSO
adapter_driver(3K), device_driver(3K).
Programming in the DG/UX Kernel Environment.
Licensed material--property of copyright holder(s)