CAP_MKDB(1)

名称
cap_mkdb - ケーパビリティデータベースを作る

書式
cap_mkdb [-v] [-f outfile] file1 [file2 ...]

解説
cap_mkdb は、指定されたファイルを連結して作った getcap(3) の論理データベースから、ハッシュ式のデータベースを構築します。

データベースの名前は、最初のファイルのベース名に文字列 “.db” を付け加えたものになります。 getcap(3) ルーチンの検索速度は、オリジナルのテキストファイルよりも、 このデータベースのほうがはるかに高速です。

ファイル内の ``tc'' エントリは、データベースにストアされる前に展開されます。

オプションとしては、以下のものがあります:

-f outfile
    データベースのベース名を別のものに指定します。

-v  データベース内の機能項目の登録数を表示します。

フォーマット
各レコードは、2 種類の異なるキーを用いてデータベースに登録されます。

第 1 の形式は、レコードの最初のケーパビリティ (末尾のコロン (``:'') は含みません) をキーとし、データフィールドには特殊な 1 バイトのデータに続いて残りのレコードが収められています。 この特殊な 1 バイトデータは 0 または 1 のどちらかで、0 はそのレコードが 正常であることを意味し、1 はそのレコード中に、 展開できなかった ``tc'' エントリがあることを表しています。

第 2 の形式は、レコードの最初のケーパビリティの中の名前の 1 つをキーとし、 データフィールドには特殊な 1 バイトのデータに続いてレコードの最初の ケーパビリティが収められています。この場合の特殊バイトデータの値は 2 です。

一般的な操作においては、名前をデータベースから検索することにより、 まず後者の形式ののキー/データペアが得られます。 このキー/データペアのデータフィールドを更に検索することにより、 前者の形式のキー/データペアが得られ、指定した名前に対する実データは この中に収められています。

戻り値
cap_mkdb ユーティリティは、成功した場合 0 を、エラーが起こった場合は 0 より大きな値を 返します。

関連項目
dbopen(3), getcap(3), termcap(5)