- fixed more Darwin stuff: basic SEMS stuff work on Mac OS X now :-)

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@878 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Raphael Coeffic 18 years ago
parent 46537f68bb
commit b0e2eed667

@ -367,9 +367,14 @@ void AmRtpStream::setRAddr(const string& addr, unsigned short port)
memcpy(&r_saddr,&ss,sizeof(struct sockaddr_storage));
set_port_v6(&r_saddr,port);
#else
struct sockaddr_in sa;
memset (&sa, 0, sizeof (sa));
#ifdef BSD44SOCKETS
sa.sin_len = sizeof(sockaddr_in);
#endif
sa.sin_family = AF_INET;
sa.sin_port = htons(port);

@ -286,20 +286,6 @@ std::vector <string> explode(string s, string e);
/** add a directory to an environement variable */
void add_env_path(const char* name, const string& path);
#ifdef SUPPORT_IPV6
#ifdef SIN6_LEN
#define SOCKADDR_LEN(soc_address) ((struct sockaddr *)&soc_address)->sa_len
#else
#ifndef SA_LEN
#define SA_LEN(x) (((x)->sa_family == AF_INET6)?sizeof(struct sockaddr_in6): \
(((x)->sa_family == AF_INET)?sizeof(struct sockaddr_in):sizeof(struct sockaddr)))
#endif
#define SOCKADDR_LEN(soc_address) SA_LEN((struct sockaddr *)&soc_address)
#endif /* SIN6_LEN */
#else
#define SOCKADDR_LEN(soc_address) sizeof(soc_address)
#endif /* SUPPORT_IPV6 */
#endif
// Local Variables:

@ -436,7 +436,7 @@ static void getInterfaceList(int sd, std::vector<std::pair<string,string> >& if_
exit(-1);
}
#ifdef __linux__
#if !defined(BSD44SOCKETS)
int n_dev = ifc.ifc_len / sizeof(struct ifreq);
for(int i=0; i<n_dev; i++){
if(ifrs[i].ifr_addr.sa_family==PF_INET){
@ -445,7 +445,7 @@ static void getInterfaceList(int sd, std::vector<std::pair<string,string> >& if_
inet_ntoa(sa->sin_addr)));
}
}
#else
#else // defined(BSD44SOCKETS)
struct ifreq* p_ifr = ifc.ifc_req;
while((char*)p_ifr - (char*)ifc.ifc_req < ifc.ifc_len){
@ -455,7 +455,7 @@ static void getInterfaceList(int sd, std::vector<std::pair<string,string> >& if_
inet_ntoa(sa->sin_addr)));
}
p_ifr = (struct ifreq*)(((char*)p_ifr) + IFNAMSIZ + SOCKADDR_LEN(p_ifr->ifr_addr));
p_ifr = (struct ifreq*)(((char*)p_ifr) + IFNAMSIZ + p_ifr->ifr_addr.sa_len);
}
#endif
}

Loading…
Cancel
Save