Initial original import from: fuse-2.4.2-2.fc4
[captive.git] / src / libcaptive / client / result.c
index 5c4a972..b6a9dc8 100644 (file)
@@ -34,6 +34,14 @@ GnomeVFSResult captive_NTSTATUS_to_GnomeVFSResult(NTSTATUS err)
                case STATUS_OBJECT_NAME_NOT_FOUND: return GNOME_VFS_ERROR_NOT_FOUND;
                case STATUS_UNRECOGNIZED_VOLUME:   return GNOME_VFS_ERROR_WRONG_FORMAT;
                case STATUS_OBJECT_NAME_INVALID:   return GNOME_VFS_ERROR_INVALID_URI;
+               case STATUS_DIRECTORY_NOT_EMPTY:   return GNOME_VFS_ERROR_DIRECTORY_NOT_EMPTY;
+               case STATUS_NOT_A_DIRECTORY:       return GNOME_VFS_ERROR_NOT_A_DIRECTORY;
+               case STATUS_INVALID_PARAMETER:     return GNOME_VFS_ERROR_BAD_PARAMETERS;       /* read() of directory handle */
+               case STATUS_CANNOT_DELETE:         return GNOME_VFS_ERROR_GENERIC;      /* unlink() of '/' */
+               case STATUS_ACCESS_DENIED:         return GNOME_VFS_ERROR_ACCESS_DENIED;        /* mkdir() on r/o device */
+               case STATUS_OBJECT_PATH_NOT_FOUND: return GNOME_VFS_ERROR_NOT_FOUND;    /* rename() to nonexist/smth */
+               case STATUS_MEDIA_WRITE_PROTECTED: return GNOME_VFS_ERROR_READ_ONLY;
+               case STATUS_SHARING_VIOLATION:     return GNOME_VFS_ERROR_DIRECTORY_BUSY;       /* errno EBUSY */
                default:; /* PASSTHRU */
                }
        return GNOME_VFS_OK;    /* undetected */