私は既存のFreeBSDデバイスドライバーにいくつかのコードを追加していてchar*
、ユーザースペースからドライバーにを渡そうとしています。次のようなマクロを使用してカスタムioctl()
コマンドを実装しました。_IOW
#define TIBLOOMFILTER _IOW(0,253,char*)
私の電話は次のようになります。
int file_desc = open("/dev/ti0", O_RDWR);
ioctl(file_desc, TIBLOOMFILTER, (*filter).getBitArray());
close(file_desc);
電話をかけると、エラーメッセージとしてioctl()
:が表示されます。Inappropriate ioctl for device
何が間違っているのかについての推測はありますか?デバイスドライバーで同じマクロを定義し、それをcase
ステートメントに追加しました。