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.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)

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



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 文字列関数 | メモリ割り付け | 環境変数 | 標準ライブラリサポート | 文字 I/O (入出力) | 文字テストと変換 | ファイル I/O (入出力) | ページャ | その他 | 要求される低レベルのサポート | 内部のファイルシステム | デバイス | ドライバインタフェース | 歴史 | バグ
LIBSA(3)               FreeBSD ライブラリ関数マニュアル               LIBSA(3)

名称
     libsa -- スタンドアローン (独立型) 実行形式のためのサポートライブラリ

書式
     #include <stand.h>

解説
     libsa ライブラリは、標準の BSD プログラミング環境を可能であれば模擬する、
     スタンドアローンのアプリケーションのためのサポートする 1 組の関数を提供し
     ています。次のセクションは、種類によって、これらの関数をグループ化しま
     す。特にここで記述されないなら、与えられた関数のための対応するセクション
     3 のマニュアルページを参照してください。

文字列関数
     文字列関数は、string(3)bstring(3) で文書化されるように利用可能です。

メモリ割り付け
     void * malloc(size_t size)

                 best-fit アルゴリズムを使用してヒープ (領域) から size バイト
                 のメモリを割り付けます。

     void free(void *ptr)

                 ptr で割り付けられたオブジェクトを解放します。

     void setheap(void *start, void *limit)

                 ヒープを初期化します。この関数は、始めて alloc() を呼び出す前
                 に呼び出されなければなりません。startlimit の間の領域は、
                 ヒープのためにに使用されます。これを越えて割り付ける試みは、
                 panic の結果となります。

     char * sbrk(int junk)

                 sbrk(0) の振る舞いを提供します、すなわち、ヒープが到達した最
                 高のポイント (最高のアドレス) を返します。この値は、実際の
                 ヒープの使用を判断するためにテストするために使用することがで
                 きます。junk 引数は、無視されます。

環境変数
     一連の関数は、伝統的なシェルでサポートされた環境変数に似たフラットな変数
     空間を操作するために提供されています。主な増強は、フック関数を設定/設定解
     除のためのサポートです。

     char * getenv(const char *name)

     int setenv(const char *name, const char *value, int overwrite)

     int putenv(char *string)

     int unsetenv(const char *name)

                 これらの関数は、それらの標準ライブラリに相当するものと同様に
                 振る舞います。

     struct env_var * env_getenv(const char *name)

                 環境変数中の変数を検索し、そのすべてのデータ構造を返します。

     int env_setenv(const char *name, int flags, const void *value,
                 ev_sethook_t sethook, ev_unsethook_t unsethook)

                 name と呼ばれる環境変数を新しく作成するか、または既存の環境変
                 数を設定します。新しい変数を作成するなら、sethookunsethook 引数が指定されます。

                 EV_NOHOOK フラグが設定されていないなら、変数を設定する試みが
                 行われるときはいつでも、フックの設定が、呼び出されます。通
                 常、フックの設定は、value 引数を正当であると確認し、次に、実
                 際に値を保存するために、再び EV_NOHOOK 設定で env_setenv() を
                 呼び出します。前もって定義された関数 env_noset() は、変数を設
                 定するすべての試みを拒否すると指定されます。

                 フックを未設定とすることは、変数を未設定とする試みが行われる
                 とき、呼び出されます。それが、0 を返すなら、変数は、未設定と
                 されます。前もって設定された関数 env_nounset は、未設定とされ
                 ている変数を防ぐために使用されます。

標準ライブラリサポート
     int abs(int i)

     int getopt(int argc, char * const *argv, const char *optstring)

     long strtol(const char *nptr, char **endptr, int base)

     long long strtoll(const char *nptr, char **endptr, int base)

     long strtoul(const char *nptr, char **endptr, int base)

     long long strtoull(const char *nptr, char **endptr, int base)

     void srandom(unsigned int seed)

     long random(void)

     char * strerror(int error)

                 libsa によってサポートされた errno 値のサブセットのためのエ
                 ラーメッセージを返します。

     assert(expression)

                 <assert.h> を必要とします。

     int setjmp(jmp_buf env)

     void longjmp(jmp_buf env, int val)

                 操作するシグナル状態がないので、それぞれ _setjmp() と
                 _longjmp() として定義します。<setjmp.h> を必要とします。

