TERMCAP

Section: C Library Functions (3)
索引 jman

BSD mandoc
BSD 4  

索引

名称

tgetent tgetnum tgetflag tgetstr tgoto tputs tparm __set_ospeed - ターミナルとは独立した操作関数  

索引

書式

Fd #include <termcap.h> Vt char PC; Vt char *BC; Vt char *UP; Vt short ospeed; Ft int Fn tgetent char *bp const char *name Ft int Fn tgetnum const char *id Ft int Fn tgetflag const char *id Ft char * Fn tgetstr const char *id char **area Ft char * Fn tgoto const char *cm int destcol int destline Ft int Fn tputs const char *cp int affcnt int (*outc)(int) Ft char * Fn tparm const char *cp ... Ft void Fn __set_ospeed unsigned int speed  

索引

解説

これらの関数は、端末機能データベース、普通は /usr/share/misc/termcap から機能を抽出して使用し、その形式は termcap(5) に説明してあります。 これらは低レベルのルーチンです。より高レベルのパッケージについては、 curses(3) を参照してください。

Fn tgetent 関数は、端末名の入力を Fa bp のバッファに抽出します。引数 Fa bp はサイズ 1024 のキャラクタバッファでなければならず、またそれに続いて関数 Fn tgetnum , Fn tgetflag , Fn tgetstr などの呼び出しが行われても保持されます。 Fn tgetent 関数は、データベースファイル termcap がどれも開けない場合は -1 を返し、 与えた端末名が入力されていない場合は 0 を返し、すべてがうまく 処理された場合は 1 を返します。この関数は環境の中で TERMCAP 変数を探します。それが見つかり、その値がスラッシュで始まっておらず、 また端末タイプ Fa name が環境ストリング TERM と同じである場合は、 termcap ファイルを読まずに TERMCAP ストリングを使用します。スラッシュで始まっている場合は、検索する termcap ファイルのパス名としてそのストリングを使います。 TERMCAP がスラッシュで始まっておらす、かつ Fa name が TERM と異なる場合は、環境変数 TERMPATH が存在しなければ Fn tgetent 関数はファイル $HOME/.termcap および /usr/share/misc/termcap をこの順番で探します。 TERMPATH が存在すれば、 それが検索するファイルの(空白またはコロンで区切られた)パス名リストを 指定します。複数のファイルを探す場合で要求されたエントリに tc フィールドがある場合は、 それが指名するエントリを同じファイルまたはそれに続くファイルの中に 探さねばなりません。これによって、 Fn tgetent 関数を呼び出すプログラムへの 入力のスピードを上げることができるとともに、新しい端末記述のデバッグや /usr/share/misc/termcap ファイルを書けない場合に自分の端末の端末説明を 作ることが簡単になります。

Fn tgetnum 関数は、機能 Fa id の数値を取り入れて、それが端末に対して 与えられていない場合は -1 を返します。 Fn tgetflag 関数は、指定された機能が端末のエントリに存在する場合には 1 を返し、 存在しない場合には 0 を返します。 Fn tgetstr 関数は、機能 Fa id のストリング値を返し、それを Fa area のバッファに入れ、 Fa area ポインタを進めます。この関数は、カーソルのアドレス およびパッディング情報を除いて、 termcap(5) に記述されたこのフィールドの 略称をデコードします。 Fn tgetstr 関数は、その機能が見つからない場合は NULL を返します。

Fn tgoto 関数は、 Fa destline 行の Fa cm から go to カラムまででデコードされたカーソルアドレスストリングを返します。 この関数は、返すストリングに \n ^D または ^@ を入れることを避けるために必要な場合には外部変数 UP ( up 機能から ) および BC ( bs ではなく bc が与えられている場合 ) を使います。( Fn tgoto 関数を呼び出すプログラムは、 Fn tgoto 関数がタブを出力する可能性があるので、必ず XTABS ビットをオフにしておかなければなりません。 いずれにせよ、termcap を使っているプログラムは、 端末によっては control-I を他の機能、 例えば破壊不能スペースに使っているので、一般に XTABS をオフにする 必要があることに注意してください ) 。 理解できない % シーケンスが与えられている場合は、 Fn tgoto 関数は (OOPS ) を返します。

Fn tputs 関数は、 Fa cp ストリングの先頭のパッディング情報をデコードします。 Fa affcnt は、この操作によって影響を受ける行数を与え、これに該当しない 場合は行数は 1 となり、 Fa outc は各キャラクタとともに順に呼び出されるルーチンです。外部変数 PC には、パッドキャラクタが null (^@ ) では不適当な場合には、( pc 機能から ) 使用すべきパッドキャラクタが 入っていなければなりません。 外部変数 ospeed には、 stty(3) によりエンコードされた端末の出力速度が 入っていなければなりません。 Fn __set_ospeed 関数は、cps で表した速度 Fa speed をもっとも近い stty(3) コード化された速度に変換し、その結果を ospeed に保存します。

Fn tparm 関数は、ストリング Fa cp を与えられたパラメータによってインスタンスに変換します。 Fa cp にそのパラメータが適用された結果を指すポインタ が返されます。理解できない % シーケンスが与えられた場合は、 Fn tparm 関数は (OOPS ) を返します。  

索引

ファイル

/usr/lib/libtermcap.a
-l ltermcap ライブラリ ( -l ltermlib とも呼ばれます )
/usr/share/misc/termcap
標準端末機能データベース
$HOME/.termcap
ユーザの端末機能データベース

 

索引

参照

ex(1), curses(3), termcap(5)  

索引

歴史

Fn tgetent 関数は、 BSD 4.0 に現れました。


 

索引

Index

名称
書式
解説
ファイル
参照
歴史

jman



Time: 07:07:14 GMT, January 12, 2009