Author: ion
Date: Thu Jul 21 05:26:12 2011
New Revision: 52755
URL:
http://svn.reactos.org/svn/reactos?rev=52755&view=rev
Log:
[KERNEL32]: Now really kill combdcb.c, as the Wine implementation is now in comm.c
Removed:
trunk/reactos/dll/win32/kernel32/client/misc/commdcb.c
Modified:
trunk/reactos/dll/win32/kernel32/CMakeLists.txt
trunk/reactos/dll/win32/kernel32/kernel32.rbuild
Modified: trunk/reactos/dll/win32/kernel32/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/CMakeLi…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/CMakeLists.txt [iso-8859-1] Thu Jul 21 05:26:12 2011
@@ -62,7 +62,6 @@
client/file/volume.c
client/misc/actctx.c
client/misc/comm.c
- client/misc/commdcb.c
client/misc/lzexpand.c
client/misc/muldiv.c
client/misc/profile.c
Removed: trunk/reactos/dll/win32/kernel32/client/misc/commdcb.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/client/misc/commdcb.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/client/misc/commdcb.c (removed)
@@ -1,674 +1,0 @@
-/*
- Copyright (c) 2008 KJK::Hyperion
-
- Permission is hereby granted, free of charge, to any person obtaining a
- copy of this software and associated documentation files (the "Software"),
- to deal in the Software without restriction, including without limitation
- the rights to use, copy, modify, merge, publish, distribute, sublicense,
- and/or sell copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-*/
-
-/* Parses a mode string for a serial port, in the same syntax as the
mode.com command */
-#if 0
-#if defined(__REACTOS__) && defined(_KERNEL32_)
-#include <k32.h>
-
-#define DCB_BuildCommDCBA BuildCommDCBA
-#define DCB_BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeoutsA
-#define DCB_BuildCommDCBW BuildCommDCBW
-#define DCB_BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeoutsW
-#else
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-
-static
-void DCB_SkipSpace(const char ** ppTail)
-{
- while(**ppTail && isspace(**ppTail))
- ++ *ppTail;
-}
-
-static
-size_t DCB_SkipNonSpace(const char ** ppTail)
-{
- const char * pOriginal = *ppTail;
-
- while(**ppTail && !isspace(**ppTail))
- ++ *ppTail;
-
- return *ppTail - pOriginal;
-}
-
-static
-BOOL DCB_SetBaudRate(unsigned long baudRate, LPDCB lpDCB)
-{
- switch(baudRate)
- {
- case 11: lpDCB->BaudRate = 110; break;
- case 15: lpDCB->BaudRate = 150; break;
- case 30: lpDCB->BaudRate = 300; break;
- case 60: lpDCB->BaudRate = 600; break;
- case 12: lpDCB->BaudRate = 1200; break;
- case 24: lpDCB->BaudRate = 2400; break;
- case 48: lpDCB->BaudRate = 4800; break;
- case 96: lpDCB->BaudRate = 9600; break;
- case 19: lpDCB->BaudRate = 19200; break;
- default: lpDCB->BaudRate = baudRate; break;
- }
-
- return TRUE;
-}
-
-static
-BYTE DCB_SetParity(char parity, LPDCB lpDCB)
-{
- switch(parity)
- {
- case 'N':
- case 'n':
- lpDCB->Parity = 0;
- break;
-
- case 'O':
- case 'o':
- lpDCB->Parity = 1;
- break;
-
- case 'E':
- case 'e':
- lpDCB->Parity = 2;
- break;
-
- case 'M':
- case 'm':
- lpDCB->Parity = 3;
- break;
-
- case 'S':
- case 's':
- lpDCB->Parity = 4;
- break;
-
- default:
- return FALSE;
- }
-
- return TRUE;
-}
-
-static
-BYTE DCB_SetDataBits(unsigned long dataBits, LPDCB lpDCB)
-{
- BOOL bRet;
-
- bRet = dataBits >= 5 && dataBits <= 8;
-
- if(!bRet)
- return bRet;
-
- lpDCB->ByteSize = (BYTE)dataBits;
- return bRet;
-}
-
-static
-BOOL DCB_ParseOldSeparator(const char ** ppTail)
-{
- BOOL bRet;
-
- bRet = **ppTail == 0;
-
- if(bRet)
- return bRet;
-
- bRet = **ppTail == ',';
-
- if(bRet)
- {
- ++ *ppTail;
- return bRet;
- }
-
- return bRet;
-}
-
-static
-unsigned long DCB_ParseOldNumber(const char ** ppTail, unsigned long nDefault)
-{
- char * pNumTail;
- unsigned long number;
-
- DCB_SkipSpace(ppTail);
-
- if(!isdigit(**ppTail))
- return nDefault;
-
- number = strtoul(*ppTail, &pNumTail, 10);
- *ppTail = pNumTail;
-
- DCB_SkipSpace(ppTail);
- return number;
-}
-
-static
-char DCB_ParseOldCharacter(const char ** ppTail, char cDefault)
-{
- char character;
-
- DCB_SkipSpace(ppTail);
-
- if(**ppTail == 0 || **ppTail == ',')
- return cDefault;
-
- character = **ppTail;
- ++ *ppTail;
-
- DCB_SkipSpace(ppTail);
- return character;
-}
-
-static
-const char * DCB_ParseOldString(const char ** ppTail, const char * pDefault, size_t *
pLength)
-{
- const char * string;
-
- DCB_SkipSpace(ppTail);
-
- if(**ppTail == 0 || **ppTail == ',')
- return pDefault;
-
- string = *ppTail;
-
- *pLength = 0;
-
- while(**ppTail != 0 && **ppTail != ',' && !isspace(**ppTail))
- {
- ++ *ppTail;
- ++ *pLength;
- }
-
- DCB_SkipSpace(ppTail);
- return string;
-}
-
-static
-BOOL
-DCB_ParseOldMode(const char * pTail, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts)
-{
- BOOL bRet;
-
- unsigned long baudRate;
- char parity;
- unsigned long dataBits;
- size_t stopBitsLength;
- const char * stopBits;
- char retry;
-
- /* Baud rate */
- baudRate = DCB_ParseOldNumber(&pTail, 0);
- bRet = DCB_ParseOldSeparator(&pTail);
- bRet = bRet && DCB_SetBaudRate(baudRate, lpDCB);
-
- if(!bRet)
- return bRet;
-
- /* Parity */
- parity = DCB_ParseOldCharacter(&pTail, 'E');
- bRet = DCB_ParseOldSeparator(&pTail);
- bRet = bRet && DCB_SetParity(parity, lpDCB);
-
- if(!bRet)
- return bRet;
-
- /* Data bits */
- dataBits = DCB_ParseOldNumber(&pTail, 7);
- bRet = DCB_ParseOldSeparator(&pTail);
- bRet = bRet && DCB_SetDataBits(dataBits, lpDCB);
-
- if(!bRet)
- return bRet;
-
- /* Stop bits */
- stopBitsLength = 1;
- stopBits = DCB_ParseOldString(&pTail, baudRate == 110 ? "2" :
"1", &stopBitsLength);
- bRet = DCB_ParseOldSeparator(&pTail);
-
- if(!bRet)
- return bRet;
-
- if(strncmp(stopBits, "1", stopBitsLength) == 0)
- lpDCB->StopBits = 0;
- else if(strncmp(stopBits, "1.5", stopBitsLength) == 0)
- lpDCB->StopBits = 1;
- else if(strncmp(stopBits, "2", stopBitsLength) == 0)
- lpDCB->StopBits = 2;
- else
- return FALSE;
-
- /* Retry */
- retry = DCB_ParseOldCharacter(&pTail, 0);
- bRet = *pTail == 0;
-
- if(!bRet)
- return bRet;
-
- switch(retry)
- {
- case 0:
- lpDCB->fInX = FALSE;
- lpDCB->fOutX = FALSE;
- lpDCB->fOutxCtsFlow = FALSE;
- lpDCB->fOutxDsrFlow = FALSE;
- lpDCB->fDtrControl = DTR_CONTROL_ENABLE;
- lpDCB->fRtsControl = RTS_CONTROL_ENABLE;
- break;
-
- case 'p':
- case 'P':
- lpDCB->fInX = FALSE;
- lpDCB->fOutX = FALSE;
- lpDCB->fOutxCtsFlow = TRUE;
- lpDCB->fOutxDsrFlow = TRUE;
- lpDCB->fDtrControl = DTR_CONTROL_HANDSHAKE;
- lpDCB->fRtsControl = RTS_CONTROL_HANDSHAKE;
- break;
-
- case 'x':
- case 'X':
- lpDCB->fInX = TRUE;
- lpDCB->fOutX = TRUE;
- lpDCB->fOutxCtsFlow = FALSE;
- lpDCB->fOutxDsrFlow = FALSE;
- lpDCB->fDtrControl = DTR_CONTROL_ENABLE;
- lpDCB->fRtsControl = RTS_CONTROL_ENABLE;
- break;
-
- default:
- return FALSE;
- }
-
- return bRet;
-}
-
-static
-BOOL DCB_ParseNewNumber(const char * pString, size_t cchString, unsigned long * pNumber)
-{
- BOOL bRet;
- char * pStringEnd;
- unsigned long number;
-
- bRet = cchString > 0;
-
- if(!bRet)
- return bRet;
-
- number = strtoul(pString, &pStringEnd, 10);
-
- bRet = pStringEnd - pString == cchString;
-
- if(!bRet)
- return bRet;
-
- *pNumber = number;
- return bRet;
-}
-
-static
-BOOL DCB_ParseNewBoolean(const char * pString, size_t cchString, BOOL * pBoolean)
-{
- BOOL bRet;
-
- bRet = _strnicmp(pString, "on", cchString) == 0;
-
- if(bRet)
- {
- *pBoolean = bRet;
- return bRet;
- }
-
- bRet = _strnicmp(pString, "off", cchString) == 0;
-
- if(bRet)
- {
- *pBoolean = !bRet;
- return bRet;
- }
-
- return bRet;
-}
-
-static
-BOOL
-DCB_ParseNewMode(const char * pTail, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts)
-{
- BOOL bRet;
- BOOL stopBitsSet = FALSE;
-
- lpDCB->StopBits = 0;
-
- while(*pTail)
- {
- const char * pArg;
- size_t cchArg;
- size_t cchArgName;
- size_t cchArgValue;
- const char * pArgName;
- const char * pArgValue;
- unsigned long nArgValue;
- BOOL fArgValue;
-
- pArg = pTail;
- cchArg = DCB_SkipNonSpace(&pTail);
- DCB_SkipSpace(&pTail);
-
- for(cchArgName = 0; cchArgName < cchArg; ++ cchArgName)
- {
- if(pArg[cchArgName] == '=')
- break;
- }
-
- bRet = cchArgName < cchArg;
-
- if(!bRet)
- return bRet;
-
- cchArgValue = cchArg - cchArgName - 1;
- pArgName = pArg;
- pArgValue = pArg + cchArgName + 1;
-
- if(_strnicmp(pArgName, "baud", cchArgName) == 0)
- {
- bRet = DCB_ParseNewNumber(pArgValue, cchArgValue, &nArgValue);
- bRet = bRet && DCB_SetBaudRate(nArgValue, lpDCB);
-
- if(bRet)
- {
- if(lpDCB->BaudRate == 110 && !stopBitsSet)
- lpDCB->StopBits = 2;
- else
- lpDCB->StopBits = 0;
- }
- }
- else if(_strnicmp(pArgName, "parity", cchArgName) == 0)
- {
- bRet = cchArgValue == 1;
- bRet = bRet && DCB_SetParity(pArgValue[0], lpDCB);
- }
- else if(_strnicmp(pArgName, "data", cchArgName) == 0)
- {
- bRet = DCB_ParseNewNumber(pArgValue, cchArgValue, &nArgValue);
- bRet = bRet && DCB_SetDataBits(nArgValue, lpDCB);
- }
- else if(_strnicmp(pArgName, "stop", cchArgName) == 0)
- {
- stopBitsSet = TRUE;
-
- if(strncmp(pArgValue, "1", cchArgValue) == 0)
- lpDCB->StopBits = 0;
- else if(strncmp(pArgValue, "1.5", cchArgValue) == 0)
- lpDCB->StopBits = 1;
- else if(strncmp(pArgValue, "2", cchArgValue) == 0)
- lpDCB->StopBits = 2;
- else
- bRet = FALSE;
- }
- else if(_strnicmp(pArgName, "to", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- {
- if(lpCommTimeouts)
- {
- memset(lpCommTimeouts, 0, sizeof(*lpCommTimeouts));
-
- if(fArgValue)
- lpCommTimeouts->WriteTotalTimeoutConstant = 60000;
- }
- }
- }
- else if(_strnicmp(pArgName, "xon", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- {
- lpDCB->fInX = !!fArgValue;
- lpDCB->fOutX = !!fArgValue;
- }
- }
- else if(_strnicmp(pArgName, "odsr", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- lpDCB->fOutxDsrFlow = !!fArgValue;
- }
- else if(_strnicmp(pArgName, "octs", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- lpDCB->fOutxCtsFlow = !!fArgValue;
- }
- else if(_strnicmp(pArgName, "dtr", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- {
- if(fArgValue)
- lpDCB->fDtrControl = DTR_CONTROL_ENABLE;
- else
- lpDCB->fDtrControl = DTR_CONTROL_DISABLE;
- }
- else
- {
- bRet = _strnicmp(pArgValue, "hs", cchArgValue) == 0;
-
- if(bRet)
- lpDCB->fDtrControl = DTR_CONTROL_HANDSHAKE;
- }
- }
- else if(_strnicmp(pArgName, "rts", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- {
- if(fArgValue)
- lpDCB->fRtsControl = RTS_CONTROL_ENABLE;
- else
- lpDCB->fRtsControl = RTS_CONTROL_DISABLE;
- }
- else
- {
- bRet = _strnicmp(pArgValue, "hs", cchArgValue) == 0;
-
- if(bRet)
- lpDCB->fRtsControl = RTS_CONTROL_HANDSHAKE;
- else
- {
- bRet = _strnicmp(pArgValue, "tg", cchArgValue) == 0;
-
- if(bRet)
- lpDCB->fRtsControl = RTS_CONTROL_TOGGLE;
- }
- }
- }
- else if(_strnicmp(pArgName, "idsr", cchArgName) == 0)
- {
- bRet = DCB_ParseNewBoolean(pArgValue, cchArgValue, &fArgValue);
-
- if(bRet)
- lpDCB->fDsrSensitivity = !!fArgValue;
- }
- else
- bRet = FALSE;
-
- if(!bRet)
- return bRet;
- }
-
- return TRUE;
-}
-
-static
-BOOL
-DCB_ValidPort(unsigned long nPort)
-{
- BOOL bRet;
- DWORD dwErr;
- WCHAR szPort[3 + 10 + 1];
-
- dwErr = GetLastError();
-
- _snwprintf(szPort, sizeof(szPort) / sizeof(szPort[0]), L"COM%lu", nPort);
-
- bRet = QueryDosDeviceW(szPort, NULL, 0) == 0 && GetLastError() ==
ERROR_INSUFFICIENT_BUFFER;
-
- if(!bRet)
- dwErr = ERROR_INVALID_PARAMETER;
-
- SetLastError(dwErr);
- return bRet;
-}
-
-/*
- * @implemented
- */
-BOOL
-WINAPI
-DCB_BuildCommDCBAndTimeoutsA(LPCSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts)
-{
- BOOL bRet;
- LPCSTR pTail = lpDef;
- DCB DCBCopy;
-
- if(_strnicmp(pTail, "COM", 3) == 0)
- {
- char * pNumTail;
- unsigned long nPort;
-
- pTail += 3;
-
- if(!isdigit(*pTail))
- return FALSE;
-
- nPort = strtoul(pTail, &pNumTail, 10);
- pTail = pNumTail;
-
- bRet = DCB_ValidPort(nPort);
-
- if(!bRet)
- return bRet;
-
- DCB_SkipSpace(&pTail);
-
- if(*pTail == ':')
- ++ pTail;
-
- DCB_SkipSpace(&pTail);
- }
-
- DCBCopy = *lpDCB;
-
- if(isdigit(*pTail))
- bRet = DCB_ParseOldMode(pTail, &DCBCopy, lpCommTimeouts);
- else
- bRet = DCB_ParseNewMode(pTail, &DCBCopy, lpCommTimeouts);
-
- if(!bRet)
- SetLastError(ERROR_INVALID_PARAMETER);
- else
- *lpDCB = DCBCopy;
-
- return bRet;
-}
-
-/*
- * @implemented
- */
-BOOL
-WINAPI
-DCB_BuildCommDCBA(LPCSTR lpDef, LPDCB lpDCB)
-{
- return DCB_BuildCommDCBAndTimeoutsA(lpDef, lpDCB, NULL);
-}
-
-/*
- * @implemented
- */
-BOOL
-WINAPI
-DCB_BuildCommDCBAndTimeoutsW(LPCWSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts)
-{
- BOOL bRet;
- HANDLE hHeap;
- BOOL bInvalidChars;
- LPSTR pszAscii;
- int cchAscii;
- DWORD dwErr;
-
- dwErr = ERROR_INVALID_PARAMETER;
- cchAscii = WideCharToMultiByte(CP_ACP, 0, lpDef, -1, NULL, 0, NULL, NULL);
-
- bRet = cchAscii > 0;
-
- if(bRet)
- {
- hHeap = GetProcessHeap();
- pszAscii = HeapAlloc(hHeap, 0, cchAscii);
-
- bRet = pszAscii != NULL;
-
- if(bRet)
- {
- bInvalidChars = FALSE;
- cchAscii = WideCharToMultiByte(CP_ACP, 0, lpDef, -1, pszAscii, cchAscii, NULL,
&bInvalidChars);
-
- bRet = cchAscii > 0 && !bInvalidChars;
-
- if(bRet)
- bRet = DCB_BuildCommDCBAndTimeoutsA(pszAscii, lpDCB, lpCommTimeouts);
-
- HeapFree(hHeap, 0, pszAscii);
- }
- else
- dwErr = ERROR_OUTOFMEMORY;
- }
-
- if(!bRet)
- SetLastError(dwErr);
-
- return bRet;
-}
-
-/*
- * @implemented
- */
-BOOL
-WINAPI
-DCB_BuildCommDCBW(LPCWSTR lpDef, LPDCB lpDCB)
-{
- return DCB_BuildCommDCBAndTimeoutsW(lpDef, lpDCB, NULL);
-}
-
-/* EOF */
-#endif
Modified: trunk/reactos/dll/win32/kernel32/kernel32.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel3…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/kernel32.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/kernel32.rbuild [iso-8859-1] Thu Jul 21 05:26:12
2011
@@ -80,7 +80,6 @@
<directory name="misc">
<file>actctx.c</file>
<file>comm.c</file>
- <file>commdcb.c</file>
<file>lzexpand.c</file>
<file>muldiv.c</file>
<file>profile.c</file>