Changeset 10185 for trunk/src/kernel32/hmcomm.cpp
- Timestamp:
- Jul 28, 2003, 1:35:32 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/hmcomm.cpp
r10109 r10185 1 /* $Id: hmcomm.cpp,v 1. 39 2003-05-23 13:53:43sandervl Exp $ */1 /* $Id: hmcomm.cpp,v 1.40 2003-07-28 11:35:31 sandervl Exp $ */ 2 2 3 3 /* … … 16 16 #include <os2win.h> 17 17 #include <string.h> 18 #include <stdio.h> 18 19 #include <handlemanager.h> 19 20 #include "handlenames.h" … … 64 65 static char *DebugCommEvent(DWORD dwEvents); 65 66 static char *DebugModemStatus(DWORD dwModemStatus); 67 #ifdef DEBUG_COMOUTPUT 68 static FILE *comlog = NULL; 69 #endif 66 70 #endif 67 71 //****************************************************************************** … … 117 121 HandleNamesAddSymbolicLink("AUX:", "COM1"); 118 122 HandleNamesAddSymbolicLink("\\\\.\\AUX", "COM1"); 123 #ifdef DEBUG_COMOUTPUT 124 comlog = fopen("comlog", "w"); 125 #endif 119 126 } 120 127 … … 229 236 return rc; 230 237 } 238 231 239 rc = SetBaud(pHMHandleData,9600); 232 240 dprintf(("Init Baud to 9600 rc = %d",rc)); … … 328 336 329 337 *lpdwResult = (ret) ? ulBytesRead : 0; 330 dprintf 2(("KERNEL32: CommReadIOHandler %d bytes read", *lpdwResult));338 dprintf(("KERNEL32: CommReadIOHandler %d bytes read", *lpdwResult)); 331 339 332 340 if(ret == FALSE) { … … 335 343 else { 336 344 #ifdef DEBUG 345 if(ulBytesRead < qInfo.cch) { 346 dprintf(("WARNING: Not all data removed from queue!!")); 347 } 337 348 dprintf2(("%d Bytes read:", ulBytesRead)); 338 349 for(int i=0;i<min(ulBytesRead, 16);i++) { … … 372 383 dprintf2(("KERNEL32:CommWriteIOHandler %d byte(s) written", *lpdwResult)); 373 384 385 if(ulBytesWritten != lpRequest->nNumberOfBytes) { 386 dprintf(("WARNING: ulBytesWritten (%d) != lpRequest->nNumberOfBytes (%d)", ulBytesWritten, lpRequest->nNumberOfBytes)); 387 } 374 388 if(ret == FALSE) { 375 389 dprintf(("!ERROR!: CommWriteIOHandler failed with rc %d", GetLastError())); … … 432 446 dwEvent |= (COMEvt&0x0100)? EV_RING:0; 433 447 448 #ifdef DEBUG 449 if(dwEvent & EV_ERR) { 450 ULONG COMErr = 0; 451 452 rc = OSLibDosDevIOCtl( pHMHandleData->hHMHandle, 453 IOCTL_ASYNC, 454 ASYNC_GETCOMMERROR, 455 0,0,0, 456 &COMErr,2,&ulLen); 457 458 dprintf(("!!!!!!!----> ERROR OCCURRED (EV_ERR) reason %x <-----!!!!!", COMErr)); 459 460 } 461 #endif 434 462 if((dwEvent & EV_RXCHAR) && (dwMask & EV_RXCHAR)) 435 463 { … … 509 537 } 510 538 539 #ifdef DEBUG 540 dprintf2(("WriteFile: bytes to write:")); 541 for(int i=0;i<min(nNumberOfBytesToWrite, 16);i++) { 542 dprintf2(("%x %c", ((char *)lpBuffer)[i], ((char *)lpBuffer)[i])); 543 } 544 #endif 545 511 546 if(pHMHandleData->dwFlags & FILE_FLAG_OVERLAPPED) { 512 547 return pDevData->iohandler->WriteFile(pHMHandleData->hWin32Handle, lpBuffer, nNumberOfBytesToWrite, … … 517 552 &ulBytesWritten); 518 553 519 if(lpNumberOfBytesWritten) { 554 if(lpNumberOfBytesWritten) { 520 555 *lpNumberOfBytesWritten = (ret) ? ulBytesWritten : 0; 521 556 dprintf2(("KERNEL32:HMDeviceCommClass::WriteFile %d byte(s) written", *lpNumberOfBytesWritten)); … … 593 628 *lpNumberOfBytesRead = (ret) ? ulBytesRead : 0; 594 629 dprintf2(("KERNEL32:HMDeviceCommClass::ReadFile %d bytes read", *lpNumberOfBytesRead)); 630 if(qInfo.cch > ulBytesRead) { 631 dprintf(("Warning: more bytes available!!")); 632 } 595 633 } 596 634 if(ret == FALSE) { … … 599 637 #ifdef DEBUG 600 638 else { 639 int i; 601 640 dprintf2(("%d Bytes read:", ulBytesRead)); 602 for(int i=0;i<min(ulBytesRead, 16);i++) { 641 #ifdef DEBUG_COMOUTPUT 642 char *tmp = (char *)malloc(ulBytesRead+1); 643 memcpy(tmp, lpBuffer, ulBytesRead); 644 tmp[ulBytesRead] = 0; 645 dprintf2(("RF: %s", tmp)); 646 WORD sel = RestoreOS2FS(); 647 for(i=0;i<ulBytesRead;i++) { 648 fprintf(comlog, "%c", tmp[i]); 649 } 650 SetFS(sel); 651 free(tmp); 652 #endif 653 for(i=0;i<ulBytesRead;i++) { 603 654 dprintf2(("%x %c", ((char *)lpBuffer)[i], ((char *)lpBuffer)[i])); 604 655 } … … 893 944 if(lpdwErrors == NULL) 894 945 lpdwErrors = &dwError; 895 946 896 947 dprintf(("HMDeviceCommClass::ClearCommError")); 897 948 ulLen = sizeof(USHORT); … … 908 959 *lpdwErrors |= (COMErr & 0x0008)?CE_FRAME:0; 909 960 961 dprintf(("Error %x", *lpdwErrors)); 910 962 if(lpcst) 911 963 { … … 1530 1582 pCurDCB->XoffChar = XoffChar; 1531 1583 pCurDCB->ErrorChar = ErrorChar; 1584 1585 dprintf(("OS/2 DCB:\n" 1586 " WriteTimeout : %d\n" 1587 " ReadTimeout : %d\n" 1588 " CtlHandshake : 0x%x\n" 1589 " FlowReplace : 0x%x\n" 1590 " Timeout : 0x%x\n" 1591 " Error replacement Char : 0x%x\n" 1592 " Break replacement Char : 0x%x\n" 1593 " XON Char : 0x%x\n" 1594 " XOFF Char : 0x%x\n", 1595 os2dcb.usWriteTimeout, 1596 os2dcb.usReadTimeout, 1597 os2dcb.fbCtlHndShake, 1598 os2dcb.fbFlowReplace, 1599 os2dcb.fbTimeOut, 1600 os2dcb.bErrorReplacementChar, 1601 os2dcb.bBreakReplacementChar, 1602 os2dcb.bXONChar, 1603 os2dcb.bXOFFChar)); 1604 1532 1605 } 1533 1606
Note:
See TracChangeset
for help on using the changeset viewer.