/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef __CGUID_H__
#define __CGUID_H__

#ifdef __cplusplus
extern "C" {
#endif

  extern const IID GUID_NULL;
  extern const IID CATID_MARSHALER;
  extern const IID IID_IRpcChannel;
  extern const IID IID_IRpcStub;
  extern const IID IID_IStubManager;
  extern const IID IID_IRpcProxy;
  extern const IID IID_IProxyManager;
  extern const IID IID_IPSFactory;
  extern const IID IID_IInternalMoniker;
  extern const IID IID_IDfReserved1;
  extern const IID IID_IDfReserved2;
  extern const IID IID_IDfReserved3;
  extern const CLSID CLSID_StdMarshal;
  extern const CLSID CLSID_AggStdMarshal;
  extern const CLSID CLSID_StdAsyncActManager;
  extern const IID IID_IStub;
  extern const IID IID_IProxy;
  extern const IID IID_IEnumGeneric;
  extern const IID IID_IEnumHolder;
  extern const IID IID_IEnumCallback;
  extern const IID IID_IOleManager;
  extern const IID IID_IOlePresObj;
  extern const IID IID_IDebug;
  extern const IID IID_IDebugStream;
  extern const CLSID CLSID_PSGenObject;
  extern const CLSID CLSID_PSClientSite;
  extern const CLSID CLSID_PSClassObject;
  extern const CLSID CLSID_PSInPlaceActive;
  extern const CLSID CLSID_PSInPlaceFrame;
  extern const CLSID CLSID_PSDragDrop;
  extern const CLSID CLSID_PSBindCtx;
  extern const CLSID CLSID_PSEnumerators;
  extern const CLSID CLSID_StaticMetafile;
  extern const CLSID CLSID_StaticDib;
  extern const CLSID CID_CDfsVolume;
  extern const CLSID CLSID_DCOMAccessControl;
  extern const CLSID CLSID_GlobalOptions;
  extern const CLSID CLSID_StdGlobalInterfaceTable;
  extern const CLSID CLSID_ComBinding;
  extern const CLSID CLSID_StdEvent;
  extern const CLSID CLSID_ManualResetEvent;
  extern const CLSID CLSID_SynchronizeContainer;
  extern const CLSID CLSID_AddrControl;
  extern const CLSID CLSID_CCDFormKrnl;
  extern const CLSID CLSID_CCDPropertyPage;
  extern const CLSID CLSID_CCDFormDialog;
  extern const CLSID CLSID_CCDCommandButton;
  extern const CLSID CLSID_CCDComboBox;
  extern const CLSID CLSID_CCDTextBox;
  extern const CLSID CLSID_CCDCheckBox;
  extern const CLSID CLSID_CCDLabel;
  extern const CLSID CLSID_CCDOptionButton;
  extern const CLSID CLSID_CCDListBox;
  extern const CLSID CLSID_CCDScrollBar;
  extern const CLSID CLSID_CCDGroupBox;
  extern const CLSID CLSID_CCDGeneralPropertyPage;
  extern const CLSID CLSID_CCDGenericPropertyPage;
  extern const CLSID CLSID_CCDFontPropertyPage;
  extern const CLSID CLSID_CCDColorPropertyPage;
  extern const CLSID CLSID_CCDLabelPropertyPage;
  extern const CLSID CLSID_CCDCheckBoxPropertyPage;
  extern const CLSID CLSID_CCDTextBoxPropertyPage;
  extern const CLSID CLSID_CCDOptionButtonPropertyPage;
  extern const CLSID CLSID_CCDListBoxPropertyPage;
  extern const CLSID CLSID_CCDCommandButtonPropertyPage;
  extern const CLSID CLSID_CCDComboBoxPropertyPage;
  extern const CLSID CLSID_CCDScrollBarPropertyPage;
  extern const CLSID CLSID_CCDGroupBoxPropertyPage;
  extern const CLSID CLSID_CCDXObjectPropertyPage;
  extern const CLSID CLSID_CStdPropertyFrame;
  extern const CLSID CLSID_CFormPropertyPage;
  extern const CLSID CLSID_CGridPropertyPage;
  extern const CLSID CLSID_CWSJArticlePage;
  extern const CLSID CLSID_CSystemPage;
  extern const CLSID CLSID_IdentityUnmarshal;
  extern const CLSID CLSID_InProcFreeMarshaler;
  extern const CLSID CLSID_Picture_Metafile;
  extern const CLSID CLSID_Picture_EnhMetafile;
  extern const CLSID CLSID_Picture_Dib;
  extern const GUID GUID_TRISTATE;

#ifdef __cplusplus
}
#endif
#endif
