DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6152e4e62⟧ Ada Source

    Length: 23552 (0x5c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Queue, pragma Module_Name 4 3922, pragma Subsystem Os_Commands, seg_028541

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Directory;

package Queue is
    procedure Print (Name    : String := "<IMAGE>";
                     Options : String := "<DEFAULT>";
                     Banner  : String := "<DEFAULT>";
                     Header  : String := "<DEFAULT>";
                     Footer  : String := "<DEFAULT>");

    procedure Print_Version (The_Version : Directory.Version;
                             Options     : String := "<DEFAULT>";
                             Banner      : String := "<DEFAULT>";
                             Header      : String := "<DEFAULT>";
                             Footer      : String := "<DEFAULT>");
    --
    -- The Print and Print_Version procedures are the provided user interfaces
    -- for sending files to a printer.  They queue object(s) to be printed and
    -- echo request IDs in the message window with corresponding objects.
    --
    --
    -- NOTE : if a value is not specified for a parameter (<DEFAULT> is
    --        indicated) then the value supplied in the session switch
    --        file is used; if a session switch is not defined or
    --        unavailable then the default specified here is used.
    --
    -- BANNER:  String to be used on the banner page
    --          (truncated at 11 characters), user's id is the default
    --          Specifying the null string ("") will inhibit the generation
    --          of a banner page.
    --
    -- HEADER:  User supplied page header; default is none.
    --
    -- FOOTER:  User supplied page footer; default is none.
    --          (see R1000 documentation for headers or footers
    --          containing Line-Feeds or exceeding Width characters)
    --
    -- OPTIONS: A form parameter for setting various formatting and
    --          spooling options; default is "Format=>(Wrap, System_Header").
    --
    --
    -- The Currently available Options and semantic rules for these options are
    -- described at the end of this package and in detail in the documentation.
    --


    procedure Cancel (Request_Id : Positive);
    -- cancels a request by ID obtained from Print or Queue

    -- Extreme measures for wedged spooler
    procedure Kill_Print_Spooler;
    procedure Restart_Print_Spooler;

    -- The remaining procedures do NOT use any session switches.

    subtype Class_Name is String;

    All_Classes         : constant Class_Name := "all";
    All_Spooler_Devices : constant String     := "all";

    -- The following procedures provide information on the state
    -- of the print spooler.

    procedure Display (Class : Class_Name := "all");
    -- print the current contents of the Queue

    procedure Classes (Which        : Class_Name := "all";
                       Show_Devices : Boolean    := True);
    -- Display information about one or all classes

    procedure Devices (Which        : String  := "all";
                       Show_State   : Boolean := True;
                       Show_Classes : Boolean := True);
    -- Display information about one or all devices


    -- The following procedures are used to define queues in the spooler.

    procedure Create  (Class : Class_Name := "");
    procedure Destroy (Class : Class_Name := ""; Reroute : Class_Name := "");
    -- Create/Destroy a class.
    -- When a class is destroyed any requests in that class are rerouted to
    -- the class specified (the default class if none is specified).

    procedure Default (Class : Class_Name := "");
    -- set Default Class or print current Default (if null string provided)

    procedure Add (Device : String := ""; Options : String := "XON_XOFF");
    -- Options :
    --        XON_XOFF, RTS, DTR indicate what flow control is to be used.
    --        Host => name indicates that a telnet connection is to be used
    --        If Host is given, Socket may be specified:  Socket => (0, 23).
    --
    --        Options can also have the value FTP.  In this case, Device is
    --        the name of a file whose first line is a host name, whose
    --        second line is a directory name, whose third line is a suffix
    --        to append to each file name, and whose fourth line is the
    --        name of a remote passwords file.  Each print request will
    --        be transferred to the specified host and directory using an
    --        FTP login for the host from the specified remote passwords file.
    --        The directory name in the file must have any trailing punctuation
    --        so that a simple filename can be concatenated to it.  A log file
    --        is created in !Machine.Queues.Ftp under the device name (which
    --        is the simple name of the device file) to record any FTP
    --        problems.


    procedure Remove (Device : String := ""; Immediate : Boolean := False);
    -- Associate/Disassociate a device with the print spooler.


    procedure Register   (Device : String := ""; Class : Class_Name := "");
    procedure Unregister (Device : String := ""; Class : Class_Name := "");
    -- Associates/disassociates a class and a device.
    -- If a class is not associated with a device then items spooled to that
    -- class can not be printed.

    procedure Enable  (Device : String := "all");
    procedure Disable (Device : String := ""; Immediate : Boolean := False);
    -- Allows/Disallows printing on device(s)

