Changeset 3905
- Timestamp:
- 03/17/06 08:29:12 (3 years ago)
- Files:
-
- libwired/trunk/libwired/net/wi-address.c (modified) (1 diff)
- libwired/trunk/libwired/net/wi-address.h (modified) (1 diff)
- libwired/trunk/libwired/net/wi-host.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libwired/trunk/libwired/net/wi-address.c
r3828 r3905 122 122 #pragma mark - 123 123 124 wi_address_t * wi_address_wildcard_for_family(wi_address_family_t family) { 125 struct sockaddr_in sa; 126 struct sockaddr_in6 sa6; 127 128 switch(family) { 129 case WI_ADDRESS_IPV4: 130 memset(&sa, 0, sizeof(sa)); 131 sa.sin_family = AF_INET; 132 sa.sin_addr.s_addr = INADDR_ANY; 133 #ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN 134 sa.sin_len = sizeof(sa); 135 #endif 136 137 return wi_autorelease(wi_address_init_with_sa(wi_address_alloc(), (struct sockaddr *) &sa)); 138 break; 139 140 case WI_ADDRESS_IPV6: 141 memset(&sa6, 0, sizeof(sa6)); 142 sa6.sin6_family = AF_INET6; 143 sa6.sin6_addr = in6addr_any; 144 #ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 145 sa6.sin6_len = sizeof(sa6); 146 #endif 147 148 return wi_autorelease(wi_address_init_with_sa(wi_address_alloc(), (struct sockaddr *) &sa6)); 149 break; 150 151 default: 152 break; 153 } 154 155 return NULL; 156 } 157 158 159 160 #pragma mark - 161 124 162 wi_address_t * wi_address_alloc(void) { 125 163 return wi_runtime_create_instance(_wi_address_runtime_id, sizeof(wi_address_t)); libwired/trunk/libwired/net/wi-address.h
r3828 r3905 48 48 WI_EXPORT wi_runtime_id_t wi_address_runtime_id(void); 49 49 50 WI_EXPORT wi_address_t * wi_address_wildcard_for_family(wi_address_family_t); 51 50 52 WI_EXPORT wi_address_t * wi_address_alloc(void); 51 53 WI_EXPORT wi_address_t * wi_address_init_with_sa(wi_address_t *, struct sockaddr *); libwired/trunk/libwired/net/wi-host.c
r3860 r3905 233 233 #else 234 234 wi_list_t *list; 235 wi_address_t *address;236 struct sockaddr_in sa;237 struct sockaddr_in6 sa6;238 235 239 236 list = wi_list_init(wi_list_alloc()); 240 241 memset(&sa, 0, sizeof(sa)); 242 sa.sin_family = AF_INET; 243 sa.sin_addr.s_addr = INADDR_ANY; 244 #ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN 245 sa.sin_len = sizeof(sa); 246 #endif 247 248 address = wi_address_init_with_sa(wi_address_alloc(), (struct sockaddr *) &sa); 249 wi_list_append_data(list, address); 250 wi_release(address); 251 252 memset(&sa6, 0, sizeof(sa6)); 253 sa6.sin6_family = AF_INET6; 254 sa6.sin6_addr = in6addr_any; 255 #ifdef HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 256 sa6.sin6_len = sizeof(sa6); 257 #endif 258 259 address = wi_address_init_with_sa(wi_address_alloc(), (struct sockaddr *) &sa6); 260 wi_list_append_data(list, address); 261 wi_release(address); 237 wi_list_append_data(list, wi_address_wildcard_for_family(WI_ADDRESS_IPV4)); 238 wi_list_append_data(list, wi_address_wildcard_for_family(WI_ADDRESS_IPV6)); 262 239 263 240 return wi_autorelease(list);