文字 I/O (入出力)
     void gets(char *buf)

                 コンソールから buf に文字を読み込みます。標準の注意のすべて
                 が、この関数に当てはまります。

     void ngets(char *buf, int size)

                 コンソールから buf に、おおくても size - 1 文字を読み込みま
                 す。size が 1 未満であるなら、関数の振る舞いは、gets() と同じ
                 です。

     int fgetstr(char *buf, int size, int fd)

                 1 行をおおくても size 文字 buf に読み込みます。行を終了する文
                 字は、取り除かれ、バッファは、常に NUL (ヌル文字) で終了しま
                 す。成功するなら、buf の文字の数を返し、読み込みエラーが生じ
                 るなら、-1 を返します。

     int printf(const char *fmt, ...)

     void vprintf(const char *fmt, va_list ap)

     int sprintf(char *buf, const char *fmt, ...)

     void vsprintf(char *buf, const char *fmt, va_list ap)

                 *printf 関数は、標準の printf() ファミリ機能といくつかの拡張
                 のサブセットを実装しています。次の標準の変換がサポートされて
                 ます: c,d,n,o,p,s,u,x。次の修飾子がサポートされています:
                 +,-,#,*,0,フィールド幅,制度,l。

                 b 変換は、エラーレジスタをデコード (解読) するために提供され
                 ています。その使用法は、次の通りです:

                       printf( "reg=%b\n", regval, "<base><arg>*" );

                 ここで、<base> は、制御文字として表現された出力です、例えば、
                 \10 は、8 進数を、\20 は、16 進数を与えます。その最初は、検査
                 される (1 を基点とする) ビット番号を与え、次の文字 (32 未満の
                 文字まで) は、ビットが設定されているなら、表示されるテキスト
                 を与える、各 <arg> は、文字のシーケンスです。したがって、

                       printf( "reg=%b\n", 3, "\10\2BITTWO\1BITONE" );

                 は、次の出力を与えます。

                       reg=3<BITTWO,BITONE>

                 D 変換は、16 進数ダンプの機能を提供します、例えば、

                       printf( "%6D", ptr, ":" ); gives "XX:XX:XX:XX:XX:XX"

                       printf( "%*D", len, ptr, " " ); は、"XX XX XX ..." とな
                       ります。

文字テストと変換
     int isupper(int c)

     int islower(int c)

     int isspace(int c)

     int isdigit(int c)

     int isxdigit(int c)

     int isascii(int c)

     int isalpha(int c)

     int isalnum(int c)

     int iscntrl(int c)

     int isgraph(int c)

     int ispunct(int c)

     int toupper(int c)

     int tolower(int c)

ファイル I/O (入出力)
     int open(const char *path, int flags)

                 ファイルの作成がサポートされてないので、モードパラメータが、
                 必要ではないことを除いて、open(2) で指定されるような振る舞い
                 に似ています。flags 引数は、O_RDONLY, O_WRONLY and O_RDWR の
                 1 つです。現在、書き込みをサポートしているのは UFS のみです。

     int close(int fd)

     void closeall(void)

                 すべてのオープンしているファイルをクローズします。

     ssize_t read(int fd, void *buf, size_t len)

     ssize_t write(int fd, void *buf, size_t len)

                 (ファイルシステムは、現在書き込みをサポートしていません。)

     off_t lseek(int fd, off_t offset, int whence)

                 読み込みの間に自動的に圧縮復元されているファイルは、現在の時
                 点から後方にシークすることはできません。

     int stat(const char *path, struct stat *sb)

     int fstat(int fd, struct stat *sb)

                 stat() と fstat() 関数は、sb 構造体の次のフィールドのみを書き
                 込みます: st_mode,st_nlink,st_uid,st_gid,st_size。tftp ファイ
                 ルシステムは、この呼び出しのための意味のある値を提供できず、
                 cd9660 ファイルシステムは、常に、0 の uid/gid があるファイル
                 を報告します。

ページャ
     libsa ライブラリは、大きなコマンドの出力を読み込むことを容易にするために
     簡単な内部のページャを供給しています。

     void pager_open()

                 ページャを初期化し、次の行の出力が表示の先頭になるように、
                 ページャに伝えます。環境変数 LINES は、一時停止の前に表示され
                 る行の数を決定するために調べられます。

     void pager_close(void)

                 ページャをクローズします。

     int pager_output(const char *lines)

                 lines で NUL (ヌル文字) で終了するバッファの行をページャに送
                 ります。改行文字は、出力される行の数を決定するためにカウント
                 されます (折り返された行は、含まれません)。pager_output() 関
                 数は、行のすべてが出力されたとき、0 を返し、表示が一時停止
                 し、ユーザが、終了を選ぶなら、0 以外を返します。

     int pager_file(const char *fname)

                 ファイル fname をオープンして、表示することを試みます。エラー
                 であれば、-1 を返し、EOF で、0 を返し、ユーザが、読んでいる間
                 に終了を選んだなら、1 を返します。

