Changeset 20302 in vbox for trunk/src/VBox/Devices/Network/slirp
- Timestamp:
- Jun 5, 2009 8:45:06 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 48197
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/slirp_state.h
r20301 r20302 347 347 #define queue_tcp_label tcb 348 348 #define queue_udp_label udb 349 #define __X(x) x350 #define _X(x) __X(x)351 #define _str(x) #x352 #define str(x) _str(x)349 #define VBOX_X2(x) x 350 #define VBOX_X(x) VBOX_X2(x) 351 #define VBOX_STR2(x) #x 352 #define VBOX_STR(x) VBOX_STR2(x) 353 353 354 354 #ifdef VBOX_WITH_SLIRP_MT … … 358 358 int rc; \ 359 359 /* Assert(strcmp(RTThreadSelfName(), "EMT") != 0); */ \ 360 rc = RTCritSectEnter(& _X(queue) ## _mutex);\360 rc = RTCritSectEnter(&VBOX_X(queue) ## _mutex); \ 361 361 AssertReleaseRC(rc); \ 362 362 } while (0) … … 364 364 do { \ 365 365 int rc; \ 366 rc = RTCritSectLeave(& _X(queue) ## _mutex);\366 rc = RTCritSectLeave(&VBOX_X(queue) ## _mutex); \ 367 367 AssertReleaseRC(rc); \ 368 368 } while (0) … … 380 380 381 381 # define QSOCKET_FOREACH(so, sonext, label) \ 382 QSOCKET_LOCK( __X(queue_## label ## _label));\383 (so) = ( _X(queue_ ## label ## _label)).so_next;\384 QSOCKET_UNLOCK( __X(queue_## label ##_label));\385 if ((so) != &( _X(queue_## label ## _label))) SOCKET_LOCK((so));\382 QSOCKET_LOCK(VBOX_X2(queue_## label ## _label)); \ 383 (so) = (VBOX_X(queue_ ## label ## _label)).so_next; \ 384 QSOCKET_UNLOCK(VBOX_X2(queue_## label ##_label)); \ 385 if ((so) != &(VBOX_X(queue_## label ## _label))) SOCKET_LOCK((so));\ 386 386 for (;;) \ 387 387 { \ 388 if ((so) == &( _X(queue_## label ## _label)))\388 if ((so) == &(VBOX_X(queue_## label ## _label))) \ 389 389 { \ 390 390 break; \ … … 399 399 (sonext) = (so)->so_next; \ 400 400 SOCKET_UNLOCK(so); \ 401 QSOCKET_LOCK( _X(queue_ ## label ## _label));\402 if ((sonext) != &( _X(queue_## label ## _label)))\401 QSOCKET_LOCK(VBOX_X(queue_ ## label ## _label)); \ 402 if ((sonext) != &(VBOX_X(queue_## label ## _label))) \ 403 403 { \ 404 404 SOCKET_LOCK((sonext)); \ 405 QSOCKET_UNLOCK( _X(queue_ ## label ## _label));\405 QSOCKET_UNLOCK(VBOX_X(queue_ ## label ## _label)); \ 406 406 } \ 407 407 else \ 408 408 { \ 409 so = & _X(queue_ ## label ## _label);\410 QSOCKET_UNLOCK( _X(queue_ ## label ## _label));\409 so = &VBOX_X(queue_ ## label ## _label); \ 410 QSOCKET_UNLOCK(VBOX_X(queue_ ## label ## _label)); \ 411 411 break; \ 412 412 } \ … … 590 590 && so->so_fport == (dport)) \ 591 591 { \ 592 if (sonxt != & __X(queue_ ## label ## _label)) \592 if (sonxt != &VBOX_X2(queue_ ## label ## _label)) \ 593 593 SOCKET_UNLOCK(sonxt); \ 594 594 break; /*so is locked*/ \ … … 606 606 # define QSOCKET_LOCK_DESTROY(queue) do {} while (0) 607 607 # define QSOCKET_FOREACH(so, sonext, label) \ 608 for ((so) = __X(queue_ ## label ## _label).so_next; \609 (so) != &( __X(queue_ ## label ## _label)); \608 for ((so) = VBOX_X2(queue_ ## label ## _label).so_next; \ 609 (so) != &(VBOX_X2(queue_ ## label ## _label)); \ 610 610 (so) = (sonext)) \ 611 611 { \ … … 628 628 # define SOLOOKUP(so, label, src, sport, dst, dport) \ 629 629 do { \ 630 (so) = solookup(& __X(queue_ ## label ## _label), (src), (sport), (dst), (dport)); \630 (so) = solookup(&VBOX_X2(queue_ ## label ## _label), (src), (sport), (dst), (dport)); \ 631 631 } while (0) 632 632 # define DO_UDP_DETACH(data, so, ignored) udp_detach((data), (so))
Note:
See TracChangeset
for help on using the changeset viewer.