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