int errors = 0, sloppy = 0;
        uid_t uid = (uid_t)-1;
        gid_t gid = (gid_t)-1;
-       mode_t fmask = (mode_t)-1, dmask = (mode_t)-1;
+       umode_t fmask = (umode_t)-1, dmask = (umode_t)-1;
        int mft_zone_multiplier = -1, on_errors = -1;
        int show_sys_files = -1, case_sensitive = -1, disable_sparse = -1;
        struct nls_table *nls_map = NULL, *old_nls;
                vol->uid = uid;
        if (gid != (gid_t)-1)
                vol->gid = gid;
-       if (fmask != (mode_t)-1)
+       if (fmask != (umode_t)-1)
                vol->fmask = fmask;
-       if (dmask != (mode_t)-1)
+       if (dmask != (umode_t)-1)
                vol->dmask = dmask;
        if (show_sys_files != -1) {
                if (show_sys_files)
 
        unsigned long flags;            /* Miscellaneous flags, see below. */
        uid_t uid;                      /* uid that files will be mounted as. */
        gid_t gid;                      /* gid that files will be mounted as. */
-       mode_t fmask;                   /* The mask for file permissions. */
-       mode_t dmask;                   /* The mask for directory
+       umode_t fmask;                  /* The mask for file permissions. */
+       umode_t dmask;                  /* The mask for directory
                                           permissions. */
        u8 mft_zone_multiplier;         /* Initial mft zone multiplier. */
        u8 on_errors;                   /* What to do on filesystem errors. */