Bash-Linux.com : Le SHELL pour les nuls

  Actuellement 50 lignes de commande et 1472 man disponibles
login as: root
root@213.186.33.18's password:
Last login: Wed May 30 13:13:13 2012 from 38.107.179.229
[root@bash-linux ~] # echo "Bienvenue sur Bash-Linux.com"_
 Manuel des commandes UNIX (man) Version anglaise

Indiquez la fonction :

Man Tty_ioctl en anglais

TTY_IOCTL(4) Linux Programmer's Manual TTY_IOCTL(4)
 
NAME


tty ioctl - ioctls for terminals and serial lines
 
SYNOPSIS


#include int ioctl(int fd, int cmd, ...);
 
DESCRIPTION


The ioctl() call for terminals and serial ports accepts many possible command arguments. Most require a third argument, of varying type, here called argp or arg. Use of ioctl makes for non-portable programs. Use the POSIX interface described in termios(3) whenever possible. Get and Set Terminal Attributes TCGETS struct termios *argp Equivalent to tcgetattr(fd, argp). Get the current serial port settings. TCSETS const struct termios *argp Equivalent to tcsetattr(fd, TCSANOW, argp). Set the current serial port settings. TCSETSW const struct termios *argp Equivalent to tcsetattr(fd, TCSADRAIN, argp). Allow the output buffer to drain, and set the current serial port settings. TCSETSF const struct termios *argp Equivalent to tcsetattr(fd, TCSAFLUSH, argp). Allow the output buffer to drain, discard pending input, and set the current serial port settings. The following four ioctls are just like TCGETS, TCSETS, TCSETSW, TCSETSF, except that they take a struct termio * instead of a struct termios *. TCGETA struct termio *argp TCSETA const struct termio *argp TCSETAW const struct termio *argp TCSETAF const struct termio *argp Locking the termios structure The termios structure of a tty can be locked. The lock is itself a termios structure, with non-zero bits or fields indicating a locked value. TIOCGLCKTRMIOS struct termios *argp Gets the locking status of the termios structure of the termi- nal. TIOCSLCKTRMIOS const struct termios *argp Sets the locking status of the termios structure of the termi- nal. Only root can do this. Get and Set Window Size Window sizes are kept in the kernel, but not used by the kernel (except in the case of virtual consoles, where the kernel will update the window size when the size of the virtual console changes, for example, by loading a new font). The following constants and structure are defined in . TIOCGWINSZ struct winsize *argp Get window size. TIOCSWINSZ const struct winsize *argp Set window size. The struct used by these ioctls is defined as struct winsize { unsigned short ws_row; unsigned short ws_col; unsigned short ws_xpixel; /* unused */ unsigned short ws_ypixel; /* unused */ }; When the window size changes, a SIGWINCH signal is sent to the fore- ground process group. Sending a Break TCSBRK int arg Equivalent to tcsendbreak(fd, arg). If the terminal is using asynchronous serial data transmission, and arg is zero, then send a break (a stream of zero bits) for between 0.25 and 0.5 seconds. If the terminal is not using asynchronous serial data transmission, then either a break is sent, or the function returns without doing anything. When arg is non-zero, nobody knows what will happen. (SVr4, UnixWare, Solaris, Linux treat tcsendbreak(fd,arg) with non-zero arg like tcdrain(fd). SunOS treats arg as a multi- plier, and sends a stream of bits arg times as long as done for zero arg. DG/UX and AIX treat arg (when non-zero) as a timein- terval measured in milliseconds. HP-UX ignores arg.) TCSBRKP int arg So-called "POSIX version" of TCSBRK. It treats non-zero arg as a timeinterval measured in deciseconds, and does nothing when the driver does not support breaks. TIOCSBRK void Turn break on, that is, start sending zero bits. TIOCCBRK void Turn break off, that is, stop sending zero bits. Software flow control TCXONC int arg Equivalent to tcflow(fd, arg). See tcflow(3) for the argument values TCOOFF, TCOON, TCIOFF, TCION. Buffer count and flushing FIONREAD int *argp Get the number of bytes in the input buffer. TIOCINQ int *argp Same as FIONREAD. TIOCOUTQ int *argp Get the number of bytes in the output buffer. TCFLSH int arg Equivalent to tcflush(fd, arg). See tcflush(3) for the argument values TCIFLUSH, TCOFLUSH, TCIOFLUSH. Faking input TIOCSTI const char *argp Insert the given byte in the input queue. Redirecting console output TIOCCONS void Redirect output that would have gone to /dev/console or /dev/tty0 to the given tty. If that was a pty master, send it to the slave. Anybody can do this as long as the output was not redirected yet. If it was redirected already EBUSY is returned, but root may stop redirection by using this ioctl with fd point- ing at /dev/console or /dev/tty0. Controlling tty TIOCSCTTY int arg Make the given tty the controlling tty of the calling process. The calling process must be a session leader and not have a con- trolling tty already. If this tty is already the controlling tty of a different session group then the ioctl fails with EPERM, unless the caller is root and arg equals 1, in which case the tty is stolen, and all processes that had it as controlling tty lose it. TIOCNOTTY void If the given tty was the controlling tty of the calling process, give up this controlling tty. If the process was session leader, then send SIGHUP and SIGCONT to the foreground process group and all processes in the current session lose their con- trolling tty. Process group and session ID TIOCGPGRP pid_t *argp When successful, equivalent to *argp = tcgetpgrp(fd). Get the process group ID of the foreground process group on this tty. TIOCSPGRP const pid_t *argp Equivalent to tcsetpgrp(fd, *argp). Set the foreground process group ID of this tty. TIOCGSID pid_t *argp Get the session ID of the given tty. This will fail with ENOTTY in case the tty is not a master pty and not our controlling tty. Strange. Exclusive mode TIOCEXCL void Put the tty into exclusive mode. No further open(2) operations on the terminal are permitted. (They will fail with EBUSY, except for root.) TIOCNXCL void Disable exclusive mode. Line discipline TIOCGETD int *argp Get the line discipline of the tty. TIOCSETD const int *argp Set the line discipline of the tty. Pseudo-tty ioctls TIOCPKT const int *argp Enable (when *argp is non-zero) or disable packet mode. Can be applied to the master side of a pseudo-terminal only (and will return ENOTTY otherwise). In packet mode, each subsequent read(2) will return a packet that either contains a single non- zero control byte, or has a single byte containing zero (' ') followed by data written on the slave side of the pty. If the first byte is not TIOCPKT_DATA (0), it is an OR of one or more of the following bits: TIOCPKT_FLUSHREAD The read queue for the terminal is flushed. TIOCPKT_FLUSHWRITE The write queue for the terminal is flushed. TIOCPKT_STOP Output to the terminal is stopped. TIOCPKT_START Output to the terminal is restarted. TIOCPKT_DOSTOP The start and stop characters are ^S/^Q. TIOCPKT_NOSTOP The start and stop characters are not ^S/^Q. While this mode is in use, the presence of control status infor- mation to be read from the master side may be detected by a select(2) for exceptional conditions. This mode is used by rlogin(1) and rlogind(8) to implement a remote-echoed, locally ^S/^Q flow-controlled remote login. The BSD ioctls TIOCSTOP, TIOCSTART, TIOCUCNTL, TIOCREMOTE have not been implemented under Linux. Modem control TIOCMGET int *argp get the status of modem bits. TIOCMSET const int *argp set the status of modem bits. TIOCMBIC const int *argp clear the indicated modem bits. TIOCMBIS const int *argp set the indicated modem bits. Bits used by these four ioctls: TIOCM_LE DSR (data set ready/line enable) TIOCM_DTR DTR (data terminal ready) TIOCM_RTS RTS (request to send) TIOCM_ST Secondary TXD (transmit) TIOCM_SR Secondary RXD (receive) TIOCM_CTS CTS (clear to send) TIOCM_CAR DCD (data carrier detect) TIOCM_CD see TIOCM_CAR TIOCM_RNG RNG (ring) TIOCM_RI see TIOCM_RNG TIOCM_DSR DSR (data set ready) Marking a line as local TIOCGSOFTCAR int *argp ("Get software carrier flag") Get the status of the CLOCAL flag in the c_cflag field of the termios structure. TIOCSSOFTCAR const int *argp ("Set software carrier flag") Set the CLOCAL flag in the termios structure when *argp is non-zero, and clear it otherwise. If the CLOCAL flag for a line is off, the hardware carrier detect (DCD) signal is significant, and an open(2) of the corresponding tty will block until DCD is asserted, unless the O_NONBLOCK flag is given. If CLOCAL is set, the line behaves as if DCD is always asserted. The software carrier flag is usually turned on for local devices, and is off for lines with modems. Linux-specific For the TIOCLINUX ioctl, see console_ioctl(4). Kernel debugging #include TIOCTTYGSTRUCT struct tty_struct *argp Get the tty_struct corresponding to fd.
 
RETURN VALUE


The ioctl() system call returns 0 on success. On error it returns -1 and sets errno appropriately.
 
ERRORS


EINVAL Invalid command parameter.
 
ENOIOCTLCMD


Unknown command. ENOTTY Inappropriate fd. EPERM Insufficient permission.
 
EXAMPLE


Check the condition of DTR on the serial port. #include #include #include int main(void) { int fd, serial; fd = open("/dev/ttyS0", O_RDONLY); ioctl(fd, TIOCMGET, &serial); if (serial & TIOCM_DTR) puts("TIOCM_DTR is not set"); else puts("TIOCM_DTR is set"); close(fd); }
 
SEE ALSO


ioctl(2), termios(3), console_ioctl(4), pty(7)
 
COLOPHON


This page is part of release 3.05 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-07-15 TTY_IOCTL(4)


 Dernières recherches
Man  en anglais Man tty_ioctl en anglaisMan  en français Man tty_ioctl en français
Man  en anglais Man tset en anglaisMan  en français Man tset en français
Man  en anglais Man tsearch en anglaisMan  en français Man tsearch en français
Man  en anglais Man trunc en anglaisMan  en français Man trunc en français
Man  en anglais Man true en anglaisMan  en français Man true en français
Man  en anglais Man transport en anglaisMan  en français Man transport en français
Man  en anglais Man tput en anglaisMan  en français Man tput en français
Man  en anglais Man towupper en anglaisMan  en français Man towupper en français
Man  en anglais Man towlower en anglaisMan  en français Man towlower en français
Man  en anglais Man towctrans en anglaisMan  en français Man towctrans en français
Man  en anglais Man toupper en anglaisMan  en français Man toupper en français
Man  en anglais Man tolower en anglaisMan  en français Man tolower en français
Man  en anglais Man lesskey en anglaisMan  en français Man lesskey en français
Man  en anglais Man mail en anglaisMan  en français Man mail en français
Man  en anglais Man uptime en anglaisMan  en français Man uptime en français

 Recherche

Dans ce moteur de recherche, vous pouvez taper directement votre besoin, en une phrase normale, humaine.
Exemple : vous cherchez comment remplacer un mot par un autre dans tous les fichiers d'un certain dossier. Vous pouvez écrire "Comment remplacer un mot par un autre dans tous les fichiers d'un dossier". Le moteur vous ramenera les résultats en fonction de leur pertinence.
Vous pouvez bien sûr ne chercher qu'un seul mot-clé, par exemple "find".
 Toutes les lignes de code
Par popularité
Par fonction
Recherche avancée
 Les logiciels SHELL/SSH
Putty
Astuces Bash
Faire du SHELL avec PHP!
 La doc officielle
Les man Linux en français
Les man Linux en anglais
 Proposer vos bash
Partagez vos lignes!
 Les requêtes
Déposer une requête
Voir/répondre à une requête
 Quelques sites interessants
Bons sites pour apprendre
 Rechercher