| Axel Rogat |
| Betriebssysteme und betriebssystemnahes Programmieren |
|   |
3.2.5: stat
| Kapitel 3 |
3.3.1: Aufrufparameter 
|
|   |
|   | 3.2.6 DOS-spezifische Aufrufe |   |
|   |
Es gibt noch einige Bibliotheksfunktionen, die bei DOS-Compilern zusätzlich
zu den von UNIX übernommenen eingeführt wurden. Die
Laufwerks-bezogenen Aufrufe machen unter UNIX beispielsweise gar keinen Sinn,
da es dort ja keine unterschiedlichen Laufwerke, sondern einen einheitlichen
Dateibaum gibt.
filelength läßt sich unter UNIX leicht mit einem
fstat-Aufruf realisieren:
Die entsprechenden Aufrufe stehen aus Kompatibilitätsgründen bis
heute (auch unter Windows) zur Verfügung, sind aber im Vergleich zu den
Funktionen mit Handles umständlich. Allerdings sind einige
Geräte-Zugriffe nur mit erweiterten FCBs möglich. Wir wollen
uns hier nicht ausführlicher mit FCBs beschäftigen.
UNIX/DOS
int getcurdir(int drive, char *directory);
schreibt nach directory den absoluten Pfad des aktuellen
Verzeichnisses auf Laufwerk Nummer
drive (0=Standard, 1=A:, 2=B:, etc.)
int getdisk(void);
liefert die Nummer des aktuellen Laufwerks
(0 für A:, 1 für B:, etc.)
int setdisk(int drive);
wechselt zum Laufwerk mit der angegebenen Nummer
(0 für A:, 1 für B:, etc.)
long filelength(int handle);
gibt zu einer offenen Datei die Länge in Bytes zurück (-1 im
Fehlerfall)
Ursprünglich war die DOS-Dateiverwaltung CP/M-kompatibel. Für den
Dateizugriff mußte mit einer Datenstruktur FCB (File Control
Block) und einem DOS-Interrupt gearbeitet werden.
|   |
3.2.5: stat
| Startseite |
3.3.1: Aufrufparameter 
|
|   |