Lines Matching defs:pSession

109 static int              VBoxDrvDarwinIOCtlSlow(PSUPDRVSESSION pSession, u_long iCmd, caddr_t pData, struct proc *pProcess);
484 PSUPDRVSESSION pSession = NULL;
498 pSession = g_apSessionHashTab[iHash];
499 while (pSession && pSession->Process != Process)
500 pSession = pSession->pNextHash;
501 if (pSession)
503 if (!pSession->fOpened)
505 pSession->fOpened = true;
506 pSession->fUnrestricted = fUnrestricted;
507 pSession->Uid = Uid;
508 pSession->Gid = Gid;
529 OSDBGPRINT(("VBoxDrvDarwinOpen: pid=%d '%s' pSession=%p rc=%d\n", proc_pid(pProcess), szName, pSession, rc));
531 Log(("VBoxDrvDarwinOpen: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, proc_pid(pProcess)));
568 PSUPDRVSESSION pSession;
575 pSession = g_apSessionHashTab[iHash];
576 while (pSession && (pSession->Process != Process || pSession->fUnrestricted != fUnrestricted || !pSession->fOpened))
577 pSession = pSession->pNextHash;
579 if (RT_LIKELY(pSession))
580 supdrvSessionRetain(pSession);
583 if (RT_UNLIKELY(!pSession))
585 OSDBGPRINT(("VBoxDrvDarwinIOCtl: WHAT?!? pSession == NULL! This must be a mistake... pid=%d iCmd=%#lx\n",
599 rc = supdrvIOCtlFast(iCmd, *(uint32_t *)pData, &g_DevExt, pSession);
601 rc = VBoxDrvDarwinIOCtlSlow(pSession, iCmd, pData, pProcess);
603 supdrvSessionRelease(pSession);
637 * @param pSession The session.
642 static int VBoxDrvDarwinIOCtlSlow(PSUPDRVSESSION pSession, u_long iCmd, caddr_t pData, struct proc *pProcess)
644 LogFlow(("VBoxDrvDarwinIOCtlSlow: pSession=%p iCmd=%p pData=%p pProcess=%p\n", pSession, iCmd, pData, pProcess));
736 int rc = supdrvIOCtl(iCmd, &g_DevExt, pSession, pHdr, cbReq);
793 PSUPDRVSESSION pSession;
801 pSession = pReq->pSession;
802 if (pSession)
804 if (RT_UNLIKELY(!VALID_PTR(pSession)))
806 if (RT_UNLIKELY(pSession->pDevExt != &g_DevExt))
815 return supdrvIDC(uReq, &g_DevExt, pSession, pReq);
819 void VBOXCALL supdrvOSCleanupSession(PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSession)
822 NOREF(pSession);
826 void VBOXCALL supdrvOSSessionHashTabInserted(PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSession, void *pvUser)
828 NOREF(pDevExt); NOREF(pSession); NOREF(pvUser);
832 void VBOXCALL supdrvOSSessionHashTabRemoved(PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSession, void *pvUser)
834 NOREF(pDevExt); NOREF(pSession); NOREF(pvUser);
841 void VBOXCALL supdrvOSObjInitCreator(PSUPDRVOBJ pObj, PSUPDRVSESSION pSession)
844 NOREF(pSession);
855 * @param pSession The session wanting to access the object.
859 bool VBOXCALL supdrvOSObjCanAccess(PSUPDRVOBJ pObj, PSUPDRVSESSION pSession, const char *pszObjName, int *prc)
862 NOREF(pSession);
1575 PSUPDRVSESSION pSession = g_apSessionHashTab[iHash];
1576 if (pSession)
1578 if (pSession->Process == Process)
1580 g_apSessionHashTab[iHash] = pSession->pNextHash;
1581 pSession->pNextHash = NULL;
1586 PSUPDRVSESSION pPrev = pSession;
1587 pSession = pSession->pNextHash;
1588 while (pSession)
1590 if (pSession->Process == Process)
1592 pPrev->pNextHash = pSession->pNextHash;
1593 pSession->pNextHash = NULL;
1599 pPrev = pSession;
1600 pSession = pSession->pNextHash;
1605 if (!pSession)
1607 Log(("SupDrvClient::sessionClose: pSession == NULL, pid=%d; freed already?\n", (int)Process));
1614 org_virtualbox_SupDrvClient *pThis = (org_virtualbox_SupDrvClient *)pSession->pvSupDrvClient;
1615 pSession->pvSupDrvClient = NULL;
1618 Assert(pThis->m_pSession == pSession);
1625 supdrvSessionRelease(pSession);