+After spawning a subprocess, you get back a handle which is a pointer
+to a struct:
+
+ struct mexp_h;
+ typedef struct mexp_h mexp_h;
+
+Various methods can be used on the handle:
+
+B<int mexp_get_fd (mexp_h *h);>
+
+Return the file descriptor of the pty of the subprocess. You can read
+and write to this if you want, although convenience functions are also
+provided (see below).
+
+B<pid_t mexp_get_pid (mexp_h *h);>
+
+Return the process ID of the subprocess. You can send it signals if
+you want.
+
+B<int mexp_get_timeout_ms (mexp_h *h);>
+
+B<void mexp_set_timeout_ms (mexp_h *h, int millisecs);>
+
+B<void mexp_set_timeout (mexp_h *h, int secs);>
+
+Get or set the timeout used by C<mexp_expect> [see below]. The
+resolution is milliseconds (1/1000th of a second). Set this before
+calling C<mexp_expect>. Passing -1 to either of the C<set_> methods
+means no timeout. The default setting is 60000 milliseconds (60
+seconds).
+
+B<size_t mexp_get_read_size (mexp *h);>
+
+B<void mexp_set_read_size (mexp *h, size_t read_size);>
+
+Get or set the natural size (in bytes) for reads from the subprocess.
+The default is 1024. Most callers will not need to change this.
+
+B<int mexp_get_pcre_error (mexp *h);>