Вот собсна код: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <sys/ioctl.h> #include <fcntl.h> int main() { struct stat buf; mode_t mode; int n, fd, ret; fd = open("/dev/random", O_RDONLY, 0666); if(fd < 0) { perror("open"); return 1; } if((ret = fstat(fd, &buf)) < 0) { perror("fstat64"); return 1; } mode = buf.st_mode; if(S_ISCHR(mode) || S_ISFIFO(mode) || S_ISSOCK(mode)) { if(ioctl(fd, FIONREAD, &n) < 0) { perror("ioctl"); return 1; } printf("ok, available %d bytes", n); return 0; } printf("regular file"); return 0; } Оно говорит: ioctl: Invalid argument Что я неправильно делаю, где у меня ошибка?!!!
Ответ на:
комментарий
от Murr
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Murr
Ответ на:
Re:
от Debugger
Ответ на:
комментарий
от Murr
Ответ на:
комментарий
от grustnoe
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Случайные числа и /dev/urandom (2005)
- Форум Как писать CD? ioctl? (2003)
- Форум SIGIO и чужой терминал (2008)
- Форум вопрос про select() (2013)
- Форум FIFO,write,read (2017)
- Форум non-blocking write (2011)
- Форум Системный вызов sendfile ??? (2008)
- Форум Семафоры (2005)
- Форум Как изменить максимальное число открытых файлов ? (2006)
- Форум sendfile из файла в файл не работает? (2006)