•  Back 
  •  Dateifunktionen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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.19  Fopen                                                      TOS

 Name:         »file open« - öffnet eine Datei.

 Gemdosnummer: 61

 Deklaration:  int32_t Fopen ( const int8_t *fname, int16_t mode );

 Beschreibung: Die GEMDOS-Routine Fopen dient dazu, Dateien zu öffnen. 
               Es gilt:

                Parameter  Bedeutung

                fname      Name der zu öffnenden Datei
                mode       Modus als Bitvektor
                            Bit-0..2  = Zugriffsmodus
                                       0 = nur lesen
                                       1 = nur schreiben
                                       2 = lesen und schreiben
                            Bit-3     = reserviert (auf Null setzen)
                            Bit-4..6  = Sharing-Modus
                            Bit-7     = Vererbungsflag
                           Die Bits 3..7 stehen nur bei einem GEMDOS 
                           mit Filelocking Erweiterungen (Cookie _FLK 
                           testen) zu Verfügung. Das Vererbungsflag 
                           bestimmt, ob vom Prozess gestartete Childs 
                           das entsprechende Handle erben und die 
                           gleichen Zugriffsrechte haben. Wenn das 
                           Flag gesetzt ist, muß das Child jede Datei, 
                           die es nutzen möchte, erneut öffnen und hat 
                           die gleichen Restriktionen wie jeder andere 
                           Prozess. Der Sharing-Modus legt fest, auf 
                           welche Art andere Prozesse auf die Datei 
                           zugreifen dürfen, wenn sie erst einmal 
                           geöffnet ist. Es gilt:
                            Sharing  Bedeutung

                            0        Kompatibilitätsmodus (wird von 
                                     den Programmen benutzt, die 
                                     nichts von den 
                                     Netzwerkerweiterungen wissen).
                            1        Lesen und Schreiben verbieten 
                                     (die Datei darf kein zweites Mal 
                                     geöffnet werden).
                            2        Schreiben verbieten (die Datei 
                                     darf nur noch zum Lesen geöffnet 
                                     werden).
                            3        Lesen verbieten (die Datei darf 
                                     nur noch zum Schreiben geöffnet 
                                     werden).
                            4        Alles ist erlaubt.

               Achtung: Das File-Locking kann beratend implementiert 
               sein, d.h. daß es möglich sein kann, auf Bereiche trotz 
               eines vorgenommenen Lockings zuzugreifen. Programme, 
               die File-Locking unterstützen, sollten daher vor einem 
               Zugriff selbst einen Lock setzen und diesen unmittelbar 
               nach dem Zugriff wieder freigeben. So ist garantiert, 
               daß etwaige Locks anderer Seiten respektiert werden.

               In MiNT und MagiC stehen darüber hinaus die folgenden 
               Modi zur Verfügung:

                mode   Bedeutung

                0x080  reserviert für MiNT.
                0x100  Datei bei I/O nicht blockieren.
                0x200  Datei erstellen, falls diese nicht exist.
                0x400  existierende Datei auf Null-Länge setzen.
                0x800  existierende Datei nicht öffnen.

               Hinweis: Für einige Geräte existieren bereits 
               Standardkanal-Nummern, so daß es nicht notwendig ist, 
               Fopen aufzurufen. Im einzelnen:

                Kanal  Bedeutung

                0      Tastatur (stdin)
                1      Bildschirm (stdout)
                2      serielle Schnittstelle (stdaux)
                3      parallele Schnittstelle (stdprn)

               Lt. Atari sind die Standardkanal-Nummern 4 und 5 
               reserviert, so daß normale Kanalnummern für Dateien 
               erst bei 6 beginnen.

               Darüber hinaus lassen sich auch die folgenden 
               zeichenorientierten Geräte öffnen:

                  ∙ PRN: (parallele Schnittstelle, -3)
                  ∙ AUX: (serielle Schnittstelle, -2)
                  ∙ CON: (Konsole, -1)

               Symbolische Links werden von dieser Funktion 
               automatisch dereferenziert, d.h. wenn die Datei bereits 
               als symbolischer Link existiert, wird die davon 
               referenzierte Datei geöffnet bzw., je nach Modus, auf 
               die Länge Null gebracht.

 Ergebnis:     Die Funktion liefert die entsprechende Dateikennung, 
               oder eine negative Fehlermeldung zurück.

 Verfügbar:    Alle GEMDOS Versionen.

 Gruppe:       Dateifunktionen

 Querverweis:  Binding   Fcreate   Ein-/Ausgabekanäle des BIOS 
               F_SETLK