•  Back 
  •  Der Aufbau eines XFS 
  •  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-File11.21.2.15  xfs_drv_open                                           TOS

 Name:         »xfs_drv_open« - DMD (Mediach) testen/initialisieren.

 Parameter:

                a0 =     DMD *
                -> d0 =  long errcode

 Beschreibung: MagiC unterstützt genau 26 gleichzeitig aktive 
               Dateisysteme denen die Buchstaben 'A'..'Z' zugeordnet 
               sind. Dieser Eintrag hat zwei Aufgaben:

                 1. Beim ersten Zugriff auf ein Laufwerk (etwa D:) 
                    legt der Kernel einen DMD (drive media descriptor) 
                    an und "bietet" diesen den XFSs an. Der Eintrag 
                    d_xfs ist noch ein Nullzeiger, d_drive ist 
                    initialisiert (zwischen 0 und 25, entsprechend 
                    'A'..'Z').

                    Die XFS-Treiber versuchen nun, auf dem Laufwerk 
                    "ihr" Dateisystem zu erkennen. Falls dies gelingt, 
                    müssen d_xfs und d_root initialisiert werden, der 
                    Rückgabewert ist dann E_OK. Andernfalls wird 
                    EDRIVE gemeldet, und der Kernel probiert das 
                    nächste XFS.

                    Achtung: Die root darf während der Lebensdauer 
                    eines gemounteten Dateisystems nicht freigegeben 
                    werden. Der Referenzzähler der root sollte mit 1 
                    vorbesetzt werden, um zu verhindern, daß er per 
                    free_DD freigegeben wird. In den Versionen vor 
                    MagiC 4.01 war dies nicht notwendig, weil der 
                    Referenzzähler (in unsauberer Weise) vor dem 
                    Aufruf von path2DD nicht inkrementiert und nachher 
                    dekrementier wurde.

                 2. Beim wiederholten Zugriff ist d_xfs bereits 
                    initialisiert, und das XFS hat die Gelegenheit, 
                    auf Mediumwechsel zu testen. Ist alles in Ordnung, 
                    muß E_OK zurückgegeben werden. Ansonsten muß die 
                    Diskwechselroutine des Kernels aufgerufen und 
                    E_CHNG zurückgegeben werden. Den Zeiger auf die 
                    Diskwechselroutine des Kernels erhält man bei der 
                    Installation des XFS.

               Das interne DOS_XFS leitet den Aufruf an die 
               gleichnamige Funktion des DFS weiter, d.h. alle DFS- 
               Treiber werden durchprobiert.

 Gruppe:       Aufbau eines XFS

 Querverweis:  XFS-Konzept in MagiC