Changeset 75755 in vbox for trunk/include
- Timestamp:
- Nov 27, 2018 1:36:00 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/GuestControlSvc.h
r71364 r75755 221 221 * when used in the first capacity. 222 222 * 223 * @todo r=bird: Next time this interface gets a major adjustment, please split 224 * this function up into two calls and, for heavens sake, make them return 225 * VINF_SUCCESS on success. 223 * @note Has a problem if the guest kernel module cancels the HGCM call, as the 224 * guest cannot resume waiting till the host issues a message for it and 225 * the cancelled call returns. The new message may potentially end up in 226 * /dev/null depending and hang the message conversation between the guest 227 * and the host (SIGCHLD). 228 * 229 * @deprecated Replaced by GUEST_MSG_PEEK_WAIT, GUEST_MSG_GET and 230 * GUEST_MSG_CANCEL. 226 231 */ 227 232 GUEST_MSG_WAIT = 1, … … 263 268 */ 264 269 GUEST_MSG_PROGRESS_UPDATE = 12, 270 271 /** Peeks at the next message, returning immediately. 272 * 273 * Returns two 32-bit parameters, first is the message ID and the second the 274 * parameter count. May optionally return additional 32-bit parameters with the 275 * sizes of respective message parameters. To distinguish buffer sizes from 276 * integer parameters, the latter gets their sizes inverted (uint32_t is ~4U, 277 * uint64_t is ~8U). 278 * 279 * @retval VINF_SUCCESS if a message was pending and is being returned. 280 * @retval VERR_TRY_AGAIN if no message pending. 281 * @retval VERR_INVALID_HANDLE if invalid client ID. 282 * @retval VERR_INVALID_PARAMETER if incorrect parameter count or types. 283 * @since 6.0 284 */ 285 GUEST_MSG_PEEK_NOWAIT, 286 /** Peeks at the next message, waiting for one to arrive. 287 * 288 * Returns two 32-bit parameters, first is the message ID and the second the 289 * parameter count. May optionally return additional 32-bit parameters with the 290 * sizes of respective message parameters. To distinguish buffer sizes from 291 * integer parameters, the latter gets their sizes inverted (uint32_t is ~4U, 292 * uint64_t is ~8U). 293 * 294 * @retval VINF_SUCCESS if info about an pending message is being returned. 295 * @retval VINF_TRY_AGAIN and message set to HOST_CANCEL_PENDING_WAITS if 296 * cancelled by GUEST_MSG_CANCEL or GUEST_CANCEL_PENDING_WAITS. 297 * @retval VERR_RESOURCE_BUSY if another thread already made a waiting call. 298 * @retval VERR_INVALID_HANDLE if invalid client ID. 299 * @retval VERR_INVALID_PARAMETER if incorrect parameter count or types. 300 * @note This replaces GUEST_MSG_WAIT. 301 * @since 6.0 302 */ 303 GUEST_MSG_PEEK_WAIT, 304 /** Gets the next message, returning immediately. 305 * 306 * First argument is the message ID returned by the peek and which the caller 307 * expects to retrieve (holds actual message ID when VERR_MISMATCH is returned). 308 * Second argument is the parameter count (output only) and exist for 309 * compatibility with GUEST_MSG_WAIT. Any subsequent parameters are specific to 310 * the message being retrieved. 311 * 312 * @retval VINF_SUCCESS if message retrieved and removed from the pending queue. 313 * @retval VERR_TRY_AGAIN if no message pending. 314 * @retval VERR_MISMATCH if the incoming message ID does not match the pending. 315 * @retval VERR_OUT_OF_RANGE if the wrong parameter count. 316 * @retval VERR_WRONG_TYPE if a parameter has the wrong type. 317 * @retval VERR_BUFFER_OVERFLOW if a parmeter buffer is too small. The buffer 318 * size was updated to reflect the required size. 319 * @retval VERR_INVALID_HANDLE if invalid client ID. 320 * @note This replaces GUEST_MSG_WAIT. 321 * @since 6.0 322 */ 323 GUEST_MSG_GET, 324 /** Cancels pending calls for this client session. 325 * 326 * This should be used if a GUEST_MSG_PEEK_WAIT or GUEST_MSG_WAIT call gets 327 * interrupted on the client end, so as to prevent being rebuffed with 328 * VERR_RESOURCE_BUSY when restarting the call. 329 * 330 * @retval VINF_SUCCESS if cancelled any calls. 331 * @retval VWRN_NOT_FOUND if no callers. 332 * @retval VERR_INVALID_PARAMETER if any parameters specified (expects zero). 333 * @retval VERR_INVALID_HANDLE if invalid client ID. 334 * @since 6.0 335 */ 336 GUEST_MSG_CANCEL, 337 265 338 /** 266 339 * Guest reports back a guest session status. … … 271 344 */ 272 345 GUEST_SESSION_CLOSE = 21, 346 273 347 /** 274 348 * Guests sends output from an executed process.
Note:
See TracChangeset
for help on using the changeset viewer.