Hi Burton and Jac (and all, let's not exclude anyone :D), files are up at http://savefile.com/projects.php?pid=420840 - REVIEWED patches related to CVS as of today (Aug 29th, checked the module MINUTES ago) and this time with CORRECT docs, the much-needed libs (HELL ON EARTH to find and integrate them), and for the lazy ones a zip file with source and libs ready to compile. Best of all, now IPv6 IS SUPPORTED (much to my surprise, caught a few of these packets in my LAN today)! I suppose this brings ntop Win32 up to speed with ntop Linux in terms of features. Just to be safe, U Burton, I'm not a C/C++ coder by trade, I just know enought to fix things I want/need. I'm sure that having ntop run on MingW will attract SKILLED Windows programmers, and while I recognize my approaches aren't the the prettiest, they work - and I've seen quite a few ugly things while skimming through the code. I'll have a look at the u_int64_t problem. Regards,
Georger --- Burton Strauss <[EMAIL PROTECTED]> escreveu: > Never came through to my system - looks like a > couple of messages didn't > make it on those days s'be'it... > > Comments... > > * sFlow - remember, sFlow could be seeing IPv6 data > on a non-V6 host. Are > you sure you want to remove all IPv6 processing? > > > * uintnn_t vs. u_intnn_t. Rather than put a bunch > of #ifdef everywhere, why > don't you fix it right? The uintnn_t types appear > only one or two places in > all of ntop while the corresponding u_intnn_t types > appear in 100s. > > $ codegrep uint8_t > globals-core.h:955:#define IN6_IS_ADDR_MULTICAST(a) > (((uint8_t *) (a))[0] == > 0xff) > globals-structtypes.h:57:typedef u_char uint8_t; > pbuf.c:3797: uint8_t sof = 0, eof = 0, error = 0; > > Gets rid of junk like this: > > +#if defined(WIN32) && defined(__GNUC__) > + u_int16_t protocolId; > +#else > uint16_t protocolId; > +#endif > > > * If MinGW doesn't support 64 bit counters, you have > a lot of problems w/ > roll-over. So this is probably wrong: > > #if defined(WIN32) && defined(__GNUC__) > -typedef unsigned long long u_int64_t; /* on mingw > unsigned long is 32 bits > */ > +//typedef unsigned long long u_int64_t; /* on mingw > unsigned long is 32 > bits */ > #else > > You have to figure SOMETHING out for u_int64_t. > > > * Rather than commenting bad crud out, just remove > it: > > #if defined(WIN32) && defined(__GNUC__) > -extern char *gdbm_strerror(gdbm_error errno); > +//extern char *gdbm_strerror(gdbm_error errno); > #endif > > * Unless it's clearer (i.e. code at each level), > don't code this: > > #if defined(WIN32) && defined(__GNUC__) > #ifndef _GETOPT_H > #ifndef HAVE_GETOPT_H > ... > #endif /* HAVE_GETOPT_H */ > #endif /* _GETOPT_H */ > #endif /* WIN32 && __GNUC__ */ > > Instead: > > #if defined(WIN32) && defined(__GNUC__) && > !defined(_GETOPT_H) && > !defined(HAVE_GETOPT_H) > #endif /* Win32 && __GNUC__ && !_GETOPT_H && > !HAVE_GETOPT_H > > (FWIW, _GETOPT_H is local to getopt.c and so > unnecessary - the line in > plugins\rrdPlugin.c s/b removed) > > > * WRT globals-defines.h change, the point if the > #ifdef WIN32 stuff is to > define those things which don't exist for the MS > VC++ compiler. You may > need to provide different definitions, so you may > need to add a #ifdef > __GNUC__ set, but... rather than removing these for > MinGW and then adding > dozens of #ifdef lines in the code, why don't you > follow suit? __________________________________________________ Converse com seus amigos em tempo real com o Yahoo! Messenger http://br.download.yahoo.com/messenger/ _______________________________________________ Ntop-dev mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-dev
