## Name

gfs_mkdir — create a directory

## Synopsis

    #include <gfarm/gfarm.h>

`gfarm_error_t gfs_mkdir(` | gfarm_url, |
| mode`)`; |

`const char * gfarm_url`;
`gfarm_mode_t mode`;

## DESCRIPTION

`gfs_mkdir()` attempts to create a directory named `gfarm_url`.

`mode` speficies the permissions to use. It is modified by the process's `umask` in the usual way: the permissions of the created file are (`mode` & ~umask).

## RETURN VALUES

`GFARM_ERR_NO_ERROR`

  The function terminated successfully.

`GFARM_ERR_NO_MEMORY`

  Insufficient memory was available.

`GFARM_ERR_ALREADY_EXISTS`

  `gfarm_url` already exists (not necessarily as a directory). This includes the case where `gfarm_url` is a symbolic link, dangling or not.

`GFARM_ERR_NO_SUCH_OBJECT`

  The parent directory of `gfarm_url` does not exist.

`GFARM_ERR_NOT_A_DIRECTORY`

  A component of the path prefix is not a directory.

Others

  An error except the above occurred. The reason is shown by gfarm_error_string(3).