•  Back 
  •  Der Aufbau eines DFS 
  •  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.20.1.15  dfs_sfirst                                             TOS

 Name:         »dfs_sfirst«

 Parameter:

                   a0  =  FD * d 
                   a1  =  DIR *dir 
                   d0  =  long pos 
                   d1  =  DTA *dta 
                -> d0  =  long errcode 
                 ggf. 
                   a0  =  LINK *l 

 Beschreibung: Der DOS_XFS hat bereits die Datei angesteuert. Das DFS 
               braucht lediglich für den nächsten Fsnext die 
               reservierten Einträge dta_usr1 und dta_usr2 zu 
               initialisieren, damit die Stelle wiedergefunden wird.

               Dateideskriptoren (FDs) können in dta_usr nicht 
               verwendet werden, weil das Freigeben bei einer "garbage 
               collection" nicht verhindert werden kann. Die FDs 
               einfach zu blockieren, ist auch nicht möglich, da man 
               das Ende der Fsfirst/Fsnext Operation nicht vorhersagen 
               kann. Eine bereits erfolglose Suche kann z.B. durch 
               Löschen von dta_sname markiert werden.

               <pos> zeigt bereits auf den nächsten Eintrag, also 32 
               Bytes hinter <dir>. Bei symbolischen Links muß das DFS 
               entsprechend reagieren, in d0 ELINK übergeben und in a0 
               einen Zeiger auf den Link. Ein Link beginnt mit einem 
               Wort (16 Bit) für die Länge des Pfads, gefolgt vom Pfad 
               selbst.

               Achtung: Die Länge muß INKLUSIVE abschließendes 
               Nullbyte und außerdem gerade sein. Der Link muß auf 
               einer geraden Speicheradresse liegen.

               Der Puffer für den Link kann statisch oder auch 
               flüchtig sein, da der Kernel die Daten sofort 
               umkopiert, ohne daß zwischendurch ein Kontextwechsel 
               stattfinden kann.

 Gruppe:       Aufbau eines DFS

 Querverweis:  DFS-Konzept in MagiC