static unsafe extern int kevent(KernelEvent *changeList, int nChanges, KernelEvent *eventList, int nEvents, ref TimeSpec timeout);
public bool KEvent(KernelEvent [] changeList, KernelEvent [] eventList, ref TimeSpec timeOut) { unsafe { fixed (KernelEvent *cp = &changeList [0]) fixed (KernelEvent *ep = &eventList [0]) return kevent (cp, changeList != null ? changeList.Length : 0, ep, eventList != null ? eventList.Length : 0, ref timeOut) != -1; } }
public int KEvent(KernelEvent [] changeList, int nChanges, KernelEvent [] eventList, int nEvents, ref TimeSpec timeOut) { if (changeList != null && changeList.Length < nChanges) { throw new ArgumentException("nChanges is larger than the number of elements in changeList"); } if (eventList != null && eventList.Length < nEvents) { throw new ArgumentException("nChanges is larger than the number of elements in changeList"); } unsafe { fixed(KernelEvent *cp = &changeList[0]) fixed(KernelEvent * ep = &eventList [0]) return(kevent(handle, cp, nChanges, ep, nEvents, ref timeOut)); } }
public bool KEvent(KernelEvent [] changeList, int nChanges, KernelEvent [] eventList, int nEvents, ref TimeSpec timeOut) { if (changeList != null && changeList.Length < nChanges) throw new ArgumentException ("nChanges is larger than the number of elements in changeList"); if (eventList != null && eventList.Length < nEvents) throw new ArgumentException ("nChanges is larger than the number of elements in changeList"); unsafe { fixed (KernelEvent *cp = &changeList [0]) fixed (KernelEvent *ep = &eventList [0]) return kevent (cp, nChanges, ep, nEvents, ref timeOut) != -1; } }
unsafe extern static int kevent(int kq, KernelEvent *changeList, int nChanges, KernelEvent *eventList, int nEvents, ref TimeSpec timeout);