[Com0com-cvs] com0com io.c,1.24,1.25
The virtual serial port driver for Windows.
Brought to you by:
vfrolov
From: Vyacheslav F. <vf...@us...> - 2006-02-21 13:42:18
|
Update of /cvsroot/com0com/com0com In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2149 Modified Files: io.c Log Message: Implemented SERIAL_BREAK_CHAR Index: io.c =================================================================== RCS file: /cvsroot/com0com/com0com/io.c,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** io.c 17 Feb 2006 07:55:13 -0000 1.24 --- io.c 21 Feb 2006 13:42:11 -0000 1.25 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.25 2006/02/21 13:42:11 vfrolov + * Implemented SERIAL_BREAK_CHAR + * * Revision 1.24 2006/02/17 07:55:13 vfrolov * Implemented IOCTL_SERIAL_SET_BREAK_ON and IOCTL_SERIAL_SET_BREAK_OFF *************** *** 658,661 **** --- 661,686 ---- } + VOID InsertChar( + PC0C_IO_PORT pIoPortRead, + UCHAR value, + PLIST_ENTRY pQueueToComplete) + { + C0C_RAW_DATA insertData; + + insertData.size = 1; + insertData.data[0] = value; + + if (FdoPortIo( + C0C_IO_TYPE_INSERT, + &insertData, + pIoPortRead, + &pIoPortRead->irpQueues[C0C_QUEUE_READ], + pQueueToComplete) == STATUS_PENDING) + { + AlertOverrun(pIoPortRead, pQueueToComplete); + Trace0((PC0C_COMMON_EXTENSION)pIoPortRead->pDevExt, L"WARNING: Lost char"); + } + } + NTSTATUS TryReadWrite( PC0C_IO_PORT pIoPortRead, *************** *** 979,982 **** --- 1004,1009 ---- InsertLsrMst(pIoPortRead, FALSE, lsr, pQueueToComplete); } + if (pIoPortRead->pDevExt->handFlow.FlowReplace & SERIAL_BREAK_CHAR) + InsertChar(pIoPortRead, pIoPortRead->pDevExt->specialChars.BreakChar, pQueueToComplete); } break; |