関数、データ構造、およびヘッダファイルを文書化するカーネルセクション9のマニュアルページを作成する方法は?

関数、データ構造、およびヘッダファイルを文書化するカーネルセクション9のマニュアルページを作成する方法は?

コア源泉含む機能そしてデータ構造たとえば、文書化されています。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)上記の関数とデータ構造を含む文書は何ですか?

ベストアンサー1

内容は直接分析(あなたも見ることができますこれ)から源泉.c ファイル1 :

Linuxカーネルの機能とデータ構造に組み込まれた「C」フレンドリーでメンテナンスが容易で、一貫して抽出可能な文書を提供するために、Linuxカーネルは関数とそのパラメータ、構造、およびパラメータを文書化するための一貫したスタイルを採用していますします。メンバー。

この文書の形式をkernel-doc形式と呼​​びます。この Documentation/kernel-doc-nano-HOWTO.txt ファイルに文書化されています。

このスタイルでは、いくつかの簡単なルールを使用して文書をソースファイルに含めます。 scripts / kernel-doc perlスクリプト、Documentation / DocBookの一部のSGMLテンプレート、およびその他のツールは、これらの規則を理解し、含まれている文書をさまざまな文書に抽出するために使用できます。 [...]

開始コメントの表示 "/**" はカーネル文書コメント用に予約されています。カーネル文書スクリプトはそのようにマークされたコメントのみを考慮し、そのようにマークされたすべてのコメントはカーネル文書形式でなければなりません。

つまり、書式設定されたコメントのみをこの方法で抽出でき、次のことを利用できます。kernel-doc 真珠プロセスで使用されるスクリプトmake:

kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
  [ -no-doc-sections ]
  [ -function funcname [ -function funcname ...] ]
  c file(s)s > outputfile

したがって、あなたはこれに限定されませんマンドックス ターゲット:

インストールされると、「make psdocs」、「make pdfdocs」、「make htmldocs」、または「make mandocs」は、要求された形式でドキュメントをレンダリングします。

ドライバー固有の項目もあります。テキストファイルカーネルリポジトリ/ソースにあります。より一般的にLinuxのマニュアルページプロジェクト男1渡す男8) はい書くことができるダウンロード可能です。最後に、kernel.orgも一部を維持しています。出力文書。


1. この技術がマンページを生成するために使用される唯一のケースはカーネルではありません。牛に似た一種の栄養コアツール他の場合も同様です。ほとんどのマンページは次のとおりです。作成済みcommand --helpコンテンツの出力を使用してください。使用法ユーティリティソースファイル(1 2)。

おすすめ記事