VirtualBox

source: vbox/trunk/src/VBox/Main/src-client/VBoxDriversRegister.cpp

Last change on this file was 106061, checked in by vboxsync, 7 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.9 KB
Line 
1/* $Id: VBoxDriversRegister.cpp 106061 2024-09-16 14:03:52Z vboxsync $ */
2/** @file
3 *
4 * Main driver registration.
5 */
6
7/*
8 * Copyright (C) 2006-2024 Oracle and/or its affiliates.
9 *
10 * This file is part of VirtualBox base platform packages, as
11 * available from https://www.virtualbox.org.
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation, in version 3 of the
16 * License.
17 *
18 * This program is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, see <https://www.gnu.org/licenses>.
25 *
26 * SPDX-License-Identifier: GPL-3.0-only
27 */
28
29
30/*********************************************************************************************************************************
31* Header Files *
32*********************************************************************************************************************************/
33#define LOG_GROUP LOG_GROUP_MAIN
34#include "LoggingNew.h"
35
36#include "MouseImpl.h"
37#include "KeyboardImpl.h"
38#include "DisplayImpl.h"
39#include "VMMDev.h"
40#include "NvramStoreImpl.h"
41#ifdef VBOX_WITH_AUDIO_VRDE
42# include "DrvAudioVRDE.h"
43#endif
44#ifdef VBOX_WITH_AUDIO_RECORDING
45# include "DrvAudioRec.h"
46#endif
47#include "UsbWebcamInterface.h"
48#ifdef VBOX_WITH_USB_CARDREADER
49# include "UsbCardReader.h"
50#endif
51#include "ConsoleImpl.h"
52#ifdef VBOX_WITH_PCI_PASSTHROUGH
53# include "PCIRawDevImpl.h"
54#endif
55#ifdef VBOX_WITH_VIRT_ARMV8
56# include "ResourceStoreImpl.h"
57#endif
58
59#include <VBox/vmm/pdmdrv.h>
60#include <VBox/version.h>
61
62
63/**
64 * Register the main drivers.
65 *
66 * @returns VBox status code.
67 * @param pCallbacks Pointer to the callback table.
68 * @param u32Version VBox version number.
69 */
70extern "C" DECLEXPORT(int) VBoxDriversRegister(PCPDMDRVREGCB pCallbacks, uint32_t u32Version)
71{
72 LogFlow(("VBoxDriversRegister: u32Version=%#x\n", u32Version));
73 AssertReleaseMsg(u32Version == VBOX_VERSION, ("u32Version=%#x VBOX_VERSION=%#x\n", u32Version, VBOX_VERSION));
74
75 int vrc = pCallbacks->pfnRegister(pCallbacks, &Mouse::DrvReg);
76 if (RT_FAILURE(vrc))
77 return vrc;
78
79 vrc = pCallbacks->pfnRegister(pCallbacks, &Keyboard::DrvReg);
80 if (RT_FAILURE(vrc))
81 return vrc;
82
83 vrc = pCallbacks->pfnRegister(pCallbacks, &Display::DrvReg);
84 if (RT_FAILURE(vrc))
85 return vrc;
86
87 vrc = pCallbacks->pfnRegister(pCallbacks, &VMMDev::DrvReg);
88 if (RT_FAILURE(vrc))
89 return vrc;
90#ifdef VBOX_WITH_AUDIO_VRDE
91 vrc = pCallbacks->pfnRegister(pCallbacks, &AudioVRDE::DrvReg);
92 if (RT_FAILURE(vrc))
93 return vrc;
94#endif
95#ifdef VBOX_WITH_AUDIO_RECORDING
96 vrc = pCallbacks->pfnRegister(pCallbacks, &AudioVideoRec::DrvReg);
97 if (RT_FAILURE(vrc))
98 return vrc;
99#endif
100
101 vrc = pCallbacks->pfnRegister(pCallbacks, &EmWebcam::DrvReg);
102 if (RT_FAILURE(vrc))
103 return vrc;
104
105#ifdef VBOX_WITH_USB_CARDREADER
106 vrc = pCallbacks->pfnRegister(pCallbacks, &UsbCardReader::DrvReg);
107 if (RT_FAILURE(vrc))
108 return vrc;
109#endif
110
111 vrc = pCallbacks->pfnRegister(pCallbacks, &Console::DrvStatusReg);
112 if (RT_FAILURE(vrc))
113 return vrc;
114
115#ifdef VBOX_WITH_PCI_PASSTHROUGH
116 vrc = pCallbacks->pfnRegister(pCallbacks, &PCIRawDev::DrvReg);
117 if (RT_FAILURE(vrc))
118 return vrc;
119#endif
120
121 vrc = pCallbacks->pfnRegister(pCallbacks, &NvramStore::DrvReg);
122 if (RT_FAILURE(vrc))
123 return vrc;
124
125#ifdef VBOX_WITH_VIRT_ARMV8
126 vrc = pCallbacks->pfnRegister(pCallbacks, &ResourceStore::DrvReg);
127 if (RT_FAILURE(vrc))
128 return vrc;
129#endif
130
131 return VINF_SUCCESS;
132}
133/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette