Extracted from Pike v7.3 release 14 at 2002-02-15.
pike.roxen.com
[Top]
Stdio
Stdio.File

Method Stdio.File()->tcsetattr()


Method tcsetattr

mapping Stdio.File()->tcgetattr()
int Stdio.File()->tcsetattr(mapping attr)
int Stdio.File()->tcsetattr(mapping attr, string when)

Description

gets/sets term attributes

the returned value/the parameter is a mapping on the form

        "ispeed":    baud rate
        "ospeed":    baud rate
        "csize":     character size (5,6,7 or 8)
        "rows":      terminal rows
        "columns":   terminal columns
        flag:        0 or 1
        control char:value
        ...
where 'flag' is the string describing the termios (input, output, control and local mode) flags (see the manpage for termios or the tutorial).

Note that tcsetattr always _changes_ the attributes; correct use to set a flag would be something like: fd->tcsetattr((["myflag":1]));

the argument 'when' to tcsetattr describes when the changes are to take effect: "TCSANOW": the change occurs immediately (default); "TCSADRAIN": the change occurs after all output has been written; "TCSAFLUSH": the change occurs after all output has been written, and empties input buffers.

Example for setting the terminal in raw mode: Stdio.stdin->tcsetattr((["ECHO":0,"ICANON":0,"VMIN":0,"VTIME":0]));

Note: Unknown flags are ignored by tcsetattr(). Terminal rows and columns settring by tcsetattr() is not currently supported.

Returns

0 if failed.