 
     public func close() {
         if !closed {
-            fileclose(file)
+            mill_mfclose_(file)
         }
         closed = true
     }


    public func flush(deadline: Double) throws {
        try ensureFileIsOpen()
        fileflush(file, deadline.int64milliseconds)
        try ensureLastOperationSucceeded()
    }


    public fileprivate(set) var path: String? = nil

    public func cursorPosition() throws -> Int {
        let position = Int(mill_mftell_(file))
        try ensureLastOperationSucceeded()
        return position
    }

    public func seek(cursorPosition: Int) throws -> Int {
        let position = Int(mill_mfseek_(file, off_t(cursorPosition)))
        try ensureLastOperationSucceeded()
        return position
    }

    public var length: Int {
        return Int(mill_mfsize_(self.file))
    }

    public var cursorIsAtEndOfFile: Bool {
        return mill_mfeof_(file) != 0
    }

    public lazy var fileExtension: String? = {
