blackberry release

git-svn-id: svn://db.shs.com.ru/pip@135 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
2015-05-21 06:44:20 +00:00
parent e6dde535b9
commit 3fc57bcaac

View File

@@ -28,6 +28,8 @@
# else # else
# include <sys/dcmd_io-net.h> # include <sys/dcmd_io-net.h>
# endif # endif
# define ip_mreqn ip_mreq
# define imr_address imr_interface
#endif #endif
#ifdef WINDOWS #ifdef WINDOWS
# include <io.h> # include <io.h>
@@ -341,13 +343,7 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) {
if (!params[Broadcast]) if (!params[Broadcast])
;//piCoutObj << "Warning: \"Broadcast\" parameter not set, \"joinMulticastGroup(\"" << group << "\")\" may be useless!"; ;//piCoutObj << "Warning: \"Broadcast\" parameter not set, \"joinMulticastGroup(\"" << group << "\")\" may be useless!";
parseAddress(path(), &ip_, &port_); parseAddress(path(), &ip_, &port_);
struct struct ip_mreqn mreq;
#ifndef QNX
ip_mreqn
#else
ip_mreq
#endif
mreq;
memset(&mreq, 0, sizeof(mreq)); memset(&mreq, 0, sizeof(mreq));
#ifdef LINUX #ifdef LINUX
//mreq.imr_address.s_addr = INADDR_ANY; //mreq.imr_address.s_addr = INADDR_ANY;
@@ -355,16 +351,8 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) {
const PIEthernet::Interface * ci = il.getByAddress(ip_); const PIEthernet::Interface * ci = il.getByAddress(ip_);
if (ci != 0) mreq.imr_ifindex = ci->index;*/ if (ci != 0) mreq.imr_ifindex = ci->index;*/
#endif #endif
in_addr_t addr; if (params[PIEthernet::Broadcast]) mreq.imr_address.s_addr = INADDR_ANY;
if (params[PIEthernet::Broadcast]) addr = INADDR_ANY; else mreq.imr_address.s_addr = inet_addr(ip_.dataAscii());
else addr = inet_addr(ip_.dataAscii());
mreq.
#ifndef QNX
imr_address
#else
imr_interface
#endif
.s_addr = addr;
/*#ifndef WINDOWS /*#ifndef WINDOWS
PIEthernet::InterfaceList il = interfaces(); PIEthernet::InterfaceList il = interfaces();
const PIEthernet::Interface * ci = il.getByAddress(ip_); const PIEthernet::Interface * ci = il.getByAddress(ip_);
@@ -407,24 +395,10 @@ bool PIEthernet::leaveMulticastGroup(const PIString & group) {
PIFlags<Parameters> params = parameters(); PIFlags<Parameters> params = parameters();
/// TODO windows /// TODO windows
parseAddress(path(), &ip_, &port_); parseAddress(path(), &ip_, &port_);
struct struct ip_mreqn mreq;
#ifndef QNX
ip_mreqn
#else
ip_mreq
#endif
mreq;
memset(&mreq, 0, sizeof(mreq)); memset(&mreq, 0, sizeof(mreq));
in_addr_t addr; if (params[PIEthernet::Broadcast]) mreq.imr_address.s_addr = INADDR_ANY;
if (params[PIEthernet::Broadcast]) addr = INADDR_ANY; else mreq.imr_address.s_addr = inet_addr(ip_.dataAscii());
else addr = inet_addr(ip_.dataAscii());
mreq.
#ifndef QNX
imr_address
#else
imr_interface
#endif
.s_addr = addr;
mreq.imr_multiaddr.s_addr = inet_addr(group.dataAscii()); mreq.imr_multiaddr.s_addr = inet_addr(group.dataAscii());
if (ethSetsockopt(sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)) == -1) { if (ethSetsockopt(sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)) == -1) {
piCoutObj << "Can`t leave multicast group " << group << ", " << ethErrorString(); piCoutObj << "Can`t leave multicast group " << group << ", " << ethErrorString();