2020-09-30 17:12:29 +02:00

1152 lines
16 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* FUNCTION TEMPLATES: ******************************************************/
/*****************************************************************************
*
* COPYRIGHT 1993 - COLORADO MEMORY SYSTEMS, INC.
* ALL RIGHTS RESERVED.
*
******************************************************************************
*
* FILE: \SE\DRIVER\Q117CD\INCLUDE\CQD_HDRI.H
*
* PURPOSE: This file contains all of the headers for the common driver.
*
* HISTORY:
* $Log: J:\se.vcs\driver\q117cd\include\cqd_hdr.h $
*
* Rev 1.13 15 May 1995 10:45:38 GaryKiwi
* Phoenix merge from CBW95s
*
* Rev 1.12.1.0 11 Apr 1995 18:02:24 garykiwi
* PHOENIX pass #1
*
* Rev 1.15 30 Jan 1995 14:23:08 BOBLEHMA
* Replaced the function prototype for cqd_GetDeviceDescriptorInfo with the
* new function cqd_CmdReportDeviceInfo.
*
* Rev 1.14 27 Jan 1995 13:22:54 BOBLEHMA
* Added new function proto cqd_PrepareIomega3010PhysRev. This function fixes
* a bug with Iomega 3010.
*
*
* Rev 1.13 26 Jan 1995 14:59:34 BOBLEHMA
* Added cqd_SetFormatSegments. Firmware command to set the
* number of segments in the firmware.
*
* Rev 1.12 16 Dec 1994 14:23:46 BOBLEHMA
* Added a dma parameter to the cqd_SenseSpeed function.
*
* Rev 1.11 09 Dec 1994 09:32:36 MARKMILL
* Added prototype for cqd_SetXferRates
*
* Rev 1.10 23 Nov 1994 10:15:46 MARKMILL
* Added prototypes for cqd_SetTempFDCRate and cqd_SelectFormat.
*
* Rev 1.9 29 Aug 1994 11:58:48 BOBLEHMA
* Added prototype for cqd_SetFWTapeSegments and changed interface
* to cqd_CmdSetTapeParms.
*
* Rev 1.8 17 Feb 1994 15:20:24 KEVINKES
* Added prototype for cqd_CheckMediaCompatibility.
*
* Rev 1.7 17 Feb 1994 11:30:14 KEVINKES
* Added a parameter to WaitCC.
*
* Rev 1.6 11 Jan 1994 15:13:42 KEVINKES
* Added header for VerifyMapBad.
*
* Rev 1.5 07 Jan 1994 10:53:54 CHETDOUG
* cqd_BuildFormatHdr now returns dStatus for trakker format.
*
* Rev 1.4 20 Dec 1993 14:46:04 KEVINKES
* Added a track parameter to LogicalBOT.
*
* Rev 1.3 13 Dec 1993 15:40:50 KEVINKES
* Added headers for new format routines.
*
* Rev 1.2 11 Nov 1993 17:14:36 KEVINKES
* REmoved a parameter from FormatTrack,
*
* Rev 1.1 08 Nov 1993 13:40:44 KEVINKES
* Removed all signed variables and enumerated types.
*
* Rev 1.0 18 Oct 1993 17:12:56 KEVINKES
* Initial Revision.
*
*****************************************************************************/
/* COMMENTS: *****************************************************************
*
****************************************************************************/
/* CQD Function Templates: **************************************************/
dStatus cqd_CmdReportStatus
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
DeviceOpPtr dev_op_ptr
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdRetension
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dUDWordPtr segments_per_track
);
dStatus cqd_CmdSetSpeed
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte tape_speed
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdReportDeviceCfg
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
DriveCfgDataPtr drv_cfg
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdUnloadTape
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_DeselectDevice
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_Seek
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_CmdDeselectDevice
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dBoolean drive_selected
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_GetFDCType
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ConfigureDevice
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_GetRetryCounts
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord command
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_NextTry
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord command
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdFormat
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
FormatRequestPtr fmt_request
);
dStatus cqd_GetDeviceInfo
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dBoolean report_failed,
dUWord vendor_id
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_DoReadID
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord read_id_delay,
FDCStatusPtr read_id_status
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_GetDeviceError
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_GetDeviceType
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_FormatTrack
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord track
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdReportDeviceInfo
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
DeviceInfoPtr device_info
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_LookForDevice
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte drive_selector
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ChangeTrack
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord destination_track
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_LogicalBOT
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord destination_track
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ConnerPreamble
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dBoolean select
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_RWTimeout
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
DeviceIOPtr io_request,
/* OUTPUT PARAMETERS: */
dStatus *drv_status
);
dStatus cqd_HighSpeedSeek
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_GetStatus
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dUBytePtr status_register_3
);
dStatus cqd_CmdReadWrite
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
DeviceIOPtr io_request
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ReadIDRepeat
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdLoadTape
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
LoadTapePtr load_tape_ptr
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_NextGoodSectors
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_PauseTape
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdSelectDevice
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_RWNormal
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
DeviceIOPtr io_request,
/* OUTPUT PARAMETERS: */
dStatus *drv_status
);
dStatus cqd_ReadFDC
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dUByte *drv_status,
dUWord length
);
dStatus cqd_SetDeviceMode
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte mode
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ProgramFDC
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUBytePtr command,
dUWord length,
dBoolean result
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ReadWrtProtect
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dBooleanPtr write_protect
);
dStatus cqd_ReceiveByte
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord receive_length,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dUWordPtr receive_data
);
dStatus cqd_SendByte
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte command
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_DispatchFRB
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
ADIRequestHdrPtr frb
/* OUTPUT PARAMETERS: */
);
dStatus cqd_Report
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte command,
dUWordPtr report_data,
dUWord report_size,
/* UPDATE PARAMETERS: */
dBooleanPtr esd_retry
/* OUTPUT PARAMETERS: */
);
dStatus cqd_RetryCode
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
DeviceIOPtr io_request,
/* OUTPUT PARAMETERS: */
FDCStatusPtr fdc_status,
dStatusPtr op_status
);
dStatus cqd_SetBack
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord command
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_SenseSpeed
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte dma
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_WaitSeek
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord seek_delay
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_StartTape
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_StopTape
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_WaitActive
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_WaitCommandComplete
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord wait_time,
dBoolean non_interruptible
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_WriteReferenceBurst
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CalcPosition
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord block,
dUDWord number
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_DCROut
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte speed
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_ResetFDC
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ClearTapeError
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_CalcFmtSegmentsAndTracks
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_GetTapeParameters
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord segments_per_track
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ConfigureFDC
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_SetRamPtr
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte ram_addr
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdIssueDiagnostic
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
dUBytePtr command_string
/* OUTPUT PARAMETERS: */
);
dVoid cqd_InitDeviceDescriptor
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CmdSetTapeParms
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord segments_per_track,
TapeLengthPtr tape_length_ptr
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_PrepareTape
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
FormatRequestPtr fmt_request
);
dVoid cqd_InitializeRate
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte tape_xfer_rate
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_GetTapeFormatInfo
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
FormatRequestPtr fmt_request,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dUDWordPtr segments_per_track
);
dStatus cqd_SetRam
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte ram_data
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CMSSetupTrack
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
dBooleanPtr new_track
);
dStatus cqd_ReportCMSVendorInfo
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord vendor_id
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ReportConnerVendorInfo
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord vendor_id
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ReportSummitVendorInfo
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord vendor_id
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_ToggleParams
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUByte parameter
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_EnablePerpendicularMode
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dBoolean enable_perp_mode
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dBoolean cqd_AtLogicalBOT
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_DoFormat
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_BuildFormatHdr
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUWord header
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_VerifyMapBad
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
/* UPDATE PARAMETERS: */
DeviceIOPtr io_request
/* OUTPUT PARAMETERS: */
);
dStatus cqd_CheckMediaCompatibility
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_SetFWTapeSegments
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord segments_per_track
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dVoid cqd_SetTempFDCRate
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_SelectFormat
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUPTUT PARAMETERS: */
);
dVoid cqd_SetXferRates
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_SetFormatSegments
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context,
dUDWord segments_per_track
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);
dStatus cqd_PrepareIomega3010PhysRev
(
/* INPUT PARAMETERS: */
CqdContextPtr cqd_context
/* UPDATE PARAMETERS: */
/* OUTPUT PARAMETERS: */
);