unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (NetBSD-2.0)
Page:
Section:
Apropos / Subsearch:
optional field

FSETOWN(9)               BSD Kernel Developer's Manual              FSETOWN(9)

NAME
     fsetown, fgetown, fownsignal -- file descriptor owner handling functions

SYNOPSIS
     #include <&lt;sys/file.h>&gt;

     int
     fsetown(struct proc *p, pid_t *pgid, int cmd, const void *data);

     int
     fgetown(struct proc *p, 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 signals.  If it is specified, the file
     descriptor number is sent along with the signal as additional signal spe-
     cific 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.

BSD                           September 22, 2003                           BSD