Changeset 21260 in vbox for trunk/include
- Timestamp:
- Jul 6, 2009 3:28:14 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxGuestLib.h
r21227 r21260 87 87 */ 88 88 #if defined(IN_RING0) && !defined(IN_RING0_AGNOSTIC) 89 # define DECLVBGL(type) type VBOXCALL 89 /** @def DECLR0VBGL 90 * Declare a VBGL ring-0 API with the right calling convention and visibilitiy. 91 * @param type Return type. */ 92 # define DECLR0VBGL(type) type VBOXCALL 93 # define DECLVBGL(type) DECLR0VBGL(type) 90 94 91 95 typedef uint32_t VBGLIOPORT; /**< @todo r=bird: We have RTIOPORT (uint16_t) for this. */ … … 184 188 */ 185 189 186 DECL VBGL(int) VbglHGCMConnect (VBoxGuestHGCMConnectInfo *pConnectInfo,187 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData);190 DECLR0VBGL(int) VbglR0HGCMInternalConnect (VBoxGuestHGCMConnectInfo *pConnectInfo, 191 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData); 188 192 189 193 … … 204 208 */ 205 209 206 DECL VBGL(int) VbglHGCMDisconnect (VBoxGuestHGCMDisconnectInfo *pDisconnectInfo,207 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData);210 DECLR0VBGL(int) VbglR0HGCMInternalDisconnect (VBoxGuestHGCMDisconnectInfo *pDisconnectInfo, 211 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData); 208 212 209 213 /** Call a HGCM service. … … 212 216 * 213 217 * @param pCallInfo The request data. 218 * @param fFlags Flags, see VBGLR0_HGCMCALL_F_XXX. 214 219 * @param pAsyncCallback Required pointer to function that is called when 215 220 * host returns VINF_HGCM_ASYNC_EXECUTE. VBoxGuest … … 220 225 * @return VBox status code. 221 226 */ 222 DECL VBGL(int) VbglHGCMCall (VBoxGuestHGCMCallInfo *pCallInfo,223 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData);227 DECLR0VBGL(int) VbglR0HGCMInternalCall (VBoxGuestHGCMCallInfo *pCallInfo, uint32_t fFlags, 228 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData); 224 229 225 230 /** Call a HGCM service. (32 bits packet structure in a 64 bits guest) … … 228 233 * 229 234 * @param pCallInfo The request data. 235 * @param fFlags Flags, see VBGLR0_HGCMCALL_F_XXX. 230 236 * @param pAsyncCallback Required pointer to function that is called when 231 237 * host returns VINF_HGCM_ASYNC_EXECUTE. VBoxGuest … … 236 242 * @return VBox status code. 237 243 */ 238 DECLVBGL(int) VbglHGCMCall32 (VBoxGuestHGCMCallInfo *pCallInfo, 239 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData); 244 DECLR0VBGL(int) VbglR0HGCMInternalCall32 (VBoxGuestHGCMCallInfo *pCallInfo, uint32_t fFlags, 245 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData); 246 247 /** @name VbglR0HGCMInternalCall flags 248 * @{ */ 249 /** User mode request. 250 * Indicates that only user mode addresses are permitted as parameters. */ 251 #define VBGLR0_HGCMCALL_F_USER UINT32_C(0) 252 /** Kernel mode request. 253 * Indicates that kernel mode addresses are permitted as parameters. Whether or 254 * not user mode addresses are permitted is, unfortunately, OS specific. The 255 * following OSes allows user mode addresses: Windows, TODO. 256 */ 257 #define VBGLR0_HGCMCALL_F_KERNEL UINT32_C(1) 258 /** Mode mask. */ 259 #define VBGLR0_HGCMCALL_F_MODE_MASK UINT32_C(1) 260 /** @} */ 240 261 241 262 # else /* !VBGL_VBOXGUEST */
Note:
See TracChangeset
for help on using the changeset viewer.