ttttrreeaadd00() -- Terminal Device Routine

#iinncclluuddee <ssyyss/iioo.hh>
#iinncclluuddee <ssyyss/ttttyy.hh>
vvooiidd
ttttrreeaadd00(_t_p, _i_o_p, _f_u_n_c_1, _a_r_g_1, _f_u_n_c_2, _a_r_g_2)
TTTTYY *_t_p;
IIOO *_i_o_p;
iinntt (*_f_u_n_c_1)(), _a_r_g_1, (*_f_u_n_c_2)(), _a_r_g_2;

ttttrreeaadd00() moves  data from the  input queue associated  with _t_p to  the I/O
area referenced by iioopp. If an error occurs, it sets field uu.uu_eerrrroorr.

The  following behavior  makes  it possible  to  prevent deadlocks  between
coupled drivers,  such as master-slave  pseudoterminal pairs.  If  _f_u_n_c_1 is
not null, the function call (*_f_u_n_c_1)(_a_r_g_1) is  performed whenever ttttrreeaadd00()
is about to sleep.  Likewise, if _f_u_n_c_2 is not null, (*_f_u_n_c_2)(_a_r_g_2)       is
performed whenever ttttrreeaadd00() is about to sleep.

ttttrreeaadd(_t_p, _i_o_p) is equivalent to ttttrreeaadd00(_t_p, _i_o_p, 00, 00, 00, 00).

_S_e_e _A_l_s_o
tteerrmmiinnaall-ddeevviiccee rroouuttiinneess
