94 references to Interop
System.IO.FileSystem.Watcher (94)
LibraryImports.g.cs (15)
7internal static extern partial global::Interop.Error ConvertErrorPlatformToPal(int platformErrno); 15internal static extern partial int ConvertErrorPalToPlatform(global::Interop.Error error); 31internal static unsafe extern partial global::Interop.Error GetSocketAddressSizes(int* ipv4SocketAddressSize, int* ipv6SocketAddressSize, int* udsSocketAddressSize, int* maxSocketAddressSize); 39internal static unsafe extern partial global::Interop.Error GetAddressFamily(byte* socketAddress, int socketAddressLen, int* addressFamily); 47internal static unsafe extern partial global::Interop.Error SetAddressFamily(byte* socketAddress, int socketAddressLen, int addressFamily); 55internal static unsafe extern partial global::Interop.Error GetPort(byte* socketAddress, int socketAddressLen, ushort* port); 63internal static unsafe extern partial global::Interop.Error SetPort(byte* socketAddress, int socketAddressLen, ushort port); 71internal static unsafe extern partial global::Interop.Error GetIPv4Address(byte* socketAddress, int socketAddressLen, uint* address); 79internal static unsafe extern partial global::Interop.Error SetIPv4Address(byte* socketAddress, int socketAddressLen, uint address); 87internal static unsafe extern partial global::Interop.Error GetIPv6Address(byte* socketAddress, int socketAddressLen, byte* address, int addressLen, uint* scopeId); 95internal static unsafe extern partial global::Interop.Error SetIPv6Address(byte* socketAddress, int socketAddressLen, byte* address, int addressLen, uint scopeId); 134internal static unsafe extern partial int GetNameInfo(byte* address, uint addressLength, byte isIpv6, byte* host, uint hostLength, byte* service, uint serviceLength, global::Interop.Sys.GetNameInfoFlags flags); 142internal static unsafe partial int GetHostEntryForName(string address, global::System.Net.Sockets.AddressFamily family, global::Interop.Sys.HostEntry* entry) 167static extern unsafe int __PInvoke(byte* __address_native, global::System.Net.Sockets.AddressFamily __family_native, global::Interop.Sys.HostEntry* __entry_native); 176internal static unsafe extern partial void FreeHostEntry(global::Interop.Sys.HostEntry* entry);
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;