VirtualBox

Changeset 10806

Show
Ignore:
Timestamp:
07/22/08 13:07:38 (1 month ago)
Author:
vboxsync
Message:

intnet: Push the session down to all the INTNETR0* apis.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/include/VBox/intnet.h

    r10761 r10806  
    685685typedef INTNETIFCLOSEREQ *PINTNETIFCLOSEREQ; 
    686686 
    687 INTNETR0DECL(int) INTNETR0IfCloseReq(PINTNET pIntNet, PINTNETIFCLOSEREQ pReq); 
     687INTNETR0DECL(int) INTNETR0IfCloseReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFCLOSEREQ pReq); 
    688688 
    689689 
     
    707707typedef INTNETIFGETRING3BUFFERREQ *PINTNETIFGETRING3BUFFERREQ; 
    708708 
    709 INTNETR0DECL(int) INTNETR0IfGetRing3BufferReq(PINTNET pIntNet, PINTNETIFGETRING3BUFFERREQ pReq); 
     709INTNETR0DECL(int) INTNETR0IfGetRing3BufferReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFGETRING3BUFFERREQ pReq); 
    710710 
    711711 
     
    729729typedef INTNETIFSETPROMISCUOUSMODEREQ *PINTNETIFSETPROMISCUOUSMODEREQ; 
    730730 
    731 INTNETR0DECL(int) INTNETR0IfSetPromiscuousModeReq(PINTNET pIntNet, PINTNETIFSETPROMISCUOUSMODEREQ pReq); 
     731INTNETR0DECL(int) INTNETR0IfSetPromiscuousModeReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFSETPROMISCUOUSMODEREQ pReq); 
    732732 
    733733 
     
    749749typedef INTNETIFSENDREQ *PINTNETIFSENDREQ; 
    750750 
    751 INTNETR0DECL(int) INTNETR0IfSendReq(PINTNET pIntNet, PINTNETIFSENDREQ pReq); 
     751INTNETR0DECL(int) INTNETR0IfSendReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFSENDREQ pReq); 
    752752 
    753753 
     
    771771typedef INTNETIFWAITREQ *PINTNETIFWAITREQ; 
    772772 
    773 INTNETR0DECL(int) INTNETR0IfWaitReq(PINTNET pIntNet, PINTNETIFWAITREQ pReq); 
     773INTNETR0DECL(int) INTNETR0IfWaitReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFWAITREQ pReq); 
    774774 
    775775 
     
    819819 * @param   pIntNet     The instance handle. 
    820820 * @param   hIf         The interface handle. 
    821  */ 
    822 INTNETR0DECL(int) INTNETR0IfClose(PINTNET pIntNet, INTNETIFHANDLE hIf); 
     821 * @param   pSession        The caller's session. 
     822 */ 
     823INTNETR0DECL(int) INTNETR0IfClose(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession); 
    823824 
    824825/** 
     
    836837 * 
    837838 * @returns VBox status code. 
    838  * @param   pIntNet     The instance data. 
    839  * @param   hIF         The interface handle. 
    840  * @param   ppRing3Buf  Where to store the address of the ring-3 mapping. 
    841  */ 
    842 INTNETR0DECL(int) INTNETR0IfGetRing3Buffer(PINTNET pIntNet, INTNETIFHANDLE hIf, R3PTRTYPE(PINTNETBUF) *ppRing3Buf); 
     839 * @param   pIntNet         The instance data. 
     840 * @param   hIF             The interface handle. 
     841 * @param   pSession        The caller's session. 
     842 * @param   ppRing3Buf      Where to store the address of the ring-3 mapping. 
     843 */ 
     844INTNETR0DECL(int) INTNETR0IfGetRing3Buffer(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, R3PTRTYPE(PINTNETBUF) *ppRing3Buf); 
    843845 
    844846/** 
     
    848850 * @param   pIntNet         The instance handle. 
    849851 * @param   hIf             The interface handle. 
     852 * @param   pSession        The caller's session. 
    850853 * @param   fPromiscuous    Set if the interface should be in promiscuous mode, clear if not. 
    851854 */ 
    852 INTNETR0DECL(int) INTNETR0IfSetPromiscuousMode(PINTNET pIntNet, INTNETIFHANDLE hIf, bool fPromiscuous); 
     855INTNETR0DECL(int) INTNETR0IfSetPromiscuousMode(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, bool fPromiscuous); 
    853856 
    854857/** 
     
    863866 * @param   pIntNet     The instance data. 
    864867 * @param   hIF         The interface handle. 
     868 * @param   pSession    The caller's session. 
    865869 * @param   pvFrame     Pointer to the frame. Optional, please don't use. 
    866870 * @param   cbFrame     Size of the frame. Optional, please don't use. 
    867871 */ 
    868 INTNETR0DECL(int) INTNETR0IfSend(PINTNET pIntNet, INTNETIFHANDLE hIf, const void *pvFrame, unsigned cbFrame); 
     872INTNETR0DECL(int) INTNETR0IfSend(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, const void *pvFrame, unsigned cbFrame); 
    869873 
    870874/** 
     
    873877 * 
    874878 * @returns VBox status code. 
    875  * @param   pIntNet     The instance handle. 
    876  * @param   hIf         The interface handle. 
    877  * @param   cMillies    Number of milliseconds to wait. RT_INDEFINITE_WAIT should be 
    878  *                      used if indefinite wait is desired. 
    879  */ 
    880 INTNETR0DECL(int) INTNETR0IfWait(PINTNET pIntNet, INTNETIFHANDLE hIf, uint32_t cMillies); 
     879 * @param   pIntNet         The instance handle. 
     880 * @param   hIf             The interface handle. 
     881 * @param   pSession        The caller's session. 
     882 * @param   cMillies        Number of milliseconds to wait. RT_INDEFINITE_WAIT should be 
     883 *                          used if indefinite wait is desired. 
     884 */ 
     885INTNETR0DECL(int) INTNETR0IfWait(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, uint32_t cMillies); 
    881886 
    882887/** @} */ 
  • trunk/src/VBox/Devices/Network/SrvIntNetR0.cpp

    r10763 r10806  
    985985 * @param   pIntNet     The instance data. 
    986986 * @param   hIf         The interface handle. 
     987 * @param   pSession    The caller's session. 
    987988 * @param   pvFrame     Pointer to the frame. Optional, please don't use. 
    988989 * @param   cbFrame     Size of the frame. Optional, please don't use. 
    989990 */ 
    990 INTNETR0DECL(int) INTNETR0IfSend(PINTNET pIntNet, INTNETIFHANDLE hIf, const void *pvFrame, unsigned cbFrame) 
     991INTNETR0DECL(int) INTNETR0IfSend(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, const void *pvFrame, unsigned cbFrame) 
    991992{ 
    992993//    LogFlow(("INTNETR0IfSend: pIntNet=%p hIf=%RX32 pvFrame=%p cbFrame=%u\n", pIntNet, hIf, pvFrame, cbFrame)); 
     
    10951096 * @returns see INTNETR0IfSend. 
    10961097 * @param   pIntNet         The internal networking instance. 
     1098 * @param   pSession        The caller's session. 
    10971099 * @param   pReq            The request packet. 
    10981100 */ 
    1099 INTNETR0DECL(int) INTNETR0IfSendReq(PINTNET pIntNet, PINTNETIFSENDREQ pReq) 
     1101INTNETR0DECL(int) INTNETR0IfSendReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFSENDREQ pReq) 
    11001102{ 
    11011103    if (RT_UNLIKELY(pReq->Hdr.cbReq != sizeof(*pReq))) 
    11021104        return VERR_INVALID_PARAMETER; 
    1103     return INTNETR0IfSend(pIntNet, pReq->hIf, NULL, 0); 
     1105    return INTNETR0IfSend(pIntNet, pReq->hIf, pSession, NULL, 0); 
    11041106} 
    11051107 
     
    11091111 * 
    11101112 * @returns VBox status code. 
    1111  * @param   pIntNet     The instance data. 
    1112  * @param   hIf         The interface handle. 
    1113  * @param   ppRing3Buf  Where to store the address of the ring-3 mapping. 
    1114  */ 
    1115 INTNETR0DECL(int) INTNETR0IfGetRing3Buffer(PINTNET pIntNet, INTNETIFHANDLE hIf, R3PTRTYPE(PINTNETBUF) *ppRing3Buf) 
     1113 * @param   pIntNet         The instance data. 
     1114 * @param   hIf             The interface handle. 
     1115 * @param   pSession        The caller's session. 
     1116 * @param   ppRing3Buf      Where to store the address of the ring-3 mapping. 
     1117 */ 
     1118INTNETR0DECL(int) INTNETR0IfGetRing3Buffer(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, R3PTRTYPE(PINTNETBUF) *ppRing3Buf) 
    11161119{ 
    11171120    LogFlow(("INTNETR0IfGetRing3Buffer: pIntNet=%p hIf=%RX32 ppRing3Buf=%p\n", pIntNet, hIf, ppRing3Buf)); 
     
    11481151 * @returns see INTNETR0IfGetRing3Buffer. 
    11491152 * @param   pIntNet         The internal networking instance. 
     1153 * @param   pSession        The caller's session. 
    11501154 * @param   pReq            The request packet. 
    11511155 */ 
    1152 INTNETR0DECL(int) INTNETR0IfGetRing3BufferReq(PINTNET pIntNet, PINTNETIFGETRING3BUFFERREQ pReq) 
     1156INTNETR0DECL(int) INTNETR0IfGetRing3BufferReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFGETRING3BUFFERREQ pReq) 
    11531157{ 
    11541158    if (RT_UNLIKELY(pReq->Hdr.cbReq != sizeof(*pReq))) 
    11551159        return VERR_INVALID_PARAMETER; 
    1156     return INTNETR0IfGetRing3Buffer(pIntNet, pReq->hIf, &pReq->pRing3Buf); 
     1160    return INTNETR0IfGetRing3Buffer(pIntNet, pReq->hIf, pSession, &pReq->pRing3Buf); 
    11571161} 
    11581162 
     
    12431247 * @param   pIntNet         The instance handle. 
    12441248 * @param   hIf             The interface handle. 
     1249 * @param   pSession        The caller's session. 
    12451250 * @param   fPromiscuous    Set if the interface should be in promiscuous mode, clear if not. 
    12461251 */ 
    1247 INTNETR0DECL(int) INTNETR0IfSetPromiscuousMode(PINTNET pIntNet, INTNETIFHANDLE hIf, bool fPromiscuous) 
     1252INTNETR0DECL(int) INTNETR0IfSetPromiscuousMode(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, bool fPromiscuous) 
    12481253{ 
    12491254    LogFlow(("INTNETR0IfSetPromiscuousMode: pIntNet=%p hIf=%RX32 fPromiscuous=%d\n", pIntNet, hIf, fPromiscuous)); 
     
    12871292 * @returns see INTNETR0IfSetPromiscuousMode. 
    12881293 * @param   pIntNet         The internal networking instance. 
     1294 * @param   pSession        The caller's session. 
    12891295 * @param   pReq            The request packet. 
    12901296 */ 
    1291 INTNETR0DECL(int) INTNETR0IfSetPromiscuousModeReq(PINTNET pIntNet, PINTNETIFSETPROMISCUOUSMODEREQ pReq) 
     1297INTNETR0DECL(int) INTNETR0IfSetPromiscuousModeReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFSETPROMISCUOUSMODEREQ pReq) 
    12921298{ 
    12931299    if (RT_UNLIKELY(pReq->Hdr.cbReq != sizeof(*pReq))) 
    12941300        return VERR_INVALID_PARAMETER; 
    1295     return INTNETR0IfSetPromiscuousMode(pIntNet, pReq->hIf, pReq->fPromiscuous); 
     1301    return INTNETR0IfSetPromiscuousMode(pIntNet, pReq->hIf, pSession, pReq->fPromiscuous); 
    12961302} 
    12971303 
     
    13951401 * 
    13961402 * @returns VBox status code. 
    1397  * @param   pIntNet     The instance handle. 
    1398  * @param   hIf         The interface handle. 
    1399  * @param   cMillies    Number of milliseconds to wait. RT_INDEFINITE_WAIT should be 
    1400  *                      used if indefinite wait is desired. 
    1401  */ 
    1402 INTNETR0DECL(int) INTNETR0IfWait(PINTNET pIntNet, INTNETIFHANDLE hIf, uint32_t cMillies) 
     1403 * @param   pIntNet         The instance handle. 
     1404 * @param   hIf             The interface handle. 
     1405 * @param   pSession        The caller's session. 
     1406 * @param   cMillies        Number of milliseconds to wait. RT_INDEFINITE_WAIT should be 
     1407 *                          used if indefinite wait is desired. 
     1408 */ 
     1409INTNETR0DECL(int) INTNETR0IfWait(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession, uint32_t cMillies) 
    14031410{ 
    14041411//    LogFlow(("INTNETR0IfWait: pIntNet=%p hIf=%RX32 cMillies=%u\n", pIntNet, hIf, cMillies)); 
     
    14551462 * @returns see INTNETR0IfWait. 
    14561463 * @param   pIntNet         The internal networking instance. 
     1464 * @param   pSession        The caller's session. 
    14571465 * @param   pReq            The request packet. 
    14581466 */ 
    1459 INTNETR0DECL(int) INTNETR0IfWaitReq(PINTNET pIntNet, PINTNETIFWAITREQ pReq) 
     1467INTNETR0DECL(int) INTNETR0IfWaitReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFWAITREQ pReq) 
    14601468{ 
    14611469    if (RT_UNLIKELY(pReq->Hdr.cbReq != sizeof(*pReq))) 
    14621470        return VERR_INVALID_PARAMETER; 
    1463     return INTNETR0IfWait(pIntNet, pReq->hIf, pReq->cMillies); 
     1471    return INTNETR0IfWait(pIntNet, pReq->hIf, pSession, pReq->cMillies); 
    14641472} 
    14651473 
     
    14711479 * @param   pIntNet     The instance handle. 
    14721480 * @param   hIf         The interface handle. 
    1473  */ 
    1474 INTNETR0DECL(int) INTNETR0IfClose(PINTNET pIntNet, INTNETIFHANDLE hIf) 
     1481 * @param   pSession        The caller's session. 
     1482 */ 
     1483INTNETR0DECL(int) INTNETR0IfClose(PINTNET pIntNet, INTNETIFHANDLE hIf, PSUPDRVSESSION pSession) 
    14751484{ 
    14761485    LogFlow(("INTNETR0IfClose: pIntNet=%p hIf=%RX32\n", pIntNet, hIf)); 
     
    14991508 * @returns see INTNETR0IfClose. 
    15001509 * @param   pIntNet         The internal networking instance. 
     1510 * @param   pSession        The caller's session. 
    15011511 * @param   pReq            The request packet. 
    15021512 */ 
    1503 INTNETR0DECL(int) INTNETR0IfCloseReq(PINTNET pIntNet, PINTNETIFCLOSEREQ pReq) 
     1513INTNETR0DECL(int) INTNETR0IfCloseReq(PINTNET pIntNet, PSUPDRVSESSION pSession, PINTNETIFCLOSEREQ pReq) 
    15041514{ 
    15051515    if (RT_UNLIKELY(pReq->Hdr.cbReq != sizeof(*pReq))) 
    15061516        return VERR_INVALID_PARAMETER; 
    1507     return INTNETR0IfClose(pIntNet, pReq->hIf); 
     1517    return INTNETR0IfClose(pIntNet, pReq->hIf, pSession); 
    15081518} 
    15091519 
     
    25002510 * @returns see GMMR0MapUnmapChunk. 
    25012511 * @param   pIntNet         The internal networking instance. 
    2502  * @param   pSession        The session handle
     2512 * @param   pSession        The caller's session
    25032513 * @param   pReq            The request packet. 
    25042514 */ 
  • trunk/src/VBox/Devices/Network/testcase/tstIntNet-1.cpp

    r10764 r10806  
    583583        { "--duration",     'd', RTGETOPT_REQ_UINT32 }, 
    584584        { "--file",         'f', RTGETOPT_REQ_STRING }, 
     585        { "--interface",    'i', RTGETOPT_REQ_STRING }, 
    585586        { "--network",      'n', RTGETOPT_REQ_STRING }, 
    586587        { "--promiscuous",  'p', RTGETOPT_REQ_NOTHING }, 
     
    590591        { "--text-file",    't', RTGETOPT_REQ_STRING }, 
    591592        { "--xmit-test",    'x', RTGETOPT_REQ_NOTHING }, 
     593        { "--help",         'h', RTGETOPT_REQ_NOTHING }, 
     594        { "--?",            '?', RTGETOPT_REQ_NOTHING }, 
    592595    }; 
    593596 
     
    697700            case '?': 
    698701            case 'h': 
    699                 RTPrintf("syntax: tstIntNet-1 [-pSt] [-d <secs>] [-f <file>] [-r <size>] [-s <size>]\n"); 
     702                RTPrintf("syntax: tstIntNet-1 [-pStx-] [-d <secs>] [-f <file>] [-r <size>] [-s <size>]\n"); 
    700703                return 1; 
    701704 
     
    703706                if (RT_SUCCESS(ch)) 
    704707                    RTPrintf("tstIntNetR0: invalid argument (%#x): %s\n", ch, Value.psz); 
     708                else if (Value.pDef) 
     709                    RTPrintf("tstIntNetR0: invalid argument: %Rrc - %s\n", ch, Value.pDef->pszLong); 
    705710                else 
    706                     RTPrintf("tstIntNetR0: invalid argument: %Rrc - \n", ch, Value.pDef->pszLong); 
     711                    RTPrintf("tstIntNetR0: invalid argument: %Rrc - %s\n", ch, argv[iArg]); 
    707712                return 1; 
    708713        } 
  • trunk/src/VBox/Devices/Network/testcase/tstIntNetR0.cpp

    r10740 r10806  
    102102struct TESTFRAME 
    103103{ 
    104     uint16_t    au16[6]; 
    105 } g_TestFrame0 = { { /* dst:*/ 0xffff, 0xffff, 0xffff, /*src:*/0x8086, 0, 0} }, 
    106   g_TestFrame1 = { { /* dst:*/0, 0, 0,                /*src:*/0x8086, 0, 1} }; 
     104    uint16_t    au16[7]; 
     105} g_TestFrame0 = { { /* dst:*/ 0xffff, 0xffff, 0xffff, /*src:*/0x8086, 0, 0, 0x0800 } }, 
     106  g_TestFrame1 = { { /* dst:*/ 0, 0, 0,                /*src:*/0x8086, 0, 1, 0x0800 } }; 
    107107 
    108108 
     
    240240        *puFrame = iFrame; 
    241241#if 0 
    242         int rc = INTNETR0IfSend(pArgs->pIntNet, pArgs->hIf, abBuf, cb); 
     242        int rc = INTNETR0IfSend(pArgs->pIntNet, pArgs->hIf, g_pSession, abBuf, cb); 
    243243#else 
    244244        INTNETSG Sg; 
     
    246246        int rc = intnetR0RingWriteFrame(pArgs->pBuf, &pArgs->pBuf->Send, &Sg); 
    247247        if (RT_SUCCESS(rc)) 
    248             rc = INTNETR0IfSend(pArgs->pIntNet, pArgs->hIf, NULL, 0); 
     248            rc = INTNETR0IfSend(pArgs->pIntNet, pArgs->hIf, g_pSession, NULL, 0); 
    249249#endif 
    250250        if (VBOX_FAILURE(rc)) 
     
    265265    for (unsigned c = 0; c < 20; c++) 
    266266    { 
    267         int rc = INTNETR0IfSend(pArgs->pIntNet, pArgs->hIf, abBuf, sizeof(PDMMAC) * 2 + sizeof(unsigned) * 4); 
     267        int rc = INTNETR0IfSend(pArgs->pIntNet, pArgs->hIf, g_pSession, abBuf, sizeof(PDMMAC) * 2 + sizeof(unsigned) * 4); 
    268268        if (VBOX_FAILURE(rc)) 
    269269        { 
     
    297297         * Wait for data. 
    298298         */ 
    299         int rc = INTNETR0IfWait(pArgs->pIntNet, pArgs->hIf, RT_INDEFINITE_WAIT); 
     299        int rc = INTNETR0IfWait(pArgs->pIntNet, pArgs->hIf, g_pSession, RT_INDEFINITE_WAIT); 
    300300        switch (rc) 
    301301        { 
     
    467467                     * Test basic waiting. 
    468468                     */ 
    469                     rc = INTNETR0IfWait(pIntNet, hIf0, 1); 
     469                    rc = INTNETR0IfWait(pIntNet, hIf0, g_pSession, 1); 
    470470                    if (rc != VERR_TIMEOUT) 
    471471                    { 
     
    473473                        g_cErrors++; 
    474474                    } 
    475                     rc = INTNETR0IfWait(pIntNet, hIf1, 0); 
     475                    rc = INTNETR0IfWait(pIntNet, hIf1, g_pSession, 0); 
    476476                    if (rc != VERR_TIMEOUT) 
    477477                    { 
     
    483483                     * Send and receive. 
    484484                     */ 
    485                     rc = INTNETR0IfSend(pIntNet, hIf0, &g_TestFrame0, sizeof(g_TestFrame0)); 
     485                    rc = INTNETR0IfSend(pIntNet, hIf0, g_pSession, &g_TestFrame0, sizeof(g_TestFrame0)); 
    486486                    if (VBOX_SUCCESS(rc)) 
    487487                    { 
    488                         rc = INTNETR0IfWait(pIntNet, hIf0, 1); 
     488                        rc = INTNETR0IfWait(pIntNet, hIf0, g_pSession, 1); 
    489489                        if (rc != VERR_TIMEOUT) 
    490490                        { 
     
    492492                            g_cErrors++; 
    493493                        } 
    494                         rc = INTNETR0IfWait(pIntNet, hIf1, 0); 
     494                        rc = INTNETR0IfWait(pIntNet, hIf1, g_pSession, 0); 
    495495                        if (rc == VINF_SUCCESS) 
    496496                        { 
     
    521521                             * Send a packet from If1 just to set its MAC address. 
    522522                             */ 
    523                             rc = INTNETR0IfSend(pIntNet, hIf1, &g_TestFrame1, sizeof(g_TestFrame1)); 
     523                            rc = INTNETR0IfSend(pIntNet, hIf1, g_pSession, &g_TestFrame1, sizeof(g_TestFrame1)); 
    524524                            if (VBOX_FAILURE(rc)) 
    525525                            { 
     
    627627                                        } 
    628628 
    629                                         rc = INTNETR0IfClose(pIntNet, hIf0); 
     629                                        rc = INTNETR0IfClose(pIntNet, hIf0, g_pSession); 
    630630                                        if (VBOX_SUCCESS(rc)) 
    631631                                        { 
     
    639639                                        } 
    640640 
    641                                         rc = INTNETR0IfClose(pIntNet, hIf1); 
     641                                        rc = INTNETR0IfClose(pIntNet, hIf1, g_pSession); 
    642642                                        if (VBOX_SUCCESS(rc)) 
    643643                                        { 
     
    700700 
    701701                if (hIf1 != INTNET_HANDLE_INVALID) 
    702                     rc = INTNETR0IfClose(pIntNet, hIf1); 
     702                    rc = INTNETR0IfClose(pIntNet, hIf1, g_pSession); 
    703703            } 
    704704            else 
     
    709709 
    710710            if (hIf0 != INTNET_HANDLE_INVALID) 
    711                 rc = INTNETR0IfClose(pIntNet, hIf0); 
     711                rc = INTNETR0IfClose(pIntNet, hIf0, g_pSession); 
    712712        } 
    713713        else 
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r10805 r10806  
    894894            if (!g_pIntNet) 
    895895                return VERR_NOT_SUPPORTED; 
    896             return INTNETR0IfCloseReq(g_pIntNet, (PINTNETIFCLOSEREQ)pReqHdr); 
     896            return INTNETR0IfCloseReq(g_pIntNet, pSession, (PINTNETIFCLOSEREQ)pReqHdr); 
    897897 
    898898        case VMMR0_DO_INTNET_IF_GET_RING3_BUFFER: 
     
    901901            if (!g_pIntNet) 
    902902                return VERR_NOT_SUPPORTED; 
    903             return INTNETR0IfGetRing3BufferReq(g_pIntNet, (PINTNETIFGETRING3BUFFERREQ)pReqHdr); 
     903            return INTNETR0IfGetRing3BufferReq(g_pIntNet, pSession, (PINTNETIFGETRING3BUFFERREQ)pReqHdr); 
    904904 
    905905        case VMMR0_DO_INTNET_IF_SET_PROMISCUOUS_MODE: 
     
    908908            if (!g_pIntNet) 
    909909                return VERR_NOT_SUPPORTED; 
    910             return INTNETR0IfSetPromiscuousModeReq(g_pIntNet, (PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr); 
     910            return INTNETR0IfSetPromiscuousModeReq(g_pIntNet, pSession, (PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr); 
    911911 
    912912        case VMMR0_DO_INTNET_IF_SEND: 
     
    915915            if (!g_pIntNet) 
    916916                return VERR_NOT_SUPPORTED; 
    917             return INTNETR0IfSendReq(g_pIntNet, (PINTNETIFSENDREQ)pReqHdr); 
     917            return INTNETR0IfSendReq(g_pIntNet, pSession, (PINTNETIFSENDREQ)pReqHdr); 
    918918 
    919919        case VMMR0_DO_INTNET_IF_WAIT: 
     
    922922            if (!g_pIntNet) 
    923923                return VERR_NOT_SUPPORTED; 
    924             return INTNETR0IfWaitReq(g_pIntNet, (PINTNETIFWAITREQ)pReqHdr); 
     924            return INTNETR0IfWaitReq(g_pIntNet, pSession, (PINTNETIFWAITREQ)pReqHdr); 
    925925#endif /* VBOX_WITH_INTERNAL_NETWORKING */ 
    926926 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy