/*********************************************************************/
inline int
sock_getsockopt(sock_t *sock,int level,int optname,char *optval, int *optlen) {
- if (getsockopt(sock->fd, level, optname,(void *)optval, optlen)) {
+ if (getsockopt(sock->fd, level, optname,(void *)optval, (socklen_t *)optlen)) {
sock_cleanup(sock);
return -1;
}
/*********************************************************************/
int
-sock_bind(sock_t *sock,uint16_t port) {
+sock_bind(sock_t *sock,uint16_t port, IPAddress listen) {
struct sockaddr_in name;
int size;
name.sin_family = AF_INET;
name.sin_port = htons(port);
- name.sin_addr.s_addr = htonl(INADDR_ANY);
+ name.sin_addr.s_addr = htonl(listen);
if (bind(sock->fd,
#ifndef CONFIG_ORTE_RTL_ONETD
(struct sockaddr *)
#endif
&name,
#ifndef CONFIG_ORTE_RTL_ONETD
- &size
+ (socklen_t *)&size
#else
size
#endif
#ifndef CONFIG_ORTE_RTL_ONETD
(struct sockaddr*)
#endif
- des,&des_len);
+ des,(socklen_t *)&des_len);
}
/*********************************************************************/