Просмотр исходного кода

Built 32- and 64-bit DLLs on 64-bit Vista using MinGW-64 (as before) and MinGW. Ran BuildDistribution to create new SNFMultiSDK_Windows_3.1.zip. Added missing .exp and .lib files to SNFMultiSDK_Windows_3.1.

git-svn-id: https://svn.microneil.com/svn/PKG-SNF-SDK-WIN/trunk@14 7d91e7c8-5a61-404e-b06a-95855fde9112
master
adeniz 13 лет назад
Родитель
Сommit
8338f05dd2
25 измененных файлов: 119 добавлений и 25 удалений
  1. 0
    1
      32bitDll/snfmulti.def
  2. Двоичные данные
      32bitDll/snfmulti.dll
  3. Двоичные данные
      32bitDll/vs2008_snfmulti.exp
  4. Двоичные данные
      32bitDll/vs2008_snfmulti.lib
  5. Двоичные данные
      64bitDll/snfmulti.dll
  6. Двоичные данные
      64bitDll/vs2008_snfmulti.exp
  7. Двоичные данные
      64bitDll/vs2008_snfmulti.lib
  8. 36
    0
      MinGW-32/README
  9. 7
    0
      MinGW-32/buildSNFMultiDLL.cmd
  10. 8
    0
      MinGW-32/buildSNFMultiTestDLL.cmd
  11. 3
    0
      MinGW-32/buildvs2008SNFMultiImportLib.cmd
  12. 26
    0
      MinGW-32/compileSNFMultiDLL.cmd
  13. 4
    0
      MinGW-32/installSNFMultiLibrary.cmd
  14. 8
    6
      MinGW/README
  15. 3
    0
      MinGW/buildvs2008SNFMultiImportLib.cmd
  16. Двоичные данные
      SNFMultiSDK_Windows_3.1.zip
  17. 0
    1
      SNFMultiSDK_Windows_3.1/32bitDll/snfmulti.def
  18. Двоичные данные
      SNFMultiSDK_Windows_3.1/32bitDll/snfmulti.dll
  19. Двоичные данные
      SNFMultiSDK_Windows_3.1/32bitDll/vs2008_snfmulti.exp
  20. Двоичные данные
      SNFMultiSDK_Windows_3.1/32bitDll/vs2008_snfmulti.lib
  21. Двоичные данные
      SNFMultiSDK_Windows_3.1/64bitDll/snfmulti.dll
  22. Двоичные данные
      SNFMultiSDK_Windows_3.1/64bitDll/vs2008_snfmulti.exp
  23. Двоичные данные
      SNFMultiSDK_Windows_3.1/64bitDll/vs2008_snfmulti.lib
  24. 13
    9
      SNFMultiSDK_Windows_3.1/CodeDweller/networking.cpp
  25. 11
    8
      readme

+ 0
- 1
32bitDll/snfmulti.def Просмотреть файл

@@ -1,4 +1,3 @@
LIBRARY snfmulti
EXPORTS
closeScan @1
getIPReputation @2

Двоичные данные
32bitDll/snfmulti.dll Просмотреть файл


Двоичные данные
32bitDll/vs2008_snfmulti.exp Просмотреть файл


Двоичные данные
32bitDll/vs2008_snfmulti.lib Просмотреть файл


Двоичные данные
64bitDll/snfmulti.dll Просмотреть файл


Двоичные данные
64bitDll/vs2008_snfmulti.exp Просмотреть файл


Двоичные данные
64bitDll/vs2008_snfmulti.lib Просмотреть файл


+ 36
- 0
MinGW-32/README Просмотреть файл