その他
     char * devformat(struct devdesc *)

                 指定されたデバイスを文字列として書式化します。

     int devparse(struct devdesc **dev, const char *devdesc, const char
                 **path)

                 形式 `device:[/path/to/file]' の devdesc 文字列を解析します。
                 devsw テーブルは、`device' 文字列の始めを dv_name と一致させ
                 るために使用されます。dv_parsedev が NULL でないなら、残りの
                 文字列を解析し、このパスに struct devdesc を割り付けるために
                 呼び出されます。NULL であるなら、デフォルトのルーチンは、単純
                 な struct devdesc を割り付けて、ユニット番号を解析し、後続す
                 る文字がないことを確認するために呼び出されます。path が NULL
                 でないなら、デバイスの仕様が書き込まれた後に、残りの devdesc
                 文字列へのポインタです。

     int devinit(void) devsw 配列のすべての dv_init ルーチンを呼び出し、エラー
                 を返したルーチンの数を返します。

     void twiddle(void)

                 連続した呼び出しは、ユーザに安心を提供するために、バックス
                 ペースが続くシーケンス |,/,-,\ の文字を出力します。

要求される低レベルのサポート
     次のリソースは、libsa によって消費されます - スタック、ヒープ、コンソー
     ル、とデバイス。

     スタックは、libsa 関数が呼び出される前に、構築されなければなりません。ス
     タックの要件は、関数と消費者によって使用されるファイルシステム、以下に述
     べられるサポートレイヤ関数に依存して変わます。

     ヒーブは、setheap() を呼び出すことによって、alloc() または open() を呼び
     出す前に、確立されなければなりません。ヒープの使用法は、クライアントの振
     る舞いと同様に、同時にオープンするファイルの数に依存して変わります。自動
     的な圧縮復元は、オープンしているファイルごとに 64K を超えるデータが割り付
     けられます。

     コンソールのアクセスは、以下に述べられる getchar(), putchar() と ischar()
     関数を通して実行されます。

     デバイスのアクセスは、devopen() を通して初期化され、devopen() が返すデバ
     イススイッチ構造体の dv_strategy(), dv_ioctl() と dv_close() 関数を通して
     実行されます。

     消費者は、次のサポート関数を提供しなければなりません:

     int getchar(void)

                 gets(), ngets() とページャ関数によって使用される、コンソール
                 から文字を返します。

     int ischar(void)

                 コンソールから文字を待っているなら、0 以外を返します。

     void putchar(int)

                 gets(), ngets(), *printf(), panic() と twiddle() によって使用
                 される、したがって、デバッグと情報の出力のための他の多くの関
                 数によって使用される、コンソールに文字を書き込みます。

     int devopen(struct open_file *of, const char *name, const char **file)

                 デバイスを参照しない name の残りの本体へのポインタである file
                 に返して、name で指定されたファイルのために適切なデバイスを
                 オープンします。off_dev フィールドは、成功するなら、オー
                 プンされたデバイスのための devsw 構造体を指すように設定されま
                 す。デバイス識別子は、常にパスの構成要素に先行しなければなり
                 ませんが、そうでなければ、任意に書式化されます。open() によっ
                 て使用され、したがって、すべてのデバイス関連の I/O によって使
                 用されます。

     int devclose(struct open_file *of)

                 of のために割り付けられたデバイスをクローズします。デバイスド
                 ライバそれ自体は、既に、クローズのために呼び出されています。
                 この呼び出しは、devopen のみによって行われたあらゆる割り付け
                 をクリーンアップするべきです。

     void __abort()

                 固定文字列を付けて panic() を呼び出します。

     void panic(const char *msg, ...)

                 致命的で、回復不能なエラー条件のシグナルを起こします。msg ...
                 引数は、printf() と同様です。

内部のファイルシステム
     内部のファイルシステムは、struct fs_ops 構造体へのポインタで初期化される
     べきである、配列 struct fs_ops *file_system[] をエクスポートしている消費
     者によって有効にされます。次のファイルシステムのハンドラは、libsa によっ
     て供給され、消費者は、彼ら自身の他のファイルシステムを供給します:

     ufs_fsops     BSD UFS。

     ext2fs_fsops  Linux ext2fs ファイルシステム。

     tftp_fsops    TFTP を経由するファイルのアクセス。

     nfs_fsops     NFS を経由するファイルのアクセス。

     cd9660_fsops  ISO 9660 (CD-ROM) ファイルシステム。

     gzipfs_fsops  gzip されたファイルをサポートしているスタックされたファイル
                   システム。gzipfs ファイルシステムを試みるとき、libsa は、
                   ファイル名の終わりに .gz を付け加え、次に、他のファイルシス
                   テムを使用してファイルを見つけることを試みます。
                   file_system[] 配列のこのファイルシステムの配置は、gzip され
                   たファイルが gzip されないファイルに優先してオープンされる
                   かどうか決定されます。gzip されたファイルを前方にシークする
                   ことだけが可能で、gzip されたファイルの stat() と fstat()
                   は、無効の長さを報告します。

     bzipfs_fsops  gzipfs_fsops と同様ですが、bzip2 で圧縮されたファイルに対し
                   てです。

     struct fs_ops ポインタの配列は、NULL で終了されるべきです。

