1 use bitflags::bitflags; 2 use libc::{c_uint, c_ushort}; 3 4 #[allow(non_camel_case_types)] 5 #[derive(Clone, Copy, Debug, PartialEq)] 6 #[repr(i16)] 7 pub enum EventFilter { 8 EVFILT_READ = -1, 9 EVFILT_WRITE = -2, 10 EVFILT_AIO = -3, 11 EVFILT_VNODE = -4, 12 EVFILT_PROC = -5, 13 EVFILT_SIGNAL = -6, 14 EVFILT_TIMER = -7, 15 EVFILT_EXCEPT = -8, 16 EVFILT_USER = -9, 17 EVFILT_FS = -10, 18 EVFILT_SYSCOUNT = 10, 19 } 20 21 bitflags! { 22 pub struct EventFlag: c_ushort { 23 const EV_ADD = 0x0001; 24 const EV_DELETE = 0x0002; 25 const EV_ENABLE = 0x0004; 26 const EV_DISABLE = 0x0008; 27 const EV_ONESHOT = 0x0010; 28 const EV_CLEAR = 0x0020; 29 const EV_RECEIPT = 0x0040; 30 const EV_DISPATCH = 0x0080; 31 const EV_SYSFLAGS = 0xF000; 32 const EV_FLAG1 = 0x2000; 33 const EV_EOF = 0x8000; 34 const EV_ERROR = 0x4000; 35 const EV_NODATA = 0x1000; 36 } 37 } 38 39 bitflags! { 40 pub struct FilterFlag: c_uint { 41 const NOTE_FFNOP = 0x00000000; 42 const NOTE_FFAND = 0x40000000; 43 const NOTE_FFOR = 0x80000000; 44 const NOTE_FFCOPY = 0xc0000000; 45 const NOTE_FFCTRLMASK = 0xc0000000; 46 const NOTE_FFLAGSMASK = 0x00ffffff; 47 const NOTE_TRIGGER = 0x01000000; 48 const NOTE_LOWAT = 0x00000001; 49 const NOTE_OOB = 0x00000002; 50 const NOTE_DELETE = 0x00000001; 51 const NOTE_WRITE = 0x00000002; 52 const NOTE_EXTEND = 0x00000004; 53 const NOTE_ATTRIB = 0x00000008; 54 const NOTE_LINK = 0x00000010; 55 const NOTE_RENAME = 0x00000020; 56 const NOTE_REVOKE = 0x00000040; 57 const NOTE_EXIT = 0x80000000; 58 const NOTE_FORK = 0x40000000; 59 const NOTE_EXEC = 0x20000000; 60 const NOTE_SIGNAL = 0x08000000; 61 const NOTE_PCTRLMASK = 0xf0000000; 62 const NOTE_PDATAMASK = 0x000fffff; 63 const NOTE_TRACK = 0x00000001; 64 const NOTE_TRACKERR = 0x00000002; 65 const NOTE_CHILD = 0x00000004; 66 } 67 } 68