Open System Services System Calls Reference Manual (G06.28+)
mknod(2) OSS System Calls Reference Manual
Use From the Guardian Environment
The mknod() function can be used by a Guardian process when the process has been compiled
using the #define _XOPEN_SOURCE_EXTENDED 1
feature-test macro or an equivalent com-
piler command option.
The mknod() function is one of a set of functions that have the following effects when the first
of them is called from the Guardian environment:
• Two Guardian file-system file numbers (not necessarily the next two available) are allo-
cated for the root directory and the current working directory. These file numbers cannot
be closed by calling the Guardian FILE_CLOSE_ procedure.
• The current working directory is assigned from the VOLUME attribute of the Guardian
environment =_DEFAULTS DEFINE.
• The use of static memory by the process increases slightly.
These effects occur only when the first of the set of functions is called. The effects are not cumu-
lative.
Use on Guardian Objects
When S_IFREG is specified for the mode parameter, the path parameter can be any valid version
of the following:
/G/vol/subvol Where vol already exists. If vol does not exist, the function call fails and errno
is set to the value of [EINVAL].
/G/vol/subvol/fileid
Where vol already exists and fileid specifies a regular disk file (an odd unstruc-
tured Enscribe file). If vol does not exist, the function call fails and errno is set
to the value of [EINVAL].
If only /G/vol is specified, the function call fails and errno is set to the value of [EPERM].
When S_IFCHR is specified for the mode parameter, any specification for the path parameter
that uses /G causes the function call to fail and errno to be set to [EPERM].
When S_IFDIR is specified for the mode parameter, a specification of /G/vol for the path param-
eter causes the function call to fail and errno to be set to [EINVAL].
If any other file type value is used for the mode parameter of a file in /G, the function call fails
and errno is set to the value of [EINVAL].
The file access permissions S_ISUID, S_ISGID, and S_ISVTX are ignored when you are creat-
ing files in the Guardian file system.
NOTES
Use the mkfifo( ) function instead of the mknod() function to create a FIFO when you need to
port an application to a UNIX system that does not support XPG4 Version 2.
RETURN VALUES
Upon successful completion, the value 0 (zero) is returned. Otherwise, the value -1 is returned
and errno is set to indicate the error.
ERRORS
If any of the following conditions occurs, the new file is not created and the mknod( ) function
sets errno to the corresponding value:
[EACCES] A component of the pathname prefix denies search permission, or write permis-
sion is denied on the parent directory of the file to be created.
4−40 Hewlett-Packard Company 527186-005