Advanced Programming in the UNIX Environment: Second Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Advanced Programming in the UNIX Environment: Second Edition [Electronic resources] - نسخه متنی

W. Richard Stevens; Stephen A. Rago

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید



18.8. Line Control Functions


The following four functions provide line control capability for terminal devices. All four require that

filedes refer to a terminal device; otherwise, an error is returned with errno set to ENOTTY.

#include <termios.h>
int tcdrain(int

filedes );
int tcflow(int

filedes , int

action );
int tcflush(int

filedes , int

queue );
int tcsendbreak(int

filedes , int

duration );

All four return: 0 if OK, 1 on error

The tcdrain function waits for all output to be transmitted. The tcflow function gives us control over both input and output flow control. The

action argument must be one of the following four values:

TCOOFF

Output is suspended.

TCOON

Output that was previously suspended is restarted.

TCIOFF

The system transmits a STOP character, which should cause the terminal device to stop sending data.

TCION

The system transmits a START character, which should cause the terminal device to resume sending data.

The tcflush function lets us flush (throw away) either the input buffer (data that has been received by the terminal driver, which we have not read) or the output buffer (data that we have written, which has not yet been transmitted). The

queue argument must be one of the following three constants:

TCIFLUSH

The input queue is flushed.

TCOFLUSH

The output queue is flushed.

TCIOFLUSH

Both the input and the output queues are flushed.

The tcsendbreak function transmits a continuous stream of zero bits for a specified duration. If the

duration argument is 0, the transmission lasts between 0.25 seconds and 0.5 seconds. POSIX.1 specifies that if

duration is nonzero, the transmission time is implementation dependent.


    / 369