-------------------------------------------------------------------------------
--
-- Description of the Options available for Print and Print_Version.
--
-- The following is a list of legal options.
--
--     BANNER_PAGE_USER_TEXT => text
--
--           Text appears on the banner page (if one is generated) after the
--           "Banner".
--
--     CLASS => class name
--
--           Class to which printout is to be queued.  (default is <DEFAULT>)
--
--     COPIES => number
--
--           Number of copies of the printout (default is 1)
--
--     LENGTH => number
--           Number of printed lines available on a page (default is 60).
--
--     NOTIFY =>  Mail | MESSAGE | None
--
--           Type of notification desired upon completion of the print request.
--
--     ORIGINAL_RAW => true | FALSE
--
--           DO NOT make a copy of the file to be printed.  Notification is set
--           to Message and each file is spooled separately with a banner page.
--           Class must NOT be Remote.
--
--     PostScript => ( <PostScript_Options> )
--
--           Specify to print using PostScript rules.  PostScript options and
--           functionality are described below.  The null options string, (),
--           invokes the PostScript printer with default parameters.
--
--     FORMAT => ( <Format_Options> )
--
--           The printer is to be treated as a conventional Ascii device with
--           the specified options, which are described below.  FORMAT with the
--           null options string, (), is the default unless other options are
--           specified.
--
--     RAW => true | FALSE
--
--           DO NOT interpret the input.  This option can be useful for
--           preformatted text or binary data.
--
--     SPOOL_EACH_ITEM => true | FALSE
--           Spool each file as a separate job.
--
-- Exactly one of the Format, Original_Raw, PostScript, or Raw can be supplied
-- for any print request.  If any of these are specified in the Options
-- parameter, then the corresponding session switch is ignored.
--
-- <Format_Options>
--     The following is a list of legal <format_options>.  Unless
--     otherwise specified, the Boolean options are assumed to be False.
--
--     NUMBERING => true | FALSE
--
--           Provide line numbering.
--
--     SYSTEM_HEADER  => number
--
--           Produce a system page header on each page.
--
--     TAB_WIDTH => number
--
--           Number of spaces to replace a tab character (Ascii.HT) with
--           (default is 8).  0 causes tabs to be sent to the printer.
--
--     TRUNCATE => true | FALSE
--
--           Truncate lines longer than Width.
--
--     WIDTH => number
--
--           Number of characters to be printed on a line (default is 80).
--
--     WRAP => true | FALSE
--
--           Wrap lines longer than Width.
--
--
--
-- <PostScript_Options>
--
--     FORMAT => PostScript | plain_text | fancy | letter | image | AUTOMATIC
--
--           Broadly specifies how the file is to be printed, whether the file
--           to be printed is a PostScript program (such as generated by a text
--           formatter) or plain text that must be prepared for printing.
--
--           AUTOMATIC is the default, in which case the file is looked at to
--           determine it's type.  If the file begins with a % it is processed
--           as a PostScript program, if it begins with Ascii.Nul it is printed
--           as an IMAGE, otherwise it is processed as PLAIN_TEXT.
--
--           LETTER format is similar to PLAIN_TEXT except that the defaults for
--           TWOUP, BORDER, DATE, FILENAME, WRAP, and NUMBER are all False.
--
--           FANCY format is similar to PLAIN_TEXT, except that Ada
--           reserved words are emboldened and comments are Italicized.
--
-- The following options apply to both PostScript and Plain_Text files.
--
--     STATS => TRUE | false
--
--           Causes statistics on the size of files and their print speed to be
--           included in job messages.
--
--     FLOW => true | FALSE
--
--           By default (FLOW=false), each file printed starts on a new sheet
--           of paper.  When FLOW is true, however, a file will start on the
--           right half of a sheet if not occupied by the previous file.
--           Setting FLOW to true forces TWOUP = true and REVERSED = false.
--
--     REVERSED => TRUE | false
--
--           If true, the default, the pages are reversed before printing so
--           that the stack of pages in the printer's output tray are in the
--           correct order with the first page on top.  If false, the pages
--           will be printed in the order they appear in the file.
--
--     CHATTY => TRUE | false
--
--           If true, the default, messages will be generated in the message
--           window before accessing each file in the print request When false,
--           PostScript issues a message only when all files have been printed
--           and under error conditions.
--
--     PAGES = <integer> [..<integer>]
--
--           Specifies the range of pages to be printed.  The first page in the
--           file is numbered 1.  The default is to print all pages in the
--           file.  If only one integer is given, that one page is printed.
--
--     HEADER => true | FALSE
--
--           If true, a header page is printed that identifies the file that is
--           being printed and the circumstances of its printing.
--
--     TWOUP => TRUE | false
--
--           If true, two file pages are printed per sheet of printer paper.
--           The image of each page is 2/3 the size of a full page.  The
--           default for this option for plain text files is true; for
--           PostScript files, it is false.
--
--     OUTLINES => TRUE | false
--
--           If true, a solid box is drawn around the text for each page.
--           BORDER is an alternative name for this option. The default for
--           this option for PLAIN_TEXT files is true; for PostScript files, it
--           is false.
--
--     DATE => true | false
--
--           If true, the time and date at the time of queueing is printed in
--           the lower-left corner of each page, outside the outline box if
--           present.  The default for this option for plain text files is
--           true; for PostScript files, it is false;
--
--     FILENAME => true | false
--
--           If true, the full name of the file is printed in the upper-left
--           corner of each page, outside the outline box if present. The
--           default for thisoption for plain text files is true; for
--           PostScript files, it is false;
--
-- The following options apply to PLAIN_TEXT files only.  All combinations are
-- valid.
--
--     NUMBER => TRUE | false
--
--           If true, a page number is printed in the upper right corner of
--           each page, outside the outline box, if present.  The numbering
--           starts again at 1 for each file printed.
--
--     WIDE => true | FALSE
--
--           If true, each page is printed in landscape orientation, i.e., with
--           the lines of text parallel to the longer side of the page.
--
--     RULES => true | FALSE
--
--           If true, faint dashed lines are drawn every other line of the
--           output.
--
--     SIZE = <integer>
--     SPACING = <integer>
--
--           Specifies the point-size of the typeface used to generate the
--           output and the vertical spacing of each line measured in points.
--           These point sizes determine the number of lines per page and the
--           number of characters per line according to the following formulae:
--
--           For the WIDE format:
--
--               Lines/Page       =   540 / Spacing
--               Characters/Line  =  1200 / Size
--
--           For the ~WIDE (narrow) format:
--
--               Lines/Page       =   720 / Spacing
--               Character/Line   =   900 / Size
--
--           The default SPACING is SIZE + 1; The default SIZE is 11 (yielding
--           a SPACING of 12). In ~WIDE format this allows for 60 lines of
--           81-character lines.
--
--     FONT = <font name>
--
--           Specifies the typeface to be used in printing the file.  Any
--           built-in PostScript font may be specified.  The default is
--           /Courier-Bold.  If <font-name> begins with a '/', PostScript
--           assumes the font is already resident and uses the <font name> to
--           define the font to use.  If <font name> does not begin with '/',
--           PostScript assumes it is the name of a file containing PostScript
--           for a downloadable font.  This file is sent to the printer before
--           any files are processed by PostScript.  The simple name of the
--           file, capitalized as it appears in the font option, is used to set
--           the font for the plain_text file.
--
--     CHOP => true | FALSE
--
--           If false, the default, a line longer than the line length defined
--           by the above formulae is broken at the rightmost blank within the
--           line and the extra text is printed on the next line justified to
--           the right margin.  If true, long input lines will be clipped at
--           the boundaries of the imageable area (7.5 x 10.0 inches).
--
-- The following options affect the IMAGE format:
--
--     X = number
--     Y = number
--
--           Specifies, in inches,  the coordinates of the lower left corner of
--           the first image.  The default coordinate is (0.25, 0.25), a point
--           1/4 inch from the lower left corner of the paper.
--
--     DX = number
--     DY = number
--
--           Specifies the offset from the previous image coordinate to the
--           coordinate for the next image.  Dx is added to the X coordinate
--           for each successive image until the resulting coordinate would be
--           outside the bounds of the paper, at which time X is reset to its
--           original value and Dy is added to the Y coordinate.  When the Y
--           coordinate exceeds the bounds of the paper, a new page is started
--           at the original X, Y coordinate.
--
--     WIDTH = number
--     HEIGHT = number
--
--           Specifies the maximum width and height allowed for the image. The
--           default values specify a full page image.
--
--     DISTORT => true | FALSE
--
--           If true, the image will be magnified so that the image fills
--           exactly the box defined by width and height.  If false, the image
--           will be magnified as large as possible while retaining the aspect
--           ratio of the image.
--
--     ASPECT => number
--
--           Overrides the aspect ratio of the image.
--
--     CAPTION => text
--
--           Text to be rendered below the printed image.
--
--     PROLOG => text
--     EPILOG => text
--
--           PostScript code to be sent before and after each image.  The
--           following regards action taken on files when the PostScript option
--           is specified and a list of legal <PostScript_options>.
--
-- The following "commands" will be regonized when embedded in an input file
-- when using a PostScript printer.  These commands must begin in the first
-- column of a line and must be capitalized as shown above.
--
--     %%INCLUDE naming-expression
--
--           Recognized in all formats except Image.  Causes the files named in
--           the expression to be opened and processed as if they were part of
--           the input file.  %%INCLUDEs can be nested to 10 deep.
--
--     %%ASCII naming-expression
--
--           Recognized in PostScript format only.  Causes the named files to
--           be opened and sent to the destination without further
--           interpretation by PostScript (nested commands are ignored).
--
--     %%BINARY naming-expression
--
--           Recognized in PostScript format only.  Causes the named files to
--           be opened and sent to the destination as strings of hexadecimal
--           numbers.  The %%BINARY command should be preceded by PostScript
--           code that will prepare the printer to receive hexadecimal data.
--
-------------------------------------------------------------------------------

    pragma Subsystem (Os_Commands);
    pragma Module_Name (4, 3922);

