Changeset 51329 in vbox
- Timestamp:
- May 21, 2014 6:41:59 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 93812
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/debug.c
r44528 r51329 284 284 { 285 285 struct socket *so = (struct socket*)pvValue; 286 struct sockaddr addr;287 struct sockaddr_in *in_addr;288 socklen_t socklen = sizeof(struct sockaddr);289 286 PNATState pData = (PNATState)pvUser; 290 int status = 0; 287 size_t cb = 0; 288 291 289 NOREF(cchWidth); 292 290 NOREF(cchPrecision); … … 295 293 296 294 AssertReturn(strcmp(pszType, "natsock") == 0, 0); 295 297 296 if (so == NULL) 298 297 return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, … … 302 301 "socket(%d)", so->s); 303 302 304 status = getsockname(so->s, &addr, &socklen); 305 if(status != 0 || addr.sa_family != AF_INET) 306 { 307 return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, 308 "socket(%d) is invalid(%s)", so->s, strerror(errno)); 309 } 310 311 in_addr = (struct sockaddr_in *)&addr; 312 return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "socket %d:(proto:%u) exp. in %d " 313 "state=%R[natsockstate] " 314 "fUnderPolling:%RTbool " 315 "fShouldBeRemoved:%RTbool " 316 "f_(addr:port)=%RTnaipv4:%d " 317 "l_(addr:port)=%RTnaipv4:%d " 318 "name=%RTnaipv4:%d", 303 cb += RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, 304 "socket %d:(proto:%u) exp. in %d " 305 " state=%R[natsockstate]" 306 " fUnderPolling:%RTbool" 307 " fShouldBeRemoved:%RTbool" 308 " f_(addr:port)=%RTnaipv4:%d" 309 " l_(addr:port)=%RTnaipv4:%d", 319 310 so->s, so->so_type, 320 311 so->so_expire ? so->so_expire - curtime : 0, … … 325 316 RT_N2H_U16(so->so_fport), 326 317 so->so_laddr.s_addr, 327 RT_N2H_U16(so->so_lport), 328 in_addr->sin_addr.s_addr, 329 RT_N2H_U16(in_addr->sin_port)); 318 RT_N2H_U16(so->so_lport)); 319 320 if (so->s != -1) 321 { 322 struct sockaddr addr; 323 socklen_t socklen; 324 int status; 325 326 socklen = sizeof(addr); 327 status = getsockname(so->s, &addr, &socklen); 328 329 if (status != 0) 330 { 331 cb += RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, 332 " (getsockname failed)"); 333 } 334 else if (addr.sa_family != AF_INET) 335 { 336 cb += RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, 337 " (unexpected address family %d)", 338 addr.sa_family); 339 } 340 else 341 { 342 struct sockaddr_in *in_addr = (struct sockaddr_in *)&addr; 343 cb += RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, 344 " name=%RTnaipv4:%d", 345 in_addr->sin_addr.s_addr, 346 RT_N2H_U16(in_addr->sin_port)); 347 } 348 } 349 return cb; 330 350 } 331 351
Note:
See TracChangeset
for help on using the changeset viewer.