Lines Matching defs:fMode

47  * @param   fMode       The mode mask containing dos-style attributes only.
51 RTFMODE rtFsModeFromDos(RTFMODE fMode, const char *pszName, size_t cbName)
53 fMode &= ~((1 << RTFS_DOS_SHIFT) - 1);
56 fMode |= RTFS_UNIX_IRUSR | RTFS_UNIX_IRGRP | RTFS_UNIX_IROTH;
57 if (fMode & RTFS_DOS_DIRECTORY)
59 fMode |= RTFS_TYPE_DIRECTORY | RTFS_UNIX_IXUSR | RTFS_UNIX_IXGRP | RTFS_UNIX_IXOTH;
62 fMode |= RTFS_TYPE_FILE;
80 fMode |= RTFS_UNIX_IXUSR | RTFS_UNIX_IXGRP | RTFS_UNIX_IXOTH;
85 if (fMode & RTFS_DOS_NT_REPARSE_POINT)
86 fMode = (fMode & ~RTFS_TYPE_MASK) | RTFS_TYPE_SYMLINK;
89 if (!(fMode & RTFS_DOS_READONLY))
90 fMode |= RTFS_UNIX_IWUSR | RTFS_UNIX_IWGRP | RTFS_UNIX_IWOTH;
91 return fMode;
99 * @param fMode The mode mask containing dos-style attributes only.
103 RTFMODE rtFsModeFromUnix(RTFMODE fMode, const char *pszName, size_t cbName)
107 fMode &= RTFS_UNIX_MASK;
109 if (!(fMode & (RTFS_UNIX_IWUSR | RTFS_UNIX_IWGRP | RTFS_UNIX_IWOTH)))
110 fMode |= RTFS_DOS_READONLY;
111 if (RTFS_IS_DIRECTORY(fMode))
112 fMode |= RTFS_DOS_DIRECTORY;
113 if (!(fMode & RTFS_DOS_MASK))
114 fMode |= RTFS_DOS_NT_NORMAL;
115 if (!(fMode & RTFS_DOS_HIDDEN) && pszName)
119 fMode |= RTFS_DOS_HIDDEN;
121 return fMode;
133 * @param fMode The mode mask that may contain a partial/incomplete mask.
137 RTFMODE rtFsModeNormalize(RTFMODE fMode, const char *pszName, size_t cbName)
139 if (!(fMode & RTFS_UNIX_MASK))
140 fMode = rtFsModeFromDos(fMode, pszName, cbName);
141 else if (!(fMode & RTFS_DOS_MASK))
142 fMode = rtFsModeFromUnix(fMode, pszName, cbName);
143 else if (!(fMode & RTFS_TYPE_MASK))
144 fMode |= fMode & RTFS_DOS_DIRECTORY ? RTFS_TYPE_DIRECTORY : RTFS_TYPE_FILE;
145 else if (RTFS_IS_DIRECTORY(fMode))
146 fMode |= RTFS_DOS_DIRECTORY;
147 return fMode;
156 * @param fMode The file mode.
158 bool rtFsModeIsValid(RTFMODE fMode)
160 AssertMsgReturn( (!RTFS_IS_DIRECTORY(fMode) && !(fMode & RTFS_DOS_DIRECTORY))
161 || (RTFS_IS_DIRECTORY(fMode) && (fMode & RTFS_DOS_DIRECTORY)),
162 ("%RTfmode\n", fMode), false);
163 AssertMsgReturn(RTFS_TYPE_MASK & fMode,
164 ("%RTfmode\n", fMode), false);
175 * @param fMode The file mode.
177 bool rtFsModeIsValidPermissions(RTFMODE fMode)
179 AssertMsgReturn( (!RTFS_IS_DIRECTORY(fMode) && !(fMode & RTFS_DOS_DIRECTORY))
180 || (RTFS_IS_DIRECTORY(fMode) && (fMode & RTFS_DOS_DIRECTORY)),
181 ("%RTfmode\n", fMode), false);