Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vi50_open(3)

xvi50(7)



  vi50_ioctl(3)                       CLIX                       vi50_ioctl(3)



  NAME

    vi50_ioctl - Performs I/O control functions on VI50 channel

  LIBRARY

    Intergraph Device Library (libix.a)

  SYNOPSIS

    #include <sys/xio/xerr.h>

    #include <sys/xio/xreq.h>

    int vi50_ioctl(
      int channel ,
      int func ,
      int *arg );

  PARAMETERS

    channel
           Specifies the VI50 channel on which the I/O control functions will
           be performed.

    func   Specifies the I/O control functions that will be performed on
           channel.

           Possible values for func, as defined in <sys/xio/xreq.h> are as
           follows:

           VI50_GET_BUS_ADDRESS
                  The arg parameter contains the address of an integer to hold
                  the physical VME bus address of the VI50 device.

           VI50_SET_SIGNAL_NUMBER
                  The arg parameter contains the address of an integer
                  specifying the signal to be used.  Only SIGUSER1 or SIGUSER2
                  are accepted.

           VI50_CLEAR_SIGNAL_NUMBER
                  The arg parameter is not used.

           VI50_INQ_SIGNAL_NUMBER
                  The arg parameter contains the address of an integer
                  location to which the previously set signal number is
                  returned.

           VI50_GRANT_ACCESS
                  The arg parameter contains the address of an integer
                  location holding the process ID of the process to be given



  2/94 - Intergraph Corporation                                              1






  vi50_ioctl(3)                       CLIX                       vi50_ioctl(3)



                  access.  Only the owner of the device may successfully make
                  this call. The arg parameter must be a child of the owner.

           VI50_CHECK_ACCESS
                  The arg parameter is not used.  The call will succeed if the
                  requesting process has been granted access to the device.

    arg    Points to the argument to func.  (See the description for func for
           more information.)

  DESCRIPTION

    The vi50_ioctl() performs func on channel, provided channel is open and
    the requesting process has access to it.

  RETURN VALUES

    The vi50_ioctl() function returns a value of 0 if successful.  If not
    successful, one of the failure codes listed in the ERRORS section is
    returned.

  ERRORS

    The vi50_ioctl() function fails if one of the following is true:

    [XIO_FAILURE]
           The system does not contain the driver needed to support the
           request.

    [VI50_INVALID_DEVICE]
           There is no hardware corresponding to the channel.

    [VI50_NOT_OWNER]
           The device specified by channel is not open.

    [VI50_NO_ACCESS]
           The requesting process does not have access to channel.

    [VI50_UNKNOWN_COMMAND]
           The func parameter does not represent a valid request.

    [VI50_COPY_FAIL]
           The driver could not copy the parameters into kernel space, or
           could not copy return value into user space.

    [VI50_SIG_SET]
           The user process has already specified a signal to be used for
           driver to user communication.

    [VI50_INVALID_SIG]
           The signal specified is not SIGUSER1 or SIGUSER2.



  2                                              Intergraph Corporation - 2/94






  vi50_ioctl(3)                       CLIX                       vi50_ioctl(3)



    [VI50_SIG_NOT_SET]
           The process has never specified a signal to be used.

    [VI50_ACCESS_FULL]
           The maximum number of processes allowed access to the VI50 has been
           reached.

    [VI50_NOT_CHILD]
           The arg parameter does not represent a child of the owner process.

    [VI50_REDUNDANT_REQ]
           The process ID specified in the call to GRANT_ACCESS already has
           access.

  RELATED INFORMATION

    Functions:  vi50_open(3)

    Files:  xvi50(7)



































  2/94 - Intergraph Corporation                                              3




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