+ enum FilterFlags : uint {
+ ReadPoll = EventFlags.Flag0,
+ ReadOutOfBand = EventFlags.Flag1,
+ ReadLowWaterMark = 0x00000001,
+
+ WriteLowWaterMark = ReadLowWaterMark,
+
+ NoteTrigger = 0x01000000,
+ NoteFFNop = 0x00000000,
+ NoteFFAnd = 0x40000000,
+ NoteFFOr = 0x80000000,
+ NoteFFCopy = 0xc0000000,
+ NoteFFCtrlMask = 0xc0000000,
+ NoteFFlagsMask = 0x00ffffff,
+
+ VNodeDelete = 0x00000001,
+ VNodeWrite = 0x00000002,
+ VNodeExtend = 0x00000004,
+ VNodeAttrib = 0x00000008,
+ VNodeLink = 0x00000010,
+ VNodeRename = 0x00000020,
+ VNodeRevoke = 0x00000040,
+ VNodeNone = 0x00000080,
+
+ ProcExit = 0x80000000,
+ ProcFork = 0x40000000,
+ ProcExec = 0x20000000,
+ ProcReap = 0x10000000,
+ ProcSignal = 0x08000000,
+ ProcExitStatus = 0x04000000,
+ ProcResourceEnd = 0x02000000,
+
+ // iOS only
+ ProcAppactive = 0x00800000,
+ ProcAppBackground = 0x00400000,
+ ProcAppNonUI = 0x00200000,
+ ProcAppInactive = 0x00100000,
+ ProcAppAllStates = 0x00f00000,
+
+ // Masks
+ ProcPDataMask = 0x000fffff,
+ ProcControlMask = 0xfff00000,
+
+ VMPressure = 0x80000000,
+ VMPressureTerminate = 0x40000000,
+ VMPressureSuddenTerminate = 0x20000000,
+ VMError = 0x10000000,
+ TimerSeconds = 0x00000001,
+ TimerMicroSeconds = 0x00000002,
+ TimerNanoSeconds = 0x00000004,
+ TimerAbsolute = 0x00000008,
+ }
+
+ [StructLayout(LayoutKind.Sequential)]