#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 6.00.0347 */
/* at Sat Aug 31 12:32:54 2002
*/
/* Compiler settings for WebWin32Sample.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
protocol : dce , ms_ext, c_ext
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING( )
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __WebWin32Sample_h__
#define __WebWin32Sample_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IWebWin32Lib_FWD_DEFINED__
#define __IWebWin32Lib_FWD_DEFINED__
typedef interface IWebWin32Lib IWebWin32Lib;
#endif /* __IWebWin32Lib_FWD_DEFINED__ */
#ifndef __IWebWin32EventHandler_FWD_DEFINED__
#define __IWebWin32EventHandler_FWD_DEFINED__
typedef interface IWebWin32EventHandler IWebWin32EventHandler;
#endif /* __IWebWin32EventHandler_FWD_DEFINED__ */
#ifndef __WebWin32Lib_FWD_DEFINED__
#define __WebWin32Lib_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebWin32Lib WebWin32Lib;
#else
typedef struct WebWin32Lib WebWin32Lib;
#endif /* __cplusplus */
#endif /* __WebWin32Lib_FWD_DEFINED__ */
#ifndef ___IWebWin32EventHandlerEvents_FWD_DEFINED__
#define ___IWebWin32EventHandlerEvents_FWD_DEFINED__
typedef interface _IWebWin32EventHandlerEvents _IWebWin32EventHandlerEvents;
#endif /* ___IWebWin32EventHandlerEvents_FWD_DEFINED__ */
#ifndef __WebWin32EventHandler_FWD_DEFINED__
#define __WebWin32EventHandler_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebWin32EventHandler WebWin32EventHandler;
#else
typedef struct WebWin32EventHandler WebWin32EventHandler;
#endif /* __cplusplus */
#endif /* __WebWin32EventHandler_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#ifdef __cplusplus
extern "C"{
#endif
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * );
#ifndef __IWebWin32Lib_INTERFACE_DEFINED__
#define __IWebWin32Lib_INTERFACE_DEFINED__
/* interface IWebWin32Lib */
/* [unique][helpstring][nonextensible][dual][uuid][object] */
EXTERN_C const IID IID_IWebWin32Lib;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("17D4BA6F-0565-4C27-9549-89ACA363B8EC")
IWebWin32Lib : public IDispatch
{
public:
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MyMessageBox(
/* [in] */ BSTR Text,
/* [in] */ BSTR Title,
/* [retval][out] */ LONG *Result) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HideTree( void) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowTree( void) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetChildFrame(
/* [in] */ LONG pChildFrame) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddChildToTree(
/* [in] */ BSTR childText) = 0;
virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_StatusBarText(
/* [in] */ BSTR Text) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FormSubmit(
BSTR FormName) = 0;
};
#else /* C style interface */
typedef struct IWebWin32LibVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWebWin32Lib * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWebWin32Lib * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWebWin32Lib * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
IWebWin32Lib * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
IWebWin32Lib * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
IWebWin32Lib * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
IWebWin32Lib * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MyMessageBox )(
IWebWin32Lib * This,
/* [in] */ BSTR Text,
/* [in] */ BSTR Title,
/* [retval][out] */ LONG *Result);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HideTree )(
IWebWin32Lib * This);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowTree )(
IWebWin32Lib * This);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetChildFrame )(
IWebWin32Lib * This,
/* [in] */ LONG pChildFrame);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddChildToTree )(
IWebWin32Lib * This,
/* [in] */ BSTR childText);
/* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StatusBarText )(
IWebWin32Lib * This,
/* [in] */ BSTR Text);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FormSubmit )(
IWebWin32Lib * This,
BSTR FormName);
END_INTERFACE
} IWebWin32LibVtbl;
interface IWebWin32Lib
{
CONST_VTBL struct IWebWin32LibVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IWebWin32Lib_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IWebWin32Lib_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IWebWin32Lib_Release(This) \
(This)->lpVtbl -> Release(This)
#define IWebWin32Lib_GetTypeInfoCount(This,pctinfo) \
(This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
#define IWebWin32Lib_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
(This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebWin32Lib_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
(This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebWin32Lib_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
(This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IWebWin32Lib_MyMessageBox(This,Text,Title,Result) \
(This)->lpVtbl -> MyMessageBox(This,Text,Title,Result)
#define IWebWin32Lib_HideTree(This) \
(This)->lpVtbl -> HideTree(This)
#define IWebWin32Lib_ShowTree(This) \
(This)->lpVtbl -> ShowTree(This)
#define IWebWin32Lib_SetChildFrame(This,pChildFrame) \
(This)->lpVtbl -> SetChildFrame(This,pChildFrame)
#define IWebWin32Lib_AddChildToTree(This,childText) \
(This)->lpVtbl -> AddChildToTree(This,childText)
#define IWebWin32Lib_put_StatusBarText(This,Text) \
(This)->lpVtbl -> put_StatusBarText(This,Text)
#define IWebWin32Lib_FormSubmit(This,FormName) \
(This)->lpVtbl -> FormSubmit(This,FormName)
#endif /* COBJMACROS */
#endif /* C style interface */
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_MyMessageBox_Proxy(
IWebWin32Lib * This,
/* [in] */ BSTR Text,
/* [in] */ BSTR Title,
/* [retval][out] */ LONG *Result);
void __RPC_STUB IWebWin32Lib_MyMessageBox_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_HideTree_Proxy(
IWebWin32Lib * This);
void __RPC_STUB IWebWin32Lib_HideTree_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_ShowTree_Proxy(
IWebWin32Lib * This);
void __RPC_STUB IWebWin32Lib_ShowTree_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_SetChildFrame_Proxy(
IWebWin32Lib * This,
/* [in] */ LONG pChildFrame);
void __RPC_STUB IWebWin32Lib_SetChildFrame_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_AddChildToTree_Proxy(
IWebWin32Lib * This,
/* [in] */ BSTR childText);
void __RPC_STUB IWebWin32Lib_AddChildToTree_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_put_StatusBarText_Proxy(
IWebWin32Lib * This,
/* [in] */ BSTR Text);
void __RPC_STUB IWebWin32Lib_put_StatusBarText_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32Lib_FormSubmit_Proxy(
IWebWin32Lib * This,
BSTR FormName);
void __RPC_STUB IWebWin32Lib_FormSubmit_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IWebWin32Lib_INTERFACE_DEFINED__ */
#ifndef __IWebWin32EventHandler_INTERFACE_DEFINED__
#define __IWebWin32EventHandler_INTERFACE_DEFINED__
/* interface IWebWin32EventHandler */
/* [unique][helpstring][nonextensible][dual][uuid][object] */
EXTERN_C const IID IID_IWebWin32EventHandler;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("DDD0E784-6B9A-4D89-91AE-A33A314269EB")
IWebWin32EventHandler : public IDispatch
{
public:
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetHandler(
/* [in] */ LONG pThis,
/* [in] */ LONG pMember) = 0;
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CallHandler( void) = 0;
};
#else /* C style interface */
typedef struct IWebWin32EventHandlerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWebWin32EventHandler * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWebWin32EventHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWebWin32EventHandler * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
IWebWin32EventHandler * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
IWebWin32EventHandler * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
IWebWin32EventHandler * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
IWebWin32EventHandler * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetHandler )(
IWebWin32EventHandler * This,
/* [in] */ LONG pThis,
/* [in] */ LONG pMember);
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CallHandler )(
IWebWin32EventHandler * This);
END_INTERFACE
} IWebWin32EventHandlerVtbl;
interface IWebWin32EventHandler
{
CONST_VTBL struct IWebWin32EventHandlerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IWebWin32EventHandler_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IWebWin32EventHandler_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IWebWin32EventHandler_Release(This) \
(This)->lpVtbl -> Release(This)
#define IWebWin32EventHandler_GetTypeInfoCount(This,pctinfo) \
(This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
#define IWebWin32EventHandler_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
(This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IWebWin32EventHandler_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
(This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IWebWin32EventHandler_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
(This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IWebWin32EventHandler_SetHandler(This,pThis,pMember) \
(This)->lpVtbl -> SetHandler(This,pThis,pMember)
#define IWebWin32EventHandler_CallHandler(This) \
(This)->lpVtbl -> CallHandler(This)
#endif /* COBJMACROS */
#endif /* C style interface */
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32EventHandler_SetHandler_Proxy(
IWebWin32EventHandler * This,
/* [in] */ LONG pThis,
/* [in] */ LONG pMember);
void __RPC_STUB IWebWin32EventHandler_SetHandler_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWebWin32EventHandler_CallHandler_Proxy(
IWebWin32EventHandler * This);
void __RPC_STUB IWebWin32EventHandler_CallHandler_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IWebWin32EventHandler_INTERFACE_DEFINED__ */
#ifndef __WebWin32SampleLib_LIBRARY_DEFINED__
#define __WebWin32SampleLib_LIBRARY_DEFINED__
/* library WebWin32SampleLib */
/* [helpstring][version][uuid] */
EXTERN_C const IID LIBID_WebWin32SampleLib;
EXTERN_C const CLSID CLSID_WebWin32Lib;
#ifdef __cplusplus
class DECLSPEC_UUID("F5B33126-8AD7-4A05-956D-04036F97B0BB")
WebWin32Lib;
#endif
#ifndef ___IWebWin32EventHandlerEvents_DISPINTERFACE_DEFINED__
#define ___IWebWin32EventHandlerEvents_DISPINTERFACE_DEFINED__
/* dispinterface _IWebWin32EventHandlerEvents */
/* [helpstring][uuid] */
EXTERN_C const IID DIID__IWebWin32EventHandlerEvents;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("68BB8438-FB59-4B24-84E8-41A324696BEA")
_IWebWin32EventHandlerEvents : public IDispatch
{
};
#else /* C style interface */
typedef struct _IWebWin32EventHandlerEventsVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
_IWebWin32EventHandlerEvents * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
_IWebWin32EventHandlerEvents * This);
ULONG ( STDMETHODCALLTYPE *Release )(
_IWebWin32EventHandlerEvents * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
_IWebWin32EventHandlerEvents * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
_IWebWin32EventHandlerEvents * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
_IWebWin32EventHandlerEvents * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
_IWebWin32EventHandlerEvents * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
END_INTERFACE
} _IWebWin32EventHandlerEventsVtbl;
interface _IWebWin32EventHandlerEvents
{
CONST_VTBL struct _IWebWin32EventHandlerEventsVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define _IWebWin32EventHandlerEvents_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define _IWebWin32EventHandlerEvents_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define _IWebWin32EventHandlerEvents_Release(This) \
(This)->lpVtbl -> Release(This)
#define _IWebWin32EventHandlerEvents_GetTypeInfoCount(This,pctinfo) \
(This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
#define _IWebWin32EventHandlerEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
(This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define _IWebWin32EventHandlerEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
(This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define _IWebWin32EventHandlerEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
(This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* ___IWebWin32EventHandlerEvents_DISPINTERFACE_DEFINED__ */
EXTERN_C const CLSID CLSID_WebWin32EventHandler;
#ifdef __cplusplus
class DECLSPEC_UUID("CF333D13-2608-46DA-AED0-5E1FAEF96913")
WebWin32EventHandler;
#endif
#endif /* __WebWin32SampleLib_LIBRARY_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif