Есть функция fstat(2)
.
NAME
stat, fstat, lstat - получить статус файла
СИНТАКСИС
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int fstat(int fd, struct stat *buf);
Вы можете получить fd, позвонив fileno(3)
.
Тогда вы можете позвонить S_ISFIFO(buf)
, чтобы выяснить это.