IOCTL_SERIAL_SET_CHARS请求设置串行控制器驱动程序用于握手流控制的特殊字符。 此驱动程序验证指定的特殊字符。 若要获取特殊字符,客户端可以使用IOCTL_SERIAL_GET_CHARS请求。 主要代码 IRP_MJ_DEVICE_CONTROL 输入缓冲区 AssociatedIrp.SystemBuffer成员指向客户端分配的SERIAL_CHARS结构,该结构用于输入特殊字符。
// IOCTL命令代码NULL,// 输入缓冲区0,// 输入缓冲区长度&serialChars,// 输出缓冲区sizeof(SERIAL_CHARS),// 输出缓冲区长度&bytesReturned,// 操作的字节数NULL// 重叠结构);if(result){// 成功获取串口特殊字符参数}else{// 失败处理}
IOCTL_SERIAL_IMMEDIATE_CHAR要求會導致儘快傳輸指定的字元。 立即字元要求會在任何其他可能進行中的寫入之後立即完成。 一次只能擱置一個立即字元要求。 主要程序代碼 IRP_MJ_DEVICE_CONTROL 輸入緩衝區 AssociatedIrp.SystemBuffer成員會指向 UCHAR 值,以立即傳輸。 輸入緩衝區長度 Parameters.DeviceIoControl.Inp...
客户端使用IOCTL_SERIAL_WAIT_ON_MASK请求来等待等待事件的出现。 如果在处理 set-wait-mask 请求时已挂起等待掩码请求,则挂起的事件等待请求的状态为STATUS_SUCCESS并且输出等待事件掩码设置为零。 主要代码 IRP_MJ_DEVICE_CONTROL 输入缓冲区 AssociatedIrp.SystemBuffer成员指向客户端分配并设置为事件等待掩码的 ...
IOCTL_SERIAL_SET_LINE_CONTROL和IOCTL_SERIAL_GET_LINE_CONTROL是两个IOCTL命令代码,用于设置和获取串口的行控制参数。这些参数包括停止位、数据位和奇偶校验位。 1.1SERIAL_LINE_CONTROL结构体 这两个IOCTL命令都使用SERIAL_LINE_CONTROL结构体来传递数据。该结构体定义如下: ...
IOCTL_SERIAL_WAIT_ON_MASK [X] [MS-RDPESP]0x001b004c IOCTL_SERIAL_PURGE [X] [MS-RDPESP]0x001b0050 IOCTL_SERIAL_GET_BAUD_RATE [X] [MS-RDPESP]0x001b0054 IOCTL_SERIAL_GET_LINE_CONTROL [X] [MS-RDPESP]0x001b0058 IOCTL_SERIAL_GET_CHARS ...
IOCTL_SERIAL_SET_QUEUE_SIZE IOCTL IOCTL_SERIAL_SET_RTS IOCTL IOCTL_SERIAL_SET_TIMEOUTS IOCTL IOCTL_SERIAL_SET_WAIT_MASK IOCTL IOCTL_SERIAL_SET_XOFF IOCTL IOCTL_SERIAL_SET_XON IOCTL IOCTL_SERIAL_WAIT_ON_MASK IOCTL IOCTL_SERIAL_XOFF_COUNTER IOCTL SERIAL_BAUD_RATE structure SERIAL_CHARS structure ...
IOCTL_SERIAL_RESET_DEVICE IOCTL IOCTL_SERIAL_SET_BAUD_RATE IOCTL IOCTL_SERIAL_SET_BREAK_OFF IOCTL IOCTL_SERIAL_SET_BREAK_ON IOCTL IOCTL_SERIAL_SET_CHARS IOCTL IOCTL_SERIAL_SET_DTR IOCTL IOCTL_SERIAL_SET_FIFO_CONTROL IOCTL IOCTL_SERIAL_SET_HANDFLOW IOCTL IOCTL_SERIAL_SET_LINE_CONTROL IOCTL IOCT...
static void capinc_tty_set_termios(struct tty_struct *tty, struct ktermios *old) { pr_debug("capinc_tty_set_termios\n"); @@ -1236,7 +1230,6 @@ static const struct tty_operations capinc_ops = { .flush_chars = capinc_tty_flush_chars, .write_room = capinc_tty_write_room,...
(ss.port_high, &ss32->port_high)) return -EFAULT; ss.iomap_base = 0UL; } set_fs(KERNEL_DS); err = sys_ioctl(fd,cmd,(unsigned long)(&ss)); set_fs(oldseg); if (cmd == TIOCGSERIAL && err >= 0) { if (!access_ok(VERIFY_WRITE, ss32, sizeof(SS32))) return -EFAULT;...