subfd(3) subfd(3) NNAAMMEE subfd - standard input, output, error for substdio SSYYNNTTAAXX ##iinncclluuddee <> substdio *ssuubbffddiinn; substdio *ssuubbffddoouutt; substdio *ssuubbffddeerrrr; int ssuubbffdd__rreeaadd(_f_d,_b_u_f,_l_e_n); substdio *ssuubbffddiinnssmmaallll; substdio *ssuubbffddoouuttssmmaallll; int ssuubbffdd__rreeaaddssmmaallll(_f_d,_b_u_f,_l_e_n); int _f_d; char *_b_u_f; int _l_e_n; DDEESSCCRRIIPPTTIIOONN ssuubbffddeerrrr writes data to descriptor 2. ssuubbffddoouutt writes data to descriptor 1. ssuubbffddiinn reads data from descriptor 0. It coordinates with ssuubbffddoouutt: it flushes ssuubbffddoouutt before refilling its buffer. This eliminates the need for ssuubbffddoouutt flushing in most programs. To set up the same flushing mechanism for another input descriptor, use ssuubbffdd__rreeaadd in place of rreeaadd. ssuubbffddoouuttssmmaallll, ssuubbffdd__rreeaaddssmmaallll, and ssuubbffddiinnssmmaallll behave the same way as ssuubbffddoouutt, ssuubbffdd__rreeaadd, and ssuubbffddiinn, except that they use small (256-byte) buffers. This is appropriate for programs that read data in small chunks. SSEEEE AALLSSOO substdio(3) subfd(3)