From 66e46895b9d5c2861c15cc238544ff081d0383c6 Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Wed, 5 Apr 2006 05:17:23 +0000 Subject: [PATCH] new page for mknodat(2). --- man2/mknodat.2 | 105 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 man2/mknodat.2 diff --git a/man2/mknodat.2 b/man2/mknodat.2 new file mode 100644 index 000000000..6705d4756 --- /dev/null +++ b/man2/mknodat.2 @@ -0,0 +1,105 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" +.\" This manpage is Copyright (C) 2006, Michael Kerrisk +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" +.TH MKNODAT 2 2006-04-06 "Linux 2.6.16" "Linux Programmer's Manual" +.SH NAME +mknodat \- create a special or ordinary file at a relative location +.SH SYNOPSIS +.nf +.B #include +.sp +.BI "int mknodat(int " dirfd ", const char *" pathname ", mode_t " mode \ +", dev_t " dev ); +.fi +.SH DESCRIPTION +The +.BR mknodat () +system call operates in exactly the same way as +.BR mknod (2), +except for the differences described in this manual page. + +If the pathname given in +.I pathname +is relative, then it is interpreted relative to the directory +referred to by the file descriptor +.IR dirfd +(rather than relative to the current working directory of +the calling process, as is done by +.BR mknod (2) +for a relative pathname). + +If the pathname given in +.I pathname +is relative and +.I dirfd +is the special value +.BR AT_FDCWD , +then pathname is interpreted relative to the current working +directory of the calling process (like +.BR mknod (2)). + +If the pathname given in +.IR pathname +is absolute, then +.I dirfd +is ignored. +.SH "RETURN VALUE" +On success, +.BR mknodat () +returns 0. +On error, \-1 is returned and +.I errno +is set to indicate the error. +.SH ERRORS +The same errors that occur for +.BR mknod (2) +can also occur for +.BR mknodat (). +The following additional errors can occur for +.BR mknodat (): +.TP +.B EBADF +.I dirfd +is not a valid file descriptor. +.TP +.B ENOTDIR +.I dirfd +is a file descriptor referring to a file other than a directory. +.SH NOTES +See +.BR openat (2) +for an explanation of the need for +.BR mknodat (). +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. +.SH VERSIONS +.BR mknodat () +was added to Linux in kernel 2.6.16. +.SH "SEE ALSO" +.BR mknod (2), +.BR openat (2), +.BR path_resolution (2) +.\" FIXME . eventually list other *at.2 pages here?