home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1989-11-15 | 2.8 KB | 90 lines |
- (********************************************************)
- (* SPOOL.MOD *)
- (* Definitions-Modul zur Ansteuerung des DOS-PRINT *)
- (* über den Multiplexer-Interrupt 2FH *)
- (* (C) Copyright 1989,1990 Jörg Heuser & toolbox *)
- DEFINITION MODULE Spool;
-
- (* Spool stellt die notwendigen Prozeduren zur Verfügung
- um auf den DOS-Spooler 'PRINT' zugreifen zu können.
- *)
-
- TYPE
- QueueEntryTyp = ARRAY[0..63] OF CHAR;
- QueueTyp = ARRAY[0..31] OF QueueEntryTyp;
-
- (* Ein Queue-Eintrag besteht aus einem 64 Byte langem
- String, der neben dem Dateinamen auch den kompletten
- Pfad und auch die Laufwerksbezeichnung enthält.
- Die Queue besteht aus maximal 32 Einträgen, die alle
- 64 Byte lang sind. Ist also 2048 Bytes groß.
- *)
-
- PROCEDURE GetInstalledState(): CARDINAL;
-
- (* 'GetInstalledState' überprüft ob der DOS-Spooler schon
- installiert ist und ob er eventuell überhaupt installiert
- werden kann.
-
- Rückgabe : 0 : PRINT ist noch nicht installiert
- 1 : PRINT kann nicht installiert werden
- 255 : PRINT ist installiert
- *)
-
- PROCEDURE SubmitFile(Q : QueueEntryTyp);
-
- (* 'SubmitFile' übergibt eine Datei in die Warteschlange
- des DOS-Spoolers. Der FileName muß Laufwerk, Pfad und
- Dateinamen enthalten ! Im Dateinamen sind keine Joker-
- zeichen erlaubt ! Nach 'SubmitFile' sollte immer mit
- 'Error' ein eventuell aufgetretener Fehler abgefragt
- werden.
- *)
-
- PROCEDURE CancelFile(Q : QueueEntryTyp);
-
- (* 'CancelFile' entfernt eine Datei aus der Warteschlange
- des DOS-Spoolers. Übrigens sind hier Jokerzeichen
- ('*','?') im Dateinamen erlaubt !
- *)
-
- PROCEDURE CancelAllFiles();
-
- (* 'CancelAllFiles' entfernt alle Dateien aus der Warte-
- schlange des Spoolers.
- *)
-
- PROCEDURE Status(VAR Queue : QueueTyp);
-
- (* 'Status' liefert ein Array mit den maximal 32 Datei-
- einträgen der Warteschlange.
- *)
-
- PROCEDURE EndOfStatus();
-
- (* 'EndOfStatus' setzt die Abarbeitung der Warteschlange
- fort, wenn sie mit 'Status' angehalten wurde.
- *)
-
- PROCEDURE Error(): CARDINAL;
-
- (* 'Error' liefert nach einem Fehler die genaue Fehler-
- nummer. Nach 'SubmitFile' muß mit 'Error' die erfolg-
- reiche Durchführung der Operation geprüft werden.
-
- Retourniert wird der Fehlercode :
-
- Fehlercode : 0 : OK
- 1 : PRINT nicht installiert
- 2 : Datei nicht gefunden
- 3 : ungültige Pfadangabe
- 4 : zu viele offene Dateien
- 5 : Zugriff verweigert
- 8 : Warteschlange voll
- 9 : Spooler ist beschäftigt
- 12 : Dateiname zu lang
- 15 : ungültige Laufwerksangabe *)
-
- END Spool.
-