unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



ioctl(2)							     ioctl(2)



NAME

  ioctl	- Controls devices

SYNOPSIS

  #include <&lt;stropts.h>&gt;

  int ioctl(
	  int fildes,
	  int request,
	  ... /* arg */);

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  ioctl(): XSH5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

PARAMETERS

  fildes    Specifies the file descriptor of the requested device.

  request   Specifies the ioctl	command	to be performed	on the device.

  arg	    Specifies parameters for this request.  The	type of	arg is depen-
	    dent on the	specific ioctl() request and device to which the
	    ioctl is targeted.	See the	appropriate Section 7 reference	page
	    or the documentation accompanying the device for more informa-
	    tion.

DESCRIPTION

  The ioctl() function performs	a variety of control functions on devices and
  STREAMS.  For	non-STREAMS files, the functions performed by this call	are
  device-specific control functions.  The request and arg parameters are
  passed to the	file designated	by fildes and are interpreted by the device
  driver.  This	control	is occasionally	used on	non-STREAMS devices, with the
  basic	input/output functions performed through the read() and	write()	sys-
  tem calls.

  An ioctl() request has encoded in it whether the parameter is	an "in"
  parameter or "out" parameter,	and the	size of	the arg	parameter in bytes.
  Macros and defines used to specify an	ioctl()	request	are located in the
  <stropts.h> header file.

  For STREAMS files, specific functions	are performed by the ioctl() function
  as described in streamio(7).

  STREAMS errors are described in streamio(7).

RETURN VALUES

  Upon successful completion, the ioctl() function returns a value other than
  -1 that depends upon the STREAMS device control function.

  If an	error occurs, a	value of -1 is returned	and errno is set to indicate
  the error.

ERRORS

  The ioctl() function sets errno to the specified values for the following
  general conditions:

  [EBADF]   The	fildes parameter is not	a valid	open file descriptor.

  [EINTR]   A signal was caught	during the ioctl() operation.

  [EINVAL]  The	STREAM or multiplexer referenced by fildes is linked
	    (directly or indirectly) downstream	from a multiplexer.

  If an	underlying device driver detects an error, errno may be	set to one of
  the following	values:

  [EINVAL]  Either the request or arg parameter	is not valid.

  [EIO]	    Some physical I/O error has	occurred.

  [ENOTTY]  The	fildes parameter is not	associated with	a STREAMS device that
	    accepts control functions. (Defined	for Issue 4 Version 2 and
	    higher issues of the XSH specification.)

  [ENOTTY]  [Tru64 UNIX]  The fildes parameter is not associated with a	char-
	    acter special device, or the specified request does	not apply to
	    the	kind of	object that the	fildes parameter references.

  [ENXIO]   The	request	and arg	parameters are valid for this device driver,
	    but	the service requested cannot be	performed on the particular
	    subdevice.

  [ENODEV]  The	fildes parameter refers	to a valid STREAMS device, but the
	    corresponding device driver	does not support the ioctl() func-
	    tion.

RELATED	INFORMATION

  Functions: exec(2), fcntl(2)

  Files: tty(7), nifftmt(7), streamio(7)

  Standards: standards(5)