end Queue;

E3 Meta Data

    nblk1=16
    nid=15
    hdr6=2a
        [0x00] rec0=17 rec1=00 rec2=01 rec3=020
        [0x01] rec0=14 rec1=00 rec2=02 rec3=044
        [0x02] rec0=1d rec1=00 rec2=03 rec3=05a
        [0x03] rec0=16 rec1=00 rec2=16 rec3=026
        [0x04] rec0=12 rec1=00 rec2=05 rec3=00a
        [0x05] rec0=00 rec1=00 rec2=04 rec3=01a
        [0x06] rec0=1b rec1=00 rec2=06 rec3=00c
        [0x07] rec0=00 rec1=00 rec2=14 rec3=006
        [0x08] rec0=18 rec1=00 rec2=07 rec3=064
        [0x09] rec0=1d rec1=00 rec2=08 rec3=004
        [0x0a] rec0=1c rec1=00 rec2=09 rec3=056
        [0x0b] rec0=15 rec1=00 rec2=0a rec3=096
        [0x0c] rec0=18 rec1=00 rec2=0b rec3=016
        [0x0d] rec0=15 rec1=00 rec2=0c rec3=07a
        [0x0e] rec0=1a rec1=00 rec2=0d rec3=04e
        [0x0f] rec0=1b rec1=00 rec2=0e rec3=030
        [0x10] rec0=10 rec1=00 rec2=0f rec3=004
        [0x11] rec0=15 rec1=00 rec2=10 rec3=004
        [0x12] rec0=1c rec1=00 rec2=11 rec3=06e
        [0x13] rec0=16 rec1=00 rec2=12 rec3=032
        [0x14] rec0=09 rec1=00 rec2=13 rec3=000
        [0x15] rec0=09 rec1=00 rec2=13 rec3=000
    tail 0x21520ff5a83c176180559 0x42a00088462065003
Free Block Chain:
  0x15: 0000  00 00 03 fc 80 2c 68 61 76 65 20 74 68 65 20 76  ┆     ,have the v┆