ioctl.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 34 行

C
34
字号
/* posix */#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <fcntl.h>#include <sys/stat.h>/* bsd extensions */#include <sys/uio.h>#include <sys/socket.h>#include <sys/ioctl.h>intioctl(int fd, unsigned long request, void* arg){	struct stat d;	if(request == FIONREAD) {		if(fstat(fd, &d) < 0) {			errno = EBADF;			return -1;		}		/* this works if the file is buffered somehow */		*(long*)arg = d.st_size;		return 0;	} else {		errno = EINVAL;		return -1;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?