0
這個問題真的只是爲了滿足我對this問題的好奇心。雖然我現在正在使用另一種解決方案,但最初的問題似乎歸結爲TIOCMGET未實施的事實,我想知道一些原因。TIOCMGET應該在哪裏實施?
不幸的是,我沒有發現很多有用的信息,只是通過Google搜索,我發現tty_ioctl手冊頁(第一個結果)非常難以理解。
那麼,究竟是TOCMGET,它在哪裏實現,以及mono可能在哪裏尋找並找不到它?
這個問題真的只是爲了滿足我對this問題的好奇心。雖然我現在正在使用另一種解決方案,但最初的問題似乎歸結爲TIOCMGET未實施的事實,我想知道一些原因。TIOCMGET應該在哪裏實施?
不幸的是,我沒有發現很多有用的信息,只是通過Google搜索,我發現tty_ioctl手冊頁(第一個結果)非常難以理解。
那麼,究竟是TOCMGET,它在哪裏實現,以及mono可能在哪裏尋找並找不到它?
它在drivers/tty/tty_io.c
它具有以下實現來實現:
/**
* tty_tiocmget - get modem status
* @tty: tty device
* @file: user file pointer
* @p: pointer to result
*
* Obtain the modem status bits from the tty driver if the feature
* is supported. Return -EINVAL if it is not available.
*
* Locking: none (up to the driver)
*/
static int tty_tiocmget(struct tty_struct *tty, int __user *p)
{
int retval = -EINVAL;
if (tty->ops->tiocmget) {
retval = tty->ops->tiocmget(tty);
if (retval >= 0)
retval = put_user(retval, p);
}
return retval;
}
,你從註釋說明和代碼,它只有在底層的終端驅動程序支持它,否則將返回EINVAL
工作。
有很多驅動程序支持它,例如isdn4linux
和各種GSM調制解調器驅動程序,但普通終端不會這樣做,因爲它們不是調制解調器。
手冊頁暗示它至少在C級實施。 – 2013-02-12 10:53:32