diff options
-rw-r--r-- | protocols/MRA/Mra_10.vcxproj | 17 | ||||
-rw-r--r-- | protocols/MRA/Mra_10.vcxproj.filters | 45 | ||||
-rw-r--r-- | protocols/MRA/Mra_11.vcxproj | 1 | ||||
-rw-r--r-- | protocols/MRA/Mra_11.vcxproj.filters | 3 | ||||
-rw-r--r-- | protocols/MRA/src/Mra.h | 1 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/DebugFunctions.h | 40 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/FIFOMT.h | 29 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/InterlockedFunctions.h | 100 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/InternetTime.h | 133 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/ListMT.h | 93 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/MemoryFindByte.h | 46 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/MemoryReplace.h | 150 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/SocketFunctions.h | 429 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/StrHexToNum.h | 557 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/StrToNum.h | 314 | ||||
-rw-r--r-- | protocols/MRA/src/Sdk/timefuncs.h | 22 |
16 files changed, 60 insertions, 1920 deletions
diff --git a/protocols/MRA/Mra_10.vcxproj b/protocols/MRA/Mra_10.vcxproj index a34bc7f39a..9f29309ec3 100644 --- a/protocols/MRA/Mra_10.vcxproj +++ b/protocols/MRA/Mra_10.vcxproj @@ -82,7 +82,6 @@ <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\include;..\..\plugins\ExternalAPI;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <ExceptionHandling>false</ExceptionHandling>
</ClCompile>
<Link>
<AdditionalManifestDependencies>type=%27Win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 processorArchitecture=%27X86%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27;%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
@@ -109,7 +108,6 @@ <PrecompiledHeaderFile>Mra.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\..\include;..\..\plugins\ExternalAPI;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <ExceptionHandling>false</ExceptionHandling>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -137,7 +135,6 @@ <AdditionalIncludeDirectories>..\..\include;..\..\plugins\ExternalAPI;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<PrecompiledHeaderFile>Mra.h</PrecompiledHeaderFile>
- <ExceptionHandling>false</ExceptionHandling>
</ClCompile>
<Link>
<AdditionalManifestDependencies>type=%27Win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 processorArchitecture=%27X86%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27;%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
@@ -231,6 +228,20 @@ <ClInclude Include="src\MraSendQueue.h" />
<ClInclude Include="src\proto.h" />
<ClInclude Include="src\resource.h" />
+ <ClInclude Include="src\Sdk\BuffToLowerCase.h" />
+ <ClInclude Include="src\Sdk\DebugFunctions.h" />
+ <ClInclude Include="src\Sdk\FIFOMT.h" />
+ <ClInclude Include="src\Sdk\InterlockedFunctions.h" />
+ <ClInclude Include="src\Sdk\InternetTime.h" />
+ <ClInclude Include="src\Sdk\ListMT.h" />
+ <ClInclude Include="src\Sdk\MemoryFind.h" />
+ <ClInclude Include="src\Sdk\MemoryFindByte.h" />
+ <ClInclude Include="src\Sdk\RC4.h" />
+ <ClInclude Include="src\Sdk\SHA1.h" />
+ <ClInclude Include="src\Sdk\SocketFunctions.h" />
+ <ClInclude Include="src\Sdk\StrHexToNum.h" />
+ <ClInclude Include="src\Sdk\StrToNum.h" />
+ <ClInclude Include="src\Sdk\timefuncs.h" />
<ClInclude Include="src\version.h" />
</ItemGroup>
<ItemGroup>
diff --git a/protocols/MRA/Mra_10.vcxproj.filters b/protocols/MRA/Mra_10.vcxproj.filters index ed7f4006e4..66245e8c6b 100644 --- a/protocols/MRA/Mra_10.vcxproj.filters +++ b/protocols/MRA/Mra_10.vcxproj.filters @@ -13,6 +13,9 @@ <UniqueIdentifier>{482639cd-fb25-4cfb-9e55-4a299271787c}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
</Filter>
+ <Filter Include="Header Files\SDK">
+ <UniqueIdentifier>{09f251ef-6cd8-48b3-a275-f10b210f5459}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Mra.cpp">
@@ -140,6 +143,48 @@ <ClInclude Include="src\version.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="src\Sdk\BuffToLowerCase.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\DebugFunctions.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\FIFOMT.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\InterlockedFunctions.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\InternetTime.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\ListMT.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\MemoryFind.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\MemoryFindByte.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\RC4.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\SHA1.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\SocketFunctions.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\StrHexToNum.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\StrToNum.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
+ <ClInclude Include="src\Sdk\timefuncs.h">
+ <Filter>Header Files\SDK</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="res\resource.rc">
diff --git a/protocols/MRA/Mra_11.vcxproj b/protocols/MRA/Mra_11.vcxproj index 31849c1183..368ba88a2f 100644 --- a/protocols/MRA/Mra_11.vcxproj +++ b/protocols/MRA/Mra_11.vcxproj @@ -239,7 +239,6 @@ <ClInclude Include="src\Sdk\ListMT.h" />
<ClInclude Include="src\Sdk\MemoryFind.h" />
<ClInclude Include="src\Sdk\MemoryFindByte.h" />
- <ClInclude Include="src\Sdk\MemoryReplace.h" />
<ClInclude Include="src\Sdk\RC4.h" />
<ClInclude Include="src\Sdk\SHA1.h" />
<ClInclude Include="src\Sdk\SocketFunctions.h" />
diff --git a/protocols/MRA/Mra_11.vcxproj.filters b/protocols/MRA/Mra_11.vcxproj.filters index ebe8e62f72..66245e8c6b 100644 --- a/protocols/MRA/Mra_11.vcxproj.filters +++ b/protocols/MRA/Mra_11.vcxproj.filters @@ -167,9 +167,6 @@ <ClInclude Include="src\Sdk\MemoryFindByte.h">
<Filter>Header Files\SDK</Filter>
</ClInclude>
- <ClInclude Include="src\Sdk\MemoryReplace.h">
- <Filter>Header Files\SDK</Filter>
- </ClInclude>
<ClInclude Include="src\Sdk\RC4.h">
<Filter>Header Files\SDK</Filter>
</ClInclude>
diff --git a/protocols/MRA/src/Mra.h b/protocols/MRA/src/Mra.h index d6aa29a04d..6bf731966f 100644 --- a/protocols/MRA/src/Mra.h +++ b/protocols/MRA/src/Mra.h @@ -80,7 +80,6 @@ #include "Sdk/SocketFunctions.h"
#include "Sdk/MemoryFind.h"
#include "Sdk/MemoryFindByte.h"
-#include "Sdk/MemoryReplace.h"
#include "Sdk/BuffToLowerCase.h"
#include "Sdk/StrToNum.h"
#include "Sdk/StrHexToNum.h"
diff --git a/protocols/MRA/src/Sdk/DebugFunctions.h b/protocols/MRA/src/Sdk/DebugFunctions.h index dfc7ec3440..b6d94e12e6 100644 --- a/protocols/MRA/src/Sdk/DebugFunctions.h +++ b/protocols/MRA/src/Sdk/DebugFunctions.h @@ -68,46 +68,6 @@ -
-//////////////////////////////////////////////////////////////////////////
-////////////////////////////DebugBuildPrint///////////////////////////////
-//////////////////////////////////////////////////////////////////////////
-// #pragma DebugBuildPrint(Helo world);
-// Отображение сообщений в Build окне во время компиляции
-#ifdef _DEBUG
- #pragma warning(disable:4081)
- #define chSTR2(x) #x
- #define chSTR(x) chSTR2(x)
- #define DebugBuildPrint(szText) message(__FILE__ "(" chSTR(__LINE__) "): " #szText)
- #pragma warning(default:4081)
-#else
- #define DebugBuildPrint(szText)
-#endif //_DEBUG
-//////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////
-
-
-
-
-//////////////////////////////////////////////////////////////////////////
-////////////////////////////DebugBufferFill///////////////////////////////
-//////////////////////////////////////////////////////////////////////////
-// DebugBufferFill(szString,sizeof(szString));
-// Полностью заполняет переданный буффер символом "A", применяется
-// для выходного буффера на входе в функцию.
-#ifdef _DEBUG
- #define DebugBufferFill(lpBuffer,dwSize) memset(lpBuffer,'A',dwSize)
-#else
- #define DebugBufferFill(lpBuffer,dwSize)
-#endif //_DEBUG
-//////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////
-
-
-
-
//////////////////////////////////////////////////////////////////////////
////////////////////////////DebugBreak////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
diff --git a/protocols/MRA/src/Sdk/FIFOMT.h b/protocols/MRA/src/Sdk/FIFOMT.h index 7d4e41db6f..80f9ae3220 100644 --- a/protocols/MRA/src/Sdk/FIFOMT.h +++ b/protocols/MRA/src/Sdk/FIFOMT.h @@ -73,36 +73,7 @@ __inline DWORD FifoMTItemPop(PCFIFO_MT pcpmtFifoMT,PFIFO_MT_ITEM *ppffmtiFifoIte return dwRetErrorCode;
}
-
-__inline DWORD FifoMTItemGetFirst(PCFIFO_MT pcpmtFifoMT,PFIFO_MT_ITEM *ppffmtiFifoItem,LPVOID *plpData)
-{
- mt_lock l(pcpmtFifoMT);
- return ListMTItemGetFirst(pcpmtFifoMT,ppffmtiFifoItem,plpData);
-}
-
-
-__inline DWORD FifoMTItemGetLast(PCFIFO_MT pcpmtFifoMT,PFIFO_MT_ITEM *ppffmtiFifoItem,LPVOID *plpData)
-{
- mt_lock l(pcpmtFifoMT);
- return ListMTItemGetLast(pcpmtFifoMT,ppffmtiFifoItem,plpData);
-}
-
-
#define FifoMTGetCount(pcpmtFifoMT) ListMTGetCount(pcpmtFifoMT)
-#define FifoMTTryLock(pcpmtFifoMT) ListMTTryLock(pcpmtFifoMT)
-#define FifoMTLock(pcpmtFifoMT) ListMTLock(pcpmtFifoMT)
-#define FifoMTUnLock(pcpmtFifoMT) ListMTUnLock(pcpmtFifoMT)
-
-#define FifoMTItemSwap(pcpmtFifoMT,pcffmtiFifoItem1,pcffmtiFifoItem2) ListMTItemSwap(pcpmtFifoMT,pcffmtiFifoItem1,pcffmtiFifoItem2)
-
-#define FifoMTIteratorMoveFirst(pcpmtFifoMT,pffmtiIterator) ListMTIteratorMoveFirst(pcpmtFifoMT,pffmtiIterator)
-#define FifoMTIteratorMoveLast(pcpmtFifoMT,pffmtiIterator) ListMTIteratorMoveLast(pcpmtFifoMT,pffmtiIterator)
-#define FifoMTIteratorMovePrev(pffmtiIterator) ListMTIteratorMovePrev(pffmtiIterator)
-#define FifoMTIteratorMoveNext(pffmtiIterator) ListMTIteratorMoveNext(pffmtiIterator)
-#define FifoMTIteratorGet(pffmtiIterator,ppffmtiFifoItem,plpData) ListMTIteratorGet(pffmtiIterator,ppffmtiFifoItem,plpData)
-
-
-
#endif // !defined(AFX_FIFO_MT__H__INCLUDED_)
diff --git a/protocols/MRA/src/Sdk/InterlockedFunctions.h b/protocols/MRA/src/Sdk/InterlockedFunctions.h index 742f904944..1ecb7aa16c 100644 --- a/protocols/MRA/src/Sdk/InterlockedFunctions.h +++ b/protocols/MRA/src/Sdk/InterlockedFunctions.h @@ -35,103 +35,6 @@ #endif // _MSC_VER > 1000
-
-
-
-#ifdef InterlockedCompareExchange
-#ifndef InterlockedAnd
-LONG FORCEINLINE InterlockedAnd(LONG volatile *Destination,LONG Value)
-{
- LONG Old;
-
- do
- {
- Old=*Destination;
- }while(InterlockedCompareExchange(Destination,(Old&Value),Old)!=Old);
-return(Old);
-}
-#endif //InterlockedAnd
-
-
-#ifndef InterlockedOr
-LONG FORCEINLINE InterlockedOr(LONG volatile *Destination,LONG Value)
-{
- LONG Old;
-
- do
- {
- Old=*Destination;
- }while(InterlockedCompareExchange(Destination,(Old|Value),Old)!=Old);
-return(Old);
-}
-#endif //InterlockedOr
-
-
-#ifndef InterlockedXor
-LONG FORCEINLINE InterlockedXor(LONG volatile *Destination,LONG Value)
-{
- LONG Old;
-
- do
- {
- Old=*Destination;
- }while(InterlockedCompareExchange(Destination,(Old^Value),Old)!=Old);
-return(Old);
-}
-#endif //InterlockedXor
-#endif //InterlockedCompareExchange
-
-
-
-
-
-#ifdef InterlockedCompareExchange64
-#ifndef InterlockedAnd64
-LONGLONG FORCEINLINE InterlockedAnd64(LONGLONG volatile *Destination,LONGLONG Value)
-{
- LONGLONG Old;
-
- do
- {
- Old=*Destination;
- }while(InterlockedCompareExchange64(Destination,(Old&Value),Old)!=Old);
-return(Old);
-}
-#endif //InterlockedAnd64
-
-
-#ifndef InterlockedOr64
-LONGLONG FORCEINLINE InterlockedOr64(LONGLONG volatile *Destination,LONGLONG Value)
-{
- LONGLONG Old;
-
- do
- {
- Old=*Destination;
- }while(InterlockedCompareExchange64(Destination,(Old|Value),Old)!=Old);
-return(Old);
-}
-#endif //InterlockedOr64
-
-
-#ifndef InterlockedXor64
-LONGLONG FORCEINLINE InterlockedXor64(LONGLONG volatile *Destination,LONGLONG Value)
-{
- LONGLONG Old;
-
- do
- {
- Old=*Destination;
- }while(InterlockedCompareExchange64(Destination,(Old^Value),Old)!=Old);
-return(Old);
-}
-#endif //InterlockedXor64
-#endif //InterlockedCompareExchange64
-
-
-
-
-
#ifndef InterlockedIncrementPointer
#if defined(_WIN64)
#define InterlockedIncrementPointer(lpAddend) (LPVOID)InterlockedIncrement64((LONGLONG volatile*)lpAddend)
@@ -150,7 +53,4 @@ return(Old); #endif //InterlockedDecrementPointer
-
-
-
#endif // !defined(AFX_INTERLOCKED_FUNCTIONS__H__INCLUDED_)
diff --git a/protocols/MRA/src/Sdk/InternetTime.h b/protocols/MRA/src/Sdk/InternetTime.h index b226929299..c49333f98a 100644 --- a/protocols/MRA/src/Sdk/InternetTime.h +++ b/protocols/MRA/src/Sdk/InternetTime.h @@ -140,139 +140,6 @@ __inline BOOL WSP2SP(LPCSTR lpszBuff,size_t dwBuffSize,LPSTR lpszRetBuff,size_t return(bRet);
}
-
-
-__inline BOOL HT2SP(LPCSTR lpszBuff,size_t dwBuffSize,LPSTR lpszRetBuff,size_t *pdwRetBuffSize)
-{// HT->SP
- BOOL bRet=TRUE;
-
- if (lpszBuff && dwBuffSize && lpszRetBuff)
- {
- LPSTR lpszCurReadPos,pHT,lpszCurWritePos;
- size_t dwToCopy,dwRetBuffSize;
-
- pHT=(LPSTR)lpszBuff;
- lpszCurReadPos=(LPSTR)lpszBuff;
- lpszCurWritePos=lpszRetBuff;
- dwRetBuffSize=0;
-
- while(pHT)
- {
- pHT=(LPSTR)MemoryFind((pHT-lpszBuff),lpszBuff,dwBuffSize,"\t",1);
- if (pHT)
- {
- dwToCopy=(pHT-lpszCurReadPos);
- pHT++;
-
- dwRetBuffSize+=(dwToCopy+1);
- memmove((LPVOID)lpszCurWritePos,(CONST VOID*)lpszCurReadPos,dwToCopy);
- lpszCurWritePos+=dwToCopy;
- lpszCurWritePos[0]=32;
- lpszCurWritePos++;
- lpszCurReadPos=pHT;
- }else{
- dwToCopy=((lpszBuff+dwBuffSize)-lpszCurReadPos);
- dwRetBuffSize+=dwToCopy;
- memmove((LPVOID)lpszCurWritePos,(CONST VOID*)lpszCurReadPos,dwToCopy);
- }
- }
-
- if (pdwRetBuffSize) (*pdwRetBuffSize)=dwRetBuffSize;
- }else{
- bRet=FALSE;
- }
-return(bRet);
-}
-
-
-
-
-__inline BOOL CleanUnneededSP(LPCSTR lpszBuff,size_t dwBuffSize,LPSTR lpszRetBuff,size_t *pdwRetBuffSize)
-{// nSP->SP, SPCRLF->CRLF, CRLFSP->CRLF
- BOOL bRet=TRUE;
-
- if (lpszBuff && dwBuffSize && lpszRetBuff)
- {
- LPSTR lpszCurReadPos,pSP,pSPStart,pSPEnd,lpszCurWritePos,pEnd;
- size_t dwToCopy,dwRetBuffSize;
-
- pSP=(LPSTR)lpszBuff;
- lpszCurReadPos=(LPSTR)lpszBuff;
- lpszCurWritePos=lpszRetBuff;
- pEnd=((LPSTR)lpszBuff+dwBuffSize);
- dwRetBuffSize=0;
-
- while(pSP)
- {
- pSP=(LPSTR)MemoryFind((pSP-lpszBuff),lpszBuff,dwBuffSize," ",1);
- if (pSP)
- {
- dwToCopy=(pSP-lpszCurReadPos);
- pSPStart=pSP;
- pSPEnd=pSP;
- while((*pSPEnd)==32 && pSPEnd<pEnd) pSPEnd++;
-
- // check SP on line start
- if ((pSPStart-1)>lpszBuff)
- {
- if ((*((WORD*)(pSPStart-2)))!=(*((WORD*)CRLF))) dwToCopy++;
- }else{// buff start
- if (pSPStart>lpszBuff) dwToCopy++;
- }
-
- // check SP on line end
- if ((pSPEnd+1)<=pEnd)
- {
- if ((*((WORD*)pSPEnd))!=(*((WORD*)CRLF))) dwToCopy++;
- }else{// buff start
- if (pSPEnd>lpszBuff) dwToCopy++;
- }
-
- memmove((LPVOID)lpszCurWritePos,(CONST VOID*)lpszCurReadPos,dwToCopy);
- lpszCurWritePos+=dwToCopy;
- dwRetBuffSize+=dwToCopy;
- lpszCurReadPos=pSPEnd;
- pSP=pSPEnd;
- }else{
- dwToCopy=((lpszBuff+dwBuffSize)-lpszCurReadPos);
- dwRetBuffSize+=dwToCopy;
- memmove((LPVOID)lpszCurWritePos,(CONST VOID*)lpszCurReadPos,dwToCopy);
- }
- }
-
- if (pdwRetBuffSize) (*pdwRetBuffSize)=dwRetBuffSize;
- }else{
- bRet=FALSE;
- }
-return(bRet);
-}
-
-
-
-
-__inline size_t CopyText(LPVOID lpOutBuff,LPCVOID lpcBuff,size_t dwLen)
-{
- size_t dwRet=0;
-
- if (lpOutBuff && lpcBuff && dwLen)
- {
- BYTE bt;
- LPBYTE lpbtIn=(LPBYTE)lpcBuff,lpbtOut=(LPBYTE)lpOutBuff;
-
- for(size_t i=dwLen;i;i--)
- {
- bt=(*(lpbtIn++));
- if (bt<127 && (bt>31 || bt==9 || bt==10 || bt==13))
- {
- (*(lpbtOut++))=bt;
- dwRet++;
- }
- }
- }
-return(dwRet);
-}
-
-
__inline void InternetTimeGetCurrentTime(INTERNET_TIME *pitTime)
{
TIME_ZONE_INFORMATION tzi={0};
diff --git a/protocols/MRA/src/Sdk/ListMT.h b/protocols/MRA/src/Sdk/ListMT.h index d757a364e6..31235084db 100644 --- a/protocols/MRA/src/Sdk/ListMT.h +++ b/protocols/MRA/src/Sdk/ListMT.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- */ + */
@@ -117,15 +117,6 @@ __inline void ListMTDestroy(PCLIST_MT pclmtListMT) }
-__inline BOOL ListMTTryLock(PCLIST_MT pclmtListMT)
-{
-#if (_WIN32_WINNT >= 0x0400)
- return(TryEnterCriticalSection(&pclmtListMT->cs));
-#else
- return(FALSE);
-#endif
-}
-
class mt_lock
{
PCLIST_MT m_list;
@@ -213,19 +204,6 @@ __inline DWORD ListMTItemDelete(PCLIST_MT pclmtListMT,PCLIST_MT_ITEM pclmtListMT return(dwRetErrorCode);
}
-
-__inline LPVOID ListMTItemDataGet(PCLIST_MT_ITEM pclmtListMTItem)
-{
- return(pclmtListMTItem->lpData);
-}
-
-
-__inline void ListMTItemDataSet(PCLIST_MT_ITEM pclmtListMTItem, LPVOID lpData)
-{
- pclmtListMTItem->lpData=lpData;
-}
-
-
__inline DWORD ListMTItemGetFirst(PCLIST_MT pclmtListMT,PLIST_MT_ITEM *pplmtListMTItem,LPVOID *plpData)
{// если нужно гарантировать эксклюзивный доступ, то есть ListMTLock и ListMTUnLock
DWORD dwRetErrorCode;
@@ -241,81 +219,12 @@ __inline DWORD ListMTItemGetFirst(PCLIST_MT pclmtListMT,PLIST_MT_ITEM *pplmtList return(dwRetErrorCode);
}
-
-__inline DWORD ListMTItemGetLast(PCLIST_MT pclmtListMT,PLIST_MT_ITEM *pplmtListMTItem,LPVOID *plpData)
-{// если нужно гарантировать эксклюзивный доступ, то есть ListMTLock и ListMTUnLock
- DWORD dwRetErrorCode;
-
- if (pclmtListMT->plmtiLast)
- {
- if (pplmtListMTItem) (*pplmtListMTItem)=pclmtListMT->plmtiLast;
- if (plpData) (*plpData)=pclmtListMT->plmtiLast->lpData;
- dwRetErrorCode=NO_ERROR;
- }else{
- dwRetErrorCode=ERROR_NO_MORE_ITEMS;
- }
-return(dwRetErrorCode);
-}
-
-
-
-__inline void ListMTItemSwap(PCLIST_MT pclmtListMT,PCLIST_MT_ITEM pclmtListMTItem1,PCLIST_MT_ITEM pclmtListMTItem2)
-{// поменять два элемента списка местами, даже если они из разных списков
-
- if (pclmtListMTItem1!=pclmtListMTItem2)
- {// это разные элементы списка
- PLIST_MT_ITEM lpTemp;
-
- lpTemp=pclmtListMTItem1->plmtiPrev;
- if ((pclmtListMTItem1->plmtiPrev=pclmtListMTItem2->plmtiPrev)==NULL)
- {// pclmtListMTItem2 был первым, обновляем заголвок листа, теперь первый pclmtListMTItem1
- pclmtListMT->plmtiFirst=pclmtListMTItem1;
- }
-
- if ((pclmtListMTItem2->plmtiPrev=lpTemp)==NULL)
- {// pclmtListMTItem1 был первым, обновляем заголвок листа, теперь первый pclmtListMTItem2
- pclmtListMT->plmtiFirst=pclmtListMTItem2;
- }
-
-
- lpTemp=pclmtListMTItem1->plmtiNext;
- if ((pclmtListMTItem1->plmtiNext=pclmtListMTItem2->plmtiNext)==NULL)
- {// pclmtListMTItem2 был последним, обновляем заголвок листа, теперь последний pclmtListMTItem1
- pclmtListMT->plmtiLast=pclmtListMTItem1;
- }
-
- if ((pclmtListMTItem2->plmtiNext=lpTemp)==NULL)
- {// pclmtListMTItem1 был последним, обновляем заголвок листа, теперь последний pclmtListMTItem2
- pclmtListMT->plmtiLast=pclmtListMTItem2;
- }
- }
-}
-
-
__inline BOOL ListMTIteratorMoveFirst(PCLIST_MT pclmtListMT,PCLIST_MT_ITERATOR pclmtiIterator)
{// если нужно гарантировать эксклюзивный доступ, то есть ListMTLock и ListMTUnLock
return((pclmtiIterator->plmtListMTItem=pclmtListMT->plmtiFirst)? TRUE:FALSE);
}
-__inline BOOL ListMTIteratorMoveLast(PCLIST_MT pclmtListMT,PCLIST_MT_ITERATOR pclmtiIterator)
-{// если нужно гарантировать эксклюзивный доступ, то есть ListMTLock и ListMTUnLock
- return((pclmtiIterator->plmtListMTItem=pclmtListMT->plmtiLast)? TRUE:FALSE);
-}
-
-
-__inline BOOL ListMTIteratorMovePrev(PCLIST_MT_ITERATOR pclmtiIterator)
-{// если нужно гарантировать эксклюзивный доступ, то есть ListMTLock и ListMTUnLock
- BOOL bRet=FALSE;
-
- if (pclmtiIterator->plmtListMTItem)
- {
- if (pclmtiIterator->plmtListMTItem=pclmtiIterator->plmtListMTItem->plmtiPrev) bRet=TRUE;
- }
-return(bRet);
-}
-
-
__inline BOOL ListMTIteratorMoveNext(PCLIST_MT_ITERATOR pclmtiIterator)
{// если нужно гарантировать эксклюзивный доступ, то есть ListMTLock и ListMTUnLock
BOOL bRet=FALSE;
diff --git a/protocols/MRA/src/Sdk/MemoryFindByte.h b/protocols/MRA/src/Sdk/MemoryFindByte.h index a18a721b9d..ed459a684c 100644 --- a/protocols/MRA/src/Sdk/MemoryFindByte.h +++ b/protocols/MRA/src/Sdk/MemoryFindByte.h @@ -48,50 +48,4 @@ return(pRet); }
-#ifndef _WIN64
-__inline void *MemoryFindByteReverse(size_t dwFrom,const void *pBuff,size_t dwBuffSize,unsigned char chWhatFind)
-{
- void *pRet=NULL;
-
- __asm
- {
- push ebx // сохраняем регистр
- push edi // сохраняем регистр
- push esi // сохраняем регистр
-
- mov ecx,dwBuffSize
- test ecx,ecx //; проверка входного параметра, он !=0
- je short end_func
-
- mov edi,pBuff //; di = string
- test edi,edi //; проверка входного параметра, он !=0
- jz short end_func
-
- mov eax,dwFrom
-
-/////////////////////////////////////////////
- cmp eax,ecx //; проверка ecx(=len)=>dwFrom
- jae short end_func
-
- std //; count 'up' on string this time
- sub ecx,eax //; уменьшаем длинну на dwFrom(нач смещен)
- add edi,ecx //; сдвигаем начало на dwSourceSize(на конец)
- mov al,chWhatFind //; al=search byte
- repne scasb //; find that byte
- inc edi //; di points to byte which stopped scan
- cmp [edi],al //; see if we have a hit
- jne short end_func //; yes, point to byte
- mov pRet,edi //; ax=pointer to byte
- end_func:
-
- cld
- pop esi // восстанавливаем содержимое регистра
- pop edi // восстанавливаем содержимое регистра
- pop ebx // восстанавливаем содержимое регистра
- }
-return(pRet);
-}
-#endif
-
-
#endif // !defined(AFX_MEMORYFINDBYTE__H__INCLUDED_)
diff --git a/protocols/MRA/src/Sdk/MemoryReplace.h b/protocols/MRA/src/Sdk/MemoryReplace.h deleted file mode 100644 index c911ccfbe1..0000000000 --- a/protocols/MRA/src/Sdk/MemoryReplace.h +++ /dev/null @@ -1,150 +0,0 @@ -/*
- * Copyright (c) 2010 Rozhuk Ivan <rozhuk.im@gmail.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */ -
-
-#if !defined(AFX_MEMORY_REPLACE__H__INCLUDED_)
-#define AFX_MEMORY_REPLACE__H__INCLUDED_
-
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-
-#ifndef DebugBreak
-#define DebugBreak()
-#endif
-
-
-#ifdef MEMALLOC
-#define MEMORY_REPLACE_MEMALLOC(Size) MEMALLOC(Size)
-#define MEMORY_REPLACE_MEMFREE(Mem) MEMFREE(Mem)
-#else
-#define MEMORY_REPLACE_MEMALLOC(Size) malloc(((Size)+sizeof(void*)))
-#define MEMORY_REPLACE_MEMFREE(Mem) if ((Mem)) {free((void*)(Mem));(Mem)=NULL;}
-#endif
-
-
-// 0 - all ok
-// -1 - bad params
-// -2 - small dst buff
-// -3 - memory allocation failed
-
-__inline int MemoryReplaceEx(void *pSrcBuff,size_t dwSrcBuffSize,size_t dwReplaceItemsCount,void **ppInReplaceItems,size_t *pdwInReplaceItemsCounts,void **ppOutReplaceItems,size_t *pdwOutReplaceItemsCounts,void *pDstBuff,size_t dwDstBuffSize,size_t *pdwDstBuffSize,size_t *pdwReplacesCount)
-{
- int iRet=-1;
-
- if (pSrcBuff && dwSrcBuffSize && (dwReplaceItemsCount==0 || (dwReplaceItemsCount && ppInReplaceItems && pdwInReplaceItemsCounts && ppOutReplaceItems && pdwOutReplaceItemsCounts)) && pDstBuff && dwDstBuffSize)
- {
- if (dwReplaceItemsCount==0)
- {// no replace, copy mem
- if (dwDstBuffSize>=dwSrcBuffSize)
- {
- memmove(pDstBuff,pSrcBuff,dwSrcBuffSize);
- if (pdwDstBuffSize) (*pdwDstBuffSize)=dwSrcBuffSize;
- if (pdwReplacesCount) (*pdwReplacesCount)=0;
- iRet=0;
- }else{// small dst buff
- iRet=-2;
- }
- }else{
- unsigned char **ppFounded;
-
- ppFounded=(unsigned char**)MEMORY_REPLACE_MEMALLOC((sizeof(unsigned char*)*dwReplaceItemsCount));
- if (ppFounded)
- {
- unsigned char *pDstBuffCur,*pSrcBuffCur,*pSrcBuffCurPrev,*pDstBuffMax;
- size_t i,dwFirstFoundedIndex,dwFoundedCount,dwMemPartToCopy,dwReplacesCount;
-
- pSrcBuffCurPrev=(unsigned char*)pSrcBuff;
- pDstBuffCur=(unsigned char*)pDstBuff;
- pDstBuffMax=(((unsigned char*)pDstBuff)+dwDstBuffSize);
- dwFirstFoundedIndex=0;
- dwFoundedCount=0;
- dwReplacesCount=0;
-
- for(i=0;i<dwReplaceItemsCount;i++)
- {// loking for in first time
- ppFounded[i]=(unsigned char*)MemoryFind((pSrcBuffCurPrev-(unsigned char*)pSrcBuff),pSrcBuff,dwSrcBuffSize,ppInReplaceItems[i],pdwInReplaceItemsCounts[i]);
- if (ppFounded[i]) dwFoundedCount++;
- }
-
- while(dwFoundedCount)
- {
- for(i=0;i<dwReplaceItemsCount;i++)
- {// looking for first to replace
- if (ppFounded[i] && (ppFounded[i]<ppFounded[dwFirstFoundedIndex] || ppFounded[dwFirstFoundedIndex]==NULL)) dwFirstFoundedIndex=i;
- }
-
- if (ppFounded[dwFirstFoundedIndex])
- {// in founded
- dwMemPartToCopy=(ppFounded[dwFirstFoundedIndex]-pSrcBuffCurPrev);
- if (pDstBuffMax>(pDstBuffCur+(dwMemPartToCopy+pdwInReplaceItemsCounts[dwFirstFoundedIndex])))
- {
- dwReplacesCount++;
- memmove(pDstBuffCur,pSrcBuffCurPrev,dwMemPartToCopy);pDstBuffCur+=dwMemPartToCopy;
- memmove(pDstBuffCur,ppOutReplaceItems[dwFirstFoundedIndex],pdwOutReplaceItemsCounts[dwFirstFoundedIndex]);pDstBuffCur+=pdwOutReplaceItemsCounts[dwFirstFoundedIndex];
- pSrcBuffCurPrev=(ppFounded[dwFirstFoundedIndex]+pdwInReplaceItemsCounts[dwFirstFoundedIndex]);
-
- for(i=0;i<dwReplaceItemsCount;i++)
- {// loking for in next time // update founded records
- if (ppFounded[i] && ppFounded[i]<pSrcBuffCurPrev)
- {
- ppFounded[i]=(unsigned char*)MemoryFind((pSrcBuffCurPrev-(unsigned char*)pSrcBuff),pSrcBuff,dwSrcBuffSize,ppInReplaceItems[i],pdwInReplaceItemsCounts[i]);
- if (ppFounded[i]==NULL) dwFoundedCount--;
- }
- }
- }else{// ERROR_BUFFER_OVERFLOW
- iRet=-2;
- DebugBreak();
- break;
- }
- }else{// сюда по идее никогда не попадём, на всякий случай.
- DebugBreak();
- break;
- }
- }
- pSrcBuffCur=(((unsigned char*)pSrcBuff)+dwSrcBuffSize);
- memmove(pDstBuffCur,pSrcBuffCurPrev,(pSrcBuffCur-pSrcBuffCurPrev));
- pDstBuffCur+=(pSrcBuffCur-pSrcBuffCurPrev);
- (*((unsigned short*)pDstBuffCur))=0;
-
- MEMORY_REPLACE_MEMFREE(ppFounded);
-
- if (pdwDstBuffSize) (*pdwDstBuffSize)=(pDstBuffCur-((unsigned char*)pDstBuff));
- if (pdwReplacesCount) (*pdwReplacesCount)=dwReplacesCount;
- iRet=0;
- }else{
- iRet=-3;
- }
- }
- }
-return(iRet);
-}
-
-
-#endif // !defined(AFX_MEMORY_REPLACE__H__INCLUDED_)
diff --git a/protocols/MRA/src/Sdk/SocketFunctions.h b/protocols/MRA/src/Sdk/SocketFunctions.h index 0d609d80f9..72e8042896 100644 --- a/protocols/MRA/src/Sdk/SocketFunctions.h +++ b/protocols/MRA/src/Sdk/SocketFunctions.h @@ -30,26 +30,6 @@ #if !defined(AFX_SOCKET_FUNCTIONS__H__INCLUDED_)
#define AFX_SOCKET_FUNCTIONS__H__INCLUDED_
-#if(_WIN32_WINNT >= 0x0501)
-static LPFN_CONNECTEX ConnectEx=NULL;
-static LPFN_DISCONNECTEX DisconnectEx=NULL;
-static LPFN_TRANSMITPACKETS TransmitPackets=NULL;
-#endif
-
-
-#ifndef NTOHS
-
-__inline u_short USHORT_FLIP(u_short usIn)
-{
-return(((usIn<<8) | (usIn>>8)));
-}
-#define NTOHS(in) USHORT_FLIP(in)
-#define HTONS(in) USHORT_FLIP(in)
-
-#endif
-
-
-
#ifndef NTOHL
__inline u_long ULONG_FLIP(u_long ulIn)
@@ -73,413 +53,4 @@ return(ulIn); #endif
-
-
-
-#define CLOSE_SOCKET(skt) if (skt) {closesocket(skt);skt=INVALID_SOCKET;}
-
-
-
-__inline BOOL SocketGetACCEPTCONN(SOCKET skt)
-{
- BOOL bRet;
- int iSize=sizeof(BOOL);
- if (getsockopt(skt,SOL_SOCKET,SO_ACCEPTCONN,(char*)&bRet,(int*)&iSize)!=NO_ERROR) bRet=FALSE;
-return(bRet);
-}
-
-
-__inline BOOL SocketGetBROADCAST(SOCKET skt)
-{
- BOOL bRet;
- int iSize=sizeof(BOOL);
- if (getsockopt(skt,SOL_SOCKET,SO_BROADCAST,(char*)&bRet,(int*)&iSize)!=NO_ERROR) bRet=FALSE;
-return(bRet);
-}
-
-__inline int SocketSetBROADCAST(SOCKET skt,BOOL bBroadcast)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_BROADCAST,(const char*)&bBroadcast,sizeof(BOOL)));
-}
-
-
-
-__inline int SocketGetCONNECT_TIME(SOCKET skt)
-{
- int iSeconds,iSize=sizeof(int);
- if (getsockopt(skt,SOL_SOCKET,SO_CONNECT_TIME,(char*)&iSeconds,(int*)&iSize)!=NO_ERROR) iSeconds=-1;
-return(iSeconds);
-}
-
-
-__inline BOOL SocketGetKEEPALIVE(SOCKET skt)
-{
- BOOL bRet;
- int iSize=sizeof(BOOL);
- if (getsockopt(skt,SOL_SOCKET,SO_KEEPALIVE,(char*)&bRet,(int*)&iSize)!=NO_ERROR) bRet=FALSE;
-return(bRet);
-}
-
-__inline int SocketSetKEEPALIVE(SOCKET skt,BOOL bKeepAlive)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_KEEPALIVE,(const char*)&bKeepAlive,sizeof(BOOL)));
-}
-
-
-
-__inline int SocketGetMAX_MSG_SIZE(SOCKET skt)
-{
- int iMaxMsgSize,iSize=sizeof(int);
- if (getsockopt(skt,SOL_SOCKET,SO_MAX_MSG_SIZE,(char*)&iMaxMsgSize,(int*)&iSize)!=NO_ERROR) iMaxMsgSize=-1;
-return(iMaxMsgSize);
-}
-
-
-__inline int SocketSetEXCLUSIVEADDRUSE(SOCKET skt,BOOL bExclusiveAddrUse)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_EXCLUSIVEADDRUSE,(const char*)&bExclusiveAddrUse,sizeof(BOOL)));
-}
-
-
-__inline BOOL SocketGetREUSEADDR(SOCKET skt)
-{
- BOOL bRet;
- int iSize=sizeof(BOOL);
- if (getsockopt(skt,SOL_SOCKET,SO_REUSEADDR,(char*)&bRet,(int*)&iSize)!=NO_ERROR) bRet=FALSE;
-return(bRet);
-}
-
-__inline int SocketSetREUSEADDR(SOCKET skt,BOOL bReuseAddr)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_REUSEADDR,(const char*)&bReuseAddr,sizeof(BOOL)));
-}
-
-
-__inline int SocketSetRCVBUF(SOCKET skt,unsigned int uiBuffSize)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_RCVBUF,(const char*)&uiBuffSize,sizeof(int)));
-}
-
-
-__inline int SocketSetSNDBUF(SOCKET skt,unsigned int uiBuffSize)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_SNDBUF,(const char*)&uiBuffSize,sizeof(int)));
-}
-
-
-
-__inline int SocketSetUPDATE_ACCEPT_CONTEXT(SOCKET skt,SOCKET sktAccept)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_UPDATE_ACCEPT_CONTEXT,(char*)&sktAccept,sizeof(SOCKET)));
-}
-
-
-#if(_WIN32_WINNT >= 0x0501)
-__inline int SocketSetUPDATE_CONNECT_CONTEXT(SOCKET skt)
-{
-return(setsockopt(skt,SOL_SOCKET,SO_UPDATE_CONNECT_CONTEXT,NULL,0));
-}
-#endif
-
-
-
-
-__inline BOOL SocketGetHDRINCL(SOCKET skt)
-{
- BOOL bRet;
- int iSize=sizeof(BOOL);
- if (getsockopt(skt,IPPROTO_IP,IP_HDRINCL,(char*)&bRet,(int*)&iSize)!=NO_ERROR) bRet=FALSE;
-return(bRet);
-}
-
-__inline int SocketSetHDRINCL(SOCKET skt,BOOL bProvideIPHdr)
-{
-return(setsockopt(skt,IPPROTO_IP,IP_HDRINCL,(const char*)&bProvideIPHdr,sizeof(DWORD)));
-}
-
-
-#define TOS_DEFAULT 0
-#define TOS_MIN_MONETARY_COST 2
-#define TOS_MIN_RELIABILITY 4
-#define TOS_MAX_THROUGHPUT 8
-#define TOS_MIN_DELAY 16
-#define TOS_MAX_SECURITY 30
-
-__inline int SocketSetTOS(SOCKET skt,DWORD dwTOS)
-{
-return(setsockopt(skt,IPPROTO_IP,IP_TOS,(const char*)&dwTOS,sizeof(DWORD)));
-}
-
-
-__inline int SocketSetTTL(SOCKET skt,UINT iTTL)
-{
-return(setsockopt(skt,IPPROTO_IP,IP_TTL,(const char*)&iTTL,sizeof(DWORD)));
-}
-
-
-__inline int SocketSetTCP_NODELAY(SOCKET skt,BOOL bTCPNoDelay)
-{
-return(setsockopt(skt,IPPROTO_TCP,TCP_NODELAY,(const char*)&bTCPNoDelay,sizeof(DWORD)));
-}
-
-/*
-int // OUT: whatever setsockopt() returns
-join_source_group(int sd, u_int32 grpaddr,
- u_int32 srcaddr, u_int32 iaddr)
-{
- struct ip_mreq_source imr;
-
- imr.imr_multiaddr.s_addr = grpaddr;
- imr.imr_sourceaddr.s_addr = srcaddr;
- imr.imr_interface.s_addr = iaddr;
- return setsockopt(sd, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP, &imr, sizeof(imr));
-}
-
-int
-leave_source_group(int sd, u_int32 grpaddr,
- u_int32 srcaddr, u_int32 iaddr)
-{
- struct ip_mreq_source imr;
-
- imr.imr_multiaddr.s_addr = grpaddr;
- imr.imr_sourceaddr.s_addr = srcaddr;
- imr.imr_interface.s_addr = iaddr;
- return setsockopt(sd, IPPROTO_IP, IP_DROP_SOURCE_MEMBERSHIP, &imr, sizeof(imr));
-}*/
-
-
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-__inline BOOL WINAPI DisconnectExTF(SOCKET hSocket,LPOVERLAPPED lpOverlapped,DWORD dwFlags,DWORD reserved)
-{
- reserved=0;
- dwFlags&=TF_REUSE_SOCKET;
- dwFlags|=TF_DISCONNECT;
-return(TransmitFile(hSocket,NULL,0,0,lpOverlapped,NULL,dwFlags));
-}
-
-
-
-__inline DWORD SocketsInitialize()
-{
- DWORD dwRetErrorCode;
- WSADATA wsaData;
-
- if ((dwRetErrorCode=WSAStartup(MAKEWORD(1,1),&wsaData))==NO_ERROR)
- {// version 1.1 OK
- WSACleanup();
-
- dwRetErrorCode=WSAStartup(wsaData.wHighVersion,&wsaData);
- }
-return(dwRetErrorCode);
-}
-
-
-#if(_WIN32_WINNT >= 0x0501)
-__inline DWORD SocketsInitializeEx(DWORD dwFlags)
-{
- DWORD dwRetErrorCode;
- WSADATA wsaData;
-
- dwFlags=0;
- if ((dwRetErrorCode=WSAStartup(MAKEWORD(1,1),&wsaData))==NO_ERROR)
- {// version 1.1 OK
- WSACleanup();
- if ((dwRetErrorCode=WSAStartup(wsaData.wHighVersion,&wsaData))==NO_ERROR)
- {// max version initialized
- SOCKET skt;
-
- if ((skt=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,WSA_FLAG_OVERLAPPED))!=INVALID_SOCKET)
- {
- DWORD dwSize;
- GUID ExtensionGuidCONNECTEX=WSAID_CONNECTEX;
- GUID ExtensionGuidDISCONNECTEX=WSAID_DISCONNECTEX;
- GUID ExtensionGuidTRANSMITPACKETS=WSAID_TRANSMITPACKETS;
-
- dwRetErrorCode=NO_ERROR;
-
- if (WSAIoctl(skt,SIO_GET_EXTENSION_FUNCTION_POINTER,&ExtensionGuidCONNECTEX,sizeof(GUID),&ConnectEx,sizeof(FARPROC),&dwSize,NULL,NULL)==0)
- {
- if (ConnectEx==NULL) dwRetErrorCode=WSAGetLastError();
- }else{
- dwRetErrorCode=WSAGetLastError();
- }
-
-
- if (WSAIoctl(skt,SIO_GET_EXTENSION_FUNCTION_POINTER,&ExtensionGuidDISCONNECTEX,sizeof(GUID),&DisconnectEx,sizeof(FARPROC),&dwSize,NULL,NULL)==0)
- {
- if (DisconnectEx==NULL)
- {
- DisconnectEx=DisconnectExTF;
- //dwRetErrorCode=WSAGetLastError();
- }
- }else{
- dwRetErrorCode=WSAGetLastError();
- }
-
- if (WSAIoctl(skt,SIO_GET_EXTENSION_FUNCTION_POINTER,&ExtensionGuidTRANSMITPACKETS,sizeof(GUID),&TransmitPackets,sizeof(FARPROC),&dwSize,NULL,NULL)==0)
- {
- if (TransmitPackets==NULL) dwRetErrorCode=WSAGetLastError();
- }else{
- dwRetErrorCode=WSAGetLastError();
- }
-
- closesocket(skt);
- }else{
- dwRetErrorCode=WSAGetLastError();
- }
- }
- }
-return(dwRetErrorCode);
-}
-#endif
-
-
-
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-///////////////////////////SOCKADDR_STORAGE/////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-#if(_WIN32_WINNT >= 0x0501)
-
-__inline DWORD SockAddrInDataSet(LPCVOID lpcsasSockAddrStorage,DWORD dwPort,LPCVOID lpcAddress,size_t dwAddressSize)
-{
- DWORD dwRetErrorCode=NO_ERROR;
-
- if (lpcsasSockAddrStorage && lpcAddress)
- {
- switch(dwAddressSize){
- case sizeof(in_addr):
- ((sockaddr_in*)lpcsasSockAddrStorage)->sin_family=AF_INET;
- ((sockaddr_in*)lpcsasSockAddrStorage)->sin_port=HTONS((WORD)dwPort);
- (*((DWORD*)&(((sockaddr_in*)lpcsasSockAddrStorage)->sin_addr)))=(*((DWORD*)lpcAddress));
- break;
- case sizeof(in6_addr):
- ((sockaddr_in6*)lpcsasSockAddrStorage)->sin6_family=AF_INET6;
- ((sockaddr_in6*)lpcsasSockAddrStorage)->sin6_port=HTONS((WORD)dwPort);
- memmove(&(((sockaddr_in6*)lpcsasSockAddrStorage)->sin6_addr),lpcAddress,sizeof(in6_addr));
- break;
- default:
- dwRetErrorCode=ERROR_INVALID_PARAMETER;
- break;
- }
- }else{
- dwRetErrorCode=ERROR_INVALID_HANDLE;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD SockAddrInPortSet(LPCVOID lpcsasSockAddrStorage,DWORD dwPort)
-{
- DWORD dwRetErrorCode=NO_ERROR;
-
- if (lpcsasSockAddrStorage)
- {
- switch(((SOCKADDR_STORAGE*)lpcsasSockAddrStorage)->ss_family){
- case AF_INET:
- ((sockaddr_in*)lpcsasSockAddrStorage)->sin_port=HTONS((WORD)dwPort);
- break;
- case AF_INET6:
- ((sockaddr_in6*)lpcsasSockAddrStorage)->sin6_port=HTONS((WORD)dwPort);
- break;
- default:
- dwRetErrorCode=ERROR_INVALID_PARAMETER;
- break;
- }
- }else{
- dwRetErrorCode=ERROR_INVALID_HANDLE;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD SockAddrInAddressSet(LPCVOID lpcsasSockAddrStorage,LPCVOID lpcAddress,size_t dwAddressSize)
-{
- DWORD dwRetErrorCode=NO_ERROR;
-
- if (lpcsasSockAddrStorage && lpcAddress)
- {
- switch(dwAddressSize){
- case sizeof(in_addr):
- ((sockaddr_in*)lpcsasSockAddrStorage)->sin_family=AF_INET;
- (*((DWORD*)&(((sockaddr_in*)lpcsasSockAddrStorage)->sin_addr)))=(*((DWORD*)lpcAddress));
- break;
- case sizeof(in6_addr):
- ((sockaddr_in6*)lpcsasSockAddrStorage)->sin6_family=AF_INET6;
- memmove(&(((sockaddr_in6*)lpcsasSockAddrStorage)->sin6_addr),lpcAddress,sizeof(in6_addr));
- break;
- default:
- dwRetErrorCode=ERROR_INVALID_PARAMETER;
- break;
- }
- }else{
- dwRetErrorCode=ERROR_INVALID_HANDLE;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD SockAddrAddressSet(LPCVOID lpcsasSockAddrStorage,LPCVOID lpcAddress,size_t dwAddressSize)
-{
- DWORD dwRetErrorCode=NO_ERROR;
-
- if (lpcsasSockAddrStorage && lpcAddress)
- {
- switch(dwAddressSize){
- case sizeof(in_addr):
- ((sockaddr*)lpcsasSockAddrStorage)->sa_family=AF_INET;
- (*((DWORD*)&(((sockaddr*)lpcsasSockAddrStorage)->sa_data)))=(*((DWORD*)lpcAddress));
- break;
- case sizeof(in6_addr):
- ((sockaddr*)lpcsasSockAddrStorage)->sa_family=AF_INET6;
- memmove(&(((sockaddr*)lpcsasSockAddrStorage)->sa_data),lpcAddress,sizeof(in6_addr));
- break;
- default:
- dwRetErrorCode=ERROR_INVALID_PARAMETER;
- break;
- }
- }else{
- dwRetErrorCode=ERROR_INVALID_HANDLE;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline size_t SockAddrGetSize(LPCVOID lpcsasSockAddrStorage)
-{
- size_t dwRet;
-
- if (lpcsasSockAddrStorage)
- {
- switch(((SOCKADDR_STORAGE*)lpcsasSockAddrStorage)->ss_family){
- case AF_INET:
- dwRet=sizeof(sockaddr_in);
- break;
- case AF_INET6:
- dwRet=sizeof(sockaddr_in6);
- break;
- default:
- dwRet=sizeof(SOCKADDR_STORAGE);
- break;
- }
- }else{
- dwRet=0;
- }
-return(dwRet);
-}
-
-
-#endif
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-
-
#endif //AFX_SOCKET_FUNCTIONS__H__INCLUDED_
\ No newline at end of file diff --git a/protocols/MRA/src/Sdk/StrHexToNum.h b/protocols/MRA/src/Sdk/StrHexToNum.h index e4a5cc98fa..6b99b524c2 100644 --- a/protocols/MRA/src/Sdk/StrHexToNum.h +++ b/protocols/MRA/src/Sdk/StrHexToNum.h @@ -37,43 +37,6 @@ #endif // _MSC_VER > 1000
-
-
-__inline size_t StrHexToUNum(LPCSTR lpcszString,size_t dwStringLen)
-{
- size_t dwNum=0;
- BYTE bCurentFigure;
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- dwNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
-return(dwNum);
-}
-
__inline DWORD StrHexToUNum32(LPCSTR lpcszString,size_t dwStringLen)
{
DWORD dwNum=0;
@@ -110,525 +73,5 @@ __inline DWORD StrHexToUNum32(LPCSTR lpcszString,size_t dwStringLen) return(dwNum);
}
-__inline DWORDLONG StrHexToUNum64(LPCSTR lpcszString,size_t dwStringLen)
-{
- DWORDLONG dwlNum=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- dwlNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwlNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
-return(dwlNum);
-}
-
-
-
-__inline DWORD StrHexToUNumEx(LPCSTR lpcszString,size_t dwStringLen,size_t *pdwNum)
-{
- DWORD dwRetErrorCode;
- size_t dwNum=0,dwProcessed=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- dwNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pdwNum) (*pdwNum)=dwNum;
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrHexToUNumEx32(LPCSTR lpcszString,size_t dwStringLen,DWORD *pdwNum)
-{
- DWORD dwRetErrorCode;
- DWORD dwNum=0,dwProcessed=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- dwNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pdwNum) (*pdwNum)=dwNum;
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrHexToUNumEx64(LPCSTR lpcszString,size_t dwStringLen,DWORDLONG *pdwlNum)
-{
- DWORD dwRetErrorCode;
- DWORDLONG dwlNum=0;
- size_t dwProcessed=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- dwlNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwlNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pdwlNum) (*pdwlNum)=dwlNum;
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-
-
-__inline SSIZE_T StrHexToNum(LPCSTR lpcszString,size_t dwStringLen)
-{
- SSIZE_T lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- lNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
- lNum*=lSingn;
-
-return(lNum);
-}
-
-
-__inline LONG StrHexToNum32(LPCSTR lpcszString,size_t dwStringLen)
-{
- LONG lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- lNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
- lNum*=lSingn;
-
-return(lNum);
-}
-
-
-__inline LONGLONG StrHexToNum64(LPCSTR lpcszString,size_t dwStringLen)
-{
- LONGLONG llNum=0,llSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') llSingn=-1;
- if (bCurentFigure=='+') llSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- llNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- llNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
- llNum*=llSingn;
-
-return(llNum);
-}
-
-
-
-__inline DWORD StrHexToNumEx(LPCSTR lpcszString,size_t dwStringLen,SSIZE_T *plNum)
-{
- DWORD dwRetErrorCode;
- size_t dwProcessed=0;
- SSIZE_T lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- lNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (plNum) (*plNum)=(lNum*lSingn);
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrHexToNumEx32(LPCSTR lpcszString,size_t dwStringLen,LONG *plNum)
-{
- DWORD dwRetErrorCode;
- size_t dwProcessed=0;
- LONG lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- lNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (plNum) (*plNum)=(lNum*lSingn);
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrHexToNumEx64(LPCSTR lpcszString,size_t dwStringLen,LONGLONG *pllNum)
-{
- DWORD dwRetErrorCode;
- size_t dwProcessed=0;
- LONGLONG llNum=0,llSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') llSingn=-1;
- if (bCurentFigure=='+') llSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- bCurentFigure=(*lpcszString);
- if ('0'<=bCurentFigure && bCurentFigure<='9')
- {
- bCurentFigure-='0';
- }else
- if ('a'<=bCurentFigure && bCurentFigure<='f')
- {
- bCurentFigure-=('a'+10);
- }else
- if ('A'<=bCurentFigure && bCurentFigure<='F')
- {
- bCurentFigure-=('A'+10);
- }else{
- bCurentFigure=255;
- }
-
- if (bCurentFigure!=255)
- {
- llNum*=16;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- llNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pllNum) (*pllNum)=(llNum*llSingn);
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-
#endif // !defined(AFX_STRHEXTONUM__H__INCLUDED_)
\ No newline at end of file diff --git a/protocols/MRA/src/Sdk/StrToNum.h b/protocols/MRA/src/Sdk/StrToNum.h index 6e67ac6be1..bb34aa31c2 100644 --- a/protocols/MRA/src/Sdk/StrToNum.h +++ b/protocols/MRA/src/Sdk/StrToNum.h @@ -37,9 +37,6 @@ #endif // _MSC_VER > 1000
-
-
-
__inline size_t StrToUNum(LPCSTR lpcszString,size_t dwStringLen)
{
size_t dwNum=0;
@@ -102,117 +99,6 @@ __inline DWORDLONG StrToUNum64(LPCSTR lpcszString,size_t dwStringLen) return(dwlNum);
}
-
-
-
-__inline DWORD StrToUNumEx(LPCSTR lpcszString,size_t dwStringLen,size_t *pdwNum)
-{
- DWORD dwRetErrorCode;
- size_t dwNum=0,dwProcessed=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- dwNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pdwNum) (*pdwNum)=dwNum;
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrToUNumEx32(LPCSTR lpcszString,size_t dwStringLen,DWORD *pdwNum)
-{
- DWORD dwRetErrorCode;
- DWORD dwNum=0,dwProcessed=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- dwNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pdwNum) (*pdwNum)=dwNum;
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrToUNumEx64(LPCSTR lpcszString,size_t dwStringLen,DWORDLONG *pdwlNum)
-{
- DWORD dwRetErrorCode;
- DWORDLONG dwlNum=0;
- size_t dwProcessed=0;
- BYTE bCurentFigure;
-
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- dwlNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- dwlNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pdwlNum) (*pdwlNum)=dwlNum;
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-
-
__inline SSIZE_T StrToNum(LPCSTR lpcszString,size_t dwStringLen)
{
SSIZE_T lNum=0,lSingn=1;
@@ -244,204 +130,4 @@ return(lNum); }
-__inline LONG StrToNum32(LPCSTR lpcszString,size_t dwStringLen)
-{
- LONG lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- lNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
- lNum*=lSingn;
-
-return(lNum);
-}
-
-
-__inline LONGLONG StrToNum64(LPCSTR lpcszString,size_t dwStringLen)
-{
- LONGLONG llNum=0,llSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') llSingn=-1;
- if (bCurentFigure=='+') llSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- llNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- llNum+=bCurentFigure;// добавляем цифру в младший разряд
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
- llNum*=llSingn;
-
-return(llNum);
-}
-
-
-
-__inline DWORD StrToNumEx(LPCSTR lpcszString,size_t dwStringLen,SSIZE_T *plNum)
-{
- DWORD dwRetErrorCode;
- size_t dwProcessed=0;
- SSIZE_T lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- lNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (plNum) (*plNum)=(lNum*lSingn);
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrToNumEx32(LPCSTR lpcszString,size_t dwStringLen,LONG *plNum)
-{
- DWORD dwRetErrorCode;
- size_t dwProcessed=0;
- LONG lNum=0,lSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') lSingn=-1;
- if (bCurentFigure=='+') lSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- lNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- lNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (plNum) (*plNum)=(lNum*lSingn);
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-__inline DWORD StrToNumEx64(LPCSTR lpcszString,size_t dwStringLen,LONGLONG *pllNum)
-{
- DWORD dwRetErrorCode;
- size_t dwProcessed=0;
- LONGLONG llNum=0,llSingn=1;
- BYTE bCurentFigure;
-
-
- while(dwStringLen && ((bCurentFigure=((*lpcszString)-48))>9))
- {
- if (bCurentFigure=='-') llSingn=-1;
- if (bCurentFigure=='+') llSingn=1;
-
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- while(dwStringLen)
- {
- if ((bCurentFigure=((*lpcszString)-48))<10)
- {
- llNum*=10;// сдвигаем предыдущее число на один разряд чтоб добавить в младший разряд новую цифру
- llNum+=bCurentFigure;// добавляем цифру в младший разряд
- dwProcessed++;// увеличиваем счётчик обработанных цифр
- }
- lpcszString++;// перемещаем указатель на следующую позицию
- dwStringLen--;// уменьшаем длинну
- }
-
- if (dwProcessed)
- {// как минимум одна цифра была обработана
- if (pllNum) (*pllNum)=(llNum*llSingn);
- if (dwProcessed==dwStringLen)
- {// в строке были только цифры, всё отработало как нужно //Операция успешно завершена.
- dwRetErrorCode=NO_ERROR;
- }else{// в строке были не только цифры //Имеются дополнительные данные.
- dwRetErrorCode=ERROR_MORE_DATA;
- }
- }else{// строка вообще не содержала цифр //Недопустимые данные.
- dwRetErrorCode=ERROR_INVALID_DATA;
- }
-return(dwRetErrorCode);
-}
-
-
-
-
#endif // !defined(AFX_STRTONUM__H__INCLUDED_)
\ No newline at end of file diff --git a/protocols/MRA/src/Sdk/timefuncs.h b/protocols/MRA/src/Sdk/timefuncs.h index 3b25b99787..976abd1792 100644 --- a/protocols/MRA/src/Sdk/timefuncs.h +++ b/protocols/MRA/src/Sdk/timefuncs.h @@ -106,26 +106,4 @@ return(bRet); }
-
-static inline __time32_t __cdecl _mktime32(struct tm *ptmTime)
-{
- SYSTEMTIME stTime;
-
- stTime.wMilliseconds=0;
- stTime.wSecond=ptmTime->tm_sec; // seconds after the minute - [0,59]
- stTime.wMinute=ptmTime->tm_min; // minutes after the hour - [0,59]
- stTime.wHour=ptmTime->tm_hour; // hours since midnight - [0,23]
- stTime.wDay=ptmTime->tm_mday; // day of the month - [1,31]
- stTime.wMonth=(ptmTime->tm_mon+1); // months since January - [0,11]
- stTime.wYear=(ptmTime->tm_year+1900); // years since 1900
- stTime.wDayOfWeek=0;//ptmTime->tm_wday; // days since Sunday - [0,6]
- //ptmTime->tm_yday; // days since January 1 - [0,365]
- //ptmTime->tm_isdst; // daylight savings time flag
-return(MakeTime32FromLocalSystemTime(&stTime));
-}
-
-
-
-
-
#endif // !defined(AFX_TIME_FUNCS__H__INCLUDED_)
|