Changeset 18054
- Timestamp:
- Nov 30, 2001, 2:52:32 PM (23 years ago)
- Location:
- tags/trunk/src/kernel32
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified tags/trunk/src/kernel32/hmcomm.cpp ¶
r18046 r18054 1 /* $Id: hmcomm.cpp,v 1.2 1 2001-11-29 13:38:50sandervl Exp $ */1 /* $Id: hmcomm.cpp,v 1.22 2001-11-30 13:52:32 sandervl Exp $ */ 2 2 3 3 /* … … 318 318 if(lpNumberOfBytesWritten) { 319 319 *lpNumberOfBytesWritten = (ret) ? ulBytesWritten : 0; 320 dprintf2(("KERNEL32:HMDeviceCommClass::WriteFile %d byte s written", ulBytesWritten));320 dprintf2(("KERNEL32:HMDeviceCommClass::WriteFile %d byte(s) written", *lpNumberOfBytesWritten)); 321 321 } 322 322 if(ret == FALSE) { … … 412 412 } 413 413 414 RXQUEUE qInfo; 415 ULONG ulLen = sizeof(qInfo); 416 ULONG rc = OSLibDosDevIOCtl( pHMHandleData->hHMHandle, 417 IOCTL_ASYNC, 418 ASYNC_GETINQUECOUNT, 419 0,0,0, 420 &qInfo,ulLen,&ulLen); 421 dprintf(("ASYNC_GETINQUECOUNT -> qInfo.cch %d (queue size %d) rc %d", qInfo.cch, qInfo.cb, rc)); 422 414 423 ret = OSLibDosRead(pHMHandleData->hHMHandle, (LPVOID)lpBuffer, nNumberOfBytesToRead, 415 424 &ulBytesRead); … … 417 426 if(lpNumberOfBytesRead) { 418 427 *lpNumberOfBytesRead = (ret) ? ulBytesRead : 0; 419 dprintf2(("KERNEL32:HMDeviceCommClass::ReadFile %d bytes read", ulBytesRead));428 dprintf2(("KERNEL32:HMDeviceCommClass::ReadFile %d bytes read", *lpNumberOfBytesRead)); 420 429 } 421 430 if(ret == FALSE) { … … 617 626 DosSleep(TIMEOUT_COMM); 618 627 } 628 if(pDevData->fClosing) { 629 dprintf(("Cleaning up async comm thread")); 630 SetEvent(hEvent); //signal to CloseHandle that we're done 631 return 0; 632 } 633 else 634 if(pDevData->fCancelIo) { 635 pDevData->overlapped.Internal = 0; 636 pDevData->dwLastError = ERROR_OPERATION_ABORTED; 637 if(pDevData->lpfdwEvtMask) *pDevData->lpfdwEvtMask = 0; 638 dprintf(("Overlapped: WaitCommEvent ERROR_OPERATION_ABORTED")); 639 640 //signal to app that a comm event has occurred 641 SetEvent(hOverlappedEvent); 642 } 643 else 619 644 if((dwEvent & dwMask) && (dwMask == pDevData->dwEventMask)) { 620 645 pDevData->overlapped.Internal |= (rc==0) ? (dwEvent & dwMask) : 0; … … 876 901 DWORD fdwAction) 877 902 { 878 dprintf(("HMDeviceCommClass::PurgeComm (flags 0x%x) unimplemented stub!",fdwAction)); 903 ULONG ulParLen, ulDataLen, rc = ERROR_SUCCESS; 904 BYTE par = 0; 905 WORD data = 0; 906 907 dprintf(("HMDeviceCommClass::PurgeComm (flags 0x%x) partly implemented",fdwAction)); 879 908 // ToDo: find a way to stop the current transmision didn't find 880 909 // any clue how to in Control Program Guide and reference 881 910 882 return(TRUE); 911 ulParLen = sizeof(par); 912 ulDataLen = sizeof(data); 913 if(fdwAction & PURGE_TXCLEAR) { 914 rc = OSLibDosDevIOCtl( pHMHandleData->hHMHandle, 915 IOCTL_GENERAL, 916 DEV_FLUSHOUTPUT, 917 &par,ulParLen,&ulParLen, 918 &data,ulDataLen,&ulDataLen); 919 } 920 if(fdwAction & PURGE_RXCLEAR) { 921 rc = OSLibDosDevIOCtl( pHMHandleData->hHMHandle, 922 IOCTL_GENERAL, 923 DEV_FLUSHINPUT, 924 &par,ulParLen,&ulParLen, 925 &data,ulDataLen,&ulDataLen); 926 } 927 if(rc) { 928 dprintf(("!WARNING! OSLibDosDevIOCtl failed with rc %d", rc)); 929 } 930 return (rc == ERROR_SUCCESS); 883 931 } 884 932 //****************************************************************************** -
TabularUnified tags/trunk/src/kernel32/hmcomm.h ¶
r18028 r18054 1 /* $Id: hmcomm.h,v 1.1 0 2001-11-28 15:35:15sandervl Exp $ */1 /* $Id: hmcomm.h,v 1.11 2001-11-30 13:52:32 sandervl Exp $ */ 2 2 3 3 /* … … 40 40 #define ASYNC_STOPTRANSMIT 0x47 41 41 #define ASYNC_GETMODEMOUTPUT 0x66 42 43 #define IOCTL_GENERAL 0x0B 44 #define DEV_FLUSHINPUT 0x01 45 #define DEV_FLUSHOUTPUT 0x02 42 46 43 47
Note:
See TracChangeset
for help on using the changeset viewer.