Changeset 13378
- Timestamp:
- 10/17/08 16:24:44 (3 months ago)
- Files:
-
- trunk/include/VBox/hgcmsvc.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/include/VBox/hgcmsvc.h
r13157 r13378 58 58 * 3.2->3.3 Because pfnDisconnectClient helper was added 59 59 * 3.3->4.1 Because the pvService entry and parameter was added 60 * 4.1->4.2 Because the VBOX_HGCM_SVC_PARM_CALLBACK paramteter type was added61 60 */ 62 61 #define VBOX_HGCM_SVC_VERSION_MAJOR (0x0004) 63 #define VBOX_HGCM_SVC_VERSION_MINOR (0x000 2)62 #define VBOX_HGCM_SVC_VERSION_MINOR (0x0001) 64 63 #define VBOX_HGCM_SVC_VERSION ((VBOX_HGCM_SVC_VERSION_MAJOR << 16) + VBOX_HGCM_SVC_VERSION_MINOR) 65 64 … … 83 82 typedef VBOXHGCMSVCHELPERS *PVBOXHGCMSVCHELPERS; 84 83 85 /**86 * Callback type for HGCM services which can send notification messages.87 * Intended for use on the host side.88 */89 typedef struct _VBOXHGCMCALLBACKHDR *PVBOXHGCMCALLBACKHDR;90 typedef DECLCALLBACK(void) FNVBOXHGCMCALLBACK(PVBOXHGCMCALLBACKHDR pvParm);91 typedef FNVBOXHGCMCALLBACK *PFNVBOXHGCMCALLBACK;92 84 93 /** 94 * Callback parameter structure header for FNVBOXHGCMCALLBACK callback 95 * functions. The structure passed as a callback parameter should start 96 * with this header. 97 */ 98 typedef struct _VBOXHGCMCALLBACKHDR 99 { 100 /** Magic number for runtime sanity check */ 101 uint32_t u32Magic; 102 /** Size of the embedding structure */ 103 uint32_t cbStruct; 104 /** Callback user data */ 105 void *pvData; 106 } VBOXHGCMCALLBACKHDR; 107 108 enum 109 { 110 /** Magic number for sanity checking the VBOXHGCMCALLBACKHDR structure */ 111 VBOXHGCMCALLBACKMAGIC = 0x69c87a78 112 }; 113 114 #define VBOX_HGCM_SVC_PARM_INVALID (0U) 115 #define VBOX_HGCM_SVC_PARM_32BIT (1U) 116 #define VBOX_HGCM_SVC_PARM_64BIT (2U) 117 #define VBOX_HGCM_SVC_PARM_PTR (3U) 118 #define VBOX_HGCM_SVC_PARM_CALLBACK (4U) 85 #define VBOX_HGCM_SVC_PARM_INVALID (0U) 86 #define VBOX_HGCM_SVC_PARM_32BIT (1U) 87 #define VBOX_HGCM_SVC_PARM_64BIT (2U) 88 #define VBOX_HGCM_SVC_PARM_PTR (3U) 119 89 120 90 typedef struct VBOXHGCMSVCPARM … … 132 102 void *addr; 133 103 } pointer; 134 struct135 {136 PFNVBOXHGCMCALLBACK pFunction;137 void *pvData;138 } callback;139 104 } u; 140 105 } VBOXHGCMSVCPARM; … … 208 173 DECLR3CALLBACKMEMBER(int, pfnLoadState, (void *pvService, uint32_t u32ClientID, void *pvClient, PSSMHANDLE pSSM)); 209 174 210 /** Manage the service extension. */175 /** Register a service extension callback. */ 211 176 DECLR3CALLBACKMEMBER(int, pfnRegisterExtension, (void *pvService, PFNHGCMSVCEXT pfnExtension, void *pvExtension)); 212 177

