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