0                  Indicates success.
    -1                 Indicates failure. The function sets errno to
                       one of the following values:
                       o  EISDIR - The new argument points to a
                          directory, and the old argument points
                          to a file that is not a directory.
                       o  EEXIST - The new argument points to a
                          directory that already exists.
                       o  ENOTDIR - The old argument names a
                          directory, and new argument names a non-
                          directory file.
                       o  ENOENT - The old argument points to a file,
                          directory, or device that does not exist.
                          Or the new argument points to a nonexisting
                          directory path or device.