Ответ 1
Вызвать fstat
в дескрипторе и использовать макрос S_ISSOCK.
struct stat statbuf;
fstat(fd, &statbuf);
S_ISSOCK(statbuf.st_mode);
Мне нужно записать использование сокетов, и я написал библиотеку LD_PRELOAD.
Проблема заключается в том, что я переопределяю read() и write(), так как обычные файловые операции также регистрируются (конечно).
Итак, как я могу описать обычные дескрипторы файлов и дескрипторы сокетов отдельно?
Вызвать fstat
в дескрипторе и использовать макрос S_ISSOCK.
struct stat statbuf;
fstat(fd, &statbuf);
S_ISSOCK(statbuf.st_mode);