Linuxカーネルのドキュメント

Linuxカーネルドキュメント (公式)

Linuxカーネルの公式のドキュメントである。
Quick searchで検索するか、Contentsから項目を探す。

例えば、CANインターフェースについては、
Subsystems → Network Interfaces → Networking → SocketCAN - Controller Area Network
に書かれている。

過去のLinuxカーネルのバージョンについては下記から。
https://www.kernel.org/doc/html/

その他のドキュメントについては下記から。
https://www.kernel.org/doc/

Doxygenドキュメント (野良)

かなり古いバージョン(3.7)のまま更新されていないが、Doxygenで生成したLinuxカーネルソースのドキュメントが下記で閲覧できる。
https://docs.huihoo.com/doxygen/linux/kernel/3.7/

ヘッダファイルを読む

C言語のヘッダファイルは /usr/include/ にある。
stdio.h は /usr/include/stdio.h にある。
net/if.h は /usr/include/net/if.h にある。

しかし、別の場所にある場合もある。
例えば、Ubuntu20.04 (x64版) では、
sys/types.h は /usr/include/x86_64-linux-gnu/sys/types.h にある。

ヘッダファイルがどこにあるかは locate コマンドで確認できる。
(Ubuntu等であれば、locate は apt でインストールできる。)

$ locate sys/types.h
/usr/include/x86_64-linux-gnu/sys/types.h

または、findコマンドで探す。

$ find /usr/include -name types.h