[Com0com-cvs] com0com ioctl.c,1.21,1.22 trace.c,1.18,1.19 trace.h,1.8,1.9 tracetbl.c,1.6,1.7
The virtual serial port driver for Windows.
Brought to you by:
vfrolov
From: Vyacheslav F. <vf...@us...> - 2006-05-19 15:02:34
|
Update of /cvsroot/com0com/com0com In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24665 Modified Files: ioctl.c trace.c trace.h tracetbl.c Log Message: Implemented IOCTL_SERIAL_GET_MODEM_CONTROL Index: trace.c =================================================================== RCS file: /cvsroot/com0com/com0com/trace.c,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** trace.c 10 Jan 2006 09:44:04 -0000 1.18 --- trace.c 19 May 2006 15:02:03 -0000 1.19 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.19 2006/05/19 15:02:03 vfrolov + * Implemented IOCTL_SERIAL_GET_MODEM_CONTROL + * * Revision 1.18 2006/01/10 09:44:04 vfrolov * Added ability to enable/disable dump *************** *** 1295,1303 **** } break; case IOCTL_SERIAL_GET_DTRRTS: if ((flags & TRACE_FLAG_RESULTS) && inform >= sizeof(ULONG)) { pDestStr = AnsiStrCopyStr(pDestStr, &size, " "); pDestStr = AnsiStrCopyMask(pDestStr, &size, ! codeNameTableDTRRTS, *((PULONG)pSysBuf)); } break; --- 1298,1307 ---- } break; + case IOCTL_SERIAL_GET_MODEM_CONTROL: case IOCTL_SERIAL_GET_DTRRTS: if ((flags & TRACE_FLAG_RESULTS) && inform >= sizeof(ULONG)) { pDestStr = AnsiStrCopyStr(pDestStr, &size, " "); pDestStr = AnsiStrCopyMask(pDestStr, &size, ! codeNameTableModemControl, *((PULONG)pSysBuf)); } break; Index: trace.h =================================================================== RCS file: /cvsroot/com0com/com0com/trace.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** trace.h 10 Jan 2006 09:32:20 -0000 1.8 --- trace.h 19 May 2006 15:02:03 -0000 1.9 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.9 2006/05/19 15:02:03 vfrolov + * Implemented IOCTL_SERIAL_GET_MODEM_CONTROL + * * Revision 1.8 2006/01/10 09:32:20 vfrolov * Added codeNameTableHoldReasons[] *************** *** 118,122 **** CODE2NAME codeNameTableDoType[]; CODE2NAME codeNameTableModemStatus[]; ! CODE2NAME codeNameTableDTRRTS[]; CODE2NAME codeNameTableStatus[]; CODE2NAME codeNameTableIrpMj[]; --- 121,125 ---- CODE2NAME codeNameTableDoType[]; CODE2NAME codeNameTableModemStatus[]; ! CODE2NAME codeNameTableModemControl[]; CODE2NAME codeNameTableStatus[]; CODE2NAME codeNameTableIrpMj[]; Index: tracetbl.c =================================================================== RCS file: /cvsroot/com0com/com0com/tracetbl.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** tracetbl.c 10 Jan 2006 09:32:20 -0000 1.6 --- tracetbl.c 19 May 2006 15:02:03 -0000 1.7 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.7 2006/05/19 15:02:03 vfrolov + * Implemented IOCTL_SERIAL_GET_MODEM_CONTROL + * * Revision 1.6 2006/01/10 09:32:20 vfrolov * Added codeNameTableHoldReasons[] *************** *** 180,186 **** }; ! CODE2NAME codeNameTableDTRRTS[] = { {SERIAL_DTR_STATE, "DTR"}, {SERIAL_RTS_STATE, "RTS"}, {0, NULL} }; --- 183,192 ---- }; ! CODE2NAME codeNameTableModemControl[] = { {SERIAL_DTR_STATE, "DTR"}, {SERIAL_RTS_STATE, "RTS"}, + {0x04, "OUT1"}, + {0x08, "OUT2"}, + {0x10, "LOOP"}, {0, NULL} }; Index: ioctl.c =================================================================== RCS file: /cvsroot/com0com/com0com/ioctl.c,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ioctl.c 18 May 2006 09:38:10 -0000 1.21 --- ioctl.c 19 May 2006 15:02:03 -0000 1.22 *************** *** 20,23 **** --- 20,26 ---- * * $Log$ + * Revision 1.22 2006/05/19 15:02:03 vfrolov + * Implemented IOCTL_SERIAL_GET_MODEM_CONTROL + * * Revision 1.21 2006/05/18 09:38:10 vfrolov * Implemented SERIAL_TX_WAITING_XOFF_SENT *************** *** 177,180 **** --- 180,184 ---- } break; + case IOCTL_SERIAL_GET_MODEM_CONTROL: case IOCTL_SERIAL_GET_DTRRTS: { ULONG modemStatusRemote; *************** *** 193,196 **** --- 197,203 ---- ((modemStatusRemote & C0C_MSB_CTS) ? SERIAL_RTS_STATE : 0); + if (code == IOCTL_SERIAL_GET_MODEM_CONTROL) + *(PULONG)pIrp->AssociatedIrp.SystemBuffer |= 0x8; + pIrp->IoStatus.Information = sizeof(ULONG); |