ユーザー空間アプリケーションが関数へのポインターをカーネル空間ドライバーに送信できるように、Linux で ioctl インターフェイスを拡張することは可能ですか?
特に、ユーザーが制御できる方法でストリームを処理する方法を考えていますが、カーネルで実行しています。これらの操作をカーネル モジュールにアタッチすることもできますが、開発中にカーネルをいじる必要がないため、開発がはるかに簡単になります。
より具体的には、これは次のプロセスになります。
- データはドライバーによってバッファーに読み取られます。
- データは、これらのユーザー定義関数によって適切に処理されます。
- おそらくいくつかのハードウェアブロックを使用して、さらに処理が行われます。
- データはユーザー空間アプリケーションによって使用されます。