fsetown(9)
- NetBSD Manual Pages
FSETOWN(9) NetBSD Kernel Developer's Manual FSETOWN(9)
NAME
fsetown, fgetown, fownsignal -- file descriptor owner handling functions
SYNOPSIS
#include <sys/file.h>
int
fsetown(struct lwp *l, pid_t *pgid, int cmd, const void *data);
int
fgetown(struct lwp *l, pid_t pgid, int cmd, void *data);
void
fownsignal(pid_t pgid, int signo, int code, int band, void *fdescdata);
DESCRIPTION
These functions handle file descriptor owner related ioctls and related
signal delivery. Device drivers and other parts of the kernel call these
functions from ioctl entry functions or I/O notification functions.
fsetown() sets the owner of file. cmd is an ioctl command, one of
SIOCSPGRP, FIOSETOWN, and TIOCSPGRP. data is interpreted as a pointer to
a signed integer, the integer being the ID of the owner. The cmd deter-
mines how exactly data should be interpreted. If cmd is TIOCSPGRP, the
ID needs to be positive and is interpreted as process group ID. For
SIOCSPGRP and FIOSETOWN, the passed ID is the process ID if positive, or
the process group ID if negative.
fgetown() returns the current owner of the file. cmd is an ioctl com-
mand, one of SIOCGPGRP, FIOGETOWN, and TIOCGPGRP. data is interpreted as
a pointer to a signed integer, and the value is set according to the
passed cmd. For TIOCGPGRP, the returned data value is positive process
group ID if the owner is the process group, or negative process ID if the
owner is a process. For other ioctls, the returned value is the positive
process ID if the owner is a process, or the negative process group ID if
the owner is a process group.
fownsignal() schedules the signo signal to be sent to the current file
descriptor owner. The signals typically used with this function are
SIGIO and SIGURG. The code and band arguments are sent along with the
signal as additional signal specific information if SA_SIGINFO is acti-
vated. If the information is not available from the context of the
fownsignal() call, these should be passed as zero. fdescdata is used to
lookup the file descriptor for SA_SIGINFO signals. If it is specified,
the file descriptor number is sent along with the signal as additional
signal specific information. If file descriptor data pointer is not
available in the context of the fownsignal() call, NULL should be used
instead.
Note that a fcntl(2) F_SETOWN request is translated by the kernel to a
FIOSETOWN ioctl, and F_GETOWN is translated to FIOGETOWN. This is done
transparently by generic code, before the device- or subsystem-specific
ioctl entry function is called.
SEE ALSO
fcntl(2), siginfo(2), signal(7), ioctl(9), signal(9)
HISTORY
These kernel functions appeared in NetBSD 2.0.
NetBSD 10.99 December 20, 2005 NetBSD 10.99
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.