VirtualBox

source: vbox/trunk/src/VBox/Main/include/vbox-libhal.h@ 4246

Last change on this file since 4246 was 4071, checked in by vboxsync, 17 years ago

Biggest check-in ever. New source code headers for all (C) innotek files.

  • Property svn:eol-style set to native
File size: 2.5 KB
Line 
1/** @file
2 *
3 * Module to dynamically load libhal and libdbus and load all symbols
4 * which are needed by VirtualBox.
5 */
6
7/*
8 * Copyright (C) 2006-2007 innotek GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19#ifndef ____H_VBOX_LIBHAL
20#define ____H_VBOX_LIBHAL
21
22#include <stdint.h>
23
24#define LIB_DBUS "libdbus-1"
25#define LIB_HAL "libhal"
26
27/** Types from the dbus and hal header files which we need. These are taken more or less
28 verbatim from the DBus and Hal public interface header files. */
29struct DBusError
30{
31 const char *name;
32 const char *message;
33 unsigned int dummy1 : 1; /**< placeholder */
34 unsigned int dummy2 : 1; /**< placeholder */
35 unsigned int dummy3 : 1; /**< placeholder */
36 unsigned int dummy4 : 1; /**< placeholder */
37 unsigned int dummy5 : 1; /**< placeholder */
38 void *padding1; /**< placeholder */
39};
40struct DBusConnection;
41typedef struct DBusConnection DBusConnection;
42typedef uint32_t dbus_bool_t;
43typedef enum { DBUS_BUS_SESSON, DBUS_BUS_SYSTEM, DBUS_BUS_STARTER } DBusBusType;
44struct LibHalContext_s;
45typedef struct LibHalContext_s LibHalContext;
46
47/** The following are the symbols which we need from libdbus and libhal. */
48extern void (*gDBusErrorInit)(DBusError *);
49extern DBusConnection *(*gDBusBusGet)(DBusBusType, DBusError *);
50extern void (*gDBusErrorFree)(DBusError *);
51extern void (*gDBusConnectionUnref)(DBusConnection *);
52extern LibHalContext *(*gLibHalCtxNew)(void);
53extern dbus_bool_t (*gLibHalCtxSetDBusConnection)(LibHalContext *, DBusConnection *);
54extern dbus_bool_t (*gLibHalCtxInit)(LibHalContext *, DBusError *);
55extern char **(*gLibHalFindDeviceByCapability)(LibHalContext *, const char *, int *, DBusError *);
56extern char *(*gLibHalDeviceGetPropertyString)(LibHalContext *, const char *, const char *,
57 DBusError *);
58extern void (*gLibHalFreeString)(char *);
59extern void (*gLibHalFreeStringArray)(char **);
60extern dbus_bool_t (*gLibHalCtxShutdown)(LibHalContext *, DBusError *);
61extern dbus_bool_t (*gLibHalCtxFree)(LibHalContext *);
62
63extern bool gLibHalCheckPresence(void);
64
65#endif /* ____H_VBOX_LIBHAL not defined */
Note: See TracBrowser for help on using the repository browser.

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