Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sif_open(3)

sif_close(3)

sif_setup(3)

sif_cancel(3)

intro(3)

xsif(7)



  sif_mem_pipe(3)                     CLIX                     sif_mem_pipe(3)



  NAME

    sif_mem_pipe, sif_mem_pipe_nw - Transfers data from memory to pipe

  LIBRARY

    Intergraph Device Library (libix.a)

  SYNOPSIS

    #include <sys/xio/xerr.h>

    #include <sys/xio/xio.h>

    int sif_mem_pipe(
      int channel ,
      char *dbuf ,
      int dcnt ,
      int timeout ,
      int *xfcnt );

    int sif_mem_pipe_nw(
      int channel ,
      char *dbuf ,
      int dcnt ,
      int timeout ,
      struct xiosb *xiosb; ,
      int efn );

  PARAMETERS

    channel   An integer representing a Scanner Interface (SIF) channel

    dbuf      A pointer to the source data buffer

    dcnt      The size of the source data buffer

    timeout   The time limit in 1/60-second intervals for the data transfer

    xfcnt     The number of bytes transferred

    xiosb     A pointer to the xiosb structure

    efn       The event flag number associated with the request

  DESCRIPTION

    The sif_mem_pipe() and sif_mem_pipe_nw() functions provide a mechanism for
    transferring data directly from virtual memory to the raster processing
    pipeline.  The specified Scanner Interface (SIF) channel will move the
    data.  The specified channel must have been opened with sif_open().



  2/94 - Intergraph Corporation                                              1






  sif_mem_pipe(3)                     CLIX                     sif_mem_pipe(3)



    The dbuf parameter points to the buffer from which data is being
    transferred.  The buffer must begin on a longword boundary.  The dcnt
    indicates the byte count to be transferred and must be a multiple of the
    linewidth specified in sif_setup().

    The timeout parameter indicates the time limit in 1/60-second intervals
    for the data transfer.  Any transfer that takes longer is aborted and an
    appropriate status is returned.  A timeout value of zero disables the
    timeout function.

    Upon completion of the synchronous request, xfcnt indicates the number of
    bytes transferred.

    The sif_mem_pipe_nw() function is the asynchronous version of
    sif_mem_pipe(), providing the same capability without waiting the request
    to complete.  The efn parameter is the event flag number associated with
    the request.  The xiosb parameter is a pointer to the xiosb structure
    updated when the request completes (see intro(3)).  The xfcnt member of
    the xiosb structure indicates the number of bytes transferred.

  RETURN VALUES

    Upon successful completion of the synchronous request, a value of 0 is
    returned.  Otherwise, one of the above failure codes is returned.

    If the XIO system accepts the asynchronous request, a value of 0 will be
    returned by the request.  Otherwise, XIO_FAILURE will be returned.  Upon
    completion of an accepted request, the status member of the xiosb
    structure will be set to either 0 if successful, or to one of the above
    failure codes if unsuccessful.

  ERRORS

    The sif_mem_pipe() and sif_mem_pipe_nw() functions will fail if one of the
    following is true:

    [XIO_FAILURE]
           The system does not contain the driver needed to support this
           request or efn is invalid.

    [SIF_CHANNEL_INVALID]
           The specified channel is beyond the maximum allowed.

    [SIF_CHANNEL_NOT_OPEN]
           The specified channel is not open for this process.

    [BAD_DATA_BUFFER_ADDRESS]
           The data buffer is either not longword aligned or points to an
           invalid memory space.

    [BAD_DATA_BUFFER_COUNT]



  2                                              Intergraph Corporation - 2/94






  sif_mem_pipe(3)                     CLIX                     sif_mem_pipe(3)



           The byte count is not a multiple of linewidth from sif_setup(3A).

    [PAGE_LOCK_FAILED]
           Not enough physical memory for this request is available at this
           time.

    [SIF_CANCELED]
           The request was canceled with sif_cancel(3A) or sif_close(3A).

    [SIF_TIMEOUT]
           The timeout expired before the transfer completed.

  RELATED INFORMATION

    Functions: sif_open(3), sif_close(3), sif_setup(3), sif_cancel(3),
    intro(3)

    Files:  xsif(7)




































  2/94 - Intergraph Corporation                                              3




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