Changeset 3728:b2f45541bb6a in roaraudio


Ignore:
Timestamp:
04/25/10 21:40:43 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added roar_nnode_new_from_fh()

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/nnode.h

    r3517 r3728  
    5454int roar_nnode_new_from_af(struct roar_nnode * nnode, int af); 
    5555int roar_nnode_new_from_sockaddr(struct roar_nnode * nnode, struct sockaddr * addr, socklen_t len); 
     56int roar_nnode_new_from_fh(struct roar_nnode * nnode, int fh, int remote); 
    5657 
    5758int roar_nnode_free       (struct roar_nnode * nnode); 
  • libroar/nnode.c

    r3517 r3728  
    142142} 
    143143 
     144int roar_nnode_new_from_fh(struct roar_nnode * nnode, int fh, int remote) { 
     145 struct sockaddr_storage sa; 
     146 socklen_t               len = sizeof(sa); 
     147 int                     ret; 
     148 
     149 _CHECK(nnode); 
     150 
     151 if ( fh == -1 ) 
     152  return -1; 
     153 
     154 if ( remote ) { 
     155  ret = getpeername(fh, (struct sockaddr*)&sa, &len); 
     156 } else { 
     157  ret = getsockname(fh, (struct sockaddr*)&sa, &len); 
     158 } 
     159 
     160 if ( ret == -1 ) 
     161  return -1; 
     162 
     163 return roar_nnode_new_from_sockaddr(nnode, (struct sockaddr*)&sa, len); 
     164} 
     165 
    144166int roar_nnode_free       (struct roar_nnode * nnode) { 
    145167 _CHECK(nnode); 
Note: See TracChangeset for help on using the changeset viewer.