62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync/*
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync * Copyright (C) 2010-2012 Oracle Corporation
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync *
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * available from http://www.virtualbox.org. This file is free software;
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * you can redistribute it and/or modify it under the terms of the GNU
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * General Public License (GPL) as published by the Free Software
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync *
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * The contents of this file may alternatively be used under the terms
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * of the Common Development and Distribution License Version 1.0
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * VirtualBox OSE distribution, in which case the provisions of the
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * CDDL are applicable instead of those of the GPL.
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync *
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * You may elect to license modified versions of this file under the
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * terms and conditions of either the GPL or the CDDL or both.
62471ba48484cd8fc1a391298efc0ff1d83d370evboxsync */
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync#ifndef ___VBox_VBoxCrHgsmi_h
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync#define ___VBox_VBoxCrHgsmi_h
e862981c2e186a4cb6a126557d57603cc100d448vboxsync
e862981c2e186a4cb6a126557d57603cc100d448vboxsync#include <iprt/cdefs.h>
e862981c2e186a4cb6a126557d57603cc100d448vboxsync#include <VBox/VBoxUhgsmi.h>
e862981c2e186a4cb6a126557d57603cc100d448vboxsync
e862981c2e186a4cb6a126557d57603cc100d448vboxsyncRT_C_DECLS_BEGIN
e862981c2e186a4cb6a126557d57603cc100d448vboxsync
e862981c2e186a4cb6a126557d57603cc100d448vboxsync#if 0
e862981c2e186a4cb6a126557d57603cc100d448vboxsync/* enable this in case we include this in a dll*/
e862981c2e186a4cb6a126557d57603cc100d448vboxsync# ifdef IN_VBOXCRHGSMI
384478d3896257fbce9ceb8c01e74040b969e6d7vboxsync# define VBOXCRHGSMI_DECL(a_Type) DECLEXPORT(a_Type) RTCALL
e862981c2e186a4cb6a126557d57603cc100d448vboxsync# else
384478d3896257fbce9ceb8c01e74040b969e6d7vboxsync# define VBOXCRHGSMI_DECL(a_Type) DECLIMPORT(a_Type) RTCALL
e862981c2e186a4cb6a126557d57603cc100d448vboxsync# endif
e862981c2e186a4cb6a126557d57603cc100d448vboxsync#else
e862981c2e186a4cb6a126557d57603cc100d448vboxsync/*enable this in case we include this in a static lib*/
384478d3896257fbce9ceb8c01e74040b969e6d7vboxsync# define VBOXCRHGSMI_DECL(a_Type) a_Type RTCALL
e862981c2e186a4cb6a126557d57603cc100d448vboxsync#endif
e862981c2e186a4cb6a126557d57603cc100d448vboxsync
89bc55bf0a6b0d34d55c02ca2a0c1082fe598cdcvboxsyncVBOXCRHGSMI_DECL(int) VBoxCrHgsmiInit();
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsyncVBOXCRHGSMI_DECL(PVBOXUHGSMI) VBoxCrHgsmiCreate(void);
7704ab3cf2fe38a3307d6abee1f097fa4346e20evboxsyncVBOXCRHGSMI_DECL(void) VBoxCrHgsmiDestroy(PVBOXUHGSMI pHgsmi);
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsyncVBOXCRHGSMI_DECL(int) VBoxCrHgsmiTerm(void);
e862981c2e186a4cb6a126557d57603cc100d448vboxsync
87150caf549846b0edba30c50dabe5092df70b5fvboxsyncVBOXCRHGSMI_DECL(int) VBoxCrHgsmiCtlConGetClientID(PVBOXUHGSMI pHgsmi, uint32_t *pu32ClientID);
b88851de28f60f39aa753ff60fa1b1b3dce077ccvboxsyncVBOXCRHGSMI_DECL(int) VBoxCrHgsmiCtlConGetHostCaps(PVBOXUHGSMI pHgsmi, uint32_t *pu32HostCaps);
87150caf549846b0edba30c50dabe5092df70b5fvboxsyncVBOXCRHGSMI_DECL(int) VBoxCrHgsmiCtlConCall(PVBOXUHGSMI pHgsmi, struct VBoxGuestHGCMCallInfo *pCallInfo, int cbCallInfo);
87150caf549846b0edba30c50dabe5092df70b5fvboxsync
e862981c2e186a4cb6a126557d57603cc100d448vboxsyncRT_C_DECLS_END
e862981c2e186a4cb6a126557d57603cc100d448vboxsync
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync#endif
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync