home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 247.lha / IAmSpooler_v1.3 / IAMSpooler.doc < prev    next >
Text File  |  1989-06-09  |  7KB  |  140 lines

  1. IAMSpooler 1.3; a Print Spooler
  2.  
  3. IAMSpooler 1.3 consists of three programs that allows programs to send
  4. printer output to disk for subsequent printing on the printer. The
  5. printing is automatic and in most cases does not require user
  6. intervention. To accomplish this task, the first program, a new device
  7. handler called SPL must be added to the system. The handler's
  8. specifications must be added to the file DEVS:mountlist and mounted
  9. before it can be used. This device handler is responsible for creating
  10. (spooling) the printer output on disk. The second program, Spooler, is
  11. responsible for managing the printer output files on disk. It controls
  12. the sequence in which the printer output will be printed. The third
  13. program, Spooler.driver, reads the spooled printer output files and
  14. sends the data to the printer. These programs make life easier when
  15. you have multiple programs wanting to send output to the printer at
  16. the same time. They can all send their output to the SPL: device and
  17. have their print printed as soon as the printer becomes available.
  18. SPL: device handler
  19. To allow printer output to be spooled, a special device was created
  20. called SPL:. Instead of printing to the PRT: device the program should
  21. print to the SPL: device. This device sends its output to a file on
  22. the logical device called Spool:. The logical device Spool: should be
  23. equated to a directory on disk or RAM:. The file being created can
  24. have a name associated with it by appending the name to the device
  25. name (i.e. SPL:mountlist). The output file created is named
  26. <systemtime.secs><systemtime.micros>. The name supplied with the
  27. device name is appended to this file as a comment. The name being
  28. supplied is limited to 31 characters. If no name is supplied, the name
  29. appended as a comment will default to "SPL". When a close is
  30. performed, the device informs the Spooler program of the existence of
  31. new printer output. In the event the Spooler program is not running no
  32. notification is sent. This release of the SPL handler cannot handle
  33. wild card characters in the filenames. Therefore the following example
  34. will produce unpredictable results.
  35.     ex.
  36.         COPY df0:text#? SPL:textdata
  37.  
  38. Spooler.driver
  39. This program opens the "printer.device" and sends the spooled printer
  40. output to the printer selected by Preference. It is initialized by the
  41. Spooler program and receives its printing requests from the Spooler
  42. program. The Spooler program looks on the logical device SpoolDriver:
  43. for the Spooler.driver program. This logical device must exist for
  44. initialization to complete successfully.
  45.  
  46. Spooler
  47. This program controls the printing and removal of spooled printer
  48. files. On initialization, the logical device "Spool:" is searched for
  49. spooled printer files. With each file found an entry is inserted in
  50. the queue and printing starts with the first entry in the queue.
  51. During execution it can receive spooled printer output notifications
  52. from the "SPL:" device handler, which will be inserted into the queue.
  53. The user is presented a window which shows the available functions
  54. that can be performed on entries in the queue. These functions are
  55. described below.
  56.     QUIT -This terminates the Spooler and the Spooler driver. If
  57. the printer is printing, the printing will stop. If
  58. there are entries in the queue, they will not be
  59. deleted.
  60.     PRINT -When a function causes the printer to stop, this will
  61. cause spooler to print the entry at the top of the
  62. print queue. Execution of This function is required
  63. upon initialization. When the printer is halted and an
  64. entry has been selected from the printer queue, this
  65. function will cause the selected entry to become the
  66. top entry in the printer queue and printing will start.
  67.     STOP -This causes the currently printing entry to stop. The
  68. entry remains at the top of the queue and printer is
  69. halted.
  70.     SUSPEND -This causes the spooler driver to stop printing the
  71. printer file and wait for a request to resume.
  72.     RESUME -This causes the spooler driver to resume printing of
  73. the printer file that was previously suspended.
  74.     RESTART -This causes the spooler driver to start printing the
  75. printer file at the beginning.
  76.     FLUSH -This causes the spooler to empty the printer queue and
  77. delete all the associated printer files. This will also
  78. stop the currently printing printer file.
  79.     CANCEL -This causes the deletion of a printer request and its
  80. associated printer file. To use this function an entry
  81. must have been selected from the printer queue.
  82.     INFO -This displays information about a selected entry from
  83. the printer queue (i.e. size & date). It also allows
  84. the user to reposition an entry in the queue by
  85. changing its priority value. Multiple copies of the
  86. printer file can be printed by changing the copies
  87. value.
  88.     QUEUE -This displays the printer queue and allows selection
  89. for use by other functions.
  90.  
  91. Installation
  92. The file DEVS:mountlist must have the following entries added to it.
  93.  SPL:    Handler = L:SPL-handler
  94.         Stacksize = 2500
  95.         Priority = 5
  96.         GlobVec = -1
  97.  #
  98. Now create a directory to hold the spooled printer output.
  99.  MAKEDIR DF0:SpoolQ   <----- example only 
  100. Now copy the programs to their proper places.
  101.  COPY DF1:Spooler to SYS:Spooler
  102.  COPY DF1:Spooler.driver to SYS:Spooler.driver
  103.  COPY DF1:SPL-handler to L:SPL-handler
  104. Now we are ready to use IAMSpooler 1.3. Each time we boot our system
  105. we must execute the following:
  106.  ASSIGN SpoolDriver: SYS:   <----- Spooler.driver is on the boot disk
  107.  ASSIGN Spool: DF0:SpoolQ   <----- put my spooled output here
  108.  MOUNT SPL:   <----- mount the spooler device
  109.  RUN Spooler
  110. When Spooler opens its window we can click on the PRINT gadget then
  111. the screen's back gadget and go to work. IAMSpooler 1.3 will handle
  112. our printing requests as long as out print go to the SPL: device.
  113.  
  114. Examples:
  115.     Copy devs:mountlist to SPL:mountlist
  116.     Type s:startup-sequence to SPL:startupseq
  117.     Type > SPL: s:startup-sequence  (un-named)
  118.     C:        Open ("SPL:fromC",MODE_NEWFILE);
  119.             Open ("SPL:SPOOLEDRAW",MODE_NEWFILE);*
  120.     BASIC:    OPEN "SPL:frombasic" as 3
  121.             OPEN "SPL:SPOOLEDRAW" as 5*
  122.     * data not translated by printer device driver
  123.  
  124. NOTE: If memory is short, the Spooler and the Spooler driver need  not
  125. be running. Printer output will still be spooled to the  Spool:
  126. device. The printer output can be printed later when there is enough
  127. memory to run the Spooler. 
  128.  
  129. Graphic output via SPL:
  130. In conjunction with the CMD program, programs that cannot print to a
  131. file can have their output printed via Spooler. The steps required are
  132. as follows:
  133.     1) Halt printing via Spooler by clicking the STOP gadget.
  134.     2) Setup and run the CMD program from the Workbench 1.3 release.
  135.         The filename used for the printer file must be SPL:SPOOLEDRAW.
  136.     3) Run desired program(s) .
  137.     4) Terminate the program(s).
  138.     5) Terminate the CMD program (an absolute necessity).
  139.     6) Select the SPOOLEDRAW entry from the printer queue then click
  140.        the PRINT gadget to start printing.