デバイス
     デバイスは、デバイススイッチ構造体へのポインタの NULL で終了する配列であ
     る、配列 struct devsw *devsw[] を通してサポートされているコードによってに
     エクスポートされます。

ドライバインタフェース
     ドライバは、デバイスとのインタフェースのために libsa によって使用されるエ
     ントリポイントの共通のセットを提供する必要があります。

     struct devsw {
         const char  dv_name[DEV_NAMLEN];
         int         dv_type;
         int         (*dv_init)(void);
         int         (*dv_strategy)(void *devdata, int rw, daddr_t blk,
                             size_t size, char *buf, size_t *rsize);
         int         (*dv_open)(struct open_file *f, ...);
         int         (*dv_close)(struct open_file *f);
         int         (*dv_ioctl)(struct open_file *f, u_long cmd, void *data);
         int         (*dv_print)(int verbose);
         void        (*dv_cleanup)(void);
         char *      (*dv_fmtdev)(struct devdesc *);
         int         (*dv_parsedev)(struct devdesc **dev, const char *devpart,
                     const char **path);
         bool        (*dv_match)(struct devsw *dv, const char *devspec);
     };

     dv_name()      デバイスの名前。

     dv_type()      デバイスのタイプ。サポートされているタイプは、次の通りで
                    す:

                    DEVT_NONE

                    DEVT_DISK

                    DEVT_NET

                    DEVT_CD

                    DEVT_ZFS

                    DEVT_FD
                    各タイプは、最初のメンバとして一般的な (struct devdesc) が
                    ある独自の関連付け (struct type_devdesc) があります。

     dv_init()      ドライバの初期化ルーチン。このルーチンは、利用可能なユニッ
                    トをプローブするべきです。ドライバは、後で列挙するためにユ
                    ニットのリストを維持する責任があります。dv_init() が返る前
                    に、他のドライバのルーチンを呼び出すことはできません。

     dv_open()      ドライバのオープンルーチン。

     dv_close()     ドライバのクローズルーチン。

     dv_ioctl()     ドライバの ioctl ルーチン。

     dv_print()     使用可能なデバイスに関する情報を印刷 (表示) します。情報
                    は、pager_output() で表示するべきです。

     dv_cleanup()   次のステージが実行される前に、デバイスによって使用されるす
                    べてのメモリをクリーンアップします。

     dv_fmtdev()    指定された devdesc をそのデバイスのための正規の文字列表現
                    に変換します。

     dv_parsedev()  ファイルパスのデバイス部分を解析します。devpart は、デバイ
                    ス名の `tail' (末尾) を指し、その後にコロンとデバイス内の
                    パスが続く可能性があります。`tail' (末尾) は、慣例により、
                    文字列の dv_name 部分に続くデバイス仕様の部分です。そのよ
                    うに、devparse は、文字列 ``disk3p5:/xxx'' を解析している
                    とき、devpart は、その文字列の `3' を指します。解析ルーチ
                    ンは、新しい struct devdesc またはサブクラスを割り付けて、
                    成功すると dev に返すことが期待されます。このルーチンは、
                    デバイス指定の後の文字列の部分、または前の例の ``/xxx'' を
                    指すように path を設定するべきです。一般的に、パスを解析す
                    る必要があるコードは、このルーチンを直接呼び出す代わりに
                    devparse を使用します。

     dv_match()     dv_name で始まるすべてのデバイスのパスが一致することを指定
                    するために NULL。そうでなければ、この関数は、一致した場合
                    は 0 を返し、一致しなかった理由を示すために 0 以外の errno
                    を返します。これは、デバイスのパスを使用して、異なる種類の
                    デバイスの名前が統一されているシステムでプロパティを問い合
                    わせるために使用した後に、デバイスのパスを要求するとき、役
                    に立ちます。

歴史
     libsa ライブラリは、次のものを含めて、多くのソースからの寄贈を含んでいま
     す:
     •   NetBSD から libsa
     •   FreeBSD 3.0 から libclibkern
     •   Matthew Dillon <dillon@backplane.com> から zalloc

     再構成と FreeBSD 3.0 への移植、環境関数とこのマニュアルページは、Mike
     Smith <msmith@FreeBSD.org> によって書かれました。

バグ
     詳細なメモリ利用データの不足は、助けになりません。

FreeBSD 13.2                   September 9, 2022                  FreeBSD 13.2

Table of Contents

FreeBSD マニュアル検索