Plz review this new add to SDL_net

the ICMP part work only on Win32 system …
for compile the ICMP part use : -DACTIVATE_SDLNET_ICMP

and link : -liphlpapi -lws2_32

test the option bind local in the tcp/udp set in mac (i don’t have mac to
test)

tnx for review and feedback !!!

Index: SDL_net.h===================================================================
RCS file: /home/sdlweb/libsdl.org/cvs/SDL_net/SDL_net.h,v
retrieving revision 1.22
diff -u -r1.22 SDL_net.h
— SDL_net.h 7 Aug 2003 01:34:23 -0000 1.22
+++ SDL_net.h 25 Sep 2003 18:26:47 -0000
@@ -99,10 +99,35 @@
*/
extern DECLSPEC const char * SDLCALL SDLNet_ResolveIP(IPaddress *ip);

+//
+/* ICMP network API patch by Emanuele “Goul_duKat” Trevisio
<@Goul_duKat>*/
+/
/
+#ifdef ACTIVATE_SDLNET_ICMP
+
+//return char* to array null terminated where are stored the printable
+//string of the host ip.
+//no thread safe function (don’t deallocate the area returned)
+extern DECLSPEC char * SDLCALL SDLNet_inet_ntoa(IPaddress ip);
+
+//Open a ICMP channel for send echo
+extern DECLSPEC int SDLCALL SDLNet_ICMP_Open(void);
+
+//Close the ICMP channel
+extern DECLSPEC int SDLCALL SDLNet_ICMP_Close(void);
+
+//Fast count rtt and hop (in win32 not need the open of the ICMP channel)
+extern DECLSPEC int SDLCALL SDLNet_ICMP_fast_routeping(Uint32 ip,Uint32
maxhop,Uint32
hop,Uint32* rtt);
+
+//Normal echo whit ttl for traceroute facilities
+//tristate function return -1 on error, 1 no error 2 TTL expired (add for
trace facilities)
+extern DECLSPEC int SDLCALL SDLNet_ICMP_echo(Uint32 ip,Uint8 ttl,Uint32
timeout,Uint32* rtt,Uint32* ipr);

+#endif
//
/* TCP network API */
/
/
+#define SDLNET_OPEN_NORMAL_MODE 0
+#define SDLNET_OPEN_BINDLOCAL 1

typedef struct _TCPsocket *TCPsocket;

@@ -114,7 +139,10 @@
SDLNet_ResolveHost() are already in the correct form).
The newly created socket is returned, or NULL if there was an error.
*/
-extern DECLSPEC TCPsocket SDLCALL SDLNet_TCP_Open(IPaddress *ip);
+//use open mode for bind local ip = SDLNET_OPEN_BINDLOCAL
+/add open mode to listen local definite ip in IPaddress
+patch by Emanuele “Goul_duKat” Trevisio <@Goul_duKat>
/
+extern DECLSPEC TCPsocket SDLCALL SDLNet_TCP_Open(IPaddress *ip,Uint8
open_mode);

/* Accept an incoming connection on the given server socket.
The newly created socket is returned, or NULL if there was an error.
@@ -186,7 +214,10 @@
internally in network (big endian) byte order, in addresses, etc.
This allows other systems to send to this socket via a known port.
*/
-extern DECLSPEC UDPsocket SDLCALL SDLNet_UDP_Open(Uint16 port);
+//use open mode for bind local ip = SDLNET_OPEN_BINDLOCAL
+/add open mode to listen local definite ip in IPaddress
+patch by Emanuele “Goul_duKat” Trevisio <@Goul_duKat>
/
+extern DECLSPEC UDPsocket SDLCALL SDLNet_UDP_Open(IPaddress *ip,Uint8
open_mode);

/* Bind the address ‘address’ to the requested channel on the UDP socket.
If the channel is -1, then the first unbound channel will be bound with
Index: SDLnet.c

RCS file: /home/sdlweb/libsdl.org/cvs/SDL_net/SDLnet.c,v
retrieving revision 1.11
diff -u -r1.11 SDLnet.c
— SDLnet.c 30 Aug 2003 17:32:47 -0000 1.11
+++ SDLnet.c 25 Sep 2003 18:26:48 -0000
@@ -20,7 +20,7 @@
slouken at libsdl.org
*/

-/* $Id: SDLnet.c,v 1.11 2003/08/30 17:32:47 slouken Exp $ /
+/
$Id: SDLnet.c,v 1.10 2003/07/23 05:08:43 slouken Exp $ */

#include <string.h>

@@ -280,6 +280,16 @@
{
if ( !SDLNet_started ) {
#ifdef __USE_W32_SOCKETS
+#ifdef _WINSOCK2_H

  • /* Start up the windows networking */
  • WORD version_wanted = MAKEWORD(2,2);
  • WSADATA wsaData;
  • if ( WSAStartup(version_wanted, &wsaData) != 0 ) {
  • SDLNet_SetError(“Couldn’t initialize Winsock 2.0\n”);
  • return(-1);
  • }
    +#else
    /* Start up the windows networking */
    WORD version_wanted = MAKEWORD(1,1);
    WSADATA wsaData;
    @@ -288,6 +298,7 @@
    SDLNet_SetError(“Couldn’t initialize Winsock 1.1\n”);
    return(-1);
    }
    +#endif //_WINSOCK2_H
    #else
    ;
    #endif
    @@ -314,6 +325,15 @@
    #endif
    }
    }

+#ifdef WIN32
+char * SDLNet_inet_ntoa(IPaddress *ip)
+{

  • IN_ADDR address;
  • address.s_addr = ip->host;
  • return inet_ntoa(address);
    +}
    +#endif

/* Resolve a host name and port to an IP address in network form */
int SDLNet_ResolveHost(IPaddress *address, const char *host, Uint16 port)
Index: SDLnetTCP.c

