ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ termios.h, Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Ρ Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π‘ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ -lcurses Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "new curses". Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ncurses ΠΈ -lncurses ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° Π³ΡΡΠΏΠΏΡ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌ:
β‘ Π²Π²ΠΎΠ΄;
β‘ Π²ΡΠ²ΠΎΠ΄;
β‘ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅;
β‘ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ;
β‘ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΈΠΏΠ° termios ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Ρ ΠΎΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ X/Open ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ):
#include <termios.h>
struct termios {
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_cc[NCCS];
};
ΠΠΌΠ΅Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΡΡΠΊΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΡΡΠΈ ΡΠΈΠΏΠ°ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ½Ρ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° termios Π΄Π»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ tcgetattr ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ:
#include <termios.h>
int tcgetattr(int fd, struct termios *termios_p);
ΠΡΠΎΡ Π²ΡΠ·ΠΎΠ² Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π² ΡΡΡΡΠΊΡΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ termios_p. ΠΡΠ»ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ tcsetattr ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
#include <termios.h>
int tcsetattr(int fd, int actions, const struct termios *termios_p);
ΠΠΎΠ»Π΅ actions ΡΡΠ½ΠΊΡΠΈΠΈ tcsetattr ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΡΡ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°:
β‘ TCSANOW β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π·Ρ;
β‘ TSCADRAIN β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½;
β‘ TCSAFLUSH β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½, Π½ΠΎ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π»ΡΠ±ΠΎΠΉ Π²Π²ΠΎΠ΄, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ read.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ΅ΠΆΠΈΠΌΡ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ . ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ±ΠΎ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡ POSIX ΠΈΠ»ΠΈ X/Open.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠΈ, β Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ (local). ΠΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈ Π½Π΅ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌΡ β ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ <Enter> ΠΈΠ»ΠΈ <Return> Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΆΠ΄Π°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π°Π±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π½Π° Π²Π²ΠΎΠ΄, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π½Π°Π±ΡΠ°Π½ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅.
Π Π΅ΠΆΠΈΠΌΡ Π²Π²ΠΎΠ΄Π°
Π Π΅ΠΆΠΈΠΌΡ Π²Π²ΠΎΠ΄Π° ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π²Π²ΠΎΠ΄ (ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ) Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΅Π³ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΎΠΌ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΡΠ»Π°Π³ΠΈ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ c_iflag ΡΡΡΡΠΊΡΡΡΡ termios. ΠΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ OR. ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
Π ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ c_iflag ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ:
β‘ BRKINT β Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π² Π»ΠΈΠ½ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΡΠ² (ΠΏΠΎΡΠ΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ);
β‘ IGNBRK β ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΠ°Π·ΡΡΠ²Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² Π»ΠΈΠ½ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ;
β‘ ICRNL β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ;
β‘ IGNCR β ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ;
β‘ INLCR β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ;
β‘ IGNPAR β ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ;
β‘ INCPK β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²;
β‘ PARMRK β ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ;
β‘ ISTRIP β ΠΎΠ±ΡΠ΅Π·Π°Π΅Ρ (Π΄ΠΎ ΡΠ΅ΠΌΠΈ Π±ΠΈΡΠΎΠ²) Π²ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ;
β‘ IXOFF β Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅;
β‘ IXON β Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΡΠ»ΠΈ ΡΠ»Π°Π³ΠΈ BRKINT ΠΈ IGNBRK Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, ΡΠ±ΠΎΠΉ Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ» NULL (0x00).
ΠΠ°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ΅ΠΆΠΈΠΌΡ Π²Π²ΠΎΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ.
Π Π΅ΠΆΠΈΠΌΡ Π²ΡΠ²ΠΎΠ΄Π°
ΠΡΠΈ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Ρ.Π΅. ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ ΠΈΠ»ΠΈ ΡΠΊΡΠ°Π½. ΠΠ°ΠΊ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ β ΠΎΠ±ΠΎΡΠΎΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π²Π²ΠΎΠ΄Π°. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΡ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ. ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½Ρ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ ΡΡΠ°Π»ΠΈ Π±ΡΡΡΡΠ΅Π΅) ΠΈΠ»ΠΈ Π»ΡΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° terminfo, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
ΠΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Π²ΡΠ²ΠΎΠ΄Π°, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΡΠ»Π°Π³ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° c_oflag ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° termios. Π ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ c_oflag ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ:
β‘ OPOST β Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²ΡΠ²ΠΎΠ΄Π°;
β‘ ONLCR β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π² ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΏΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ/ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ;
β‘ OCRNL β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ Π² Π²ΡΠ²ΠΎΠ΄Π΅ Π² ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ;
β‘ ONOCR β Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ 0;
β‘ ONLRET β ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ;
β‘ OFILL β ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ;
β‘ OFDEL β ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» DEL ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° NULL;
β‘ NLDLY β Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ;
β‘ CRDLY β Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ;
β‘ TABDLY β Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ;
β‘ BSDLY β Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Backspace;
β‘ VTDLY β Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ;
β‘ FFDLY β Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΡΠ»ΠΈ ΡΠ»Π°Π³ OPOST Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
Π Π΅ΠΆΠΈΠΌΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΆΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ.
Π Π΅ΠΆΠΈΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΡΠΈ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡ Π·Π°Π΄Π°Π΅ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΡΠ»Π°Π³ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° c_cflag ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° termios, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ:
β‘ CLOCAL β ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄Π΅ΠΌΠ°;
β‘ CREAD β Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²;
β‘ CS5 β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΡΡ Π±ΠΈΡΠΎΠ² Π² ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ ;
β‘ CS6 β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΡΡΡ Π±ΠΈΡΠΎΠ² Π² ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ ;
β‘ CS7 β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΌΡ Π±ΠΈΡΠΎΠ² Π² ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ ;
β‘ CS8 β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΠΎΡΠ΅ΠΌΡ Π±ΠΈΡΠΎΠ² Π² ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ ;
β‘ CSTOPB β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΡΠΎΠΏΠΎΠ²ΡΡ Π±ΠΈΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ;
β‘ HUPCL β Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΠΌΠΎΠ΄Π΅ΠΌΠ° ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ;
β‘ PARENB β Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ;
β‘ PARODD β ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π΅ΡΠ΅ΡΠ½ΠΎΡΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΡΠ»ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°, ΡΡΡΠ»Π°ΡΡΠΈΠΉΡΡ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π·Π°ΠΊΡΡΡ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ»Π°Π³ HUPCL ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π»ΠΈΠ½ΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅ΠΌΠ° Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π° (hang-up).
Π Π΅ΠΆΠΈΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΌΠΎΠ΄Π΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ, Ρ ΠΎΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ. ΠΠ±ΡΡΠ½ΠΎ Π»Π΅Π³ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ ΡΠ²ΡΠ·ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ termios.