📄 ioctl.cc
字号:
/* ioctl.cc: ioctl routines. Copyright 1996, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. Written by Doug Evans of Cygnus Support dje@cygnus.comThis file is part of Cygwin.This software is a copyrighted work licensed under the terms of theCygwin license. Please consult the file "CYGWIN_LICENSE" fordetails. */#include "winsup.h"#include <sys/ioctl.h>#include <errno.h>#include "cygerrno.h"#include "security.h"#include "fhandler.h"#include "path.h"#include "dtable.h"#include "cygheap.h"#include "sigproc.h"#include <sys/termios.h>extern "C" intioctl (int fd, int cmd, ...){ sigframe thisframe (mainthread); cygheap_fdget cfd (fd); if (cfd < 0) return -1; /* check for optional mode argument */ va_list ap; va_start (ap, cmd); char *argp = va_arg (ap, char *); va_end (ap); debug_printf ("fd %d, cmd %x", fd, cmd); int res; if (cfd->is_tty () && cfd->get_device () != FH_PTYM) switch (cmd) { case TCGETA: res = tcgetattr (fd, (struct termios *) argp); goto out; case TCSETA: res = tcsetattr (fd, TCSANOW, (struct termios *) argp); goto out; case TCSETAW: res = tcsetattr (fd, TCSADRAIN, (struct termios *) argp); goto out; case TCSETAF: res = tcsetattr (fd, TCSAFLUSH, (struct termios *) argp); goto out; } res = cfd->ioctl (cmd, argp);out: debug_printf ("returning %d", res); return res;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -