home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 01 / tricks / m_spoole.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-10-18  |  2.6 KB  |  65 lines

  1. /*** Anfang M_SPOOLE.C ************************************/
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <string.h>
  5.  
  6. /***********************************************************
  7. *    Autor: User-Club-Hannover & toolbox 1991              *
  8. *    Compiler: Turbo C++                                   *
  9. *    EINGABE: Filename                                     *
  10. *    AUSGABE: Status der Operation                         *
  11. *     00h  kein Fehler                                     *
  12. *     01h  Funktionsaufruf falsch                          *
  13. *     02h  Datei nicht gefunden                            *
  14. *     03h  Pfad nicht gefunden                             *
  15. *     04h  zu viele offene Dateien                         *
  16. *     05h  Zugriff verweigert                              *
  17. *     08h  Ausgabeliste voll                               *
  18. *     09h  Treiber belegt                                  *
  19. *     12h  Dateiname zu lang                               *
  20. *     15h  kein Fehler oder falsches Laufwerk              *
  21. *    Funktion: Routine trägt File in die aktuelle Druck-   *
  22. *    Liste des Printerspoolers ein.                        *
  23. ***********************************************************/
  24. int m_print(char *Fname)
  25. {
  26. static struct Liste
  27. {
  28.  char Prior;
  29.  int  F_Offset;
  30.  int  F_Segment;
  31.  char Filename[12];
  32.  } Tabelle;
  33.  
  34.  strcat(Fname, NULL);
  35.  strcpy(Tabelle.Filename, Fname);
  36.  
  37.  asm mov Tabelle.Prior, 0;
  38.  asm lea dx, Tabelle;            /* Tabelle  DS:dx        */
  39.  asm lea di, Tabelle.Filename;   /* Adr.Filename DS:di    */
  40.  asm mov Tabelle.F_Offset, di;   /* in Tabelle eintragen  */
  41.  asm mov Tabelle.F_Segment, DS;
  42.  asm mov ax, 0101h               /* Funktionsnummer       */
  43.  asm int 2fh                     /* Multiplexer Interrupt */
  44.  return(_AL);
  45. }
  46.  
  47. /***********************************************************
  48. *    Autor: User-Club Hannover & toolbox 1991              *
  49. *    Compiler: Turbo C++                                   *
  50. *    EINGABE: Keine                                        *
  51. *    AUSGABE: Installationsstatus Druckerspooler           *
  52. *    Funktion: Routine ermittelt den Status des Printer-   *
  53. *    spoolers und gibt folgende Werte zurück:              *
  54. *     FFh  installiert                                     *
  55. *     01h  nicht installiert, Installation nicht möglich   *
  56. *     00h  nicht installiert, Installation möglich         *
  57. ***********************************************************/
  58. int m_installed (void)
  59. {
  60.  asm mov ax, 0100h                /* Funktionsnummer      */
  61.  asm int 2fh
  62.  return(_AL);
  63. }
  64. /*******  Ende M_SPOOLE.C  ********************************/
  65.