Spooler Plus Programmer's Guide

Spooler Procedure Calls
Spooler Plus Programmers Guide522293-003
4-51
Obtaining the Spooler Statistics and Status
If pages is greater than 0, then all jobs with more than the number of pages
specified are returned. Setting pages to 0 allows all jobs to be returned.
All jobs that have closing timestamps less than time^closed and greater than
time^opened are returned. Open jobs have infinite closing timestamps.
If collector^process^name is nonblank, only jobs collected by the specified
collector are returned.
If data^file is nonblank, only jobs stored in the specified data file are returned.
SPOOLERSTATUS2 returns %14006 (end of entries) when all jobs have been
returned.
Obtaining the Status of a Location (Command Code 3)
To obtain the status of a location, set the command-code parameter of
SPOOLERSTATUS2 to 3 and pass a 128-word status buffer to SPOOLERSTATUS2.
The following STRUCT shows the fields of the buffer:
STRUCT location;
BEGIN
STRUCT name; ! name of location
BEGIN
STRING group [0:7], ! #group name, blank-filled
destination [0:7]; ! destination, blank-filled
END;
INT flags, ! location flags
! (1=on, 0=off)
! flags.<8> = broadcast
device^name [0:15], ! device name
! name[0:3] = \system name*
! name[4:7] = $device name*
! name[8:11] = #subdev name*
! name[12:15] = (blank-filled)
fontname [0:7]; ! font associated with location
END; ! * field is blank-filled
If you want the status of all locations in the spooler subsystem, fill location.name
(both group and destination) with blanks and set bit 15 to 1 in the scan-type
parameter.The first call will return the status of the location whose name comes first
alphabetically. Continue calling SPOOLERSTATUS2 until it returns error %14006 (end
of entries).
When the group changes, you must make two calls to SPOOLERSTATUS2 in order to
get complete information. The first call returns the group number, with the destination
as blank; the next call returns all destinations within this group. In other words, the first
return you receive is not the first location for this group; it is the group description itself.
If you want the status of a particular location, fill location.name with the group name
and, as the destination, the name of the location whose status you want (both group
and destination must be blank-filled). Then call SPOOLERSTATUS2 with bit 15 of the
scan-type parameter set to 0.