Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IOCTL(2)		      System Calls Manual		      IOCTL(2)

NAME
       ioctl, stty, gtty - control device

SYNOPSIS
       #include	<sgtty.h>

       ioctl(fildes, request, argp)
       struct sgttyb *argp;

       stty(fildes, argp)
       struct sgttyb *argp;

       gtty(fildes, argp)
       struct sgttyb *argp;

DESCRIPTION
       Ioctl  performs	a variety of functions on character special files (de-
       vices).	The writeups of	various	devices	in section 4 discuss how ioctl
       applies to them.

       For certain status setting and status inquiries about terminal devices,
       the functions stty and gtty are equivalent to
	      ioctl(fildes, TIOCSETP, argp)
	      ioctl(fildes, TIOCGETP, argp)

       respectively; see tty(4).

       The following two calls,	however, apply to any open file:

	      ioctl(fildes, FIOCLEX, NULL);
	      ioctl(fildes, FIONCLEX, NULL);

       The first causes	the file to be closed automatically during a  success-
       ful exec	operation; the second reverses the effect of the first.

SEE ALSO
       stty(1),	tty(4),	exec(2)

DIAGNOSTICS
       Zero  is	returned if the	call was successful; -1	if the file descriptor
       does not	refer to the kind of file for which it was intended.

BUGS
       Strictly	speaking, since	ioctl may be extended in different ways	to de-
       vices  with different properties, argp should have an open-ended	decla-
       ration like

	      union { struct sgttyb ...; ...  }	*argp;

       The important thing is that the size is fixed by	`struct	sgttyb'.

ASSEMBLER
       (ioctl =	54.)
       sys ioctl; fildes; request; argp

       (stty = 31.)
       (file descriptor	in r0)
       stty; argp

       (gtty = 32.)
       (file descriptor	in r0)
       sys gtty; argp

								      IOCTL(2)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | DIAGNOSTICS | BUGS | ASSEMBLER

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ioctl&sektion=2&manpath=Unix+Seventh+Edition>

home | help