VBoxXPCOMCGlue.h revision 182cfd02df76f20daa4f99d0d11b0540e909bf9a
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/* $Revision$ */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/** @file VBoxXPCOMCGlue.h
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Glue for dynamically linking with VBoxXPCOMC.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/*
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Copyright (C) 2008-2009 Sun Microsystems, Inc.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync *
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Permission is hereby granted, free of charge, to any person
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * obtaining a copy of this software and associated documentation
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * files (the "Software"), to deal in the Software without
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * restriction, including without limitation the rights to use,
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * copy, modify, merge, publish, distribute, sublicense, and/or sell
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * copies of the Software, and to permit persons to whom the
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * Software is furnished to do so, subject to the following
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * conditions:
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync *
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * The above copyright notice and this permission notice shall be
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * included in all copies or substantial portions of the Software.
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync *
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * OTHER DEALINGS IN THE SOFTWARE.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifndef ___VBoxXPCOMC_cglue_h
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#define ___VBoxXPCOMC_cglue_h
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#include "VBoxCAPI_v2_5.h"
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#ifdef __cplusplus
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsyncextern "C" {
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#endif
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync/** The dlopen handle for VBoxXPCOMC. */
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsyncextern void *g_hVBoxXPCOMC;
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync/** The last load error. */
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsyncextern PCVBOXXPCOM g_pVBoxFuncs;
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync/** Pointer to VBoxGetXPCOMCFunctions for the loaded VBoxXPCOMC so/dylib/dll. */
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsyncextern PFNVBOXGETXPCOMCFUNCTIONS g_pfnGetFunctions;
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncint VBoxCGlueInit(void);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncvoid VBoxCGlueTerm(void);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#ifdef __cplusplus
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync}
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#endif
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync#endif
a0d1e40cc56a54314af0a1a4b5e13905ffd78393vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync