Re: NT

(Q@@)
Thu, 3 Apr 1997 06:15:46 +1000

Hi Richard,

Have completed phase one of the port.  That is, I have a SNNS win32 DLL
"snns.dll" that works with some of my own tools.  Have also compiled netperf
and bignet as console apps using this DLL.  Everything so far seems to work OK.

The port was very simple and only took a couple of hours to get it to this
stage.  Will tidy it up in the next few weeks for public consumption.
Guenter has suggested that this become part of distribution.  I am happy for
this and will support any win32 issues, if I can, that arise.

How to port:
1)  #ifdef WIN32 and #define some alternative headers for some numeric constants
    and #define a few alternative names for some C runtime routines (e.g.
    "popen" becomes "_popen")

2)  Add the conditional compliation of DLL export specs to the appropriate
    headers.  Details below.

Will post to the list when I've made the source available for distribution.
Should be around three weeks.

The kernel doen't really need UNIX porting utils.  The ANSI C style comes
across pretty simply.  Maybe such utils would be handy for some other stuff.
I know there are some utils to support the porting of X-Windows apps to NT.
If anyone has access to these a port of the GUI could be done.  However, I'm
not too interested in using the GUI myself as I have my own set of tools to
which I've connected the kernel.  

Do you have a reference for Nessus so I check it out?

Hope this helps.


cheers,

matt.

--------------------------------------------------------------
Some more port notes:


I made a header "snnsexp.h"
--------------------------------------------------------------
// If building as the DLL under WIN32 __SNNS_DLL__ needs to be defined.
#ifndef __SNNSEXP_H__
#define __SNNSEXP_H__

#ifndef __SNNS_DLL__
#define SNNSExport 
#else
#define SNNSExport	__declspec( dllexport )
#endif

#endif
--------------------------------------------------------------
Then to each appropriate public *.h and private *.ph file (I only did a few)
add a:

#include "snnsexp.h"

then for each PUBLIC member:
 such as:  extern krui_err kr_npui_setCurrPatSet(int number);
 make it:  extern SNNSExport krui_err kr_npui_setCurrPatSet(int number);

Just add all the appropriate *.c kernel sources to a vanilla DLL project and
that is about it:

Only other thing I can remember that was strange was adding
#ifdef WIN32
#define yywrap yyywrap
#define yyywrap() 1
#include <io.h>
#endif
at the start of kr_pat_scan.c

To load floating point vectors directly in as patterns takes a little more
work.  I'll release this as part of the distribution.
--------------------------------------------------------------



At 12:34 2/04/97 +0200, you wrote:
>Hi Matt,
>
>I've been thinking about porting the SNNS kernel to NT,
>but haven't made a start yet. I would be very interested
>in hearing about your experiences. I have some info on
>Unix porting tools/utilities.
>My idea was to try and use the Nessus network editor to
>create a graphical user interface for NT.
>
>Cheers, Richard
>
>>Matthew Hurd <Matthew.Hurd@bankerstrust.com.au>
>
>>Ported the kernel to NT last night.  Just in the middle of DLL'ing it.  
>>Is SNNS a going concern?  Anyone else ported to NT yet?  What plans are 
>>in place for future releases?
>
>>I look forward to hearing from someone if the list is alive.
>
>################################################################
># Richard de Klerk                                             #
># Forschungszentrum Karlsruhe, Germany                         #
># Phone +49-7247-824238, Fax 822289, Email deklerk@hit.fzk.de  #
># http://hbksun17.fzk.de:8080/hitwww/mitarb/deklerk/           #
># ------------------------------------------------------------ #
># NIMAX: for simulations and neural control of dynamic systems #
># http://hbksun17.fzk.de:8080/hitwww/mitarb/deklerk/nimax.html #
>################################################################
>
______________________________________________________________________

Matthew Hurd                 email:   Matthew.Hurd@bankerstrust.com.au
                             phone:                      61-2-323-8843
Financial Trader             fax:                        61-2-259-9488
Bankers Trust Australia           
Capital Management Group
Level 2, Chifley Tower, 2 Chifley Square
Sydney  NSW  2000  AUSTRALIA
______________________________________________________________________