 }
 
 // MARK: - SKQueuePath
-private class SKQueuePath {
+class SKQueuePath {
     var path: String, fileDescriptor: CInt, notification: SKQueueNotification
     
     init?(_ path: String, notification: SKQueueNotification) {

        self.rawValue = rawValue
    }
    
    static let None             = SKQueueNotification(rawValue: 0)
    static let Rename           = SKQueueNotification(rawValue: 1 << 0)
    static let Write            = SKQueueNotification(rawValue: 1 << 1)
    static let Delete           = SKQueueNotification(rawValue: 1 << 2)
    static let AttributeChange  = SKQueueNotification(rawValue: 1 << 3)
    static let SizeIncrease     = SKQueueNotification(rawValue: 1 << 4)
    static let LinkCountChange  = SKQueueNotification(rawValue: 1 << 5)
    static let AccessRevocation = SKQueueNotification(rawValue: 1 << 6)
    static let Default          = SKQueueNotification(rawValue: 0x7F)
    
    func toStrings() -> [SKQueueNotificationString] {
        var s = [SKQueueNotificationString]()
        if contains(.Rename)           { s.append(.Rename) }
        if contains(.Write)            { s.append(.Write) }

import Foundation
import Darwin

func ev_create(ident: UInt, filter: Int16, flags: UInt16, fflags: UInt32, data: Int, udata: UnsafeMutableRawPointer) -> kevent {
    var ev = kevent()
    ev.ident = ident
    ev.filter = filter
