No he hecho esto, pero _IOLBF sería la respuesta correcta.
$ man setvbuf
...
NOMBRE
setvbuf - asignar almacenamiento temporal con un flujo
SINOPSIS
#include stdio.h < >
int setvbuf(FILE *restrict stream, char *restrict buf, int type,
size_t size);
DESCRIPCIÓN
La setvbuf() la función se puede usar después de que la secuencia a la que apunta la transmisión esté asociada con una apertura archivo pero antes de cualquier otra operación (que no sea una llamada fallida a setvbuf()) se realiza en la secuencia . El tipo de argumento determina cómo se almacenará en búfer la secuencia, de la siguiente manera:
* {_IOFBF} shall cause input/output to be fully buffered.
* {_IOLBF} shall cause input/output to be line buffered.
* {_IONBF} shall cause input/output to be unbuffered.