### IO redirection

1. `output_hook set_putchar_vector(output_hook)`

   Sets indirection vector for character output. This function gets and returns a pointer to a function receiving `char` and returning `void`. This feature allows redirection of outputs to virtually any device, and to save the previous output vector. The output vector is not initialized, so this function must be used prior any output.
   `output_hook` is defined by `typedef void (*output_hook)(char) ;`

2. `input_hook set_getchar_vector(input_hook)`

   Sets indirection vector for character intput. This function gets and returns a pointer to a function returning `char` and receiving `void`. This feature allows redirection of inputs from virtually any device, and to save the previous intput vector. The input vector is not initialized, so this function must be used prior any input.
   `input_hook` is defined by `typedef char (*input_hook)() ;`