www.delorie.com/gnu/docs/glibc/libc_282.html   search  
 
Buy the book!


The GNU C Library

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14.8 Creating Directories

Directories are created with the mkdir function. (There is also a shell command mkdir which does the same thing.)

Function: int mkdir (const char *filename, mode_t mode)
The mkdir function creates a new, empty directory with name filename.

The argument mode specifies the file permissions for the new directory file. See section 14.9.5 The Mode Bits for Access Permission, for more information about this.

A return value of 0 indicates successful completion, and -1 indicates failure. In addition to the usual file name syntax errors (see section 11.2.3 File Name Errors), the following errno error conditions are defined for this function:

EACCES
Write permission is denied for the parent directory in which the new directory is to be added.

EEXIST
A file named filename already exists.

EMLINK
The parent directory has too many links (entries).

Well-designed file systems never report this error, because they permit more links than your disk could possibly hold. However, you must still take account of the possibility of this error, as it could result from network access to a file system on another machine.

ENOSPC
The file system doesn't have enough room to create the new directory.

EROFS
The parent directory of the directory being created is on a read-only file system and cannot be modified.

To use this function, your program should include the header file `sys/stat.h'.


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003