@@ -0,0 +1,36 @@
README file for command files for building SNFServer library and applications
Copyright (c) 2009 ARM Research Laboratories
This is the README file for building the SNFMulti library and
SNFMultiTest application using the 64-bit MinGW toolchain.
To build SNFMulti.dll
1) Run "compileSNFMultiDLL.cmd". This compiles the SNFMulti files
for building a DLL. The object files are created in the current
directory. The source files are in the ../SNFMulti and
../CodeDweller directories.
2) Run "buildSNFMultiDLL.cmd". This builds snfmulti.dll,
libsnfmulti.a, and snfmulti.def. These are the same files built
by Code::Blocks.
To build the import and export SNFMulti libraries for VS2008:
1) With the VS2008 command prompt, run "buildVS2008SNFMultiImportLib.cmd".
This reads snfmulti.def and creates vs2008_snfmulti.lib (the SNFMulti import
library) and vs2008_snfmulti.exp (the SNFMulti export library).
To copy to where the sample programs can find the files:
1) Run "installSNFMultiLibrary.cmd". This copies the output files into
the ..\64bitDll directory.
To build SNFMultiTest linked with SNFMulti.dll:
1) Run "buildSNFMultiTestDLL.cmd". This builds SNFMultiTest.exe,
linking with SNFMulti.dll. Because SNFMulti.dll is in the current
directory, SNFMultiTest.exe can be run from the command line
without modifying the PATH variable.

+ 7
- 0
MinGW-32/buildSNFMultiDLL.cmd Просмотреть файл

@@ -0,0 +1,7 @@
setlocal
del snfmulti.dll snfmulti.def libsnfmulti.a
set path=c:\MinGW\bin;%path%
set CXX=c++
set LIB=c:\MinGW\lib\libws2_32.a -loleaut32
set LDFLAGS=-Wl,--output-def=snfmulti.def -Wl,--out-implib=libsnfmulti.a -Wl,-dll
%CXX% -shared -o snfmulti.dll %LDFLAGS% snfmultidll.o FilterChain.o GBUdb.o mangler.o scanner.o snfCFGmgr.o snf_engine.o snfGBUdbmgr.o snf_HeaderFinder.o snfLOGmgr.o SNFMulti.o snfNETmgr.o snf_sync.o snf_xci.o snfXCImgr.o base64codec.o configuration.o networking.o threading.o timing.o %LIB%

+ 8
- 0
MinGW-32/buildSNFMultiTestDLL.cmd Просмотреть файл

@@ -0,0 +1,8 @@
setlocal
del SNFMultiTest.exe
set path=c:\MinGW\bin;%path%
set CXX=c++
set CXXFLAGS=-I../include -I../SNFMulti -I../CodeDweller -I.. -mthreads
set LIB=c:\MinGW\lib\libws2_32.a
set LDFLAGS=-L. -lSNFMulti
%CXX% ../SNFMultiTest/main.cpp ../CodeDweller/timing.cpp ../CodeDweller/threading.cpp %CXXFLAGS% -o SNFMultiTest.exe %LDFLAGS%

+ 3
- 0
MinGW-32/buildvs2008SNFMultiImportLib.cmd Просмотреть файл

@@ -0,0 +1,3 @@
DEL vs2008_snfmulti.*
LIB /DEF:SNFMulti.def /OUT:vs2008_snfmulti.lib /MACHINE:X86

+ 26
- 0
MinGW-32/compileSNFMultiDLL.cmd Просмотреть файл

@@ -0,0 +1,26 @@
setlocal
set path=c:\MinGW\bin;%path%
set CXX=c++
set CXXFLAGS=-I../CodeDweller -I../SNFMulti -mthreads -O3
del *.o
%CXX% %CXXFLAGS% -c ../SNFMulti/FilterChain.cpp -o FilterChain.o
%CXX% %CXXFLAGS% -c ../SNFMulti/GBUdb.cpp -o GBUdb.o
%CXX% %CXXFLAGS% -c ../SNFMulti/scanner.cpp -o scanner.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snfCFGmgr.cpp -o snfCFGmgr.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snfGBUdbmgr.cpp -o snfGBUdbmgr.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snfLOGmgr.cpp -o snfLOGmgr.o
%CXX% %CXXFLAGS% -c ../SNFMulti/SNFMulti.cpp -o SNFMulti.o
%CXX% %CXXFLAGS% -c ../SNFMultiDll/snfmultidll.cpp -I../include -o snfmultidll.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snfNETmgr.cpp -o snfNETmgr.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snfXCImgr.cpp -o snfXCImgr.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snf_engine.cpp -o snf_engine.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snf_HeaderFinder.cpp -o snf_HeaderFinder.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snf_sync.cpp -o snf_sync.o
%CXX% %CXXFLAGS% -c ../SNFMulti/snf_xci.cpp -o snf_xci.o
%CXX% %CXXFLAGS% -c ../CodeDweller/base64codec.cpp -o base64codec.o
%CXX% %CXXFLAGS% -c ../CodeDweller/configuration.cpp -o configuration.o
%CXX% %CXXFLAGS% -c ../CodeDweller/mangler.cpp -o mangler.o
%CXX% %CXXFLAGS% -c ../CodeDweller/networking.cpp -o networking.o
%CXX% %CXXFLAGS% -c ../CodeDweller/threading.cpp -o threading.o
%CXX% %CXXFLAGS% -c ../CodeDweller/timing.cpp -o timing.o

+ 4
- 0
MinGW-32/installSNFMultiLibrary.cmd Просмотреть файл

@@ -0,0 +1,4 @@
set DESTDIR=..\32bitDll
COPY snfmulti.dll %DESTDIR%
COPY snfmulti.def %DESTDIR%
COPY vs2008_snfmulti.* %DESTDIR%

+ 8
- 6
MinGW/README Просмотреть файл

@@ -16,14 +16,16 @@ To build SNFMulti.dll
libsnfmulti.a, and snfmulti.def. These are the same files built
by Code::Blocks.
3) Run "installSNFMultiLibrary.cmd". This copies the output files into
the ..\64bitDll directory.
To build the import and export SNFMulti libraries for VS2008:
1) Run "buildVS2008SNFMultiImportLib.cmd". This reads snfmulti.def
and creates vs2008_snfmulti.lib (the SNFMulti import library) and
vs2008_snfmulti.exp (the SNFMulti export library).
1) With the VS2008 command prompt, run "buildVS2008SNFMultiImportLib.cmd".
This reads snfmulti.def and creates vs2008_snfmulti.lib (the SNFMulti import
library) and vs2008_snfmulti.exp (the SNFMulti export library).
To copy to where the sample programs can find the files:
1) Run "installSNFMultiLibrary.cmd". This copies the output files into
the ..\64bitDll directory.
To build SNFMultiTest linked with SNFMulti.dll:

+ 3
- 0
MinGW/buildvs2008SNFMultiImportLib.cmd Просмотреть файл

@@ -0,0 +1,3 @@
DEL vs2008_snfmulti.*
LIB /DEF:SNFMulti.def /OUT:vs2008_snfmulti.lib /MACHINE:X64

Двоичные данные
SNFMultiSDK_Windows_3.1.zip Просмотреть файл


+ 0
- 1
SNFMultiSDK_Windows_3.1/32bitDll/snfmulti.def Просмотреть файл

@@ -1,4 +1,3 @@
LIBRARY snfmulti
EXPORTS
closeScan @1
getIPReputation @2

Двоичные данные
SNFMultiSDK_Windows_3.1/32bitDll/snfmulti.dll Просмотреть файл


Двоичные данные
SNFMultiSDK_Windows_3.1/32bitDll/vs2008_snfmulti.exp Просмотреть файл


Двоичные данные
SNFMultiSDK_Windows_3.1/32bitDll/vs2008_snfmulti.lib Просмотреть файл


Двоичные данные
SNFMultiSDK_Windows_3.1/64bitDll/snfmulti.dll Просмотреть файл


Двоичные данные
SNFMultiSDK_Windows_3.1/64bitDll/vs2008_snfmulti.exp Просмотреть файл


Двоичные данные
SNFMultiSDK_Windows_3.1/64bitDll/vs2008_snfmulti.lib Просмотреть файл


+ 13
- 9
SNFMultiSDK_Windows_3.1/CodeDweller/networking.cpp Просмотреть файл

