VMS Help  —  PSM Routines, PSM$PRINT
    The PSM$PRINT routine invokes the OpenVMS-supplied print
    symbiont.

    PSM$PRINT must be called exactly once after all user service
    routines have been specified using PSM$REPLACE.

    Format

      PSM$PRINT  [streams] [,bufsiz] [,worksiz] [,maxqios] [,options]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

    Longword condition value. Most utility routines return a
    condition value in R0. Condition values that this routine can
    return are listed under Condition Values Returned.

2  –  Arguments

 streams

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Maximum number of streams that the symbiont is to support. The
    streams argument is the address of a longword containing this
    number, which must be in the range of 1 to 16. If you do not
    specify streams, a default value of 1 is used. Thus, by default,
    a user-modified symbiont supports one stream, which is to say
    that it is a single-threaded symbiont.

    A stream (or thread) is a logical link between a print execution
    queue and a printing device. When a symbiont process can accept
    simultaneous links to more than one queue, that is, when it can
    service multiple queues simultaneously, the symbiont is said to
    be multithreaded.

 bufsiz

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Maximum buffer size in bytes that the print symbiont is to use
    for output operations. The bufsiz argument is the address of a
    longword containing the specified number of bytes.

    The print symbiont actually uses a buffer size that is the
    smaller of: (1)  the value specified by bufsiz or (2) the
    system parameter MAXBUF. If you do not specify bufsiz, the print
    symbiont uses the value of MAXBUF.

    The print symbiont uses this size limit only for output
    operations. Output operations involve the placing of processed or
    formatted pages into a buffer that will be passed to the output
    routine.

    The print symbiont uses the value specified by bufsiz only as
    an upper limit; most buffers that it writes will be smaller than
    this value.

 worksiz

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Size in bytes of a work area to be allocated for the use of user
    routines. The worksiz argument is the address of a longword
    containing this size in bytes. If you do not specify worksiz,
    no work area is allocated.

    A separate area of the specified size is allocated for each
    active symbiont stream.

 maxqios

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the maximum number of outstanding $QIOs that a print
    symbiont stream using the LAT protocol may generate. Set symbiont
    process quotas large enough to handle the maximum number of QIOs
    multiplied by the number of streams, using a number between 2 and
    32. For normal printing capabilities, the suggested quota is 10;
    for high-speed printing, use a larger number.

 options

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Longword bit vector that specifies the LAT protocal option using
    the PSM$M_LAT_PROTOCOL symbolic value. Note that using the LAT_
    PROTOCOL option carries the following restrictions:

    o  Replacement of the output and job completion routines will be
       overridden

    o  Output device must be a LAT device

3  –  Description

    The PSM$PRINT routine must be called exactly once after all user
    routines have been specified to the print symbiont. Each user
    routine is specified to the symbiont in a call to the PSM$REPLACE
    routine.

    The PSM$PRINT routine allows you to specify whether the print
    symbiont is to be single-threaded or multithreaded, and if
    multithreaded, how many streams or threads it can have. In
    addition, this routine allows you to control the maximum size
    of the output buffer.

4  –  Condition Values Returned

    SS$_NORMAL         Normal successful completion.

    This routine also returns any condition values returned by the
    $SETPRV, $GETSYI, $PURGWS, and $DCLAST system services, as well
    as any condition values returned by the SMB$INITIALIZE routine.
Close Help