109 references to Interop
System.IO.FileSystem.Watcher (109)
LibraryImports.g.cs (30)
7internal static extern partial global::Interop.Error ConvertErrorPlatformToPal(int platformErrno); 15internal static extern partial int ConvertErrorPalToPlatform(global::Interop.Error error); 54internal static partial int FLock(global::Microsoft.Win32.SafeHandles.SafeFileHandle fd, global::Interop.Sys.LockOperations operation) 83static extern unsafe int __PInvoke(nint __fd_native, global::Interop.Sys.LockOperations __operation_native); 92internal static partial int FLock(nint fd, global::Interop.Sys.LockOperations operation) 106static extern unsafe int __PInvoke(nint __fd_native, global::Interop.Sys.LockOperations __operation_native); 115internal static unsafe partial void GetControlCharacters(global::Interop.Sys.ControlCharacterNames* controlCharacterNames, byte* controlCharacterValues, int controlCharacterLength, out byte posixDisableValue) 126static extern unsafe void __PInvoke(global::Interop.Sys.ControlCharacterNames* __controlCharacterNames_native, byte* __controlCharacterValues_native, int __controlCharacterLength_native, byte* __posixDisableValue_native); 157internal static partial global::Microsoft.Win32.SafeHandles.SafeFileHandle Open(string filename, global::Interop.Sys.OpenFlags flags, int mode) 201static extern unsafe nint __PInvoke(byte* __filename_native, global::Interop.Sys.OpenFlags __flags_native, int __mode_native); 210internal static unsafe extern partial global::Interop.Error Poll(global::Interop.PollEvent* pollEvents, uint eventCount, int timeout, uint* triggered); 226internal static unsafe partial int GetPwUidR(uint uid, out global::Interop.Sys.Passwd pwd, byte* buf, int bufLen) 231fixed (global::Interop.Sys.Passwd* __pwd_native = &pwd) 239static extern unsafe int __PInvoke(uint __uid_native, global::Interop.Sys.Passwd* __pwd_native, byte* __buf_native, int __bufLen_native); 248internal static unsafe partial int GetPwNamR(string name, out global::Interop.Sys.Passwd pwd, byte* buf, int bufLen) 260fixed (global::Interop.Sys.Passwd* __pwd_native = &pwd) 276static extern unsafe int __PInvoke(byte* __name_native, global::Interop.Sys.Passwd* __pwd_native, byte* __buf_native, int __bufLen_native); 390internal static partial int FStat(global::System.Runtime.InteropServices.SafeHandle fd, out global::Interop.Sys.FileStatus output) 403fixed (global::Interop.Sys.FileStatus* __output_native = &output) 422static extern unsafe int __PInvoke(nint __fd_native, global::Interop.Sys.FileStatus* __output_native); 431internal static partial int Stat(string path, out global::Interop.Sys.FileStatus output) 444fixed (global::Interop.Sys.FileStatus* __output_native = &output) 463static extern unsafe int __PInvoke(byte* __path_native, global::Interop.Sys.FileStatus* __output_native); 472internal static partial int LStat(string path, out global::Interop.Sys.FileStatus output) 485fixed (global::Interop.Sys.FileStatus* __output_native = &output) 504static extern unsafe int __PInvoke(byte* __path_native, global::Interop.Sys.FileStatus* __output_native); 688internal static partial int GetWindowSize(global::Microsoft.Win32.SafeHandles.SafeFileHandle terminalHandle, out global::Interop.Sys.WinSize winSize) 701fixed (global::Interop.Sys.WinSize* __winSize_native = &winSize) 720static extern unsafe int __PInvoke(nint __terminalHandle_native, global::Interop.Sys.WinSize* __winSize_native);
src\libraries\Common\src\Interop\Unix\Interop.Errors.cs (6)
124_error = Interop.Sys.ConvertErrorPlatformToPal(errno); 141get { return _rawErrno == -1 ? (_rawErrno = Interop.Sys.ConvertErrorPalToPlatform(_error)) : _rawErrno; } 146return Interop.Sys.StrError(RawErrno); 220public static Interop.ErrorInfo Info(this Interop.Error error) 222return 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 (69)
148SafeFileHandle handle = Interop.Sys.INotifyInit(); 152Interop.ErrorInfo error = Interop.Sys.GetLastErrorInfo(); 156case Interop.Error.EMFILE: 162case Interop.Error.ENFILE: 165throw Interop.GetExceptionForIoErrno(error); 218private WatchedDirectory? AddOrUpdateWatchedDirectory(Watcher watcher, WatchedDirectory? parent, string directoryPath, Interop.Sys.NotifyEvents watchFilters, bool ignoreMissing = true) 242Interop.Sys.NotifyEvents mask = watchFilters | 243Interop.Sys.NotifyEvents.IN_ONLYDIR | // we only allow watches on directories 244Interop.Sys.NotifyEvents.IN_EXCL_UNLINK | // we want to stop monitoring unlinked files 245(parent == null ? 0 : Interop.Sys.NotifyEvents.IN_DONT_FOLLOW); // Follow links only for the root path, not the subdirs. 250mask |= Interop.Sys.NotifyEvents.IN_MASK_ADD; 255mask |= Interop.Sys.NotifyEvents.IN_MOVED_TO | Interop.Sys.NotifyEvents.IN_MOVED_FROM; 258int wd = Interop.Sys.INotifyAddWatch(_inotifyHandle, directoryPath, (uint)mask); 263Interop.ErrorInfo error = Interop.Sys.GetLastErrorInfo(); 266if (ignoreMissing && (error.Error == Interop.Error.ENOENT || error.Error == Interop.Error.ENOTDIR)) 272if (error.Error == Interop.Error.ENOSPC) 282exc = Interop.GetExceptionForIoErrno(error, directoryPath); 406Interop.Sys.INotifyRemoveWatch(_inotifyHandle, watch.WatchDescriptor); 519const Interop.Sys.NotifyEvents FileDirEvents = 520Interop.Sys.NotifyEvents.IN_CREATE | 521Interop.Sys.NotifyEvents.IN_DELETE | 522Interop.Sys.NotifyEvents.IN_MOVED_FROM | 523Interop.Sys.NotifyEvents.IN_MOVED_TO; 525const Interop.Sys.NotifyEvents EventMask = 527Interop.Sys.NotifyEvents.IN_ACCESS | 528Interop.Sys.NotifyEvents.IN_MODIFY | 529Interop.Sys.NotifyEvents.IN_ATTRIB; 532Interop.Sys.NotifyEvents mask = (Interop.Sys.NotifyEvents)nextEvent.mask; 535if ((mask & Interop.Sys.NotifyEvents.IN_Q_OVERFLOW) != 0) 567bool isMatchingMovedTo = (mask & Interop.Sys.NotifyEvents.IN_MOVED_TO) != 0 && movedFromCookie == nextEvent.cookie; 583if (!IsIgnoredEvent(watcher, Interop.Sys.NotifyEvents.IN_DELETE, movedFromIsDir)) 599bool isDir = (mask & (Interop.Sys.NotifyEvents.IN_ISDIR | Interop.Sys.NotifyEvents.IN_IGNORED)) != 0; 604if ((mask & Interop.Sys.NotifyEvents.IN_MOVED_FROM) != 0) 618Interop.PollEvents events; 619Interop.Sys.Poll(_inotifyHandle, Interop.PollEvents.POLLIN, MillisecondsTimeout, out events); 621eventAvailable = events != Interop.PollEvents.POLLNONE; 642if ((mask & (Interop.Sys.NotifyEvents.IN_CREATE | Interop.Sys.NotifyEvents.IN_MOVED_TO)) != 0) 654else if ((mask & Interop.Sys.NotifyEvents.IN_MOVED_FROM) != 0) 660if ((mask & Interop.Sys.NotifyEvents.IN_IGNORED) != 0) 679case Interop.Sys.NotifyEvents.IN_CREATE: 682case Interop.Sys.NotifyEvents.IN_DELETE: 685case Interop.Sys.NotifyEvents.IN_ACCESS: 686case Interop.Sys.NotifyEvents.IN_MODIFY: 687case Interop.Sys.NotifyEvents.IN_ATTRIB: 690case Interop.Sys.NotifyEvents.IN_MOVED_FROM: 693case Interop.Sys.NotifyEvents.IN_MOVED_TO: 706=> matchingFromFound ??= (mask & Interop.Sys.NotifyEvents.IN_MOVED_TO) != 0 ? FindMatchingWatchedDirectory(dirs, watcher) : null; 766static bool IsIgnoredEvent(Watcher watcher, Interop.Sys.NotifyEvents mask, bool isDir) 855_bufferAvailable = Interop.CheckIo(Interop.Sys.Read(_inotifyHandle, buf, this._buffer.Length)); 1000public Interop.Sys.NotifyEvents WatchFilters { get; } 1198catch (IOException ex) when (ex.HResult == Interop.Error.ENOTDIR.Info().RawErrno) 1245private static Interop.Sys.NotifyEvents TranslateFilters(NotifyFilters filters) 1247Interop.Sys.NotifyEvents result = 0; 1256Interop.Sys.NotifyEvents.IN_CREATE | 1257Interop.Sys.NotifyEvents.IN_DELETE; 1277result |= Interop.Sys.NotifyEvents.IN_ACCESS; 1281result |= Interop.Sys.NotifyEvents.IN_MODIFY; 1285result |= Interop.Sys.NotifyEvents.IN_ATTRIB; 1296Interop.Sys.NotifyEvents.IN_MOVED_FROM | 1297Interop.Sys.NotifyEvents.IN_MOVED_TO;