C Linux ioctl TCGETS和TCSETS错误25

时间:2014-09-19 04:36:44

标签: c linux ioctl

对于作业,我需要使用ioctl,TCGETS和TCSETS。我不能使用tcgetattr和tcsetattr。

到目前为止,这是我的代码:

    struct termios term;
    int openLocation
    int ioResult
    openLocation = open("../../dev/fb0",O_RDWR);
    ioResult = ioctl(openLocation,TCGETS,&term);

这让我误解了25。我不确定问题是什么。我最终需要通过取消设置ICANON位并禁用ECHO来禁用规范模式,而且,我需要再次使用ioctl。谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

/dev/fb0是帧缓冲设备,而不是终端。你不能在其上使用TCGETS

你或许是/dev/tty0

答案 1 :(得分:0)

添加perror或strerror可能会帮助您看到(如@kch所提到的)您的打开调用失败并且ioctl正在无效文件上调用(ENOTTY)。