Fixed ticket #644 and 648 again (hopefully once and for all): build error on VS6 with built-in SDK and on PocketPC 2003 SDK since they don't have multicast related socket options

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2331 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
Benny Prijono 2008-09-27 13:16:35 +00:00
parent b79ff937ff
commit e27461311d
6 changed files with 5385 additions and 5310 deletions

10669
aconfigure

File diff suppressed because it is too large Load Diff

View File

@ -176,6 +176,7 @@ AC_CHECK_HEADER(mswsock.h,[AC_DEFINE(PJ_HAS_MSWSOCK_H,1)],[],
# include <winsock.h>
#endif
])
AC_CHECK_HEADER(ws2tcpip.h,[AC_DEFINE(PJ_HAS_WS2TCPIP_H,1)])
AC_CHECK_HEADER(uuid/uuid.h,[ac_has_uuid_h=1])
AC_CHECK_HEADER(net/if.h,[AC_DEFINE(PJ_HAS_NET_IF_H,1)],[],
[#if PJ_HAS_SYS_SOCKET_H

View File

@ -75,6 +75,7 @@
#undef PJ_HAS_MSWSOCK_H
#undef PJ_HAS_WINSOCK_H
#undef PJ_HAS_WINSOCK2_H
#undef PJ_HAS_WS2TCPIP_H
#undef PJ_SOCK_HAS_INET_ATON
#undef PJ_SOCK_HAS_INET_PTON

View File

@ -59,6 +59,7 @@
#define PJ_HAS_MSWSOCK_H 1
#define PJ_HAS_WINSOCK_H 0
#define PJ_HAS_WINSOCK2_H 1
#define PJ_HAS_WS2TCPIP_H 1
#define PJ_SOCK_HAS_INET_ATON 0

View File

@ -32,6 +32,11 @@
# include <winsock.h>
#endif
#if defined(PJ_HAS_WS2TCPIP_H) && PJ_HAS_WS2TCPIP_H != 0
# include <ws2tcpip.h>
#endif
/*
* IPv6 for Visual Studio's
*
@ -58,9 +63,6 @@
# define s_addr S_un.S_addr
# endif
# include <ws2tcpip.h>
# define PJ_WS2TCPIP_H_INCLUDED
# if !defined(IPPROTO_IPV6)
/* Need to download and install IPv6Kit for this platform.
* Please see the comments above about Visual Studio 6.
@ -71,11 +73,6 @@
# define PJ_SOCK_HAS_GETADDRINFO 1
#endif /* _MSC_VER */
/* Mingw32 needs ws2tcpip.h for the IGMP constants */
#if defined(__GNUC__) && defined(WIN32) && !defined(PJ_WS2TCPIP_H_INCLUDED)
# include <ws2tcpip.h>
#endif
#if defined(PJ_HAS_SYS_TYPES_H) && PJ_HAS_SYS_TYPES_H != 0
# include <sys/types.h>
#endif

View File

@ -115,12 +115,20 @@ const pj_uint16_t PJ_IPTOS_MINCOST = 0x02;
const pj_uint16_t PJ_SO_TYPE = SO_TYPE;
const pj_uint16_t PJ_SO_RCVBUF = SO_RCVBUF;
const pj_uint16_t PJ_SO_SNDBUF = SO_SNDBUF;
/* Multicasting is not supported e.g. in PocketPC 2003 SDK */
#ifdef IP_MULTICAST_IF
const pj_uint16_t PJ_IP_MULTICAST_IF = IP_MULTICAST_IF;
const pj_uint16_t PJ_IP_MULTICAST_TTL = IP_MULTICAST_TTL;
const pj_uint16_t PJ_IP_MULTICAST_LOOP = IP_MULTICAST_LOOP;
const pj_uint16_t PJ_IP_ADD_MEMBERSHIP = IP_ADD_MEMBERSHIP;
const pj_uint16_t PJ_IP_DROP_MEMBERSHIP = IP_DROP_MEMBERSHIP;
#else
const pj_uint16_t PJ_IP_MULTICAST_IF = 0xFFFF;
const pj_uint16_t PJ_IP_MULTICAST_TTL = 0xFFFF;
const pj_uint16_t PJ_IP_MULTICAST_LOOP = 0xFFFF;
const pj_uint16_t PJ_IP_ADD_MEMBERSHIP = 0xFFFF;
const pj_uint16_t PJ_IP_DROP_MEMBERSHIP = 0xFFFF;
#endif
/* recv() and send() flags */
const int PJ_MSG_OOB = MSG_OOB;