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.20.1.5 dfs_drv_open TOS Name: »dfs_drv_open« Parameter: a0 = DMD *d -> 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 DOS_XFS bietet diesen wiederum der Reihe nach allen DFS- Treibern an. Der Eintrag d_dfs ist noch ein Nullzeiger, d_drive ist initialisiert (zwischen 0 und 25, entsprechend 'A'..'Z'). Die DFS-Treiber versuchen nun, auf dem Laufwerk "ihr" Dateisystem zu erkennen. Falls dies gelingt, müssen d_dfs und d_root initialisiert werden, der Rückgabewert ist dann E_OK. Andernfalls wird EDRIVE gemeldet, und das DOS_XFS probiert das nächste DFS. 2. Beim wiederholten Zugriff ist d_dfs bereits initialisiert, und das DFS 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 dabei per Dcntl. Gruppe: Aufbau eines DFS Querverweis: DFS-Konzept in MagiC