Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

adapter_driver(3K)

device_driver(3K)



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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026