Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File5.9.5 Fcntl TOS Name: »Fcntl« - Kontrolloperationen auf einem File ausführen.
Gemdosnummer: 260
Deklaration: int32_t Fcntl ( int16_t fh, int32_t arg, int16_t cmd );
Beschreibung: Die Funktion führt verschiedene Kontrolloperationen auf
der Datei mit der Handle fh duch. Der Parameter cmd beschreibt die gewünschte Operation, und kann folgende
Werte annehmen (arg ist dabei vom gewählten Kommando
abhängig):
F_DUPFD (0): Dupliziert das angegebene Datei-Handle. Für das neue
Intervall gilt: arg <= Handle < 32. Falls in dem
angegebenen Bereich keine freien Handles existieren,
wird die Fehlermeldung ENHNDL zurückgegeben. Ein Aufruf
von Fdup (handle) ist also äquivalent zu Fcntl (handle,
6L, F_DUPFD).
F_GETFD (1): Dieses Kommando gibt das nicht-vererbungs-Flag für das
Handle fh zurück. Das Flag ist 0, wenn per Pexec gestartete Tochterprozesse die angegebene Datei erben
sollen, anderenfalls hat es den Wert 1. Der Parameter
arg besitzt keine Bedeutung.
F_SETFD (2): Dieses Kommando setzt das nicht-vererbungs-Flag für das
Handle f. arg gibt an, ob ein mittels Pexec gestarteter
Child Processes die Dateihandle erbt. Ein Wert von 1
steht für nicht vererben, ein Wert von 0 für vererben.
Der Defaultwert des Flags ist 0 für die Standard
GEMDOS-Handles im Bereich von 0...5 und 1 für alle
anderen, also nicht-Standard-Handles.
F_GETFL (3): Dieses Kommando gibt die Dateihandle-Flags zurück, die
durch den Benutzer verändert werden können. Dabei
handelt es sich um den bei Fopen angegebenen Parameter
mode, sofern dieser nicht durch einen anderen Aufruf
von Fcntl verändert worden ist.
F_SETFL (4): Dieses Kommando setzt die Dateihandle-Flags neu, die
durch den Benutzer verändert werden können (andere Bits
werden ignoriert, und sollten auf den Wert 0 gesetzt
werden). Es ist nicht möglich, den Schreib-Lese Modus
bzw. die Modi für Filesharing zu verändern.
F_GETLK (5): Dieses Kommando testet auf einen Lock auf einer Datei.
Der Parameter arg ist ein Zeiger auf eine
flock-Struktur, in der Informationen über einen Datei-
Lock gespeichert sind. Falls ein Lock existiert, wird
er in die Struktur kopiert. Dabei wird in der
Komponenten l_pid die PID des sperrenden Prozesses
vermerkt. Falls kein Lock existiert, wird die
Komponente l_type auf den Wert F_UNLCK gesetzt. Für den
Fall, daß der Lock von einem anderen Rechner im
Netzwerk gehalten wird, wird die Komponente l_pid auf
einen vom NFS (Netzwerk-Filesystem) definierten Wert
gesetzt. Für diesen Wert gilt: 0x1000 <= l_pid <=
0xffff. Man denke daran, daß normale PID's einen Wert
kleiner als 1000 besitzen.
F_SETLK (6): Dieses Kommando setzt (l_type = F_RDLCK oder F_WRLCK)
bzw. löscht (l_type = F_UNLCK) einen beratenden Lock
auf eine Datei. Falls diese eine FIFO-Queue (First-in-
First-Out) ist, muß die gesamte Datei auf einmal
behandelt werden. Für den Fall, daß der Lock mit von
anderen Prozessen gesetzten Locks kollidiert, wird der
Wert ELOCKED zurückgegeben. Wenn versucht wird, einen
nicht-existierenden Lock zu löschen, wird der Wert
ENSLOCK zurückgeliefert. Zu beachten ist, daß sich
Read-Locks überlappen dürfen, Write-Locks hingegen
nicht. Falls eine gelockte Datei geschlossen wird, oder
der entsprechende Prozess terminiert, werden alle
gesetzten Locks automatisch aufgehoben (d.h.
zurückgesetzt).
F_SETLKW (7): Analog F_SETLK, mit dem Unterschied, daß wenn der Lock
mit solchen von anderen Prozessen kollidiert, nicht
ELOCKED zurückgeliefert wird, sondern der sperrende
Prozess suspendiert wird, bis das Locking vom anderen
Prozess aufgehoben wird.
FSTAT (0x4600): Ermittelt die Attribute einer Datei. Im Parameter arg wird ein Zeiger auf eine XATTR-Struktur
zurückgeliefert, so als ob ein Aufruf von Fxattr gemacht worden wäre. Das Kommando wird in MagiC ab
Version 3.0 unterstützt.
FIONREAD (0x4601): Im Parameter arg wird ein Zeiger auf einen Long-Wert
zurückgegeben, in dem die Anzahl der Bytes angegeben
ist, die z.Zt. vom angegebenen Datei-Handle gelesen
werden können, ohne daß der Prozess blockiert wird. Die
Angabe ist nicht zwingend korrekt, da die genaue Anzahl
in einigen Fällen nur geschätzt werden kann. Das
Kommando wird in MagiC ab Version 3.0 unterstützt.
FIONWRITE (0x4602): Analog FIONREAD, nur wird hier die Anzahl der Bytes,
die z.Zt. geschrieben werden können, ausgegeben. Das
Kommando wird in MagiC ab Version 3.0 unterstützt.
FUTIME (0x4603): z.Zt. keine Informationen bekannt.
FTRUNCATE (0x4604): Der Parameter arg ist ein Zeiger auf einen Long-Wert,
der die neue Länge der zu verkürzenden Datei enthält.
Das Kommando wird in MagiC ab Version 3.0 unterstützt.
FIOEXECPT (0x4605): Im Parameter arg wird ein Zeiger auf einen Long-Wert
zurückgegeben, in dem steht, ob sich die Datei in einem
Ausnahmezustand befindet (1) oder nicht (0).
Die folgenden Kommandos sind auf alle Terminal-Devices
wie die Console oder ein Pseudo-Terminal anzuwenden:
TIOCGETP (0x5400): Dieses Kommando gibt über den Parameter arg einen
Zeiger auf eine sgttyb-Struktur zurück, in der die
Parameter des Terminals definiert sind.
TIOCSETN (0x5401): Über dieses Kommando kann ein neue sgttyb-Struktur
gesetzt werden, welche die Parameter des Terminals
festlegt. Es müssen zeurst die Parameter des Terminals
erfragt werden, die gewünschten verändert und dann mit
diesem Kommando gesetzt werden.
TIOCGETC (0x5402): Dieses Kommando liefert über den Parameter arg einen
Zeiger auf eine tchars-Struktur zurück, in welcher die
Terminal-Kontrollzeichen definiert sind.
TIOCSETC (0x5403): Über dieses Kommando können neue Terminal-
Kontrollzeichen gesetzt werden. Dazu übergibt man in
arg einen Zeiger auf eine tchars-Struktur, in welcher
die Kontrollzeichen definiert sind. Wird ein Zeichen
auf 0 gesetzt, so wird die entsprechende Funktion
gesperrt.
TIOCGLTC (0x5404): Dieses Kommando liefert über den Parameter arg einen
Zeiger auf eine ltchars-Struktur zurück, in welcher die
erweiterten Terminal-Kontrollzeichen definiert sind.
TIOCSLTC (0x5405): Über dieses Kommando können neue erweiterte Terminal-
Kontrollzeichen gesetzt werden. Dazu übergibt man in
arg einen Zeiger auf eine ltchars-Struktur, in welcher
die Kontrollzeichen definiert sind. Wird ein Zeichen
auf 0 gesetzt, so wird die entsprechende Funktion
gesperrt.
TIOCGPGRP (0x5406): Dieses Kommando liefert über den Parameter arg einen
Zeiger auf die Prozess-Gruppe des Terminals zurück.
TIOCSPGRP (0x5407): Über dieses Kommando kann die Prozess-Gruppe des
Terminals eingestellt werden. Dazu wird über den
Parameter arg ein Zeiger auf die entsprechende
Prozess-Gruppe übergeben. Sollten Prozesse aus anderen
Gruppen versuchen, auf dieses Terminal (lesend oder
schreibend) zuzugreifen, so werden ihnen Job-Control-
Signale (SIGTSTP etc.) gesendet.
TIOCFLUSH (0x5408): Über dieses Kommando kann die Art des Flushings
spezifiziert werden. Dazu wird über den Parameter arg ein Zeiger auf einen Long-Wert übergeben, der die
gewünschte Art beschreibt. Dabei gilt:
Wert Bedeutung
0 Ein- und Ausgabe flushen
Bit-0 gesetzt Eingabe flushen
Bit-1 gesetzt Ausgabe flushen
TIOCSTOP (0x5409): Dieses Kommando unterbricht die Ausgabe auf das
Terminal (ähnlich der Flußkontrolle per Control-S). Der
Parameter arg ist in diesem Zusammenhang ohne
Bedeutung.
TIOCSTART (0x540a): Dieses Kommando sorgt dafür, daß die Ausgabe des
Terminals wieder aufgenommen wird (ähnlich der
Flußkontrolle per Control-Q). Der Parameter arg ist in
diesem Zusammenhang ohne Bedeutung.
TIOCGWINSZ (0x540b): Über dieses Kommando kann die Fenstergröße für ein
Textfenster erfragt werden. Dazu wird über den
Parameter arg ein Zeiger auf eine winsize-Struktur
zurückgeliefert. Falls eine Komponente dieser Struktur
den Wert 0 besitzt, so bedeutet dies, daß der
entsprechende Wert unbekannt ist.
TIOCSWINSZ (0x540c): Über dieses Kommando kann die Fenstergröße gesetzt
werden. Dazu wird über den Parameter arg ein Zeiger auf
eine winsize-Struktur übergeben, die die notwendigen
Informationen enthält. Zu beachten ist in diesem
Zusammenhang, daß der Kernel den Aufruf zwar
bearbeitet, die Ausführung aber Window-Managern
überläßt. Diese senden auch das Signal SIGWINCH, falls
notwendig.
TIOCGXKEY (0x540d): Dieses Kommando ermittelt die Definition einer
Funktions- bzw. Cursortaste. Dazu wird über den
Parameter arg ein Zeiger auf eine xkey-Struktur
übergeben. Die Komponente xk_num der Struktur muß dabei
mit der gewünschten Taste gefüllt werden:
xk_num Taste
0-9 F1-F10
10-19 F11-F20 (über shift erreichbar)
20 Cursor hoch
21 Cursor runter
22 Cursor nach rechts
23 Cursor nach links
24 Help
25 Undo
26 Insert
27 Clr/Home
28 Shift + Cursor hoch
29 Shift + Cursor runter
30 Shift + Cursor nach rechts
31 Shift + Cursor nach links
Der zu der Taste gehörende String (es gilt die
Konvention der Sprache C) wird über die Komponente
xk_def zurückgeliefert.
TIOCSXKEY (0x540e): Über dieses Kommando kann die Definition einer
Funktions- bzw. Cursortaste gesetzt werden. Dazu
übergibt man über den Parameter arg einen Zeiger auf
eine xkey-Struktur, in der die Komponenten xk_num und
xk_def bereits gesetzt sein müssen. Nach Ausführung des
Kommandos wird dann per Fread der in xk_def angegebene
String (statt ASCII-0) zurückgeliefert. Diese
Übersetzung findet jedoch nur statt, wenn das Programm
per Pdomain in die MiNT-Domain gesetzt wurde und die
Zeichen vom Terminal mittels Fread gelesen werden. Da
der in xk_def übergebene String nullterminiert sein
muß, können auf diese Art und Weise maximal 7 Zeichen
übergeben werden.
TIOCIBAUD (0x5412): Über dieses Kommando kann die Baudrate für die Eingabe
des Terminals eingestellt werden. Dazu wird über den
Parameter arg ein Zeiger auf einen Long-Wert übergeben,
in dem die Baudrate angegeben ist.
TIOCOBAUD (0x5413): Über dieses Kommando kann die Baudrate für die Ausgabe
des Terminals eingestellt werden. Dazu wird über den
Parameter arg ein Zeiger auf einen Long-Wert übergeben,
in dem die Baudrate angegeben ist.
TIOCCBRK (0x5414): Dieses Kommando löscht Bit-3 des TSR-Registers des
Peripherie-Bausteins MFP68901.
TIOCSBRK (0x5415): Dieses Kommando setzt Bit-3 des TSR-Registers des
Peripherie-Bausteins MFP68901. Dadurch wird ein Break
gesendet, sobald das Senderegister leer ist. Der
Parameter arg ist in diesem Zusammenhang ohne
Bedeutung.
TIOCGFLAGS (0x5416): Dieses Kommando gibt über den Parameter arg einen
Zeiger auf die Terminal-Kontrollflags zurück. Dieses
Kommando gibt in den unteren Bits des LONGS, auf den
der Parameter arg zeigt, die Terminal-Kontrollflags
(z.B. Anzahl Stop-Bits und Daten-Bits) zurück. Folgend
Bitmasken sind möglich:
Maske Bedeutung
0x0001 1 Stop-Bit
0x0002 1.5 Stop-Bits
0x0003 2 Stop-Bits
0x0000 8 Daten-Bits
0x0004 7 Daten-Bits
0x0008 6 Daten-Bits
0x000C 5 Daten-Bits
TIOCSFLAGS (0x5417): Dieses Kommando setzt neue Terminal-Kontrollflags, die
über den Parameter arg übergeben werden.
TIOCOUTQ (0x5418): Dieses Kommando gibt in arg einen Zeiger auf einen
Long-Wert zurück, in dem die Anzahl der Bytes im
Ausgabepuffer gespeichert ist.
TIOCSETP (0x5419): Funktioniert analog zu TIOCSETN, mit dem Unterschied,
daß (wenn das Terminal TIOCOUTQ unterstützt) die
Funktion erst dann zurückkehrt, wenn der Ausgabepuffer
leer ist.
TCURSOFF (0x6300): Dieses Kommando schaltet den Cursor des Terminals aus.
TCURSON (0x6301): Dieses Kommando schaltet den Cursor des Terminals ein.
TCURSBLINK (0x6302): Dieses Kommando schaltet den Cursor des Terminals auf
Blinken. Die Blinkrate läßt sich per TCURSSRATE
einstellen.
TCURSSTEADY (0x6303): Dieses Kommando schaltet das Cursor-Blinken des
Terminals wieder aus.
TCURSSRATE (0x6304): Dieses Kommando setzt die Cursor-Blinkrate des
Terminals. Dazu wird in arg ein Zeiger auf einen Word-
Wert übergeben, der angibt, nach wievielen Vertical-
Blanks der Cursor einmal invertiert werden soll.
TCURSGRATE (0x6305): Dieses Kommando ermittelt die Cursor-Blinkrate des
Terminals. Diese wird in einem Word-Wert zurückgegeben,
auf den arg zeigt.
Die folgenden Kommandos sind nur auf (als Dateien
geöffnete) Prozesse anwendbar. Um den eigenen Prozess
als Datei zu öffnen, muß als Pfad für Fopen 'U:PROC\prozessname.-1' angegeben werden. Dabei wählt
die Extension -1 den eigenen, und -2 den Parent-
Prozess.
PBASEADDR (0x5002): Im Parameter arg wird ein Zeiger auf die Adresse der
Basepage, des als Datei geöffneten Prozesses
zurückgegeben. Das Kommando wird in MagiC ab Version
3.0 unterstützt.
PPROCADDDR (0x5001): Im Parameter arg wird ein Zeiger auf die Adresse des
PCB (Prozess-Control-Blocks) zurückgegeben.
PCTXTSIZE (0x5003): Im Parameter arg wird ein Zeiger auf einen Long-Wert
geliefert, in dem die Länge des Prozess-Context-Blocks
angegeben ist. Zwei dieser Strukturen befinden sich im
Speicher vor dem PCB, dessen Adresse mit PPROCADDR
erfragt werden kann. Die erste Struktur ist dabei für
den aktuellen Prozesskontext verantwortlich, während
die zweite den gespeicherten Kontext des letzten
Systemaufrufs enthält.
PSETFLAGS (0x5004): Dieses Kommando setzt die Programmflags (entsprechend
denen im Programmheader. In arg wird dazu ein Zeiger
auf einen Long-Wert übergeben, dessen untere 16 Bits
die Programmflags darstellen.
PGETFLAGS (0x5005): Dieses Kommando ermittelt die aktuellen Programmflags.
Über den Parameter arg wird dabei ein Zeiger auf diese
Flags zurückgegeben.
PTRACESFLAGS (0x5006): Dieses Kommando setzt die Prozess-Tracing-Flags. Im
Parameter arg wird ein Zeiger auf einen Word-Wert
übergeben, der die Flags repräsentiert:
P_ENABLE = 1 (Tracen einschalten)
P_DOS = 2 (GEMDOS-Aufrufe tracen)
P_BIOS = 4 (BIOS-Aufrufe tracen)
P_XBIOS = 8 (XBIOS-Aufrufe tracen)
PTRACEGFLAGS (0x5007): Dieses Kommando ermittelt die aktuellen Prozess-Tracing
Flags. Über den Parameter arg wird ein Zeiger auf diese
Flags zurückgegeben.
PTRACEGO (0x5008): (ab MC-68020 Prozessor)
PTRACEFLOW (0x5009):PTRACESTEP (0x500a):PTRACE11 (0x500b): Diese Funktionen sollen einmal das Tracen von Prozessen
ermöglichen. Der zu tracende Prozess muß sich dafür im
Zustand 'suspendiert' befinden. Er wird durch die Trace
Funktion wieder aufgeweckt. Diese Funktionen sind z.Zt.
jedoch noch nicht implementiert.
PLOADINFO (0x500c): Dieses Kommando gibt in arg einen Zeiger auf die
ploadinfo Struktur zurück, in der Programmname und
Kommandozeile gespeichert sind.
PFSTAT (0x500d): Dieses Kommando entspricht FSTAT. Es ermittelt die
erweiterten Attribute der zum Prozess gehörenden
Programmdatei.
Die folgenden Kommandos sind nur auf Dateien anwendbar,
die Shared Memory repräsentieren:
SHMGETBLK (0x4d00): Dieses Kommando liefert die Adresse eines per SHMSETBLK
allozierten Speicherblocks zurück (bzw. einen
Nullzeiger bei Fehlern). Aus Kompatibilitätsgründen muß
der Parameter arg auf den Wert 0 gesetzt werden.
Hinweis: Verschiedene Prozesse können den Speicherblock
an unterschiedlichen Stellen in ihrem Adressraum sehen.
Aus diesem Grund darf ein Shared-Memory-Bereich keine
absoluten Zeiger auf Daten enthalten! Das Kommando wird
in MagiC ab Version 3.0 unterstützt.
SHMSETBLK (0x4d01): Im Parameter arg wird ein Zeiger auf einen
Speicherblock übergeben, welcher vorher per
Malloc/Mxalloc alloziert wurde. Der Speicher wird nun
unter dem Dateinamen der Datei mit Handle fh zum
Sharing angeboten. Die Datei muß dazu im
Unterverzeichnis U:\SHM angelegt werden. Der Block wird
derart markiert, daß er nicht beim Beenden des
Prozesses freigegeben wird. Die Länge wird ermittelt
und sowohl für die geöffnete Datei verwendet, als auch
in das Verzeichnis eingetragen. Ungültige Blockadressen
führen zum Fehlercode EIMBA oder zu einem Bus- oder
Adreßfehler. Das Kommando wird in MagiC ab Version 3.0
unterstützt.
Die folgenden Kommandos sind im Zusammenhang mit CD-
ROM's interessant:
CDROMREADOFFSET (0x4300): Dieses Kommando ermittelt die Blocknummer des ersten
Sektors der letzten Session einer Multi-Session-CD. Der
Parameter arg enthält nach dem Aufruf diese
Blocknummer.
CDROMPAUSE (0x4301): Dieses Kommando veranlaßt ein CD-ROM beim Abspielen
einer Audio-CD in den Status Pause zu treten.
CDROMRESUME (0x4302): Dieses Kommando veranlaßt ein CD-ROM das Abspielen
einer Audio-CD fortzusetzen (Pause wird aufgehoben).
CDROMPLAYMSF (0x4303): Dieses Kommando startet eine Audio-Wiedergabe. Der
Parameter arg ist ein Zeiger auf eine cdrom_msf-
Struktur, in die Anfangs- und Endzeit in MSF-Notation
einzutragen sind.
CDROMPLAYTRKIND (0x4304): Dieses Kommando startet eine Audio-Wiedergabe. Der
Parameter arg ist ein Zeiger auf eine cdrom_ti-
Struktur, in die Start- und Endposition in Track/
Index-Schreibweise einzutragen sind. Bei den meisten
Audio-CD's aus dem POP Bereich sind die Tracks nicht
weiter eingeteilt. Viele Klassik-CD's haben aber auch
innerhalb der Tracks noch eine feinere Einstellung in
Indices. Achtung: Nicht jedes CD-ROM kann gezielt
Indizes ungleich Eins ansteuern!
CDROMREADTOCHDR (0x4305): Dieses Kommando erlaubt es, Informationen über den
Aufbau einer CD zu ermitteln. Der Parameter arg ist ein
Zeiger auf eine cdrom_tochdr-Struktur, in welche der
erste und letzte Track der CD eingetragen werden.
CDROMREADTOCENTRY (0x4306): Dieses Kommando erlaubt es, Informationen über den
Aufbau einer CD zu ermitteln. Der Parameter arg ist ein
Zeiger auf eine cdrom_tocentry-Struktur, in welche die
gewünschten Informationen eingetragen werden.
CDROMSTOP (0x4307): Dieses Kommando stoppt das entsprechende Laufwerk.
CDROMSTART (0x4308): Dieses Kommando startet das entsprechende Laufwerk, und
zieht ggfs. die Schublade wieder ein.
CDROMEJECT (0x4309): Dieses Kommando sorgt für das Ausfahren der Schublade
des entsprechenden Laufwerkes.
CDROMVOLCTRL (0x430a): Dieses Kommando erlaubt es, die Lautstärke und
Kanalzuordnungen der einzelnen Audio-Kanäle zu
verändern. Der Parameter arg ist ein Zeiger auf eine
cdrom_volctrl-Struktur. Das Kommando ist zum
entsprechenden SunOS-Aufruf kompatibel. Achtung: Das
Verstellen der Lautstärke ist nicht bei allen Geräten
möglich!
CDROMSUBCHNL (0x430b): Dieses Kommando ermittelt die aktuellen Positionsdaten,
sowie den Audio-Status. Der Parameter arg ist ein
Zeiger auf eine cdrom_subchnl-Struktur.
CDROMREADMODE2 (0x430c): Dieses Kommando ermöglicht das Lesen von Modus-2
Sektoren. Solche Sektoren werden bei XA-CDs (Beispiel:
Photo-CD ohne Fehlerkorrektur oder Video-CD) verwendet
und enthalten 2336 Bytes. Der Parameter arg ist ein
Zeiger auf eine cdrom_read Struktur. Achtung: Nicht
alle Geräte können diese Sektortypen lesen, und nicht
alle Treiber bieten diese Funktion an.
CDROMREADMODE1 (0x430d): Dieses Kommando ermöglicht das Lesen von Modus-1
Sektoren. Solche Sektoren sind 2048 Bytes groß, und
werden auf normalen CD-ROMs benutzt. Der Parameter arg ist ein Zeiger auf eine cdrom_read-Struktur. Achtung: Nicht alle Geräte können diese Sektortypen lesen, und
nicht alle Treiber bieten diese Funktion an.
CDROMPREVENTREMOVAL (0x430e): Dieses Kommando sperrt die Auswurffunktion des
entsprechenden CD-ROMs. Dies kann z.B. nützlich sein,
wenn das Gerät an einem öffentlichen Ort steht, und man
dem CD-Klau vorbeugen will.
CDROMALLOWRMOVAL (0x430f): Dieses Kommando gibt den Auswurf des entsprechenden
CD-ROMs wieder frei.
CDROMAUDIOCTRL (0x4310): Diese Kommando erlaubt es, die Lautstärke und
Kanalzuordnungen der einzelnen Audio-Kanäle zu
verändern. Der Parameter arg ist ein Zeiger auf eine
cdrom_audioctrl-Struktur. Indem man die Komponente set
dieser Struktur auf den Wert Null setzt, können die
aktuellen Einstellungen erfragt werden. Achtung: Das
Verstellen der Lautstärke ist nicht bei allen Geräten
möglich!
CDROMREADDA (0x4311): Dieses Kommando ermöglicht das Lesen von Digital-Audio
(DA) Sektoren. Solche Sektoren sind 2352 Bytes groß,
und enthalten pro Sektor 588 Samples im 16-Bit-Stereo-
PCM Format. Der Parameter arg ist ein Zeiger auf eine
cdrom_read Struktur. Achtung: Nicht alle Geräte können
diese Sektortypen lesen, und nicht alle Treiber bieten
diese Funktion an.
CDROMGETMCN (0x4313): Dieses Kommando ermittelt die Media Catalog Number, die
theoretisch benutzt werden kann, um eine CD einwandfrei
zu identifizieren. Leider ist diese Information auf den
allerwenigsten CDs vorhanden. Der Parameter arg ist ein
Zeiger auf eine cdrom_mcn-Struktur.
CDROMGETTISRC (0x4314): Dieses Kommando ermittelt den Track-International-
Standard Recording-Code, der eine eindeutige
Kennzeichnung für einzelne Tracks darstellen soll. Der
Parameter arg ist ein Zeiger auf eine cdrom_tisrc-
Struktur.
Ergebnis: Die Funktion kann folgende Rückgabewerte liefern:
>= 0 : kein Fehler aufgetreten (Abweichungen s.o.)
EIHNDL : ungültiges Datei-Handle.
EINVFN : Kommando kann mit dem Handle fh nicht
ausgeführt werden.
Verfügbar: Seit der ersten in MultiTOS integrierten MiNT Version
1.04 und MagiC ab Version 3.0.
Gruppe: Dateifunktionen Querverweis: BindingFdupFlockFopenFxattrPgetpgrpPsetpgrpMetaioctlCD-ROM Definitionen