Changeset 3241 in vbox
- Timestamp:
- Jun 23, 2007 12:43:44 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxGuest.h
r3200 r3241 1193 1193 } 1194 1194 1195 1196 #ifdef __OS2__ 1197 1198 /** OS/2 specific: IDC client connection request. 1199 * 1200 * This takes no input (parameter). 1201 * 1202 * It returns a VBOXGUESTOS2IDCCONNECT structure in the data buffer 1203 * provided in the generic ioctl request. 1204 * 1205 * @remark Duplicated in the 16-bit and assembly headers. 1206 */ 1207 #define VBOXGUEST_IOCTL_OS2_IDC_CONNECT VBOXGUEST_IOCTL_CODE(48, sizeof(VBOXGUESTOS2IDCCONNECT)) 1208 1209 /** 1210 * VBOXGUEST_IOCTL_OS2_IDC_CONNECT output. 1211 */ 1212 typedef struct VBOXGUESTOS2IDCCONNECT 1213 { 1214 /** VMMDEV_VERSION. */ 1215 uint32_t u32Version; 1216 /** Opaque session handle. */ 1217 uint32_t u32Session; 1218 1219 /** 1220 * The 32-bit service entry point. 1221 * 1222 * @returns VBox status code. 1223 * @param u32Session The above session handle. 1224 * @param iFunction The requested function. 1225 * @param pvData The input/output data buffer. The caller ensures that this 1226 * cannot be swapped out, or that it's acceptable to take a 1227 * page in fault in the current context. If the request doesn't 1228 * take input or produces output, apssing NULL is okay. 1229 * @param cbData The size of the data buffer. 1230 * @param pcbDataReturned Where to store the amount of data that's returned. 1231 * This can be NULL if pvData is NULL. 1232 */ 1233 DECLCALLBACKMEMBER(int, pfnServiceEP)(uint32_t u32Session, unsigned iFunction, void *pvData, size_t cbData, size_t *pcbDataReturned); 1234 1235 /** The 16-bit service entry point for C code (cdecl). 1236 * 1237 * It's the same as the 32-bit entry point, but the types has 1238 * changed to 16-bit equivalents. 1239 * 1240 * @code 1241 * int far cdecl 1242 * VBoxGuestOs2IDCService16(uint32_t u32Session, uint16_t iFunction, 1243 * void far *fpvData, uint16_t cbData, uint16_t far *pcbDataReturned); 1244 * @endcode 1245 */ 1246 RTFAR16 fpfnServiceEP; 1247 1248 /** The 16-bit service entry point for Assembly code (register). 1249 * 1250 * This is just a wrapper around fpfnServiceEP to simplify calls 1251 * from 16-bit assembly code. 1252 * 1253 * @returns (e)ax: VBox status code; cx: The amount of data returned. 1254 * 1255 * @param u32Session eax - The above session handle. 1256 * @param iFunction dl - The requested function. 1257 * @param pvData es:bx - The input/output data buffer. 1258 * @param cbData cx - The size of the data buffer. 1259 */ 1260 RTFAR16 fpfnServiceAsmEP; 1261 } VBOXGUESTOS2IDCCONNECT; 1262 /** Pointer to VBOXGUESTOS2IDCCONNECT buffer. */ 1263 typedef VBOXGUESTOS2IDCCONNECT *PVBOXGUESTOS2IDCCONNECT; 1264 1265 /** OS/2 specific: IDC client disconnect request. 1266 * 1267 * This takes no input and it doesn't return anything. Obviously this 1268 * is only recognized if it arrives thru the IDC service EP. 1269 */ 1270 #define VBOXGUEST_IOCTL_OS2_IDC_DISCONNECT VBOXGUEST_IOCTL_CODE(49, sizeof(uint32_t)) 1271 1272 #endif /* __OS2__ */ 1273 1195 1274 /** @} */ 1196 1275
Note:
See TracChangeset
for help on using the changeset viewer.