Create a subdirectory
#include <sys/types.h> #include <sys/stat.h> int mkdir( const char *path, mode_t mode );
The access permissions for the file or directory are specified as a combination of bits defined in the <sys/stat.h> header file. For more information, see “Access permissions” in the documentation for stat().
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The mkdir() function creates a new subdirectory named path. The path can be relative to the current working directory or it can be an absolute path name.
Not all filesystems support the creation of directories. For example, /dev/shmem (which really isn't a filesystem but looks like one) doesn't. For more information, see the Working with Filesystems chapter of the QNX Neutrino User's Guide. |
The directory's owner ID is set to the process's effective user ID. The directory's group ID is set to the group ID of the parent directory (if the parent set-group ID bit is set) or to the process's effective group ID.
The newly created directory is empty.
The following bits, in addition to file permission bits, behave as follows:
The mkdir() function marks the st_atime, st_ctime, and st_mtime fields of the directory for update. Also, the st_ctime and st_mtime fields of the parent directory are also updated.
0, or -1 if an error occurs (errno is set).
To make a new directory called /src in /hd:
#include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> int main( void ) { (void)mkdir( "/hd/src", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH ); return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
chdir(), chmod(), errno, fchdir(), getcwd(), mknod(), rmdir(), stat(), umask()