名称
tigetflag, tigetnum, tigetstr, tparm ― terminfo データベースからの機能の検索
構文
#include <term.h>
int tigetflag(char *capname);
int tigetnum(char *capname);
char *tigetstr(char *capname);
char *tparm(char *cap, long p1, long p2, long p3, long p4,
long p5, long p6, long p7, long p8, long p9);
説明
tigetflag() 、 tigetnum() 、および tigetstr() の各関数は、terminfo データベースの選択したレコードから論理機能、数値機能、および文字列機能をそれぞれ取得します。 capname として使う値は、それぞれの機能ごとに、terminfo(4)
の 機能の定義 にある表の Capname という列に記載されています。
tparm() 関数は、文字列機能を cap として使います。 cap がパラメーター指定されている (terminfo(4) の パラメーター付き文字列 で説明するように)
場合には、 tparm() は、そのパラメーターを解釈します。
パラメーター指定された文字列が %p1 から %p9 までのパラメータを示す場合には、 tparm() は、p1 から p9 までの値をそれぞれ代入します。
戻り値
正常に終了すると、 tigetflg() 、 tigetnum() 、および tigetstr() の各関数は、指定した機能を返します。 tigetflag() 関数は、capname が論理機能でないと -1 を返します。 tigetnum() 関数は、capname が数値機能でないと -2 を返します。 tigetstr() 関数は、capname が文字列機能でないと (char
*)-1 を返します。
正常に終了すると、 tparm() は、解決されたパラメーターとともに str を返します。 そうでなければヌルポインターを返します。
アプリケーション使用法
パラメーター指定された文字列機能に対して、上述のように、アプリケーションで tigetstr() から返される値を tparm() に渡す必要があります。
Curses を使う代わりに、端末に直接端末機能を送信する ( tputs() または putp() だけを使って実行される)
つもりのアプリケーションでは、通常、以下の規則に従う必要があります。
| • | | 終了する前に、 reset_shell_mode() を呼び出して、表示モードを復元する。 |
| • | | カーソルのアドレス指定を使う場合には、起動時に enter_ca_mode を出力して、終了する前に exit_ca_mode を出力する。 |
| • | | シェルエスケープを使う場合には、そのシェルを呼び出す前に exit_ca_mode を出力して reset_shell_mode() を呼び出し、このシェルから戻った後に reset_prog_mode() を呼び出して enter_ca_mode を出力する。 |
このドキュメントで定義されるパラメーター指定される端末機能はすべて tparm() に渡すことができます。
一部の処理系では、それぞれ固有の機能を作成したり、端末以外の装置のための機能を作成したり、このドキュメント内の機能を再定義したりすることができます。
このような使用法は、上記の規則に従いません。その理由は、 tparm() がこれらのユーザー定義文字列を解析できないからです。
変更履歴
X/Open Curses 第 4 版にて新規リリース