カーネルソースには関数が含まれています およびデータ構造 これは、たとえばpanic.c
に文書化されています :
/**
* panic - halt the system
* @fmt: The text string to print
*
* Display a message, then perform cleanups.
*
* This function never returns.
*/
void panic(const char *fmt, ...)
毎回ソースを調べる代わりに、それらのAPIをマンページとして表示すると便利です。 この既存のドキュメントフレームワークを活用します。
カーネルセクション9のマンページをどのようにインストール/作成しますか (/usr/share/man/man9
)前述の機能とデータ構造を文書化したものはどれですか?
承認された回答:
コンテンツはソースから直接解析されます(これも参照)。 .cファイル:
Linuxカーネルの関数とデータ構造の
一貫性のある抽出可能なドキュメント
を提供するために、Linuxカーネルは
一貫性のある
一貫性のあるドキュメントを採用しています。関数とそのパラメーター、および
構造とそのメンバーを文書化するためのスタイル。このドキュメントの形式は、kernel-doc形式と呼ばれます。
は、このDocumentation/kernel-doc-nano-HOWTO.txtファイルに記載されています。このスタイルは、
いくつかの簡単な規則を使用して、ソースファイル内にドキュメントを埋め込みます。 scripts / kernel-doc perlスクリプト、Documentation/DocBookの一部のSGML
テンプレート、およびその他のツールは、これらの
規則を理解し、この埋め込まれたドキュメントを
さまざまなドキュメントに抽出するために使用されます。
[…]開始コメントマーク「/**」はkernel-docコメント用に予約されています。
そのようにマークされたコメントのみがkernel-docスクリプトによって考慮されます。
そしてそのようにマークされたコメントはkernel-docに含まれている必要があります。フォーマット。
つまり、このような形式のコメントのみをこの方法で抽出でき、kernel-doc
を活用できます。 Perl make
で使用されるスクリプト プロセス:
kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
[ -no-doc-sections ]
[ -function funcname [ -function funcname ...] ]
c file(s)s > outputfile
したがって、 mandocsに限定されません。 ターゲット:
インストール後、「make psdocs」、「make pdfdocs」、「make htmldocs」、または
「makemandocs」は、要求された形式でドキュメントをレンダリングします。
カーネルリポジトリ/ソースには、ドライバ固有のテキストファイルもあります。より一般的には、彼らのLinuxマンページプロジェクト ( man1 man8を介して )をダウンロードできます。最後に、kernel.orgはいくつかの出力ドキュメントも保持しています。
関連:「sudo:apt-get:コマンドが見つかりません。」いくつかのパッケージを削除した後?