diff --git a/reference/readline/functions/readline-callback-handler-install.xml b/reference/readline/functions/readline-callback-handler-install.xml
new file mode 100644
index 0000000000..ca9e15f205
--- /dev/null
+++ b/reference/readline/functions/readline-callback-handler-install.xml
@@ -0,0 +1,107 @@
+
+
+
+
+ readline_callback_handler_install
+ Initializes the readline callback interface and terminal, prints the prompt and returns immediately
+
+
+ &reftitle.description;
+
+ boolreadline_callback_handler_install
+ stringprompt
+ callbackcallback
+
+
+ Sets up a readline callback interface then prints
+ prompt and immediately returns. The
+ callback function takes one parameter; the user
+ input returned. Calling this function twice without removing the previous
+ callback interface will automatically and conveniently overwrite the old
+ interface.
+
+
+ The callback feature is useful when combined with
+ stream_select as it allows interleaving of IO and
+ user input, unlike readline.
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+ &reftitle.examples;
+
+
+ Readline Callback Interface Example
+
+ 10) {
+ $prompting = false;
+ readline_callback_handler_remove();
+ } else {
+ readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
+ }
+}
+
+$c = 1;
+$prompting = true;
+
+readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
+
+while ($prompting) {
+ $n = stream_select($r = array(STDIN), $w = null, $e = null, null);
+ if ($n && in_array(STDIN, $r)) {
+ // read a character, will call the callback when a newline is entered
+ readline_callback_read_char();
+ }
+}
+
+echo "Prompting disabled. All done.\n";
+?>
+]]>
+
+
+
+
+
+ &reftitle.seealso;
+
+ readline_callback_handler_remove,
+ readline_callback_read_char&listendand;
+ stream_select.
+
+
+
+
+
diff --git a/reference/readline/functions/readline-callback-handler-remove.xml b/reference/readline/functions/readline-callback-handler-remove.xml
new file mode 100644
index 0000000000..3cbc887dbe
--- /dev/null
+++ b/reference/readline/functions/readline-callback-handler-remove.xml
@@ -0,0 +1,61 @@
+
+
+
+
+ readline_callback_handler_remove
+ Removes a previously installed callback handler and restores terminal settings
+
+
+ &reftitle.description;
+
+ boolreadline_callback_handler_remove
+
+
+
+ Removes a previously installed callback handler and restores terminal
+ settings.
+
+
+
+ &reftitle.examples;
+
+ See readline_callback_handler_install for an example
+ of how to use the readline callback interface.
+
+
+
+ &reftitle.returnvalues;
+
+ Returns &true; if a previously installed callback handler was removed, or
+ &false; if one could not be found.
+
+
+
+ &reftitle.seealso;
+
+ readline_callback_handler_install, and
+ readline_callback_read_char.
+
+
+
+
+
diff --git a/reference/readline/functions/readline-callback-read-char.xml b/reference/readline/functions/readline-callback-read-char.xml
new file mode 100644
index 0000000000..97d896c182
--- /dev/null
+++ b/reference/readline/functions/readline-callback-read-char.xml
@@ -0,0 +1,56 @@
+
+
+
+
+ readline_callback_read_char
+ Reads a character and informs the readline callback interface when a line is received
+
+
+ &reftitle.description;
+
+ voidreadline_callback_read_char
+
+
+
+ Reads a character of user input. When a line is received, this function
+ informs the readline callback interface installed using
+ readline_callback_handler_install that a line
+ is ready for input.
+
+
+
+ &reftitle.examples;
+
+ See readline_callback_handler_install for an example
+ of how to use the readline callback interface.
+
+
+
+ &reftitle.seealso;
+
+ readline_callback_handler_install, and
+ readline_callback_handler_remove.
+
+
+
+
+