Linux のマニュアル ページのセクション 2 には、system calls
.
このリンクを見つけた後、私は「OK! すべてのモジュールの開発にこのリファレンスを使用しています。完成しました」と言います。
しかし、このセクションの一部の機能 ( など) を使用できないようbind(2)
です。必要なヘッダー ( など<sys/socket.h>
) を含めた後、モジュールのコンパイルに失敗しました。
一部の関数/マクロなどprintk
は、セクション 2 には記載されていません。多くの人が Linux Api を使用していたため、公式のリファレンスが見つかりませんでした (のようにprintk
)。彼らがこれらの機能をどのように見つけたのかわかりませんか?(リファレンスを読むのではなく、カーネルのソースコード全体を読むことによるかもしれません)
セクション 3 (ユーザー空間ライブラリ) で説明したような関数もmemset
ありますが、カーネル モジュールの開発者はエラーなく使用できます。
ロード可能なカーネル モジュールを開発する際に利用可能なヘッダーと関数の完全なリファレンスはどこにありますか? (MSDN や WINDDK 参照のようなもの)
#include <linux/init.h>
#include <linux/module.h>
/* A complete list of availabe headers and functions is missing! */
static int my_init(void)
{
return 0;
}
static void my_exit(void)
{
return;
}
module_init(my_init);
module_exit(my_exit);