[Com0com-cvs] com0com com0com.h,1.16,1.17 io.c,1.18,1.19 ioctl.c,1.9,1.10 openclos.c,1.7,1.8
The virtual serial port driver for Windows.
Brought to you by:
vfrolov
From: Vyacheslav F. <vf...@us...> - 2005-11-29 12:33:34
|
Update of /cvsroot/com0com/com0com In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32150 Modified Files: com0com.h io.c ioctl.c openclos.c Log Message: Changed SetModemStatus() to ability set and clear bits simultaneously Index: io.c =================================================================== RCS file: /cvsroot/com0com/com0com/io.c,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** io.c 29 Nov 2005 08:35:13 -0000 1.18 --- io.c 29 Nov 2005 12:33:21 -0000 1.19 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.19 2005/11/29 12:33:21 vfrolov + * Changed SetModemStatus() to ability set and clear bits simultaneously + * * Revision 1.18 2005/11/29 08:35:13 vfrolov * Implemented SERIAL_EV_RX80FULL *************** *** 628,632 **** IN PC0C_IO_PORT pIoPort, IN ULONG bits, ! IN BOOLEAN set, PLIST_ENTRY pQueueToComplete) { --- 631,635 ---- IN PC0C_IO_PORT pIoPort, IN ULONG bits, ! IN ULONG mask, PLIST_ENTRY pQueueToComplete) { *************** *** 636,646 **** modemStatusOld = pIoPort->modemStatus; ! if (bits & C0C_MSB_DSR) ! bits |= C0C_MSB_RLSD; /* CD = DSR */ ! if (set) ! pIoPort->modemStatus |= bits; else ! pIoPort->modemStatus &= ~bits; modemStatusChanged = modemStatusOld ^ pIoPort->modemStatus; --- 639,650 ---- modemStatusOld = pIoPort->modemStatus; ! pIoPort->modemStatus |= bits & mask; ! pIoPort->modemStatus &= ~(~bits & mask); ! /* CD = DSR */ ! if (pIoPort->modemStatus & C0C_MSB_DSR) ! pIoPort->modemStatus |= C0C_MSB_RLSD; else ! pIoPort->modemStatus &= ~C0C_MSB_RLSD; modemStatusChanged = modemStatusOld ^ pIoPort->modemStatus; *************** *** 707,710 **** if (bits) ! SetModemStatus(pDevExt->pIoPortRemote, bits, TRUE, pQueueToComplete); } --- 711,714 ---- if (bits) ! SetModemStatus(pDevExt->pIoPortRemote, bits, bits, pQueueToComplete); } Index: openclos.c =================================================================== RCS file: /cvsroot/com0com/com0com/openclos.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** openclos.c 28 Nov 2005 12:57:16 -0000 1.7 --- openclos.c 29 Nov 2005 12:33:21 -0000 1.8 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.8 2005/11/29 12:33:21 vfrolov + * Changed SetModemStatus() to ability set and clear bits simultaneously + * * Revision 1.7 2005/11/28 12:57:16 vfrolov * Moved some C0C_BUFFER code to bufutils.c *************** *** 115,119 **** KeAcquireSpinLock(pDevExt->pIoLock, &oldIrql); ! SetModemStatus(pDevExt->pIoPortRemote, C0C_MSB_CTS | C0C_MSB_DSR, FALSE, &queueToComplete); FreeBuffer(&pDevExt->pIoPortLocal->readBuf); --- 118,122 ---- KeAcquireSpinLock(pDevExt->pIoLock, &oldIrql); ! SetModemStatus(pDevExt->pIoPortRemote, 0, C0C_MSB_CTS | C0C_MSB_DSR, &queueToComplete); FreeBuffer(&pDevExt->pIoPortLocal->readBuf); Index: ioctl.c =================================================================== RCS file: /cvsroot/com0com/com0com/ioctl.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** ioctl.c 28 Nov 2005 12:57:16 -0000 1.9 --- ioctl.c 29 Nov 2005 12:33:21 -0000 1.10 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.10 2005/11/29 12:33:21 vfrolov + * Changed SetModemStatus() to ability set and clear bits simultaneously + * * Revision 1.9 2005/11/28 12:57:16 vfrolov * Moved some C0C_BUFFER code to bufutils.c *************** *** 89,94 **** SetModemStatus( pDevExt->pIoPortRemote, C0C_MSB_CTS, - (BOOLEAN)(code == IOCTL_SERIAL_SET_RTS), &queueToComplete); --- 92,97 ---- SetModemStatus( pDevExt->pIoPortRemote, + code == IOCTL_SERIAL_SET_RTS ? C0C_MSB_CTS : 0, C0C_MSB_CTS, &queueToComplete); *************** *** 113,118 **** SetModemStatus( pDevExt->pIoPortRemote, C0C_MSB_DSR, - (BOOLEAN)(code == IOCTL_SERIAL_SET_DTR), &queueToComplete); --- 116,121 ---- SetModemStatus( pDevExt->pIoPortRemote, + code == IOCTL_SERIAL_SET_DTR ? C0C_MSB_DSR : 0, C0C_MSB_DSR, &queueToComplete); Index: com0com.h =================================================================== RCS file: /cvsroot/com0com/com0com/com0com.h,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** com0com.h 29 Nov 2005 08:35:14 -0000 1.16 --- com0com.h 29 Nov 2005 12:33:21 -0000 1.17 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.17 2005/11/29 12:33:21 vfrolov + * Changed SetModemStatus() to ability set and clear bits simultaneously + * * Revision 1.16 2005/11/29 08:35:14 vfrolov * Implemented SERIAL_EV_RX80FULL *************** *** 329,333 **** IN PC0C_IO_PORT pIoPort, IN ULONG bits, ! IN BOOLEAN set, PLIST_ENTRY pQueueToComplete); --- 332,336 ---- IN PC0C_IO_PORT pIoPort, IN ULONG bits, ! IN ULONG mask, PLIST_ENTRY pQueueToComplete); |