Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

System Functions (f - i) fcntl(2)
[EINVAL] One of these conditions exists:
The request parameter is F_DUPFD, and the argument1 parameter is
negative or greater than or equal to the maximum number of open file
descriptors permitted.
The request parameter is F_GETLK, F_GETLK64, F_SETLK,
F_SETLK64, F_SETLKW,or F_SETLKW64, and the data pointed to
by argument2 is invalid, or filedes refers to a file that does not support
locking.
The request parameter is F_GETOWN, and the filedes parameter does
not specify a socket.
The request parameter is F_SETFD, and a flag in addition to
FD_CLOEXEC in the argument1 parameter is set. When the reque st
parameter is F_SETFD and FD_CLOEXEC is set, no other flag can be
set.
The request parameter is F_SETFL, and any file status flag other than
O_NONBLOCK, O_APPEND, O_CREAT, O_EXCL, O_SYNC,or
O_TRUNC is set. (Values set in the O_ACCMODE mask are ignored.)
The request parameter is F_SETOWN, and the filedes parameter does
not specify a socket.
The call attempted to set an advisory record lock on a file that is not a
regular file.
[EIO] An input or output error occurred. The device holding the file might be in the
down state, or both processors that provide access to the device might have
failed.
[EISGUARDIAN]
The value used for the filedes parameter is appropriate only in the Guardian
environment.
[EMFILE] The request parameter is F_DUPFD and
the maximum number of open file
descriptors permitted are currently open in the calling process, or no file descrip-
tors greater than or equal to argument1 are available.
[ENETDOWN]
The request parameter is F_SETLK or F_SETLK64, the filedes parameter
specifies a file on a remote node, and communication with the remote node has
been lost.
[ENOLCK] The request parameter is F_SETLK, F_SETLK64, F_SETLKW,or
F_SETLKW64, and satisfying the lock or unlock request would cause the
number of locked regions in the system to exceed a system-imposed limit.
[ENOTOSS] The filedes parameter specifies a socket, and the calling process is running in the
Guardian environment. You cannot use the fcntl( ) function on an OSS socket
from the Guardian environment.
527186-023 Hewlett-Packard Company 317