@@ -427,27 +427,31 @@ TCPClient* TCPListener::acceptClient() {
//// TCPClient methods /////////////////////////////////////////////////////////

int TCPClient::transmit(const char* bfr, int size) { // How to send a buffer of data.
LastError = 0; // No errors yet.
if(0 == size) return 0; // Nothing to send, send nothing.
if(0 == bfr) // Watch out for null buffers.
throw Networking::SocketWriteError("TCPClient::transmit() NULL Bfr!");
if(0 > size) // Watch out for bad sizes.
throw Networking::SocketWriteError("TCPClient::transmit() 0 > size!");

int ByteCount = send(Handle, bfr, size, MSG_NOSIGNAL); // Try to send and capture the count.
if(0 > ByteCount) ByteCount = 0; // Mask error results as 0 bytes sent.

if(size > ByteCount) { // If we didn't send it all check it out.
LastError = Network.getLastError(); // Grab the error code.
if(Network.WouldBlock(LastError)) { // If the error was WouldBlock then
return ByteCount; // it was a partial send - return.
LastError = 0; // No errors yet.
int ByteCount = 0; // No bytes sent yet this pass.
ByteCount = send(Handle, bfr, size, MSG_NOSIGNAL); // Try to send and capture the count.
LastError = Network.getLastError(); // Grab any error code.
bool AnErrorOccurred = (0 > ByteCount); // How to know if an error occurred.
const int NoBytesSent = 0; // This is our "Would Block" result.
if(AnErrorOccurred) { // If there was an error check it out.
if(Network.WouldBlock(LastError)) { // If the error was "Would Block" then
return NoBytesSent; // return no bytes sent (try again).
} else { // If this was a different kind of error
throw Networking::SocketWriteError( // then throw!
Network.DescriptiveError(
"TCPClient::transmit().send()", LastError));
}
}
return ByteCount; // Ultimately return the byte count.
return ByteCount; // Usually: return the sent byte count.
}

int TCPClient::receive(char* bfr, int size) { // How to receive a buffer of data.

+ 11
- 8
readme Просмотреть файл

@@ -21,20 +21,23 @@ There are also applications for linking with SNFMulti.dll:
2) The SNFMulti C++ test built with Visual Studio 2008. This can be
built with solution file
VS2008/SNFMultiDLLExampleCsharp/SNFMultiDLLTestC++.sln.
VS2008CPPSample/VS2008CPPSample.sln.
3) A Visual Studio 2008 C# example application. This can be built
with solution file
VS2008/SNFMultiDLLExampleCsharp/SNFMultiDLLExampleCsharp.sln.
with solution file VS2008CSSample/VS2008CSSample.sln.
4) A Visual Studio 2008 VB example application. This can be built
with the solution file
VS2008/SNFMultiDLLExampleVB/SNFMultiDLLExampleVB.sln.
with the solution file VS2008VBSample/VS2008VBSample.sln.
This package includes the following directories (each has a README
file with further information):
MinGW--Contains .CMD files for building SNFMulti.dll and associated
MinGW--Contains .CMD files for building 64-bit SNFMulti.dll and associated
files, and also the C++ application SNFMultiTest. It uses the
source files in the SNFMulti, CodeDweller, and SNFMultiTest
directories. These directories must be present.
MinGW-32--Contains .CMD files for building 32-bit SNFMulti.dll and associated
files, and also the C++ application SNFMultiTest. It uses the
source files in the SNFMulti, CodeDweller, and SNFMultiTest
directories. These directories must be present.
@@ -47,8 +50,8 @@ file with further information):
SNFMultiTest--Contains the source for the C++ test application
SNFMultiTest.
VS2008--Contains the Visual Studio files for building the C# and VB
example applications, and the C++ test.
VS2008CSSample, VS2008VBSample, VS2008CPPSample--Contains the Visual Studio files
for building the C# and VB example applications, and the C++ test.
To build the applications in the MinGW, CodeBlocks, and VS2008
directories:

Загрузка…
Отмена
Сохранить