76 references to Interop
System.IO.FileSystem.Watcher (76)
src\libraries\Common\src\Interop\Unix\Interop.Errors.cs (6)
123_error = Interop.Sys.ConvertErrorPlatformToPal(errno); 140get { return _rawErrno == -1 ? (_rawErrno = Interop.Sys.ConvertErrorPalToPlatform(_error)) : _rawErrno; } 145return Interop.Sys.StrError(RawErrno); 219public static Interop.ErrorInfo Info(this Interop.Error error) 221return new Interop.ErrorInfo(error);
src\libraries\Common\src\Interop\Unix\Interop.IOErrors.cs (4)
16throw Interop.GetExceptionForIoErrno(errorInfo, path, isDirError); 21if (error != Interop.Error.SUCCESS) 99Exception e = Interop.GetExceptionForIoErrno(Sys.GetLastErrorInfo(), path, isDirError); 179internal static Exception GetIOException(Interop.ErrorInfo errorInfo, string? path = null)
System\IO\FileSystemWatcher.Linux.cs (66)
36SafeFileHandle handle = Interop.Sys.INotifyInit(); 39Interop.ErrorInfo error = Interop.Sys.GetLastErrorInfo(); 43case Interop.Error.EMFILE: 49case Interop.Error.ENFILE: 52throw Interop.GetExceptionForIoErrno(error); 156private static Interop.Sys.NotifyEvents TranslateFilters(NotifyFilters filters) 158Interop.Sys.NotifyEvents result = 0; 163Interop.Sys.NotifyEvents.IN_ONLYDIR | // we only allow watches on directories 164Interop.Sys.NotifyEvents.IN_EXCL_UNLINK; // we want to stop monitoring unlinked files 173Interop.Sys.NotifyEvents.IN_CREATE | 174Interop.Sys.NotifyEvents.IN_DELETE; 194result |= Interop.Sys.NotifyEvents.IN_ACCESS; 198result |= Interop.Sys.NotifyEvents.IN_MODIFY; 202result |= Interop.Sys.NotifyEvents.IN_ATTRIB; 213Interop.Sys.NotifyEvents.IN_MOVED_FROM | 214Interop.Sys.NotifyEvents.IN_MOVED_TO; 264private readonly Interop.Sys.NotifyEvents _watchFilters; 361(Interop.Sys.LStat(fullPath, out Interop.Sys.FileStatus status) == 0) && 362((status.Mode & (uint)Interop.Sys.FileTypes.S_IFMT) == Interop.Sys.FileTypes.S_IFLNK)) 371uint mask = (uint)(_watchFilters | Interop.Sys.NotifyEvents.IN_EXCL_UNLINK | (hasParent ? Interop.Sys.NotifyEvents.IN_DONT_FOLLOW : 0)); 372int wd = Interop.Sys.INotifyAddWatch(_inotifyHandle, fullPath, mask); 378Interop.ErrorInfo error = Interop.Sys.GetLastErrorInfo(); 382if (hasParent && (error.Error == Interop.Error.ENOENT || 383error.Error == Interop.Error.ENOTDIR)) 389if (error.Error == Interop.Error.ENOSPC) 399exc = Interop.GetExceptionForIoErrno(error, fullPath); 475catch (IOException ex) when (ex.HResult == Interop.Error.ENOTDIR.Info().RawErrno) 529int result = Interop.Sys.INotifyRemoveWatch(_inotifyHandle, directoryEntry.WatchDescriptor); 546int result = Interop.Sys.INotifyRemoveWatch(_inotifyHandle, wd); 580if ((mask & (uint)Interop.Sys.NotifyEvents.IN_Q_OVERFLOW) != 0) 619bool isDir = (mask & (uint)(Interop.Sys.NotifyEvents.IN_ISDIR | Interop.Sys.NotifyEvents.IN_IGNORED)) != 0; 624if (!previousEventName.IsEmpty && ((mask & (uint)Interop.Sys.NotifyEvents.IN_MOVED_TO) == 0 || previousEventCookie != nextEvent.cookie)) 656const Interop.Sys.NotifyEvents AddMaskFilters = Interop.Sys.NotifyEvents.IN_CREATE | Interop.Sys.NotifyEvents.IN_MOVED_TO; 665const Interop.Sys.NotifyEvents fileDirEvents = Interop.Sys.NotifyEvents.IN_CREATE | 666Interop.Sys.NotifyEvents.IN_DELETE | 667Interop.Sys.NotifyEvents.IN_MOVED_FROM | 668Interop.Sys.NotifyEvents.IN_MOVED_TO; 676const Interop.Sys.NotifyEvents switchMask = fileDirEvents | Interop.Sys.NotifyEvents.IN_IGNORED | 677Interop.Sys.NotifyEvents.IN_ACCESS | Interop.Sys.NotifyEvents.IN_MODIFY | Interop.Sys.NotifyEvents.IN_ATTRIB; 678switch ((Interop.Sys.NotifyEvents)(mask & (uint)switchMask)) 680case Interop.Sys.NotifyEvents.IN_CREATE: 683case Interop.Sys.NotifyEvents.IN_IGNORED: 690case Interop.Sys.NotifyEvents.IN_DELETE: 695case Interop.Sys.NotifyEvents.IN_ACCESS: 696case Interop.Sys.NotifyEvents.IN_MODIFY: 697case Interop.Sys.NotifyEvents.IN_ATTRIB: 700case Interop.Sys.NotifyEvents.IN_MOVED_FROM: 718Interop.PollEvents events; 719Interop.Sys.Poll(_inotifyHandle, Interop.PollEvents.POLLIN, MillisecondsTimeout, out events); 722if (events == Interop.PollEvents.POLLNONE) 736case Interop.Sys.NotifyEvents.IN_MOVED_TO: 818_bufferAvailable = Interop.CheckIo(Interop.Sys.Read(_inotifyHandle, buf, this._buffer.Length));