error: ‘struct tty_driver’ has no member named ‘write’
error: ‘struct tty_driver’ has no member named ‘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));
}
}
提前致谢..
write
确实被定义,但不是 tty_driver
的成员。它被定义为 tty_operations
的成员,并且 tty_driver
有一个成员 ops
,一个指向 const tty_operations
.
的指针
所以,我使用 my_driver->ops->write
而不是 my_driver->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));
}
}
提前致谢..
write
确实被定义,但不是 tty_driver
的成员。它被定义为 tty_operations
的成员,并且 tty_driver
有一个成员 ops
,一个指向 const tty_operations
.
所以,我使用 my_driver->ops->write
而不是 my_driver->driver->write
。