RCS file: /home/sdlweb/libsdl.org/cvs/SDL_net/SDLnetTCP.c,v
retrieving revision 1.11
diff -u -r1.11 SDLnetTCP.c
— SDLnetTCP.c 13 Apr 2002 14:50:37 -0000 1.11
+++ SDLnetTCP.c 25 Sep 2003 18:26:49 -0000
@@ -278,7 +278,10 @@
Now endpoint is created in Async mode.
01/02/20 )
*/
-TCPsocket SDLNet_TCP_Open(IPaddress *ip)
+//use open mode for bind local ip = SDLNET_OPEN_BINDLOCAL
+/add open mode to listen local definite ip in IPaddress
+patch by Emanuele “Goul_duKat” Trevisio <@Goul_duKat>
/
+TCPsocket SDLNet_TCP_Open(IPaddress *ip,Uint8 open_mode )
{
EndpointRef dummy = NULL;

@@ -287,7 +290,7 @@
return NULL;

// Determin whether bind locally, or connect to remote

  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) )
  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) && open_mode ==
    SDLNET_OPEN_NORMAL_MODE )
    {
    // ######## Connect to remote
    OTResult stat;
    @@ -399,6 +402,8 @@
    else
    {
    // ######## Bind locally
  • if (ip->host == INADDR_NONE) ip->host == INADDR_ANY; //need for
    compatibility
  • TBind bindReq;
    InetAddress inAddr;

@@ -431,7 +436,7 @@
}

// Bind the socket

  • OTInitInetAddress(&inAddr, ip->port, 0 );
  • OTInitInetAddress(&inAddr, ip->port, ip->host );
    inAddr.fAddressType = AF_INET;
    bindReq.addr.len = sizeof( InetAddress );
    bindReq.addr.buf = (unsigned char*)&inAddr;
    @@ -695,7 +700,10 @@
    otherwise a TCP connection to the remote host and port is attempted.
    The newly created socket is returned, or NULL if there was an error.
    */
    -TCPsocket SDLNet_TCP_Open(IPaddress *ip)
    +//use open mode for bind local ip = SDLNET_OPEN_BINDLOCAL
    +/add open mode to listen local definite ip in IPaddress
    +patch by Emanuele “Goul_duKat” Trevisio <@Goul_duKat>
    /
    +TCPsocket SDLNet_TCP_Open(IPaddress *ip,Uint8 open_mode)
    {
    TCPsocket sock;
    struct sockaddr_in sock_addr;
    @@ -715,7 +723,7 @@
    }

/* Connect to remote, or bind locally, as appropriate */

  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) ) {
  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) &&
    open_mode==SDLNET_OPEN_NORMAL_MODE ) {

    // ######### Connecting to remote

@@ -734,16 +742,17 @@
} else {

// ########## Binding locally

  • if (ip->host == INADDR_NONE) ip->host == INADDR_ANY; //need for
    compatibility
  • memset(&sock_addr, 0, sizeof(sock_addr));
    sock_addr.sin_family = AF_INET;
  • sock_addr.sin_addr.s_addr = INADDR_ANY;
  • sock_addr.sin_addr.s_addr = ip->host;
    sock_addr.sin_port = ip->port;

    /* allow local address reuse */

  • { int yes = 1;
  • /{ int yes = 1;
    setsockopt(sock->channel, SOL_SOCKET, SO_REUSEADDR, (char
    )&yes,
    sizeof(yes));
  • }
  • }*///Dangerous and non needed settings for normal use !!!

    /* Bind the socket for listening */
    if ( bind(sock->channel, (struct sockaddr )&sock_addr,
    Index: SDLnetUDP.c
    ===================================================================
    RCS file: /home/sdlweb/libsdl.org/cvs/SDL_net/SDLnetUDP.c,v
    retrieving revision 1.9
    diff -u -r1.9 SDLnetUDP.c
    — SDLnetUDP.c 14 Jun 2003 07:20:31 -0000 1.9
    +++ SDLnetUDP.c 25 Sep 2003 18:26:49 -0000
    @@ -272,7 +272,10 @@
    /
    Open a UDP network socket
    If ‘port’ is non-zero, the UDP socket is bound to a fixed local port.
    */
    -extern UDPsocket SDLNet_UDP_Open(Uint16 port)
    +//use open mode for bind local ip = SDLNET_OPEN_BINDLOCAL
    +/add open mode to listen local definite ip in IPaddress
    +patch by Emanuele “Goul_duKat” Trevisio <@Goul_duKat>
    /
    +extern UDPsocket SDLNet_UDP_Open(IPaddress *ip,Uint8 open_mode)
    {
    UDPsocket sock;
    #ifdef MACOS_OPENTRANSPORT
    @@ -329,18 +332,32 @@
    assigned_addr.addr.len = sizeof(assigned);
    assigned_addr.addr.buf = (UInt8 *) &assigned;

  • if ( port ) {
  • if ( ip->port ) {
    status = OTInetGetInterfaceInfo( &info, kDefaultInetInterface );
    if( status != kOTNoError )
    goto error_return;
  • OTInitInetAddress(&required, port, info.fAddress );
  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) &&
    open_mode==SDLNET_OPEN_NORMAL_MODE )

  • OTInitInetAddress(&required, ip->port, info.fAddress );

  • else OTInitInetAddress(&required, ip->port, ip->host );
    req_addr.addr.maxlen = sizeof( required );
    req_addr.addr.len = sizeof( required );
    req_addr.addr.buf = (UInt8 *) &required;

    sock->error = OTBind(sock->channel, &req_addr, &assigned_addr);
    } else {

  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) &&
    open_mode==SDLNET_OPEN_NORMAL_MODE )
    sock->error = OTBind(sock->channel, nil, &assigned_addr );

  • else

  • {

  • status = OTInetGetInterfaceInfo( &info, kDefaultInetInterface );

  • if( status != kOTNoError )

  • goto error_return;
    
  • OTInitInetAddress(&required, 0, ip->host );

  • req_addr.addr.maxlen = sizeof( required );

  • req_addr.addr.len = sizeof( required );

  • req_addr.addr.buf = (UInt8 *) &required;

  • sock->error = OTBind(sock->channel, &req_addr, &assigned_addr);

  • }
    }
    AsyncUDPPopEvent(sock);

@@ -363,13 +380,19 @@
}
#else
/* Bind locally, if appropriate */

  • if ( port )
  • //if ( ip->port ) //whit no else is broken ??? for port == 0 ???
    {
    struct sockaddr_in sock_addr;
    memset(&sock_addr, 0, sizeof(sock_addr));
    sock_addr.sin_family = AF_INET;
  • if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) &&
    open_mode==SDLNET_OPEN_NORMAL_MODE )
    sock_addr.sin_addr.s_addr = INADDR_ANY;
  • sock_addr.sin_port = SDL_SwapBE16(port);
  • else

  • {

  • if (ip->host == INADDR_NONE) ip->host == INADDR_ANY; //need for
    compatibility

  • sock_addr.sin_addr.s_addr = ip->host;

  • }

  • sock_addr.sin_port = SDL_SwapBE16(ip->port);

    /* Bind the socket for listening */
    if ( bind(sock->channel, (struct sockaddr *)&sock_addr,

-------------- next part --------------
A non-text attachment was scrubbed…
Name: SDLnetICMP.c
Type: application/octet-stream
Size: 3518 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20030925/d2e95860/attachment.obj

For compile the code in the MinGW/Linux/GCC environment use this
include/lib.

begin 666 SDLnetICMP.h
M+RH-“B @(”!31$Q?;F5T.B @06X at 97AA;7!L92!C<F]S<RUP;&%T9F]R;2!N
M971W;W)K(&QI8G)A<GD at 9F]R('5S92!W:71H(%-$3 T*(" @($-O<‘ER:6=H
M=" H0RD@,3DY-RP@,3DY.“P@,3DY.2P@,C P,“P@,C P,2 @4V%M($QA;G1I
M;F=A#0H-“B @(”!4:&ES(&QI8G)A<GD@:7, at 9G)E92!S;V9T=V%R93L@>6]U
M(&-A;B!R961I<W1R:6)U=&4@:70 at 86YD+V]R#0H@(” @;6]D:69Y(&ET('5N
M9&5R('1H92!T97)M<R!O9B!T:&4 at 1TY5($QI8G)A<GD at 1V5N97)A;”!0=6)L
M:6,-“B @(”!,:6-E;G-E(&%S(’!U8FQI<VAE9"!B>2!T:&4 at 1G)E92!3;V9T
M=V%R92!&;W5N9&%T:6]N.R!E:71H97(-“B @(”!V97)S:6]N(#(@;V8@=&AE
M($QI8V5N<V4L(&]R(“AA=”!Y;W5R(&]P=&EO;BD at 86YY(&QA=&5R(‘9E<G-I
M;VXN#0H-“B @(”!4:&ES(&QI8G)A<GD@:7, at 9&ES=’)I8G5T960@:6X@=&AE
M(&AO<&4@=&AA="!I="!W:6QL(&)E(‘5S969U;“P-“B @(”!B=70 at 5TE42$]5
M5”!!3ED at 5T%24D%.5%D[(’=I=&AO=70 at 979E;B!T:&4@:6UP;&EE9"!W87)R
M86YT>2!O9 at T*(" @($U%4D-(04Y404))3$E462!O<B!&251.15-3($9/4B!!
M(%!!4E1)0U5,05(@4%524$]312X@(%-E92!T:&4 at 1TY5#0H@(" @3&EB<F%R
M>2!‘96YE<F%L(%!U8FQI8R!,:6-E;G-E(&9O<B!M;W)E(&1E=&%I;’,N#0H-
M"B @("!9;W4@<VAO=6QD(&AA=F4@<F5C96EV960 at 82!C;W!Y(&]F('1H92!‘
M3E4 at 3&EB<F%R>2!‘96YE<F%L(%!U8FQI8PT*(" @($QI8V5N<V4 at 86QO;F<@
M=VET:"!T:&ES(&QI8G)A<GD[(&EF(&YO=“P@=W)I=&4@=&@=&AE($9R964-
M"B @(”!&;W5N9&%T:6]N+"!);F,N+" U.2!496UP;&4 at 4&QA8V4L(%-U:71E
M(#,S,“P at 0F]S=&]N+”!-02 @,#(Q,3$M,3,P-R @55-!#0H-“B @(”!386T@
M3&%N=&EN9V$-“B @(”!S;&]U:V5N0&QI8G-D;"YO<F<-“BHO#0HO*@T4&%T
M8V@@24–4"!E8VAO(&9O<B!P:6YG(&%N9"!T<F%C97)O=71E('9E<G-I;VX@
M=VEN,S(@=W)I='1E;@T
8GD at 16UA;G5E;&4@(D=O=6Q?9’5+870B(%1R979I
M<VEO(#QG;W5L7V1U:V%T0&1E<W!A;6UE9"YC;VT^#0HJ+PT*+RH@)$ED.B!3
M1$QN971)0TU0+F at L=B P+C Q(#(P,#,O,#@O,C<@,C,Z-30Z,# @1V]U;%]D
M=4MA=”!%>’ @)" J+PT*#0HC:69N9&5F(%]31$Q.151)0TU07T at -“B-D969I
M;F4 at 7U-$3$Y%5$E#35!?2 T*#0HOB!3970@=7 @9F]R($, at 9G5N8W1I;VX@
M9&5F:6YI=&EO;G,L(&5V96X@=VAE;B!U<VEN9R!#RL@B-"B-I9F1E9B!?
M7V-P;'5S<&QU<PT
97AT97)N(")#(B![#0HC96YD:68-"@T
(V1E9FEN92!)
M4%]354-#15-3(" @(" @(" @(" @(" @(" @, T
(V1E9FEN92!)4%]35$%4
M55-?0D%312 @(” @(" @(" @(" @,3$P,# -“B-D969I;F4 at 25!?5%1,7T58
M4$E2141?5%)!3E-)5” @(" @("A)4%]35$%455-?0D%312 K(#$S0T#0IT
M>7!E9&5F(’-T<G5C="!I<%]O<‘1I;VY?:6YF;W)M871I;VX@>R @#0H)54-(
M05(@5’1L.R @#0H)54-(05(@5&]S.R @#0H)54-(05(@1FQA9W,[(" -"@E5
M0TA!4B!/<‘1I;VYS4VEZ93L@( T*“5!50TA!4B!/<'1I;VYS1&%T83L-“GT@
M25!?3U!424].7TE.1D]234%424].+” J4$E07T]05$E/3E])3D9/4DU!5$E/
M3CL-”@T*=‘EP961E9B!S=’)U8W0@:6-M<%]E8VAO7W)E<&QY(‘L-"@E53$].
M1R!!9&1R97-S.R @#0H)54Q/3D<@4W1A=‘5S.R @#0H)54Q/3D<@4F]U;F14
M<FEP5&EM93L@( T*“5532$]25”!$871A4VEZ93L@( T*“5532$]25”!297-E
M<G9E9#L@( T*“5!63TE$($1A=&$[(” -"@E)4%]/4%1)3TY?24Y&3U)-051)
M3TX at 3W!T:6]N<SL-“GT at 24–4%]%0TA/7U)%4$Q9+” J4$E#35!?14-(3U]2
M15!,63L-"@T0D]/3"!724Y!4$D at 26-M<$-L;W-E2&%N9&QE$A!3D1,12D[
M#0H-"DA!3D1,12!724Y!4$D at 26-M<$-R96%T949I;&4H=F]I9"D[#0H-“B\O
M1%=/4D0 at 26-M<%!A<G-E4F5P;&EE<RA,4%9/240L1%=/4D0I.PT*#0I$5T]2
M1”!724Y!4$D at 26-M<%-E;F1%8VAO*$A!3D1,12Q53$].1RQ,4%9/240L5T]2
M1"Q025!?3U!424].7TE.1D]234%424].+$Q05D])1"Q$5T]21"Q$5T]21"D[
M#0H-"B\O1%=/4D0 at 5TE.05!)($EC;7!396YD16-H;S(H2$%.1$Q%+$A!3D1,
M12Q&05)04D]#+%!63TE$+%5,3TY’+$Q05D])1"Q73U)$+%!)4%]/4%1)3TY?
M24Y&3U)-051)3TXL3%!63TE$+$173U)$+$173U)$3L-"@T0D]/3"!724Y!
M4$D at 1V5T4E1406YD2&]P0V]U;G0H54Q/3D<L4%5,3TY’+%5,3TY’+%!53$].
M1RD[#0H-"B\J($5N9’, at 0R!F=6YC=&EO;B!D969I;FET:6]N<R!W:&5N('5S
M:6YG($,KR J+PT(VEF9&5F(%]?8W!L=7-P;'5S#0I]#0HC96YD:68-"@T*
<(V5N9&EF("\J(%]31$Q.151)0TU07T@@*B-"@``
`
end

begin 666 libiphlpapi.zip
M4$L#!!0(`$<.'"\Y\F0RCQX``#BW`0`-;&EB:7!H;’!A<&DN8>V=
M"XQ<9W6 CP?G01H@)(X30B ;QS’!!&??WI ‘L_:NUQO6F\EZG(2-K,[=[P3
MS\X,[/V. at T00@@!E at A2A%M4:JV](7Z$J((52U"?42(5DA5*]2B2'VHHE2J M5!6AMD+0^]__SOU?Y__GS"4;]^[\5SKVSCEG'O^]WYPY]S__X_K;2ZW5M3LO MN65(/4:&)T>'1Z=&1T:'AH8CC?SOT-#4K5.C_*]'+P'8L1?@A@<;OQ[@)M>
MYON%I<#UW 9_B:7L0]QF=S/9>H5+K=]B\N=7^(RW>0RLY?+D9>YS’^>RT>
MR^/N=SS=2[%9[C<]PB7!Z:X/‘PAE^6O<EEI<0FNYG+R6UP>>Y’+^BB7QO>Y
MM+[ 96.%R^8>+H]_F\L’O\SER4TN’SW Y6/PN799[E\ZCU</OV_7,Z]R.5S
M"UQ>O)3+Y[
)Y1=/<_EB@<NO+’#YM3U<?N-B+K_U"I<OG^/R>P4N?PA<OO+[
M7/ZHS.7K>[C\2M<_O0E+M^L<GS_5S^@=<OO7;7/ZJSN4[=W+YFXNY.U?
M</GN\US^X3$NKTQR^<<W<OGGKW’YUS
7?[N:R[^S.4’N?RGS=S^:]XOC
M%[C\3XW+CP]P^<G?1;)CQQ>Y['R$RT77<'G]7W.Y]!R7-TUQN1RX[/H&EZN>
MX’±,)=KO_ENI>X[%GA<N-N+N_X+I?]+W)Y]P
76W["9?1E+A,=+E-W<;DM
MQ^6.KW’)/\WE"27V1]P.?H\E
<M<3GVWUP7^-R_"$N]^[C<O_WN3SX)2Z/
M/,2E=#67U>]QJ3S#I5KD4KN,2_W/N’S at -)?.%)?3/^1R]DM<GFAQ^?!>+A_Y
M-I>GG^+R\4-</O$C+L]]E<MGU[@?Q.7%[['Y1=^B<L7’N+RRWDN+]W$Y5<O
MY?+K/^3RF]_C\CO?X?
[?+E#U[B\I7/,%E>KE57JLVU6K/4K"Z7EJOUTGH` MR\MK0:FLFF"Y%9RLMCM!:[FZNM[,#X=>U?7FLJDN-Y:#U;5&:/A ?CQQT[7B M<1/UBK6%RHGZH6J]/%/WZ)26 at WRXUU?BZU00;M3J&T>BKHY$>’)6]=7Z@<
M#SH+C9.’-BJ5H)4?G9)\34NALA2L-TX’<[7&2JEVI%H+W_1(J[$NWEU^/L6W
MZ\7M;=5!^>2]_%2/HZ5ZN1:T\R.CEI=0’)AI)3R+:MKK= MA<JQTJD@/#7

M=9!UA<I<T$D^W_%.J1/B45T-WVU2>H;+IU"9"6I!)WI%^2RHVNYCG S,5J@<
M;@4E63LJ/P4U%BH8<7&?+T<;IML7N8ML)TN=PVMK%<7L5N%#&27V’AAT
M/=PBA_ABRC;E±A=3M2#>FFE%BPU-DU>&-3’WYYBJO-V7JG=;;8"NZBEQ
M;7";I$5=8Y_H+>ZK=M:6 at HKBIQM"5:'5V#P[W5+?2GRK7!ZA;;Y9+“XH;Y%H
MHK\9LVVL<:8I4<:,F][”$FBQEC/GL4>61:#CJ?4IZ’6!6]]C:R.E(<VZAU
MJFN-GI
/Z1=Y’&FTSI1:9<=K6#P,F^-I7?^908)J%47[@BO^*A6F/U5-0X
M^6N,&$+5=+G4#+\5\WN-UHA$+4>#^KEZ:6"%&-DS5+X(]9H!<>"<K44ZMM2
M!$!-BXU.M7(V^E"'UTKUD’LIO2A;59#+]X%-7$E:P7NKEH6UYIR
(")OM5
MTZY03[?08;H6GO,P;$7RZIOI2%<Q3GOYQF+:[)],4R,F’UNHUI67M#IA)MG
M at M/5U8#T2IIKY,0>*4D<Y9PZ>&T6"Q6U\-?F<5B@?TAG6_3$/_)=.&O0A"I M)7HLUOGV0GB*:UVHDV^2J0^#65 /SIB>AIYI:D&I':"^NB5J=;U40W]7+$9) M'0=Q]"F23=&:4=1J5 at QX-'.ZR$8]6N&VKC8$XT2Y660_U])UM%DE?7BB',]2 MK)(^:K;C>9I=L<2-=C[;\%&LC ?GTU4'V51Q/:]B/B=.-QT08!ZZS8V"S:MK MC_-7QV? /'2;^S/8O.;#>S_V*S4;WKSEQ\19T]6R8C0_/HXY<CW3%$JM=K 4 M-&O50+HOP2Q,QS\;"T3BKL'41YI:HQWPFZ"\\A$TU–2A]+^0B:(5+9/[!A
MBI2VCZP9V/>R7IVIMH+53K519Q&4YPWA;Y9XFUY>TK=;
- )PJUF/&;H6OXX
M"HW)T-D8DKUQ^R815P6FU7H>?:,OY=LT[78>PB+%-4L9PLWX[%2U_+'SK-E
ML6,6I26H5>C1LX78="WV’LK96BH6PY3J:
-YN+%1[TCI"&X+M86@)2.JG"W$
M%FH7-]97 at M;=E22I43\6;F:&H’.FT3H5?@=+ZVVEY89E+OF%MUT8W(P8E,^&
M&1,U>E%,DZ9$7E^Y(N+754)T4GD.[J"8U.NBZ>?T7V’+=\7E9)A=3Q7/F&VU
M&JWCG5:U?E)_ at FZ:4W[LK1_1XJ’:K$]?+OP&='9L##=R?7F0GC5M)>5M7-)
MRF&[C)A5Z+67KJB?EN>(MG.“685>!5#HV”/V@^[%ED<4)/Z1JA9,N#?)L1H
MJ-'W4;Y31UK5&>_=G:^PKOYY"<@ME![
+PKC^Z6+>?88I<MEB?(?@E;XE6F
MM.?@+KI1.VV(3=?:6/O.)“WC2^$;I!4;U<(’>86,W”<’>K’+2.E:3R!&X3
M6GZID$^5&([4-MIK6A,KKW+0[-9G\0,LVC_JJZ=J;:9NL!0DW\OD'I[)2 MLEGM=S28Q7T'8[/&^J2W6W^";. 9L:T5-JO]G at BSN.^!;-;#I?IJ4)LO\/XM MWM\E/<MB5;NAD,P[B? 43\-G=E/S$E\CFJ_JA>2ZEL^'>QH^Y,]G\]6Z\9 O MG^T5;;ZZER5CL;3;Y:][8HF&]64MSIJ;G@)8&X\YJB[\"T1\/:MS^+'%]U=Z MMJ:&\NIFI7. at D0RL24;4C*AC:4:&AR<G)X>&)J:Z8VL>O61AQX7 CFMW+PI
M^NN"'0<ZP68’W,<0P
,'RJ5.J8=?'N ;!U;:[1YN"3SJ[(7W#O>U>UDLD/U
MRPN
"=GO8KO?P:[NLE N1?RZ?W<K]0?M1I[?!2K06Q[2<!3BYHU(ZU57$
MAWRNV$N_3GO]R$<Z3SF;CW2.7F?SD<[/SLAGI\TG.C<7N’VB\W)AY/,&PX<=
MW6<RGQQ<$Z+CW5 at WUP=_DUT&?W>&[;V<O^OYYF^TJ]L%G+^A^%JPZYW
M’>UG3^%YVL1/_T
Z8
?&,I%<&GX[YNCOR*.H[\HA*Y%UXB
:G2UH=)9VZB?
MXIJ(D?-!<726.<6[8F
#AT)Q=‘8OM/BP8Z?T?R[ZZRV2-0>W.,:&ZV#PGX) MH[T]/#PR/LZ1MXU?3&@?'9%HORAZU\WPO%S"/Y5!^\6AW!S:"_&Y8_\-;1WM M271DYV<\?+,'I/<%"^U3H;&,^RFTWQX:Z[C?9->/T9PW.?G&3V]D_YT[)RO/ M at 3)4*KJ>7:X!7 at _L.P'Q8_DO at V^39I-=)4[NE#6"2Y-"D-MW$73)[E*X[H4
M7AEK+D at T-X,X<C =DL>,(;Q*T@=(Y(Z(L=E3ZI.*HO#5%("])H/8!,D[HK
MU at A2]X,X<O#>%BD$4WIZ.>4\1O2SG]C,1I$P:4^>@62>G(T1.QTQ.GR1P
M>O]YXG2%R&F-R.GI’ISN!CJGGP9SK#+39YG7:V
-X#4Y-9’F?< RT_Z’;SO9
M’:9FK6,^QII^J;+6YT 9.9]I9G?’&L’L1!'#@X#9Y8Z@<#%ZMBMU#AKWF$] M06"U>)Y8?83(ZAJ1U58/5EF_"I753S%6CTLS-R#;,?;J6"-X3;IW(LT<<%Z/ M]S&-Q<GL%)'9J8,&L^<(S,I,#+V&S%H8,YA]@LCL,SV8W0=T9C\)RSUG"S&_ M+'/<S60%Q_>".')P"CC'K_8$*R?K!XFL'S3C\[,$UA\]3ZP_1F2]0V3]0SU8 M'P(ZZY\0K&-SV3+-^+Y8(QA?!''D8!5DQG_V*7].MB>);$^8>?+3!+8?.D]L M5XAL-XEL/]Z#;7:/0V7[69WM>)(ELV69Z^MBC> Z#^+(P0DPN>YOJJ3Y F?
M12-^?6?1K’>)2O+’.<G2S-
!R*+[F0;M9)9:6QN9,)CUO13I>H*?8<S&L]#9
MXRSS>GFL$;QV<PN(-+<!Y[771’PGH]2JVH39"^PS!,‘HM4!G]&.,T3EI&+ at 8
M7)QI7O?$&L’K$1!’#AX$SBO>=/JR$$Z>??4-^L[YO;3,PTXSE9DR/;,7=7
MK’%6WY9I"Y,X.?75-\S/X/35K+Y]5’ Z<-6W?I?(<;)+K;Z-F
=BGMUT[#[%
MV-46)F+Z++/[UE at CV)T"<>3@&’!V^U^LR47O*+4>-V’>E?F,-UV?V$<8O=CJ
M6)!M at H=BC2#X$(@C!<!)AG63K,R3U3C=IUNE[4P’:@L_PDQG)W)@MD
MF^>]L4;P?!>((P?+@/.<9C$[)]?4FMRDF1U[KM/5Y#[,N+8O’)AIKF^,-8+K
M!1!’#MBG>665W223:[(F1’;9Q_I^ML^%)-M+F>9[6A]?:P15,^ .’+P?DBH
M3K_8IYMF:E5NU395^72C6W[(CKK#)=EBG>‘6L$Q<A83/J2LVY>J14YW^N&
M^:7JN7@“I.45XQ56F3[+S))ZW<QFBUXWB\W)+GG^FQEK?64C737YYV5V(=O,
M7A%K!+,W at 3AR< >HS**P]J:46G;-2.LSPC2902/,TKEA<\AVZ1>%6L$J<,@
MCAS,O2W"+R;6&HESO<'8WZI^H//,F*Q5?<AV^0.Q1IG?["EZ<0M"=PL4RMS MPV:.T"&PO'">6+Z7R/*C1)8M_7 )RVQ=$BK+FQ MS5TL+F2;W<MBC6!W#X at C M!^QME[M-5<*MT+C8'"'/@S/'HOO,(-T(WC, at UJGO1M@L,]I=\T8PFIR^2#,/ M74;E)FNP&B8GM=0*F\]G,;]4^>QI06T\*G(P\EGRYD!N8JFULPES=([/9]/E MLQN<6&.?(V;+,KEOCS6"W#M!'#DX#EUR4VU5Y>:86BD;-_.%)PD<#TI?+9OU M0N6X\H6-0G%66;XVE at C&'X/B”,’=T.7X;XW37/S2ZZ-^97U$+^$WWY&HK=5
M?C/-[96Q1G"+K
RG-%<+N8K:22JU
G;0[ %[CD"J3,+0:TBJA2R#U$TBJ4_U
M()7=+U-);7%2K3LD,I\LT[LOU at AZD5GP[E. at X>SV<
)-GN/F>W at 1OU1C;C[
M^49V[\PVUT.QIE</[^PM:F;96I]S?>B87ZI>M&:)LN99IC>B];’!KMN:LFS
MW3RUB%\J:AL1M<K&QH-!;3
;/+NII5;3_/H-F%^J$3=UB5KV.,O$DM9O$,U5
MVR%%EF'J54U7Y_ _%+5)]89H](6[TR794ZI]0GR=O=N8JD5-=^OB_DEQ.X& M.K$U1FQW.[OF]IBK1NW7U9NMCK/!K4Y^]?J:;7\@/\8&\TOX9>>!RN\I8'ML M3R\5(-O,$L?81$V5Y@<K&B>;>LW,QJ:_S\+\4MUG/09+0;O3:$F;;6::4=)] MEM%D<9^%FYS4ZI4R&[4^(\#\4F4$5> [D$99&]^2=#;KJS&0,@*DV5(R:[4Z M^=7K9S[J;GG473/YW?Y1UVBRB+JXR4FM7A6S4NM7U$7\4E%[,J:6W6S$T&:: M6M**NGJ3=6 at UBY-9O?IE8]:O"X+Y)<P.9W9"BRN->7E..UB9(]GC/-[XVQ
M1O"+K OB;+X$<T\W)]EZA<Q"]L%A,X=X at 4"VG&,.O89D6W)6@^PGB61_L@?9
M^X%.=L#(UG9%%Y>OTA",9SM
=WMS!>4K((X<G %…>542+UG?3W#R;Y>9[-&
M=;/.YJ.Z8+^?5<S*(?OR)5LLK0?LDLUM5,O,GF7>;X at U@O>C((X</ P1[[;F
MXB[G1Q4#]^J5^9L5$^9^;4?52FHW at MTJE<M5,$IZNK6<[RV2_,]8(LHL@ MCAQ4P4JV. 4]^=9=G93KU3P?N[<\=J]PRMD%4O:#8M>/V0<C=J/-EXHFO9R< M5%-K?'Y4!>:7:E1%"1:+Q>IZ4&PL%@OL#\@VR:11%5J3I;M)Q. DEEKY\S44 MS"]5#>51B*\.NTQ'JK5@&U!+JZ&8S99K*#:KDU]J#="O)(GYI8JXRS#?7 at CO MWVMB0%"FV=T=:P2[R$J2:I/%F$M$[^256O/SO&)^J7A]!.:;2T$].#-0O"I- MEG at U]4Y>?;4/\^N;UUU Y_7AB-=:4&H'";%9YI54[=.;K!)K6)S,4JM]?I\A MS"]53OL01+?*]5+M^+99^92TSQ#2; E=B]%)+[&BY]>:1OU2T?N at 3&^\TA?3 M9YE>TEK39K-1>&6;DUUJ16[<[-7U[ IV^UE[YP&5W6VQALG;8HU@]W801P[N M9U=<RT3N]E%!2U^N;W6<’$H+[6?/A_2K!VV:^_/6Q1E `^(]UFQ-MU"
M<C_SYX>GJ%4VGTM@?JERB?L5FK?'C.2^<PE]9K+%YF276DOSE0G,+Q6[]R7L
MS at 6=$^5FD>V1]EFEU290)HM52:L5B>_OK*&^6TIO_?*_(9WW(/(;[?9.+^J MU<DO>7:=F0E[?M/=RYV0^8WN6CC!6>:7M!8PVFR<8-WN9)A:;9LP\U]_-Y?N M;JZH,AS?KV2?XSVQ1G!\!,21 at P=!YUANNHUET\?),[4:-V'F%)YGP7,_:[0? M5WEF1:AN6I%IGJ^+-8+G/(@C%_X6Z3PG3;?!K#DX2?8U.LQO2[/C)87DRK:@ MN*\:G6BVA> *E5YJC<ZO#(SYI<HK[DGHG0EJ02>02AV9)G at HU@B"#X$XXI6! M;4TW>]A0#R?+Y%ETYGV>GXDA6!X".LL%@V6EZ)%IGO?&&L'S72".'"P#PK.[ M\&'U<G%]D%S)\S$:\4L5H^].N#[<"DH#&J/UIIL\HQY.ELFSY7R,1OQ2Q>A% M@^4!C=%8\^U,]Q>CR?/ES+O 30+7A?/$]?_GO8Z.P?SJ>I,M#3F[NM;(-L=7 MQAK!,;+7D=S<_)BX[S/43E*IU;Q1L^?-DYJ.U 6%U-%,D[H[U at A2L3D;<G/S MX^,8JK'>R2JU<N?G;&!^":N[@,[J^R)6"Z56.U@*FK4J6]T]R[S2YFQH31;3 MD%&+DUD_+P[SZYO9?N;%W14QRQ,W-N.6Z08BQHHFYX=E8C6]DU=J)<ZO](#Y MI>)UGO-::[2#HZ5Z.?,C>ZZ*-8)79*4'K<EY)2G0#4YBJ14W3RSFEXK8HQ&Q MDR*%A0$A=E)*5Y6D0#<XB27/A//K8R-^J?+8.4ZLDLAFF5C2^MA&D]5$UC0Y MJ:76TWR<Q?Q2Q=DCG%HEE1V,.&M+976#B]A):J7,5Q<POU35A5E at DPGJU9EJ M*UCM5!MUMH0,WU*J7LEXK^S>6"/H1:H+KN:+\-O3R\DUM6KF9R-C?@G7_8Q@ MGP%IDHRT$':6>2;-1L::+8TRLYN=!%/K8R-F+N&K#H+@?G:2/2P3#-DF=U>L M$>3N!W'DX+V at DHL#2^"46AV;,"L.?JR-X+2?<>F'8DZCE3F2F!)MQI5I9DGS MA?"FJWF#Q>[DV.\HA_EM:<8PC7*<;89)<S:Q9HON7:O5R2]Y1SDS7_#\"GY9 M)8G*;U[BM]KN5%?;V8_!I/4>S&9C\5>Q.=GU*TUB?GWWF[&<C\KN>PUVL\TM M:=2"WF0LYDH6)[/D66R^AP'Q2Y4OW,F8[2YC,& ]#$:SU1LVB]E),+7&YGL8 M,+]4/0QWR 3#8/0P(*N2&%HGI]2JFN]AP/Q2]3#<'G,ZJ#T,2-.5#-=F=W$\ M0:VU^1X&S"]5QG ;RO%@]# 8S5:R7=SJY->O*(GY;6D/PWLD?@>MAT%K-A9_ MR3T,$]1JFN]AP/Q2]3#<:K [&#T,2I.QF$OL89B at 5M;&S!X&SVPZ9J<8LTO% MXG2]?+31/-S8J'<&(M:J39:VQ+38G-R2YZ!Y;A&_5-P>9-P6 at I8\D&P0N%6; MK/8P8#8GM]0*FN_1Q?Q2W9]-,FX7-]97 at M;=E6@];;C;K;'G5-[=,UF*\F"
MQ>PDV-?1,+\MC;P3$<%!YTRC=:I0:I76!R3+59JLW)N9%B>SOHZ&^6UIU!UG
MS,Z;G;N#$'7-9BOP6LQ. at JEU-+^>>:7JE]L#",8LAUY2>N9(LU6L@;4Z27
M6EWS,RTQOU0YPZB at -^G4S3YI)F61I.1N$ONSQVGUM+\3$O,+Z&VGYF6(SJU
MD.UX>U6L$=0B,RVU)B.QEMB;.TZMGOGU^S&_5
,8ACFQW4U#Y$0AT^22UN_‘
MFZYV[5H=G"235V[TZ^$A?@G)EP&=Y%M4DC–[^Y8(^A%UFI2FJOVZ_:S"] X
MM88V:?8N^/GM at E4V;HKZ@’.JKR]S;:)O#?$&L’N41!’#AZ&+KMH\W60’4Y.
MJGV%#?/;TGNV=YM49YID:H7-NI>5Q>;DECQ’S?<U('ZIN+V9<SO;:C5:QSNM
M:OUDMB,PO:]!:K
.K6%R4DO>><V,MO[.+=V=V[LXM<FN8MNECW<HU at AZ#X$X
MXMTD+$W7(;9Y.%GV*T%B?EO:;[9?8YGILLPPO=,VS40,SB)):$Z<<T(‘ZI
M<H9W1L1VQYUD?U4RZI@&I<*P.)FEUM3\S$K,+V&VGYF5-T7,GEQO+E3;
M[)QEF===L4;PBL^L[#97"Z^*UL7IF)^1AOD9G+Z:(Q?>$7%:V599+75&FMYL
MK1B!6IW\4FMJ(^;JI3[.IHNS^R1^V>,L<WM%K!’<W at 3BR,$=H’“KA5GJCL%C
MU’J9C[87ZHH>R.G–J;O"BK-IL’5O,ZN276D,;,?N_?)1-%V7W2ORRQUGF
M]O)8([C=!^+(P6V@<L.L:G0=I,<HU;$.@:S"]5’^T-$:-L?SISD9 L\TH>
M78,T7>TTL#DX2?:ST#"OK.%?N9#[,%)SC3%Y/D01K/5(R;G013ZV5^/@3F MERK?O5XF6%HH),L$D^=#:,U&8S!Y9/D8M4+FQRA@?JGJ#4,FO9DFESQ&06DR M&G>)H\O'R%4RL^+ at 8VZZF'L=H_9(JQK4R[6S\Y7Y>CD8F+69M&8KZ&(V)[O4 M:MFXV8OKV4V7\;Z=L7LH:'>6&AN=8'MDO-2U'<UFJSUD-KN+X5'R?#0SY_5] M9(+A?N9$O$UA.-MQ]\I8(]B]&<21 at VG0V+4@2R"5/ _-C+:^ITR0RGKCJ:1> MVR4U&4:R/2+N];%&4#L#XLC!^T%0:S9=N4]SN#AI)J_KZ/->Q"]5WOM6@^;! M69-4:[8=84)/PRAY?4<_LA'Q2]73<(W!;K:YI8YL5)ILI[8WL]0ZFQ\_CODE MS/8S?OPMC-EX)<,V'XR;:6:OBC6"67S\N-QD!5G#X"36U],PORWM7;A:)I:- M]0_:[:"=;6JI]32CV?G1881=S>PDF+RJH\]Q$;]4.>Y5$L%WM\I!ZUBIR?2# MD.-JS<XC^"HV)[M^OAGFMZ7YPFZ)W6Y18H#R!5YT0/(%87 22ZVD^=F^F%^J M_K$KX4AMH[V&KM2497*'8HT@]Q"((Y[M:VNZJ*DY/9PL4RMK/OIB?JFB[RZ= M91B Z*LUV8IN3V)'J'4T/W,2\TM51[L"9NOLXD0%I%:V:=T5:P2MR,Q)N;DB M43"T3D[)>Z'Y46*(7ZJ^V\MAIMIFU^A84*Z6C@?U=K978"*-$C.:+(#%34YJ M_4PTS&]+>Q+>##-!+>@$A59C\^QTJ]F=TI-E<DDST9!F2X,6K%8GO[YBAOEM M:=2]+.8W2N)B>+/,+JEBIC=9)+2HQ<DLM6+F8R[FEZK^\*:$V7A]PFW ;1\Q M5VVVR:YA=?)+K9_Y/@3,+U4?PAN[_!;B,A$,0!^"UF0#6\7@))8\_\Q'7,0O M59;[!CC<"DH#F.4BS9:R7*O5R2]Y!IK/<A&_5%GNI3&_Y7EZDT6(1>U.)DE
M[X’F8R[BERK+
;F$V0’+<K%FF^SVE^62YZ!Y?A&5/Q>H=+]=6 at -E\XO%:J MGPP6&YUJ92#X19HM\6NSNO@=IM;-#IIW:<\1^)7K4D.O(;^6.I?![R:1WZ=Z M\+L'Z/R^'J9KM<9J&&RFZ^6YH'.BW-Q6JSIVU\(3+"^!.')P,OQWN<<ID%9X M)'DZ&:?6W*;,&.T9%XSO!3KC%YN,SVYJE&>9\6YU6#!^+X at C!^P[;)*KGP)I MB"_1U\DYM4KG8SGFERJ67Z1Q7EP=^%ANG )K++=X.AFG5O)\+,?\4L7R"TW& M!SV6(Z? &LNMOD[.J=4_SSGFEXKS"S3.L6'%\8Y-GC8QKG5U\DYM4IXJSEJ
M_AR!<[E/>. at UY-S2QVQP
@21\V=Z<,Y^IZF<[S0XQ[?<S#+KW9UA!>N/@#AR MP#Z,P:]E5TU+]N+T=S)/K3-.F7FZ9UXPOP_HS+
.8![=(B[3S+\KU at CF[P=Q
MY& =$.:QS>“LP-N<G;13JY('S76#?”:3[JXTI]-N;AN3:=+?$6L$Z0401PX"
M,$G7-XFQIC&HHY-P:@W3QW/,+U4\WZ$1SD=)#'P\QTZ#E72[LY-V\MQ <Y3)
M)H%V/].
_:?2#A#^\DJ#^K),]96Q1E”-K%@H-U?FUU!CI/X?4$L!A0% M@1PX<+SGR9#*/'@``.+<!``T````````````@+:!&QI8FEP:&QP ;87!I+F%02P4&``````$``0`[````NAX
`
end

“Goul_duKat” <@Goul_duKat> ha scritto nel messaggio
news:bkvgtp$tmt$1 at sea.gmane.org

0 interest on my work tnx :-/

good bye …

Don’t despair. This fact is SDL_net is only used by very few people, like
less than 10 (same apply to glSDL). It’s normal nobody seems to review
your code. Try to contact directly the SDL_net author/maintainer (except if
he’s Sam Lantinga).
Your patch deserve to be reviewed, but only the ones who use it can really
test it.

Best Regards,
^IoDream^

Goul_duKat wrote:> “Goul_duKat” <goul_dukat at despammed.com> ha scritto nel messaggio

news:bkvgtp$tmt$1 at sea.gmane.org

0 interest on my work tnx :-/

good bye …


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


Envie de discuter en “live” avec vos amis ? T?l?charger MSN Messenger
http://www.ifrance.com/_reloc/m la 1?re messagerie instantan?e de
France


Envie de discuter en “live” avec vos amis ? T?l?charger MSN Messenger
http://www.ifrance.com/_reloc/m la 1?re messagerie instantan?e de France

IoDream wrote:

Don’t despair. This fact is SDL_net is only used by very few people, like
less than 10 (same apply to glSDL). It’s normal nobody seems to review
your code. Try to contact directly the SDL_net author/maintainer (except if
he’s Sam Lantinga).

I’m using it for my game (Njam) and I could use this feature. But… I
want to have both Linux and Windows versions, and I don’t have MSVC and
I have failed to compile SDL_net with either BCC or GCC (via Cygwin), so
I really have to wait for someone else to build the needed .dll files.

I can perhaps test it on Linux when I find some time and get back to you.

If you have sent your patch some 3 months ago when I was making
networking code… Things would be different.

Your patch deserve to be reviewed, but only the ones who use it can really
test it.

P.S. Sorry for not replying to the original post, I seem to have lost it.–
Milan Babuskov
http://njam.sourceforge.net

Milan Babuskov wrote:

I’m using it for my game (Njam) and I could use this feature. But… I
want to have both Linux and Windows versions, and I don’t have MSVC and
I have failed to compile SDL_net with either BCC or GCC (via Cygwin), so
I really have to wait for someone else to build the needed .dll files.

I can perhaps test it on Linux when I find some time and get back to you.

If you have sent your patch some 3 months ago when I was making
networking code… Things would be different.

you want dll precompiled for windows ??? i send via e-mail whit header ???

you try to compile my patch ??? use the preprocessor defined to use my patch ???

the linux version for local binding it would have to work proprely … but need
test …

the icmp instead need one mac and one linux programmer to style the our version …

bye

Goul_duKat wrote:

Milan Babuskov wrote:

I’m using it for my game (Njam) and I could use this feature. But… I
want to have both Linux and Windows versions, and I don’t have MSVC
and I have failed to compile SDL_net with either BCC or GCC (via
Cygwin), so I really have to wait for someone else to build the needed
.dll files.

I can perhaps test it on Linux when I find some time and get back to you.

If you have sent your patch some 3 months ago when I was making
networking code… Things would be different.

you want dll precompiled for windows ???

Yes, that would be great.

i send via e-mail whit header ???

.dll and .h file would be good. I don’t understand the question
perfectly, but if you’re asking whether to send the file to me, than
Yes, do it.

you try to compile my patch ??? use the preprocessor defined to use my
patch ???

No, I tried to compile SDL_net and failed. But that’s another story.

the linux version for local binding it would have to work proprely …
but need test …

the icmp instead need one mac and one linux programmer to style the our
version …

Acutally, the only thing I’m interested in is ICMP.

Bye,–
Milan Babuskov
http://njam.sourceforge.net

Goul_duKat wrote:

you want dll precompiled for windows ??? i send via e-mail whit header ???

Ok. I created .lib with implib and compiled everything ok. But when I
run the exe, I get this message:-----------
The SDL_NET.DLL file is linked to missing export
IPHLPAPI.DLL:IcmpCloseHandle

I’m using Windows98, so it’s possible that Microsoft has changed the API
for function IcmpCloseHandle in IPHLPAPI.DLL.

IPHLPAPI.DLL file I have on my system is version 5.00.1717.2

Which Windows version are you using?

I’m also interested what ICMP_Open, ICMP_Close and other two functions
return. It’s an “int” but what it means. Does the non-zero value mean
it’s ok?


Milan Babuskov
http://fbexport.sourceforge.net

Milan Babuskov wrote:

I’m using Windows98, so it’s possible that Microsoft has changed the API
for function IcmpCloseHandle in IPHLPAPI.DLL.

IPHLPAPI.DLL file I have on my system is version 5.00.1717.2

Which Windows version are you using?

win xp … read on msn how to obtain the new version of iphlpapi.dll, or i
rebuild the library to link the icmp.dll for old windows95-98 …

I’m also interested what ICMP_Open, ICMP_Close and other two functions
return. It’s an “int” but what it means. Does the non-zero value mean
it’s ok?

sorry … i not write the full help in header :-p

return 0 for OK
other values are ERROR !!! (i use only -1 to error …)

fast route ping don’t need the open-close … but not try to use the ECHO
witeout open close blok …

the open close is multi thread safe … launch multi open whit multi close not
make broken program … (open n close n if one thread die add multi close at
end, multi close return 0, in other word you possibly make open n close n+10 )

tnx for your use you make me happy

Goul_duKat wrote:

Milan Babuskov wrote:

I’m using Windows98, so it’s possible that Microsoft has changed the
API for function IcmpCloseHandle in IPHLPAPI.DLL.

IPHLPAPI.DLL file I have on my system is version 5.00.1717.2

Which Windows version are you using?

win xp … read on msn how to obtain the new version of iphlpapi.dll, or
i rebuild the library to link the icmp.dll for old windows95-98 …

I’m also interested what ICMP_Open, ICMP_Close and other two functions
return. It’s an “int” but what it means. Does the non-zero value mean
it’s ok?

I can update my system, but I don’t like that idea. It would mean that
all users of my game would have to upgrade their systems. If you rebuild
the library to work with icmp.dll, would it work on newer Windows
versions? As far as I read on the net, it probably will not. Or, perhaps
to detect windows version and do The Right Thing™?

There is an alternative to these techniques, that should work on all
Windows platforms, take a look at this article and code:

http://www.tangentsoft.net/wskfaq/examples/rawping.html

However, I’m not an expert on this subject, but it would probably mean
something to you.

fast route ping don’t need the open-close … but not try to use the
ECHO witeout open close blok …

Ok. I was only going to use fast route ping anyway. I want to use it
upon initial connection, to check wheter the other side is “there”. It
seem a lot more simple that using UDP for the same thing.

In fact, all would be good if we could have a function to reduce the
timeout of TCP’s Connect() function. I also found an article about this,
but I’m not sure whether the other platforms have a similar thing:

http://www.tangentsoft.net/wskfaq/newbie.html#timeout

If would be great addition to SDL_net to have a function like:
SDLNet_SetTimeout(int seconds);–
Milan Babuskov
http://njam.sourceforge.net

Milan Babuskov wrote:

I can update my system, but I don’t like that idea. It would mean that
all users of my game would have to upgrade their systems. If you rebuild
the library to work with icmp.dll, would it work on newer Windows
versions? As far as I read on the net, it probably will not. Or, perhaps
to detect windows version and do The Right Thing™?

There is an alternative to these techniques, that should work on all
Windows platforms, take a look at this article and code:

http://www.tangentsoft.net/wskfaq/examples/rawping.html

However, I’m not an expert on this subject, but it would probably mean
something to you.

the problem is the rawping work well in old windows 95-ME the raw soket is open
to all users …

but in newest version of the nt kernel the raw soket don’t work well whit all
user or whit a broken config of the internal firewall :-\ (windows very crap
system :wink: )

the only portable and stable mode to get the icmp echo in all windows is to link
for win 95-98 (and ME maybe) the icmp.dll and in other windows the iphlpapi.dll
(the function is the same in all 2 dll … the nt series have the icmp.dll too
… but the iphlpapi is the core and not need the wrap of the icmp.dll (no more
overhead for make 2 farcall) )

In fact, all would be good if we could have a function to reduce the
timeout of TCP’s Connect() function. I also found an article about this,
but I’m not sure whether the other platforms have a similar thing:

http://www.tangentsoft.net/wskfaq/newbie.html#timeout

If would be great addition to SDL_net to have a function like:
SDLNet_SetTimeout(int seconds);

i try to take a look …

tnx for the feedback