VirtualBox

source: vbox/trunk/include/VBox/vmm/pdmasynctask.h

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 2.4 KB
Line 
1/** @file
2 * PDM - Pluggable Device Manager, Async Task.
3 */
4
5/*
6 * Copyright (C) 2007-2023 Oracle and/or its affiliates.
7 *
8 * This file is part of VirtualBox base platform packages, as
9 * available from https://www.virtualbox.org.
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation, in version 3 of the
14 * License.
15 *
16 * This program is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, see <https://www.gnu.org/licenses>.
23 *
24 * The contents of this file may alternatively be used under the terms
25 * of the Common Development and Distribution License Version 1.0
26 * (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
27 * in the VirtualBox distribution, in which case the provisions of the
28 * CDDL are applicable instead of those of the GPL.
29 *
30 * You may elect to license modified versions of this file under the
31 * terms and conditions of either the GPL or the CDDL or both.
32 *
33 * SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
34 */
35
36#ifndef VBOX_INCLUDED_vmm_pdmasynctask_h
37#define VBOX_INCLUDED_vmm_pdmasynctask_h
38#ifndef RT_WITHOUT_PRAGMA_ONCE
39# pragma once
40#endif
41
42#include <VBox/types.h>
43
44
45RT_C_DECLS_BEGIN
46
47/** @defgroup grp_pdm_async_task The PDM Async Task API
48 * @ingroup grp_pdm
49 * @{
50 */
51
52/** Pointer to a PDM async task template handle. */
53typedef struct PDMASYNCTASKTEMPLATE *PPDMASYNCTASKTEMPLATE;
54/** Pointer to a PDM async task template handle pointer. */
55typedef PPDMASYNCTASKTEMPLATE *PPPDMASYNCTASKTEMPLATE;
56
57/** Pointer to a PDM async task handle. */
58typedef struct PDMASYNCTASK *PPDMASYNCTASK;
59/** Pointer to a PDM async task handle pointer. */
60typedef PPDMASYNCTASK *PPPDMASYNCTASK;
61
62/* This should be similar to VMReq, only difference there will be a pool
63 of worker threads instead of EMT. The actual implementation should be
64 made in IPRT so we can reuse it for other stuff later. The reason why
65 it should be put in PDM is because we need to manage it wrt to VM
66 state changes (need exception - add a flag for this). */
67
68/** @} */
69
70
71RT_C_DECLS_END
72
73#endif /* !VBOX_INCLUDED_vmm_pdmasynctask_h */
74
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use