Changeset 21260 in vbox for trunk/src/VBox/Additions/common
- Timestamp:
- Jul 6, 2009 3:28:14 PM (16 years ago)
- Location:
- trunk/src/VBox/Additions/common
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
r21219 r21260 393 393 pSession->aHGCMClientIds[i] = 0; 394 394 Log(("VBoxGuestCloseSession: disconnecting client id %#RX32\n", Info.u32ClientID)); 395 Vbgl HGCMDisconnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);395 VbglR0HGCMInternalDisconnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 396 396 } 397 397 #endif … … 967 967 ? pInfo->Loc.u.host.achName : "<not local host>")); 968 968 969 int rc = Vbgl HGCMConnect(pInfo, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);969 int rc = VbglR0HGCMInternalConnect(pInfo, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 970 970 if (RT_SUCCESS(rc)) 971 971 { … … 997 997 Info.result = 0; 998 998 Info.u32ClientID = pInfo->u32ClientID; 999 Vbgl HGCMDisconnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);999 VbglR0HGCMInternalDisconnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 1000 1000 return VERR_TOO_MANY_OPEN_FILES; 1001 1001 } … … 1039 1039 */ 1040 1040 Log(("VBoxGuestCommonIOCtl: HGCM_DISCONNECT: u32Client=%RX32\n", pInfo->u32ClientID)); 1041 int rc = Vbgl HGCMDisconnect(pInfo, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);1041 int rc = VbglR0HGCMInternalDisconnect(pInfo, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 1042 1042 if (RT_SUCCESS(rc)) 1043 1043 { … … 1112 1112 Log(("VBoxGuestCommonIOCtl: HGCM_CALL: u32Client=%RX32\n", pInfo->u32ClientID)); 1113 1113 int rc; 1114 uint32_t fFlags = pSession->R0Process == NIL_RTR0PROCESS ? VBGLR0_HGCMCALL_F_KERNEL : VBGLR0_HGCMCALL_F_USER; 1114 1115 #ifdef RT_ARCH_AMD64 1115 1116 if (f32bit) 1116 1117 { 1117 1118 if (fInterruptible) 1118 rc = Vbgl HGCMCall32(pInfo, VBoxGuestHGCMAsyncWaitCallbackInterruptible, pDevExt, cMillies);1119 rc = VbglR0HGCMInternalCall32(pInfo, fFlags, VBoxGuestHGCMAsyncWaitCallbackInterruptible, pDevExt, cMillies); 1119 1120 else 1120 rc = Vbgl HGCMCall32(pInfo, VBoxGuestHGCMAsyncWaitCallback, pDevExt, cMillies);1121 rc = VbglR0HGCMInternalCall32(pInfo, fFlags, VBoxGuestHGCMAsyncWaitCallback, pDevExt, cMillies); 1121 1122 } 1122 1123 else … … 1124 1125 { 1125 1126 if (fInterruptible) 1126 rc = Vbgl HGCMCall(pInfo, VBoxGuestHGCMAsyncWaitCallbackInterruptible, pDevExt, cMillies);1127 rc = VbglR0HGCMInternalCall(pInfo, fFlags, VBoxGuestHGCMAsyncWaitCallbackInterruptible, pDevExt, cMillies); 1127 1128 else 1128 rc = Vbgl HGCMCall(pInfo, VBoxGuestHGCMAsyncWaitCallback, pDevExt, cMillies);1129 rc = VbglR0HGCMInternalCall(pInfo, fFlags, VBoxGuestHGCMAsyncWaitCallback, pDevExt, cMillies); 1129 1130 } 1130 1131 if (RT_SUCCESS(rc)) … … 1157 1158 Info.result = VERR_WRONG_ORDER; 1158 1159 Info.u32ClientID = pDevExt->u32ClipboardClientId; 1159 rc = Vbgl HGCMDisconnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);1160 rc = VbglR0HGCMInternalDisconnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 1160 1161 if (RT_SUCCESS(rc)) 1161 1162 { … … 1180 1181 Info.result = VERR_WRONG_ORDER; 1181 1182 1182 rc = Vbgl HGCMConnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);1183 rc = VbglR0HGCMInternalConnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 1183 1184 if (RT_FAILURE(rc)) 1184 1185 { -
trunk/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp
r21211 r21260 116 116 } 117 117 118 DECLVBGL(int) Vbgl HGCMConnect (VBGLHGCMHANDLE *pHandle, VBoxGuestHGCMConnectInfo *pData)118 DECLVBGL(int) VbglR0HGCMInternalConnect (VBGLHGCMHANDLE *pHandle, VBoxGuestHGCMConnectInfo *pData) 119 119 { 120 120 int rc; -
trunk/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp
r21211 r21260 30 30 /* These functions can be only used by VBoxGuest. */ 31 31 32 DECLVBGL(int) Vbgl HGCMConnect (VBoxGuestHGCMConnectInfo *pConnectInfo,33 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData,34 uint32_t u32AsyncData)32 DECLVBGL(int) VbglR0HGCMInternalConnect (VBoxGuestHGCMConnectInfo *pConnectInfo, 33 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, 34 uint32_t u32AsyncData) 35 35 { 36 36 VMMDevHGCMConnect *pHGCMConnect; … … 78 78 79 79 80 DECL VBGL(int) VbglHGCMDisconnect (VBoxGuestHGCMDisconnectInfo *pDisconnectInfo,81 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData)80 DECLR0VBGL(int) VbglR0HGCMInternalDisconnect (VBoxGuestHGCMDisconnectInfo *pDisconnectInfo, 81 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData) 82 82 { 83 83 VMMDevHGCMDisconnect *pHGCMDisconnect; … … 122 122 123 123 /** @todo merge with the one below (use a header file). Too lazy now. */ 124 DECL VBGL(int) VbglHGCMCall (VBoxGuestHGCMCallInfo *pCallInfo,125 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData)124 DECLR0VBGL(int) VbglR0HGCMInternalCall (VBoxGuestHGCMCallInfo *pCallInfo, uint32_t fFlags, 125 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData) 126 126 { 127 127 VMMDevHGCMCall *pHGCMCall; … … 131 131 int rc; 132 132 133 if (!pCallInfo || !pAsyncCallback || pCallInfo->cParms > VBOX_HGCM_MAX_PARMS) 134 { 135 AssertFailed(); 136 return VERR_INVALID_PARAMETER; 137 } 138 139 Log (("VbglHGCMCall: pCallInfo->cParms = %d, pHGCMCall->u32Function = %d\n", pCallInfo->cParms, pCallInfo->u32Function)); 133 AssertMsgReturn(!pCallInfo || !pAsyncCallback || pCallInfo->cParms > VBOX_HGCM_MAX_PARMS || !(fFlags & ~VBGLR0_HGCMCALL_F_MODE_MASK), 134 ("pCallInfo=%p pAsyncCallback=%p fFlags=%#x\n", pCallInfo, pAsyncCallback, fFlags), 135 VERR_INVALID_PARAMETER); 136 137 Log (("VbglR0HGCMInternalCall: pCallInfo->cParms = %d, pHGCMCall->u32Function = %d, fFlags=%#x\n", 138 pCallInfo->cParms, pCallInfo->u32Function, fFlags)); 140 139 141 140 pHGCMCall = NULL; … … 146 145 rc = VbglGRAlloc ((VMMDevRequestHeader **)&pHGCMCall, sizeof (VMMDevHGCMCall) + cbParms, VMMDevReq_HGCMCall); 147 146 148 Log (("Vbgl HGCMCallAllocated gr %p, rc = %Rrc, cbParms = %d\n", pHGCMCall, rc, cbParms));147 Log (("VbglR0HGCMInternalCall: Allocated gr %p, rc = %Rrc, cbParms = %d\n", pHGCMCall, rc, cbParms)); 149 148 150 149 if (RT_SUCCESS(rc)) … … 287 286 # if ARCH_BITS == 64 288 287 /** @todo merge with the one above (use a header file). Too lazy now. */ 289 DECL VBGL(int) VbglHGCMCall32 (VBoxGuestHGCMCallInfo *pCallInfo,290 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData)288 DECLR0VBGL(int) VbglR0HGCMInternalCall32 (VBoxGuestHGCMCallInfo *pCallInfo, uint32_t fFlags, 289 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData) 291 290 { 292 291 VMMDevHGCMCall *pHGCMCall; … … 296 295 int rc; 297 296 298 if (!pCallInfo || !pAsyncCallback || pCallInfo->cParms > VBOX_HGCM_MAX_PARMS) 299 { 300 AssertFailed(); 301 return VERR_INVALID_PARAMETER; 302 } 303 304 Log (("VbglHGCMCall: pCallInfo->cParms = %d, pHGCMCall->u32Function = %d\n", pCallInfo->cParms, pCallInfo->u32Function)); 297 AssertMsgReturn(!pCallInfo || !pAsyncCallback || pCallInfo->cParms > VBOX_HGCM_MAX_PARMS || !(fFlags & ~VBGLR0_HGCMCALL_F_MODE_MASK), 298 ("pCallInfo=%p pAsyncCallback=%p fFlags=%#x\n", pCallInfo, pAsyncCallback, fFlags), 299 VERR_INVALID_PARAMETER); 300 301 Log (("VbglR0HGCMInternalCall32: pCallInfo->cParms = %d, pHGCMCall->u32Function = %d, fFlags=%#x\n", 302 pCallInfo->cParms, pCallInfo->u32Function, fFlags)); 305 303 306 304 pHGCMCall = NULL; … … 311 309 rc = VbglGRAlloc ((VMMDevRequestHeader **)&pHGCMCall, sizeof (VMMDevHGCMCall) + cbParms, VMMDevReq_HGCMCall32); 312 310 313 Log (("Vbgl HGCMCallAllocated gr %p, rc = %Rrc, cbParms = %d\n", pHGCMCall, rc, cbParms));311 Log (("VbglR0HGCMInternalCall32: Allocated gr %p, rc = %Rrc, cbParms = %d\n", pHGCMCall, rc, cbParms)); 314 312 315 313 if (RT_SUCCESS(rc))
Note:
See TracChangeset
for help on using the changeset viewer.