*
* $Header: DH0:src/omti/dist/src/asminclude/RCS/omtistruct.i,v 1.1 92/11/25 02:10:45 Barnard Exp $
*
*

*
* Structure defines
*
*

* Struktur fuer Laufwerkscharakteristiken

				STRUCTURE	divechar,0

* Plattenunabhaengige Eintraege

				UBYTE		dc_resstat		; 00:	Initialisiere Controller
											;		beim naechsten Befehl
											; 01:	Init-String ist geschickt
											; 02:	Setze Controller mit Daten
											; ff:	Controller ist initialisiert und up
				UBYTE		dc_lun			; Select-Byte fuer Controller
				UWORD		dc_flags		; Flags fuer Device
				ULONG		dc_maxoff		; Anzahl der Bytes (!) auf der Platte
				ULONG		dc_parkpos		; Byte(!), auf das geparkt wird
				ULONG		dc_vector		; Vektor fuer Motor on/off

* Plattenabhaengige Eintraege, organisiert wie Parameter-Block

* Aufbau des OMIT-Init-Drive Blocks
				UWORD		dc_hicyl		; hoechster, anfahrbarer Cyl.
				UBYTE		dc_heads		; Anzahl Koepfe auf Platte
				UBYTE		dc_dummy0		; Dummy-Offset
				UWORD		dc_wrcur		; Write-Current-Reduce-Cylinder
				UWORD		dc_wrpre		; Write-Precomp-Cylinder

				UWORD		dc_step			; OMTI-codierte Steprate
				UWORD		dc_wrcyl		; Hoechster schreib-/lesbarer Cyl
				UWORD		dc_parkcyl		; Parkcylinder
				UWORD		dc_reserved		; Reserviert ($1e/1f)

* Eintraege, die als Init-Parameter dienen

				UBYTE		dc_wrprot		; Write-Protect-Byte
				UBYTE		dc_autopark		; Autopark-Byte
				UBYTE		dc_init_2		; Init-Felder auf Para-Block
				UBYTE		dc_init_3
				UBYTE		dc_init_4
				UBYTE		dc_init_5
				UBYTE		dc_init_6
				UBYTE		dc_init_7
				UBYTE		dc_init_8
				UBYTE		dc_init_9
				UBYTE		dc_init_a
				UBYTE		dc_init_b
				UBYTE		dc_init_c
				UBYTE		dc_init_d
				UBYTE		dc_init_e
				UBYTE		dc_init_f

				LABEL		DC_SIZE

				BITDEF		DC,MOTOR,0			; Bit, ob Motor laeuft oder nicht

* Struktur fuer Device

				STRUCTURE	dev,LIB_SIZE			; Device-Struktur am Anfang

				APTR		d_segment				; Pointer auf Codesegment

				STRUCT		d_char0,DC_SIZE			; Drive-Characteristics Drive 0
				STRUCT		d_char1,DC_SIZE			; Drive-Characteristics Drive 1

				APTR		d_CurIoB				; Current IORequest
				APTR		d_data					; Zeiger auf den zu uebertragenden Datenblock
				ULONG		d_blocks				; Anzahl der zu uebertragenden Blocks im Current Request
				UWORD		d_qcnt					; Anzahl der Requests in der Warteschlange
				STRUCT		d_qlist,LH_SIZE			; List fuer Requests

				STRUCT		d_int,IS_SIZE			; Struktur fuer den Interrupt-Driver

				UBYTE		d_error					; Fehlerflag: 00: Alles ok
													;             FF: Ankommende Bytes sind Sense-Bytes
				UBYTE		d_pad					; Dummy-Padbyte

				UBYTE		d_COM0					; Felder fuer OMTI-Kommmandos
				UBYTE		d_COM1					; Data 1
				UBYTE		d_COM2					; Data 2
				UBYTE		d_COM3					; Data 3
				UBYTE		d_COM4					; Data 4
				UBYTE		d_COM5					; Data 5

				UBYTE		d_init0					; in diesen Feldern wird der InitDrive-Request
				UBYTE		d_init1					; fuer die richtigen Drive-Parameter aufgebaut
				UBYTE		d_init2
				UBYTE		d_init3
				UBYTE		d_init4
				UBYTE		d_init5
				UBYTE		d_init6
				UBYTE		d_init7
				UBYTE		d_init8
				UBYTE		d_init9
				UBYTE		d_inita
				UBYTE		d_initb
				UBYTE		d_initc
				UBYTE		d_initd
				UBYTE		d_inite
				UBYTE		d_initf

				LABEL		d_Sizeof

* Dieses Bit wird gesetzt, wenn das Device einen Request queued

				BITDEF	IOF,QUEUED,6
