Showing changes from revision #2 to #3:
Added | Removed | Changed
En entrée | |
---|---|
R0 | 11 |
R1 | Pointeur sur le nom du dossier |
R2 | Pointeur sur zone mémoire où écrire les données retournées |
R3 | Nombre d’objets à lire |
R4 | Indice du fichier. |
R5 | Taille de la zone mémoire de sortie |
R6 | Wildcarded (si 0 “*” est utilisé) |
En sortie | |
---|---|
R0 | Inchangé |
R1 | Inchangé |
R2 | Zone mémoire |
R3 | Nombre d’objets retournés |
R4 | Prochain indice de fichier, ou -1 si la lecture est terminé |
C flag clear if R3 = 0, else set |
Cet appel permet de lire les fichiers et les informations d’un dossier spécifié. Il retourne dans la zone mémoire fournie le nom des fichiers et les informations relative à ces fichiers.
En sortie R4 contient le prochain indice de fichier.
Il n’y a aucune garantie que la fonction vous retourne le nombre de fichiers demandé. Cela est due à des contraintes liées à certains système de fichier.
Pour être sûr que vous avez bien récupéré tous les fichiers d’un dossier, l’appel de cette SWI doit être répété jusqu’à ce que R4 retourne -1.
Exemple de code:
repeat { call OS_GBPB 11 if (R3 <> 0) { process buffer } } until (R4 = -1)
En sortie R3 peut valoir 0 alors que le dossier n’est pas encore totalement lu.
Ne supposez pas que la lecture est terminée tant que R4 est différent de -1.