0
我是內核模塊編程的新手,在編譯一些舊的內核代碼時遇到了一些問題。我收到以下錯誤消息,錯誤:'struct tty_driver'沒有名爲'write'的成員
error: ‘struct tty_driver’ has no member named ‘write’
((my_tty->driver)->write) (my_tty,0,str,strlen(str));
我檢查了tty_driver.h
文件中,有write
定義。發生什麼了?我怎樣才能訪問版本3.13.0-24
?
我的代碼是在這裏:
void print_string(char *str)
{
struct tty_struct *my_tty;
my_tty = get_current_tty();
if (my_tty != NULL)
{
(*(my_tty->driver)->write)(my_tty, 0, str, strlen(str));
}
}
在此先感謝..
[linux內核源代碼爲3.13](http://lxr.free-electrons.com/source/include/linux/tty_driver.h?v=3.13#L254)表明寫入已定義,所以你有一些其他版本的'tty_driver.h'不是內核版本。 – Petesh
較新的內核將操作函數指針隱藏在'tty_driver'的'ops'成員結構中 – tofro