1

Linuxカーネルモジュールに取り組んでからしばらく経ちましたが、他のfile_operationsで利用できるopen()オープン実装にコンテキストを隠しておく場所があったことを覚えているようです...たとえば、デバイスノードを開くすべての人に関連付けられた状態を維持するために、すべての file_operations 関数に渡される inode 構造またはファイル構造に void* がある場合、埋めることができ、任意の数のユーザーを非常に簡単にサポートできます... . これは可能ですか?

4

1 に答える 1

2

答えを見つけました。すべての file_operations 関数に渡される「struct file*」には「private_data」というフィールドがあります...これは void* であるため、open で入力し、read()、write()、および ioctl() で使用できます。 release() で解放します。

于 2009-09-24T15:51:05.340 に答える