![]() Chapter Contents  | 
![]() Previous  | 
![]() Next  | 
| mknod | 
| Portability: | SAS/C extension | 
| SYNOPSIS | |
| DESCRIPTION | |
| RETURN VALUE | |
| PORTABILITY | |
| EXAMPLE | |
| RELATED FUNCTIONS | 
| SYNOPSIS | 
#include <sys/stat.h> int mknod(const char *path, mode_t mode, rdev_t device_id);
| DESCRIPTION | 
mknod
creates a new character
special file or a FIFO special file. The 
path
 argument specifies the pathname of the special file, and the 
mode
 argument determines which
type of special file is created. The following symbols can be specified as
the 
mode
 argument:  
S_IFCHR
 | 
Character special file | 
S_IFFIFO
 | 
FIFO special file | 
The file permissions bits of the new special file can
also be initialized with the 
mode
 argument. To do this, use a bitwise OR operation to combine any
of the permissions symbols described for the 
mode
 argument of the 
chmod
 function with either 
S_IFCHR
 or 
S_IFFIFO
.
The 
device_id
 argument identifies the specific device associated with a character
special file. This argument is not used with FIFO special files.
The 
device_id
 argument is one word long, with the high-order 16 bits used to identify
the device driver for a class of devices, such as interactive terminals. See
IBM's Application Callable Services for OpenEdition MVS (SC23-3020)
for an explanation of device IDs.
| RETURN VALUE | 
mknod
 returns 
0
if successful and 
-1
 if
it is unsuccessful.
| PORTABILITY | 
The 
mknode
 function is useful in POSIX applications; however, it is not
defined by POSIX.1 and should not be used in strictly conforming applications.
POSIX.1 does not provide a way to make character special files.
| EXAMPLE | 
The following code fragment illustrates
the use of 
mknod
 to create
a character special file with user read and write permissions set and a 
device_id
 of 
0x00020003
. (It is a slave pseudo TTY.) 
#include <sys/stat.h> #include <unistd.h> #include <stdio.h> #define deviceClass 0x00020000 #define ttyNumber 3 . . . char charSpecial[]="pseudo.tty"; . . . mknod(charSpecial, S_IFCHR|S_RUSR|S_IWUSR, deviceClass|ttyNumber); . . .
| RELATED FUNCTIONS | 
![]() Chapter Contents  | 
![]() Previous  | 
![]() Next  | 
![]() Top of Page  | 
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.