Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pop(7) — CLIX 3.1r7.6.28

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

plot_ctrl(3)

plot_data(3)

plot_ctrl_rpo(3)

plot_data_rop(3)

ioctl(2)



  pop(7)                              CLIX                              pop(7)



  NAME

    pop - Parallel port driver

  DESCRIPTION

    The pop driver is the general-purpose interface to the parallel port.  It
    can be used to send PRINT mode data to devices requiring either Versatec
    or Centronics interfaces.  The pop driver data can be redirected to
    different devices by using a MUX device.  The minor device number
    corresponds to the MUX port to select; the format of the minor device is
    as follows:
                __________________________________________________
               |   7   |   6 |   5 |   4 |   3 |   2 |   1 |   0 |
               |_______|_______________________|_________________|
               | INTER-|                       |                 |
               |  FACE |        RESERVED       |     MUX PORT    |
               |_______|_______________________|_________________|

    An INTERFACE value of 0 specifies a Centronics interface; when this
    interface is specified, a reset signal is sent to the Centronics converter
    board upon device open.  An INTERFACE value of 1 specifies a Versatec
    interface.  If the MUX PORT value is 0, then no MUX control occurs;
    otherwise, the value specified in the MUX PORT field is used as the MUX
    port to be selected (for example, a value of 1 corresponds to MUX port 1).

    The /dev/vop* special files provide an interface to devices requiring
    Versatec data.  The /dev/cop* special files provide an interface to
    devices requiring Centronics data.

    The pop driver can be opened by multiple processes only if each open()
    function call specifies the same MUX port.  If O_FNDELAY is set, the EBUSY
    error is returned if a different MUX port is opened by another process.
    If O_FNDELAY is not set, then the open() function blocks until the driver
    is closed by all other processes.

    The pop driver supports output only.  On Raster Operation Processor (ROP)
    graphics-based workstations, the timeout supplied for MUX operations is
    one minute and the timeout for write() function calls is nine minutes.  On
    all other workstations, the default write() timeout is nine minutes, and
    the default MUX timeout is one minute.  Both are selectable.

    The ioctl(fildes, request, arg) function may be used for the following
    requests:

    POP_IOCTL_TIMEOUT
           Selects the timeout value in seconds for write() function calls.
           The arg parameter points to an integer location containing the new
           timeout value.

    POPIOCTL_MUX_TIMEOUT



  2/94 - Intergraph Corporation                                              1






  pop(7)                              CLIX                              pop(7)



           Selects the timeout value sent to the MUX for open() function
           calls.  The arg parameter points to an integer location containing
           the new timeout value.  Available choices are as follows, and all
           timeout values are approximate:

           arg    MUX timeout

             0     4.3 seconds
             1     8.5 seconds
             2    17.0 seconds
             3    34.1 seconds
             4    68.3 seconds
             5     1.7 minutes
             6     2.3 minutes
             7     3.4 minutes
             8     4.6 minutes
             9     5.7 minutes
            10     6.8 minutes
            11     8.0 minutes
            12     9.1 minutes
            13    13.7 minutes
            14    18.2 minutes
            15    36.4 minutes


  FILES

    /dev/vop*  Versatec parallel port driver.

    /dev/cop*  Centronics parallel port driver.

  NOTES

    On ROP graphics-based workstations, sending Centronics data without using
    a MUX requires the ROP board to be strapped for Centronics output.  When
    sending data to a device connected to a MUX, always use the Versatec
    device.

  CAUTIONS

    With no device connected to the parallel port, a write() function call
    causes the port to hang until the timeout occurs.

  ERRORS

    The following errors may be returned in errno by the pop driver on failure
    of either the open(), read(), or close() function:

    [ENXIO]   The open() function failed because the pop driver was not
              present or the minor device specified an illegal MUX port.




  2                                              Intergraph Corporation - 2/94






  pop(7)                              CLIX                              pop(7)



    [EIO]     The pop driver was opened for read or the MUX did not respond
              when selected.  For writes, this error indicates a bad status
              was returned from the device.

    [EBUSY]   The pop driver is currently opened for a different MUX port.
              Multiple opens are only valid on the same MUX port.

    [EFAULT]  The write() buffer address was not a valid memory address or was
              not word (4-byte) aligned.  If an ioctl() operation was in
              progress, the arg parameter pointed to a nonreadable memory
              location.

    [ENODEV]  The specified ioctl() request is not supported on ROP graphics
              based workstations.

    [EINVAL]  The specified ioctl() request or argument was not valid.

  RELATED INFORMATION

    Functions:  plot_ctrl(3), plot_data(3), plot_ctrl_rpo(3),
    plot_data_rop(3), ioctl(2)

































  2/94 - Intergraph Corporation                                              3




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026