1. ホーム
  2. networking

[解決済み] カーネルソースプロジェクトのinclude/uapiに含まれるもの

2022-02-19 09:09:35

質問

どなたか、カーネルソースフォルダの構造、機能、および構成方法について説明したドキュメントを提供していただけないでしょうか?

具体的には、include/uapi/**というフォルダの使い方を教えてください。

ありがとうございます。

解決方法は?

その uapi フォルダには、カーネルのユーザー空間APIが格納されることになっています。 そして、カーネルをインストールすると、uapiインクルードファイルはトップレベルの/usr/include/linux/ファイルになります。(どのような例外が残っているかは、全く分かりませんが)。

理論的には、他のヘッダはカーネルにプライベートなものです。これにより、以前は一つのヘッダーファイルの中で混在していた、ユーザから見える構造とカーネルだけの構造をきれいに分離することができます。

私が見た中で最も優れた議論は Linux Weekly Newsに掲載されました。 パッチが適用される前の記事です。

UAPIパッチ自体はカーネル3.7で上陸しています。 Linusの クイック&ダーティサマリー です。

  • インクルードファイルのクリーンアップを行いました。このアイデアは ユーザースペースにエクスポートされたものは、include/uapi と arch/$(ARCH)/include/uapi.

    実際に動くことを祈りましょう。そうでなければ、これは単なる 全く無意味な苦痛だ。そして、ともかく、私は間違いなく、もう この手のquot;インクルードファイルの大規模なクリーンアップを行いましょう" 永遠に