File:  [Research Unix] / researchv10dc / man / adm / man2 / ioctl.2
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:34 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Dan Cross

.TH IOCTL 2
.CT 2 file_io file_inq_creat
.SH NAME
ioctl \(mi miscellaneous control operations
.SH SYNOPSIS
.nf
.B #include <sys/filio.h>
.PP
.B int ioctl(fildes, request, param)
.B void *param;
.fi
.SH DESCRIPTION
.I Ioctl
performs a variety of
.I requests
on open files,
most applying only to particular device files.
The writeups of various devices
in section 4 discuss how
.I ioctl
applies to them;
see
.IR stream (4)
in particular
for operations applying to
communication devices.
.PP
.I Param
points to a parameter buffer.
Some
.I requests
read data from the buffer;
others write data to the buffer;
some do both.
The buffer's size varies according to the request.
A few provide meaningful data
in the return value from
.I ioctl
as well;
others return a conventional value of
0 for success,
\-1 for failure.
.PP
Requests for different drivers
are defined in different header files.
Two standard calls,
defined in
.BR <sys/filio.h> ,
apply to any open file:
.IP
.L
ioctl(fildes, FIOCLEX, (void *)0);
.br
.L
ioctl(fildes, FIONCLEX, (void *)0);
.LP
The first causes the file to be closed automatically upon
a successful
.IR exec (2);
the second causes the file to be left open.
.SH "SEE ALSO"
.IR exec (2),
.IR stream (4)
.SH DIAGNOSTICS
.BR EBADF ,
.BR EFAULT ,
.BR EIO ,
.BR ENODEV ,
.BR ENOTTY
.SH BUGS
.I Ioctl
requests vary among UNIX systems;
undisciplined use is likely to compromise portability.
.br
The size of the parameter buffer
should be an explicit argument.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.