FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | エラー | 関連項目 | 歴史 | バグ
UNVIS(3)               FreeBSD ライブラリ関数マニュアル               UNVIS(3)

名称
     unvis, strunvis, strnunvis, strunvisx, strnunvisx -- 文字の視覚表現をデ
     コード (復号化) する

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <vis.h>

     int
     unvis(char *cp, int c, int *astate, int flag);

     int
     strunvis(char *dst, const char *src);

     int
     strnunvis(char *dst, size_t dlen, const char *src);

     int
     strunvisx(char *dst, const char *src, int flag);

     int
     strnunvisx(char *dst, size_t dlen, const char *src, int flag);

解説
     unvis(), strunvis() と strunvisx() 関数は、元の形式に戻す vis(3) 関数に
     よって生成されるような、文字の視覚表現をデコード (復号化) するために使用
     されます。

     unvis() 関数は、デコードされた文字が、cp によって指される文字で利用可能で
     ある時点で、有効なシーケンスが認識されるまで、c の連続する文字で呼び出さ
     れます。

     strunvis() 関数は、src によって指される文字を dst によって指されるバッ
     ファへデコードします。strunvis() 関数は、途中のあらゆるエスケープシーケン
     スをデコードして、srcdst へ単にコピーし、dst に入れられた文字の数を返
     すか、または無効のエスケープシーケンスが検出されたなら、-1 を返します。
     dst のサイズは、src のサイズと等しくなければなりません (すなわち、拡張
     は、デコードの間に起こりません)。

     strunvisx() 関数は、strunvis() 関数と同じように行いますが、利用者は、文字
     列 src がエンコード (符号化) されるスタイルを指定するフラグを追加すること
     ができます。現在、サポートされたフラグは、次の通りです: VIS_HTTPSTYLE と
     VIS_MIMESTYLE。

     unvis() 関数は、任意のバイトのストリームをデコードするために使用すること
     ができる状態マシン (state machine) を実装しています。デコードされているバ
     イトに関連するすべての状態は、unvis() 関数の外側に格納される (すなわち、
     状態へのポインタが渡され) ので、異なるストリームをデコードする呼び出しを
     自由に混在することができます。バイトのストリームのデコードを開始するため
     には、最初に整数を 0 に初期化します。この整数へのポインタとあて先の文字へ
     のポインタとともに、各連続するバイトで unvis() を呼び出します。unvis() 関
     数には、適切に扱われなければならない、いくつかの返りコードがあります。そ
     れらは、次の通りです:

     0 (ゼロ)         別の文字が必要です。まだ何も認識されていません。

     UNVIS_VALID      有効な文字が認識されており、cp によって指される場所で利
                      用可能です。

     UNVIS_VALIDPUSH  有効な文字が認識されており、cp によって指される場所で利
                      用可能です。しかしながら、現在渡された文字は、再び渡され
                      るべきです。

     UNVIS_NOCHAR     有効なシーケンスが検出されましたが、文字は、作成されませ
                      んでした。この返りコードは、文字の間の論理的な中断を示す
                      ために必要です。

     UNVIS_SYNBAD     無効のエスケープシーケンスが検出されるか、またはデコーダ
                      が未知の状態です。デコーダは、開始している状態に置かれま
                      す。

     ストリーム中のすべてのバイトが処理されたとき、あらゆる残っている文字を抽
     出するために、もう一度 UNVIS_END に設定されたフラグで unvis() を呼び出し
     ます (渡された文字は、無視されます)。

     また flag 引数は、ソースのエンコード (符号化) スタイルを指定するために使
     用されます。VIS_HTTPSTYLE または VIS_HTTP1808, に設定されるなら、unvis()
     は、RFC 1808 で指定されるように URI 文字列をデコードします。VIS_HTTP1866
     に設定されるなら、unvis() は、RFC 1866 で指定されるように実体の参照と番号
     文字の参照をデコードします。VIS_MIMESTYLE に設定されるなら、unvis() は、
     RFC 2045 で指定されるように MIME Quoted-Printable 文字列をデコードしま
     す。VIS_NOESCAPE に設定されるなら、unvis() は、`\' で引用された文字をデ
     コードしません。

     次のコードの破片は、unvis() の適切な使用を説明しています。

           int state = 0;
           char out;

           while ((ch = getchar()) != EOF) {
           again:
                   switch(unvis(&out, ch, &state, 0)) {
                   case 0:
                   case UNVIS_NOCHAR:
                           break;
                   case UNVIS_VALID:
                           (void)putchar(out);
                           break;
                   case UNVIS_VALIDPUSH:
                           (void)putchar(out);
                           goto again;
                   case UNVIS_SYNBAD:
                           errx(EXIT_FAILURE, "Bad character sequence!");
                   }
           }
           if (unvis(&out, '\0', &state, UNVIS_END) == UNVIS_VALID)
                   (void)putchar(out);

エラー
     関数 strunvis(), strnunvis(), strunvisx() と strnunvisx() は、エラーで -1
     を返し、errno を次のように設定します:

     [EINVAL]           無効のエスケープシーケンスが検出されたか、またはデコー
                        ダが未知の状態です。

     さらに、関数 strnunvis() と strnunvisx() は、またエラーで errno を次のよ
     うに設定します:

     [ENOSPC]           変換を実行するための十分な空間がありません。

関連項目
     unvis(1), vis(1), vis(3)

     R. Fielding, Relative Uniform Resource Locators, RFC1808.

歴史
     unvis() 関数は、4.4BSD ではじめて登場しました。strnunvis() と
     strnunvisx() 関数は、NetBSD 6.0 と FreeBSD 9.2 で登場しました。

バグ
     名前 VIS_HTTP1808 と VIS_HTTP1866 は、間違っています。パーセントエンコー
     ディング (符号化) は、URL のためのオリジナルの RFC である、RFC 1738 定義
     されました。RFC 1866 は、番号文字の参照と実体の参照の概念を継承する、SGML
     の アプリケーション、HTML 2.0 を定義しています。

FreeBSD 11.2                    March 12, 2011                    FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索