Changeset 10185 for trunk/src/kernel32
- Timestamp:
- Jul 28, 2003, 1:35:32 PM (22 years ago)
- Location:
- trunk/src/kernel32
- Files:
-
- 4 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 -
trunk/src/kernel32/kernelrsrc.orc
r7832 r10185 1 /* $Id: kernelrsrc.orc,v 1. 3 2002-02-07 16:34:52sandervl Exp $ */1 /* $Id: kernelrsrc.orc,v 1.4 2003-07-28 11:35:31 sandervl Exp $ */ 2 2 3 3 #include "winuser.h" … … 42 42 43 43 #include "nls\locale_rc.rc" 44 #include "messages\winerr_enu.mc.rc" -
trunk/src/kernel32/message.cpp
r4502 r10185 1 /* $Id: message.cpp,v 1.1 3 2000-10-20 11:46:47sandervl Exp $ */1 /* $Id: message.cpp,v 1.14 2003-07-28 11:35:31 sandervl Exp $ */ 2 2 3 3 /* … … 60 60 DWORD offset; 61 61 } *se; 62 struct _stringentry { 63 WORD len; 64 WORD unknown; 65 CHAR str[1]; 66 } *stre; 62 MESSAGE_RESOURCE_ENTRY *stre; 67 63 68 64 /*FIXME: I am not sure about the '1' ... But I've only seen those entries*/ … … 78 74 for (i=nrofentries;i--;) { 79 75 if ((id>=se->firstentry) && (id<=se->lastentry)) { 80 stre = ( struct _stringentry*)(p+se->offset);76 stre = (PMESSAGE_RESOURCE_ENTRY)(p+se->offset); 81 77 id -= se->firstentry; 82 78 break; … … 87 83 return 0; 88 84 for (i=id;i--;) { 89 if (!(slen=stre-> len))85 if (!(slen=stre->Length)) 90 86 return 0; 91 stre = ( struct _stringentry*)(((char*)stre)+slen);87 stre = (PMESSAGE_RESOURCE_ENTRY)(((char*)stre)+slen); 92 88 } 93 slen=stre-> len;89 slen=stre->Length; 94 90 95 91 i = min(buflen - 1, slen); … … 97 93 return slen; /* different to LoadString */ 98 94 if (i>0) { 99 strncpy(buffer,stre->str,i); 100 buffer[i]=0; 95 if (stre->Flags & MESSAGE_RESOURCE_UNICODE) 96 WideCharToMultiByte( CP_ACP, 0, (LPWSTR)stre->Text, -1, buffer, i, NULL, NULL ); 97 else 98 lstrcpynA(buffer, (LPSTR)stre->Text, i); 99 buffer[i]=0; 101 100 } else { 102 101 if (buflen>1) { … … 166 165 if (dwFlags & FORMAT_MESSAGE_FROM_SYSTEM) 167 166 { 168 from = (char*)HeapAlloc( GetProcessHeap(),0,200 ); 169 sprintf(from,"Systemmessage, messageid = 0x%08lx\n",dwMessageId); 167 INT bufsize; 168 HMODULE hmodule; 169 170 hmodule = GetModuleHandleA("kernel32"); 171 bufsize=LoadMessageA(hmodule,dwMessageId,dwLanguageId,NULL,100); 172 if (bufsize) 173 { 174 from = (char*)HeapAlloc( GetProcessHeap(), 0, bufsize + 1 ); 175 LoadMessageA(hmodule,dwMessageId,dwLanguageId,from,bufsize+1); 176 } 170 177 } 171 178 … … 415 422 if (dwFlags & FORMAT_MESSAGE_FROM_SYSTEM) 416 423 { 417 /* gather information from system message tables ... */ 418 from = (char*)HeapAlloc( GetProcessHeap(),0,200 ); 419 sprintf(from,"Systemmessage, messageid = 0x%08lx\n",dwMessageId); 424 INT bufsize; 425 HMODULE hmodule; 426 427 hmodule = GetModuleHandleA("kernel32"); 428 bufsize=LoadMessageA(hmodule,dwMessageId,dwLanguageId,NULL,100); 429 if (bufsize) 430 { 431 from = (char*)HeapAlloc( GetProcessHeap(), 0, bufsize + 1 ); 432 LoadMessageA(hmodule,dwMessageId,dwLanguageId,from,bufsize+1); 433 } 420 434 } 421 435 -
trunk/src/kernel32/overlappedio.cpp
r9340 r10185 1 /* $Id: overlappedio.cpp,v 1.2 0 2002-10-10 16:28:40sandervl Exp $ */1 /* $Id: overlappedio.cpp,v 1.21 2003-07-28 11:35:32 sandervl Exp $ */ 2 2 3 3 /* … … 87 87 threadparam->lpOverlappedObj = this; 88 88 hThreadWrite = ::CreateThread(NULL, 32*1024, OverlappedIOThread, (LPVOID)threadparam, 0, &dwThreadId); 89 SetThreadPriority(hThreadWrite, THREAD_PRIORITY_TIME_CRITICAL); 89 90 if(hThreadWrite) {//thread uses this object; keep reference count to avoid premature destruction 90 91 AddRef();
Note:
See TracChangeset
for help on using the changeset viewer.