diff --git a/bindings/python/clang/cindex.py b/bindings/python/clang/cindex.py
index 43d9caf..394214c 100644
--- a/bindings/python/clang/cindex.py
+++ b/bindings/python/clang/cindex.py
@@ -221,6 +221,17 @@
         """
         return self.location.file
 
+    def get_children(self):
+        """Return an iterator for the accessing children of this cursor."""
+
+        # FIXME: Expose iteration from CIndex, PR6125.
+        def visitor(child, parent, children):
+            children.append(child)
+            return 1 # continue
+        children = []
+        Cursor_visit(self, Callback(visitor), children)
+        return iter(children)
+
 ## CIndex Objects ##
 
 # CIndex objects (derived from ClangObject) are essentially lightweight
@@ -326,8 +337,8 @@
 
 # Additional Functions and Types
 
-# Wrap calls to Cursor_visit.
-Callback = CFUNCTYPE(None, c_void_p, Cursor, c_void_p)
+# Wrap calls to TranslationUnit._load and Decl._load.
+Callback = CFUNCTYPE(c_int, Cursor, Cursor, py_object)
 
 # String Functions
 String_dispose = lib.clang_disposeString
@@ -350,7 +361,7 @@
 # Cursor Functions
 # TODO: Implement this function
 Cursor_get = lib.clang_getCursor
-Cursor_get.argtypes = [TranslationUnit, c_char_p, c_uint, c_uint]
+Cursor_get.argtypes = [TranslationUnit, SourceLocation]
 Cursor.restype = Cursor
 
 Cursor_null = lib.clang_getNullCursor
@@ -415,6 +426,10 @@
 Cursor_ref.argtypes = [Cursor]
 Cursor_ref.restype = Cursor
 
+Cursor_visit = lib.clang_visitChildren
+Cursor_visit.argtypes = [Cursor, Callback, py_object]
+Cursor_visit.restype = c_uint
+
 # Index Functions
 Index_create = lib.clang_createIndex
 Index_create.argtypes = [c_int, c_int]
