public func open(options: OpenOptions) throws -> Open<FilePath> {
        guard options.mode != .none else { throw OpenFileError.invalidPermissions }

        guard let file = cOpenFile(string, options.rawValue) else { throw OpenFileError.getError() }