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