home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 02 / praxis / spool.def < prev    next >
Text File  |  1989-11-15  |  3KB  |  90 lines

  1. (********************************************************)
  2. (*                   SPOOL.MOD                          *)
  3. (*    Definitions-Modul zur Ansteuerung des DOS-PRINT   *)
  4. (*         über den Multiplexer-Interrupt 2FH           *)
  5. (*      (C) Copyright 1989,1990 Jörg Heuser & toolbox   *)
  6. DEFINITION MODULE Spool;
  7.  
  8. (* Spool stellt die notwendigen Prozeduren zur Verfügung
  9.    um auf den DOS-Spooler 'PRINT' zugreifen zu können.
  10. *)
  11.  
  12. TYPE
  13.    QueueEntryTyp  = ARRAY[0..63] OF CHAR;
  14.    QueueTyp       = ARRAY[0..31] OF QueueEntryTyp;
  15.  
  16. (* Ein Queue-Eintrag besteht aus einem 64 Byte langem
  17.    String, der neben dem Dateinamen auch den kompletten
  18.    Pfad und auch die Laufwerksbezeichnung enthält.
  19.    Die Queue besteht aus maximal 32 Einträgen, die alle
  20.    64 Byte lang sind. Ist also 2048 Bytes groß.
  21. *)
  22.  
  23. PROCEDURE GetInstalledState(): CARDINAL;
  24.  
  25. (* 'GetInstalledState' überprüft ob der DOS-Spooler schon
  26.    installiert ist und ob er eventuell überhaupt installiert
  27.    werden kann.
  28.  
  29.    Rückgabe :   0 : PRINT ist noch nicht installiert
  30.                 1 : PRINT kann nicht installiert werden
  31.               255 : PRINT ist installiert
  32. *)
  33.  
  34. PROCEDURE SubmitFile(Q : QueueEntryTyp);
  35.  
  36. (* 'SubmitFile' übergibt eine Datei in die Warteschlange
  37.    des DOS-Spoolers. Der FileName muß Laufwerk, Pfad und
  38.    Dateinamen enthalten ! Im Dateinamen sind keine Joker-
  39.    zeichen erlaubt ! Nach 'SubmitFile' sollte immer mit
  40.    'Error' ein eventuell aufgetretener Fehler abgefragt
  41.    werden.
  42. *)
  43.  
  44. PROCEDURE CancelFile(Q : QueueEntryTyp);
  45.  
  46. (* 'CancelFile' entfernt eine Datei aus der Warteschlange
  47.    des DOS-Spoolers. Übrigens sind hier Jokerzeichen
  48.    ('*','?') im Dateinamen erlaubt !
  49. *)
  50.  
  51. PROCEDURE CancelAllFiles();
  52.  
  53. (* 'CancelAllFiles' entfernt alle Dateien aus der Warte-
  54.    schlange des Spoolers.
  55. *)
  56.  
  57. PROCEDURE Status(VAR Queue : QueueTyp);
  58.  
  59. (* 'Status' liefert ein Array mit den maximal 32 Datei-
  60.    einträgen der Warteschlange.
  61. *)
  62.  
  63. PROCEDURE EndOfStatus();
  64.  
  65. (* 'EndOfStatus' setzt die Abarbeitung der Warteschlange
  66.    fort, wenn sie mit 'Status' angehalten wurde.
  67. *)
  68.  
  69. PROCEDURE Error(): CARDINAL;
  70.  
  71. (* 'Error' liefert nach einem Fehler die genaue Fehler-
  72.    nummer. Nach 'SubmitFile' muß mit 'Error' die erfolg-
  73.    reiche Durchführung der Operation geprüft werden.
  74.  
  75.    Retourniert wird der Fehlercode :
  76.  
  77.    Fehlercode :   0 : OK
  78.                   1 : PRINT nicht installiert
  79.                   2 : Datei nicht gefunden
  80.                   3 : ungültige Pfadangabe
  81.                   4 : zu viele offene Dateien
  82.                   5 : Zugriff verweigert
  83.                   8 : Warteschlange voll
  84.                   9 : Spooler ist beschäftigt
  85.                  12 : Dateiname zu lang
  86.                  15 : ungültige Laufwerksangabe                              *)
  87.  
  88. END Spool.
  89.  
  90.