私はLinuxカーネルスペースコードです。ユーザースペースのアプリケーションが、カーネルスペースコードで関数を呼び出し、そのコールバック関数のアドレスを渡すことで、カーネルスペースコードにコールバック関数を登録できるようにしたいと思います。カーネルスペースコードは、後で実行時にコールバック関数を実行します。カーネル空間のコードは次のようになるはずです。
typedef void (*callback_func) (void);
callback_func callback;
static void registerCallBack(callback_func funct){callback = funct;}
//another kernel space method
funct();
ただし、適切なtypedefと、これが適切に機能するかどうかについては少しわかりません。誰かがこれの機能を確認したり、この分野で何かアドバイスを提供したりできますか?残りのカーネルスペースコードが終了するのを待っているため、現在これをテストすることはできません。