Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

errno(9) [netbsd man page]

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

NAME
errno -- kernel internal error numbers SYNOPSIS
#include <sys/errno.h> DESCRIPTION
This section provides an overview of the error numbers used internally by the kernel and indicate neither success nor failure. These error numbers are not returned to userland code. DIAGNOSTICS
Kernel functions that indicate success or failure by means of either 0 or an errno(2) value sometimes have a need to indicate that ``special'' handling is required at an upper layer or, in the case of ioctl(2) processing, that ``nothing was wrong but the request was not handled''. To handle these cases, some negative errno(2) values are defined which are handled by the kernel before returning a different errno(2) value to userland or simply zero. The following is a list of the defined names and their meanings as given in <errno.h>. It is important to note that the value -1 is not used, since it is commonly used to indicate generic failure and leaves it up to the caller to determine the action to take. -2 EJUSTRETURN Modify regs, just return. No more work is required and the function should just return. -3 ERESTART Restart syscall. The system call should be restarted. This typically means that the machine dependent system call trap code will reposition the process's instruction pointer or program counter to re-execute the current system call with no other work required. -4 EPASSTHROUGH Operation not handled by this layer. The operation was not handled and should be passed through to another layer. This often occurs when processing ioctl(2) requests since lower layer processing may not handle something that subsequent code at a higher level will. -5 EDUPFD Duplicate file descriptor. This error is returned from the device open routine indicating that the l_dupfd field contains the file descriptor information to be returned to the caller, instead of the file descriptor that has been opened already. This error is used by cloning device multiplexors. Cloning device multiplexors open a new file descriptor and associate that file descriptor with the appropriate cloned device. They set l_dupfd to that new file descriptor and return EDUPFD. vn_open(9) takes the file descriptor pointed to by l_dupfd and copies it to the file descriptor that the open call will return. -6 EMOVEFD Move file descriptor. This error is similar to EDUPFD except that the file descriptor in l_dupfd is closed after it has been copied. SEE ALSO
errno(2), ioctl(9) HISTORY
An errno manual page appeared in Version 6 AT&T UNIX. This errno manual page appeared in NetBSD 3.0. BSD
December 3, 2004 BSD

Check Out this Related Man Page

IOCTL(2)						     Linux Programmer's Manual							  IOCTL(2)

NAME
ioctl - control device SYNOPSIS
#include <sys/ioctl.h> int ioctl(int d, int request, ...); DESCRIPTION
The ioctl() function manipulates the underlying device parameters of special files. In particular, many operating characteristics of char- acter special files (e.g., terminals) may be controlled with ioctl() requests. The argument d must be an open file descriptor. The second argument is a device-dependent request code. The third argument is an untyped pointer to memory. It's traditionally char *argp (from the days before void * was valid C), and will be so named for this discussion. An ioctl() request has encoded in it whether the argument is an in parameter or out parameter, and the size of the argument argp in bytes. Macros and defines used in specifying an ioctl() request are located in the file <sys/ioctl.h>. RETURN VALUE
Usually, on success zero is returned. A few ioctl() requests use the return value as an output parameter and return a nonnegative value on success. On error, -1 is returned, and errno is set appropriately. ERRORS
EBADF d is not a valid descriptor. EFAULT argp references an inaccessible memory area. EINVAL Request or argp is not valid. ENOTTY d is not associated with a character special device. ENOTTY The specified request does not apply to the kind of object that the descriptor d references. CONFORMING TO
No single standard. Arguments, returns, and semantics of ioctl() vary according to the device driver in question (the call is used as a catch-all for operations that don't cleanly fit the Unix stream I/O model). See ioctl_list(2) for a list of many of the known ioctl() calls. The ioctl() function call appeared in Version 7 AT&T Unix. NOTES
In order to use this call, one needs an open file descriptor. Often the open(2) call has unwanted side effects, that can be avoided under Linux by giving it the O_NONBLOCK flag. SEE ALSO
execve(2), fcntl(2), ioctl_list(2), open(2), sd(4), tty(4) COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2000-09-21 IOCTL(2)
Man Page