xref: /csrg-svn/lib/libc/sys/mknod.2 (revision 20081)
Copyright (c) 1980 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)mknod.2 5.1 (Berkeley) 05/09/85

MKNOD 2 "2 July 1983"
C 4
NAME
mknod - make a special file
SYNOPSIS
mknod(path, mode, dev)
char *path;
int mode, dev;
DESCRIPTION
Mknod creates a new file whose name is path. The mode of the new file (including special file bits) is initialized from mode . (The protection part of the mode is modified by the process's mode mask; see umask (2)). The first block pointer of the i-node is initialized from dev and is used to specify which device the special file refers to.

If mode indicates a block or character special file, dev is a configuration dependent specification of a character or block I/O device. If mode does not indicate a block special or character special device, dev is ignored.

Mknod may be invoked only by the super-user.

"RETURN VALUE
Upon successful completion a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
Mknod will fail and the file mode will be unchanged if:

15 [EPERM] The process's effective user ID is not super-user.

15 [EPERM] The pathname contains a character with the high-order bit set.

15 [ENOTDIR] A component of the path prefix is not a directory.

15 [ENOENT] A component of the path prefix does not exist.

15 [EROFS] The named file resides on a read-only file system.

15 [EEXIST] The named file exists.

15 [EFAULT] Path points outside the process's allocated address space.

15 [ELOOP] Too many symbolic links were encountered in translating the pathname.

"SEE ALSO"
chmod(2), stat(2), umask(2)