BUG#: 7614
[tpot/pegasus/.git] / src / Pegasus / Common / Constants.h
index 1658e00c8ec7e035e008ccc9f8d7ced533c98009..b22100e8c53da7d3a19761546568084ef1035c42 100644 (file)
@@ -1,9 +1,16 @@
-//%2003////////////////////////////////////////////////////////////////////////
+/*
+//%2006////////////////////////////////////////////////////////////////////////
 //
-// Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
-// Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
-// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
+// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
+// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
 // IBM Corp.; EMC Corporation, The Open Group.
+// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
+// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
+// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+// EMC Corporation; VERITAS Software Corporation; The Open Group.
+// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
+// EMC Corporation; Symantec Corporation; The Open Group.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to
 //
 //==============================================================================
 //
-// Author: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
-//
-// Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
-//                (carolann_graves@hp.com)
-//
 //%/////////////////////////////////////////////////////////////////////////////
+*/
 
 #ifndef Pegasus_Constants_h
 #define Pegasus_Constants_h
 
 #include <Pegasus/Common/Config.h>
-#include <Pegasus/Common/CIMName.h>
+#include <Pegasus/Common/Linkage.h>
 
-PEGASUS_NAMESPACE_BEGIN
+/*
+**==============================================================================
+**
+**  C/C++ Common Section
+**
+**==============================================================================
+*/
 
-//
-// Message Queue Names
-//
+/
+ * Message Queue Names
+ */
 
 #define PEGASUS_QUEUENAME_METADISPATCHER      "pegasus meta dispatcher"
 
@@ -77,9 +86,9 @@ PEGASUS_NAMESPACE_BEGIN
 #define PEGASUS_QUEUENAME_BINARY_HANDLER       "BinaryMessageHandler"
 
 
-//
-// ModuleController Module Names
-//
+/*
+ * ModuleController Module Names
+ */
 
 #define PEGASUS_MODULENAME_CONFIGPROVIDER \
     PEGASUS_QUEUENAME_CONTROLSERVICE "::ConfigProvider"
@@ -91,6 +100,8 @@ PEGASUS_NAMESPACE_BEGIN
     PEGASUS_QUEUENAME_CONTROLSERVICE "::ShutdownProvider"
 #define PEGASUS_MODULENAME_NAMESPACEPROVIDER \
     PEGASUS_QUEUENAME_CONTROLSERVICE "::NamespaceProvider"
+#define PEGASUS_MODULENAME_CERTIFICATEPROVIDER \
+    PEGASUS_QUEUENAME_CONTROLSERVICE "::CertificateProvider"
 #define PEGASUS_MODULENAME_TEMP \
     PEGASUS_QUEUENAME_CONTROLSERVICE "::temp::do not use this name"
 #define PEGASUS_MODULENAME_MONITOR \
@@ -98,105 +109,19 @@ PEGASUS_NAMESPACE_BEGIN
 #define PEGASUS_MODULENAME_INTEROPPROVIDER \
     PEGASUS_QUEUENAME_CONTROLSERVICE "::InteropProvider"
 
-//
-// CIM Class Names
-//
-
-static const CIMName PEGASUS_CLASSNAME_CONFIGSETTING        = 
-    CIMName ("PG_ConfigSetting");
-static const CIMName PEGASUS_CLASSNAME_AUTHORIZATION        = 
-    CIMName ("PG_Authorization");
-static const CIMName PEGASUS_CLASSNAME_USER                 = 
-    CIMName ("PG_User");
-static const CIMName PEGASUS_CLASSNAME_PROVIDERMODULE       = 
-    CIMName ("PG_ProviderModule");
-static const CIMName PEGASUS_CLASSNAME_PROVIDER             = 
-    CIMName ("PG_Provider");
-static const CIMName PEGASUS_CLASSNAME_CAPABILITIESREGISTRATION =
-    CIMName ("PG_CapabilitiesRegistration");
-static const CIMName PEGASUS_CLASSNAME_CONSUMERCAPABILITIES =
-    CIMName ("PG_ConsumerCapabilities");
-static const CIMName PEGASUS_CLASSNAME_PROVIDERCAPABILITIES = 
-    CIMName ("PG_ProviderCapabilities");
-static const CIMName PEGASUS_CLASSNAME_INDSUBSCRIPTION      = 
-    CIMName ("CIM_IndicationSubscription");
-static const CIMName PEGASUS_CLASSNAME_INDHANDLER           = 
-    CIMName ("CIM_IndicationHandler");
-static const CIMName PEGASUS_CLASSNAME_INDHANDLER_CIMXML    = 
-    CIMName ("CIM_IndicationHandlerCIMXML");
-static const CIMName PEGASUS_CLASSNAME_LSTNRDST_CIMXML    = 
-               CIMName ("CIM_ListenerDestinationCIMXML");
-static const CIMName PEGASUS_CLASSNAME_INDHANDLER_SNMP      = 
-    CIMName ("PG_IndicationHandlerSNMPMapper");
-static const CIMName PEGASUS_CLASSNAME_INDFILTER            = 
-    CIMName ("CIM_IndicationFilter");
-static const CIMName PEGASUS_CLASSNAME_SHUTDOWN             = 
-    CIMName ("PG_ShutdownService");
-static const CIMName PEGASUS_CLASSNAME___NAMESPACE          = 
-    CIMName ("__Namespace");
-
-#ifdef PEGASUS_ENABLE_SLP
-// Interop Classes Accessed through Interop Control Provider
-static const CIMName PEGASUS_CLASSNAME_NAMESPACE            = 
-    CIMName ("CIM_Namespace");
-static const CIMName PEGASUS_CLASSNAME_OBJECTMANAGER            = 
-    CIMName ("CIM_ObjectManager");
-static const CIMName PEGASUS_CLASSNAME_OBJECTMANAGERCOMMUNICATIONMECHANISM  = 
-    CIMName ("CIM_ObjectManagerCommunicationMechanism");
-static const CIMName PEGASUS_CLASSNAME_CIMXMLCOMMUNICATIONMECHANISM  = 
-    CIMName ("CIM_CIMXMLCommunicationMechanism");
-static const CIMName PEGASUS_CLASSNAME_PG_CIMXMLCOMMUNICATIONMECHANISM  = 
-    CIMName ("PG_CIMXMLCommunicationMechanism");
-static const CIMName PEGASUS_CLASSNAME_PROTOCOLADAPTER  = 
-    CIMName ("CIM_ProtocolAdapter");
-static const CIMName PEGASUS_CLASSNAME_NAMESPACEINMANAGER  = 
-    CIMName ("CIM_NamespaceInManager");
-
-// slp Class which operates slp provider. Started by system
-
-static const CIMName PEGASUS_CLASSNAME_WBEMSLPTEMPLATE             = 
-    CIMName ("PG_WBEMSLPTEMPLATE");
+#ifndef PEGASUS_DISABLE_PERFINST
+# define PEGASUS_MODULENAME_CIMOMSTATDATAPROVIDER \
+     PEGASUS_QUEUENAME_CONTROLSERVICE "::CIMOMStatDataProvider"
 #endif
 
-//
-// Property Names
-//
-
-static const CIMName PEGASUS_PROPERTYNAME_INDSUB_CREATOR    = 
-    CIMName ("Creator");
-
-// l10n    
-static const CIMName PEGASUS_PROPERTYNAME_INDSUB_ACCEPTLANGS = 
-    CIMName ("AcceptLanguages"); 
-static const CIMName PEGASUS_PROPERTYNAME_INDSUB_CONTENTLANGS = 
-    CIMName ("ContentLanguages");  
-
-//
-// CIM Namespace Names
-//
-
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_INTEROP  = 
-    CIMNamespaceName ("root/PG_InterOp");
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_INTERNAL = 
-    CIMNamespaceName ("root/PG_Internal");
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_CIMV2    = 
-    CIMNamespaceName ("root/cimv2");
-
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_AUTHORIZATION = 
-    PEGASUS_NAMESPACENAME_INTERNAL;
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_CONFIG        = 
-    PEGASUS_NAMESPACENAME_INTERNAL;
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_PROVIDERREG   = 
-    PEGASUS_NAMESPACENAME_INTEROP;
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_SHUTDOWN      = 
-    PEGASUS_NAMESPACENAME_INTERNAL;
-static const CIMNamespaceName PEGASUS_NAMESPACENAME_USER          = 
-    PEGASUS_NAMESPACENAME_INTERNAL;
-
+#ifdef PEGASUS_ENABLE_CQL
+# define PEGASUS_MODULENAME_CIMQUERYCAPPROVIDER \
+     PEGASUS_QUEUENAME_CONTROLSERVICE "::CIMQueryCapabilitiesProvider"
+#endif
 
-//
-// HTTP Header Tags, Status Codes, and Reason Phrases
-//
+/*
+ * HTTP Header Tags, Status Codes, and Reason Phrases
+ */
 
 #define PEGASUS_HTTPHEADERTAG_ERRORDETAIL "PGErrorDetail"
 
@@ -233,9 +158,9 @@ static const CIMNamespaceName PEGASUS_NAMESPACENAME_USER          =
 #define HTTP_STATUS_SERVICEUNAVAILABLE "503 Service Unavailable"
 
 
-//
-// Default port numbers
-//
+/*
+ * Default port numbers
+ */
 
 #define WBEM_DEFAULT_HTTP_PORT 5988
 #define WBEM_DEFAULT_HTTPS_PORT 5989
@@ -243,97 +168,595 @@ static const CIMNamespaceName PEGASUS_NAMESPACENAME_USER          =
 #define SNMP_TRAP_DEFAULT_PORT 162
 
 
-//
-// Wbem service names
-//
+/*
+ * Default timeout values for sockets and clients
+ */
 
+#define PEGASUS_DEFAULT_CLIENT_TIMEOUT_MILLISECONDS 20000
+#define PEGASUS_DEFAULT_SHUTDOWN_TIMEOUT_SECONDS_STRING "30"
+#define PEGASUS_DEFAULT_SOCKETWRITE_TIMEOUT_SECONDS 20
+#define PEGASUS_DEFAULT_SOCKETWRITE_TIMEOUT_SECONDS_STRING "20"
+#define PEGASUS_SSL_ACCEPT_TIMEOUT_SECONDS 20
+#define PEGASUS_PROVIDER_IDLE_TIMEOUT_SECONDS 300
 
-#ifdef PEGASUS_OS_OS400
-#pragma convert(37)
-#define WBEM_HTTP_SERVICE_NAME "wbem-http"
-#define WBEM_HTTPS_SERVICE_NAME "wbem-https"
-#define WBEM_EXPORT_HTTPS_SERVICE_NAME "wbem-exp-https"
-#pragma convert(0)
-#else
-#define WBEM_HTTP_SERVICE_NAME "wbem-http"
-#define WBEM_HTTPS_SERVICE_NAME "wbem-https"
-#define WBEM_EXPORT_HTTPS_SERVICE_NAME "wbem-exp-https"
-#endif
 
 
+/*
+ * Wbem service names
+ */
+
+#define WBEM_HTTP_SERVICE_NAME "wbem-http"
+#define WBEM_HTTPS_SERVICE_NAME "wbem-https"
 
-//
-// File system layout
-//
 
-#define PEGASUS_SSLCLIENT_CERTIFICATEFILE "client.pem"
-#define PEGASUS_SSLCLIENT_RANDOMFILE      "ssl.rnd"
-#define PEGASUS_SSLSERVER_RANDOMFILE      "cimserver.rnd"
-#define PEGASUS_LOCAL_AUTH_DIR            "/tmp"
-// ATTN: Relocate this relative to PEGASUS_HOME
-#define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/tmp/cimxml.socket"
-#define PEGASUS_PAM_STANDALONE_PROC_NAME  "bin/cimservera"
+/*
+ * File system layout
+ */
 
 #ifdef PEGASUS_USE_RELEASE_DIRS
+#ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
+# include <Pegasus/Common/ProductDirectoryStructure.h>
+#else
 # if defined(PEGASUS_OS_HPUX)
-#  undef PEGASUS_SSLCLIENT_CERTIFICATEFILE
+#  define PEGASUS_CIMSERVER_START_FILE      "/etc/opt/wbem/cimserver_start.conf"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE "/var/opt/wbem/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            "/var/opt/wbem/repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  \
+    "/var/opt/wbem/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  \
+    "/var/opt/wbem/cimserver_planned.conf"
 #  define PEGASUS_SSLCLIENT_CERTIFICATEFILE "/etc/opt/hp/sslshare/client.pem"
-#  undef PEGASUS_SSLCLIENT_RANDOMFILE
 #  define PEGASUS_SSLCLIENT_RANDOMFILE      "/var/opt/wbem/ssl.rnd"
-#  undef PEGASUS_SSLSERVER_RANDOMFILE
 #  define PEGASUS_SSLSERVER_RANDOMFILE      "/var/opt/wbem/cimserver.rnd"
-#  undef PEGASUS_LOCAL_AUTH_DIR
 #  define PEGASUS_LOCAL_AUTH_DIR            "/var/opt/wbem/localauth"
-#  undef PEGASUS_LOCAL_DOMAIN_SOCKET_PATH
 #  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/var/opt/wbem/socket/cimxml.socket"
-#  undef PEGASUS_CORE_DIR
 #  define PEGASUS_CORE_DIR                  "/var/opt/wbem"
-#  undef PEGASUS_PAM_STANDALONE_PROC_NAME
-#  define PEGASUS_PAM_STANDALONE_PROC_NAME  "/opt/wbem/sbin/cimservera"
+#  define PEGASUS_PAM_STANDALONE_PROC_NAME  "/opt/wbem/lbin/cimservera"
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "/opt/wbem/lbin/cimprovagt"
+#  define PEGASUS_DEFAULT_MESSAGE_SOURCE    \
+    "/opt/wbem/share/locale/ICU_Messages"
+# elif defined(PEGASUS_OS_PASE)
+#  define PEGASUS_CIMSERVER_START_FILE      \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/cimserver_start.conf"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/cimserver_planned.conf"
+#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/client.pem"
+#  define PEGASUS_SSLCLIENT_RANDOMFILE      \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/ssl.rnd"
+#  define PEGASUS_SSLSERVER_RANDOMFILE      \
+    "/QOpenSys/QIBM/UserData/UME/Pegasus/ssl/keystore/cimserver.rnd"
+#  define PEGASUS_LOCAL_AUTH_DIR            "/QOpenSys/var/UME"
+#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/QOpenSys/var/UME/cimxml.socket"
+#  define PEGASUS_PAM_STANDALONE_PROC_NAME  \
+    "/QOpenSys/QIBM/ProdData/UME/Pegasus/bin/cimservera"
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  \
+    "/QOpenSys/QIBM/ProdData/UME/Pegasus/bin/cimprovagt"
+#  undef PEGASUS_DEFAULT_MESSAGE_SOURCE     /* Not defined */
 # elif defined(PEGASUS_OS_AIX)
-#  undef PEGASUS_SSLCLIENT_CERTIFICATEFILE
-#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE "/opt/freeware/cimom/pegasus/etc/client.pem"
-#  undef PEGASUS_SSLCLIENT_RANDOMFILE
-#  define PEGASUS_SSLCLIENT_RANDOMFILE      "/opt/freeware/cimom/pegasus/etc/ssl.rnd"
-#  undef PEGASUS_SSLSERVER_RANDOMFILE
-#  define PEGASUS_SSLSERVER_RANDOMFILE      "/opt/freeware/cimom/pegasus/etc/cimserver.rnd"
-#  undef PEGASUS_LOCAL_DOMAIN_SOCKET_PATH
-#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/opt/freeware/cimom/pegasus/etc/cimxml.socket"
-# elif defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU)
-#  undef PEGASUS_SSLCLIENT_CERTIFICATEFILE
-#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE "/etc/pegasus/client.pem"
-#  undef PEGASUS_SSLCLIENT_RANDOMFILE
-#  define PEGASUS_SSLCLIENT_RANDOMFILE      "/var/pegasus/ssl.rnd"
-#  undef PEGASUS_SSLSERVER_RANDOMFILE
-#  define PEGASUS_SSLSERVER_RANDOMFILE      "/var/pegasus/cimserver.rnd"
-#  undef PEGASUS_LOCAL_AUTH_DIR
-#  define PEGASUS_LOCAL_AUTH_DIR            "/var/cache/pegasus/localauth"
-#  undef PEGASUS_LOCAL_DOMAIN_SOCKET_PATH
-#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/var/pegasus/socket/cimxml.socket"
-#  undef PEGASUS_PAM_STANDALONE_PROC_NAME
-#  define PEGASUS_PAM_STANDALONE_PROC_NAME  "/usr/sbin/cimservera"
+#  define PEGASUS_CIMSERVER_START_FILE      "/tmp/cimserver_start.conf"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE \
+    "/opt/freeware/cimom/pegasus/etc/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            \
+    "/opt/freeware/cimom/pegasus/etc/repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  \
+    "/opt/freeware/cimom/pegasus/etc/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  \
+    "/opt/freeware/cimom/pegasus/etc/cimserver_planned.conf"
+#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE \
+    "/opt/freeware/cimom/pegasus/etc/client.pem"
+#  define PEGASUS_SSLCLIENT_RANDOMFILE      \
+    "/opt/freeware/cimom/pegasus/etc/ssl.rnd"
+#  define PEGASUS_SSLSERVER_RANDOMFILE      \
+    "/opt/freeware/cimom/pegasus/etc/cimserver.rnd"
+#  define PEGASUS_LOCAL_AUTH_DIR            "/tmp"
+#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  \
+    "/opt/freeware/cimom/pegasus/etc/cimxml.socket"
+#  define PEGASUS_PAM_STANDALONE_PROC_NAME  \
+    "/opt/freeware/cimom/pegasus/bin/cimservera"
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  \
+    "/opt/freeware/cimom/pegasus/bin/cimprovagt"
+#  define PEGASUS_DEFAULT_MESSAGE_SOURCE    "/opt/freeware/cimom/pegasus/msg"
+# elif defined(PEGASUS_OS_LINUX)
+#  define PEGASUS_CIMSERVER_START_FILE      "/var/run/tog-pegasus/cimserver.pid"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE \
+    "/var/run/tog-pegasus/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            "/var/opt/tog-pegasus/repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  \
+    "/var/opt/tog-pegasus/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  \
+    "/var/opt/tog-pegasus/cimserver_planned.conf"
+#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE "/etc/opt/tog-pegasus/client.pem"
+#  define PEGASUS_SSLCLIENT_RANDOMFILE      "/var/opt/tog-pegasus/ssl.rnd"
+#  define PEGASUS_SSLSERVER_RANDOMFILE      "/var/opt/tog-pegasus/cimserver.rnd"
+#  define PEGASUS_LOCAL_AUTH_DIR            \
+    "/var/opt/tog-pegasus/cache/localauth"
+#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  \
+    "/var/run/tog-pegasus/socket/cimxml.socket"
+#  define PEGASUS_CORE_DIR                  "/var/opt/tog-pegasus/cache"
+#  define PEGASUS_PAM_STANDALONE_PROC_NAME  "/opt/tog-pegasus/sbin/cimservera"
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "/opt/tog-pegasus/sbin/cimprovagt"
+#  undef PEGASUS_DEFAULT_MESSAGE_SOURCE     /* Not defined */
+# elif defined(PEGASUS_OS_VMS)
+#  define PEGASUS_CIMSERVER_START_FILE      \
+    "/wbem_var/opt/wbem/cimserver_start.conf"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE \
+    "/wbem_var/opt/wbem/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            "/wbem_var/opt/wbem/repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  \
+    "/wbem_var/opt/wbem/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  \
+    "/wbem_var/opt/wbem/cimserver_planned.conf"
+#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE \
+    "/wbem_etc/opt/hp/sslshare/client.pem"
+#  define PEGASUS_SSLCLIENT_RANDOMFILE      "/wbem_var/opt/wbem/ssl.rnd"
+#  define PEGASUS_SSLSERVER_RANDOMFILE      "/wbem_var/opt/wbem/cimserver.rnd"
+#  define PEGASUS_LOCAL_AUTH_DIR            "/wbem_var/opt/wbem/localauth"
+#  undef PEGASUS_LOCAL_DOMAIN_SOCKET_PATH   /* Not used */
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "/wbem_var/opt/wbem/bin/cimprovagt"
+#  undef PEGASUS_DEFAULT_MESSAGE_SOURCE     /* Not defined */
+# elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#  define PEGASUS_CIMSERVER_START_FILE      "/var/wbem/cimserver.pid"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE "/var/wbem/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            "/var/wbem/repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  "/etc/wbem/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  "/etc/wbem/cimserver_planned.conf"
+#  undef PEGASUS_SSLCLIENT_CERTIFICATEFILE  /* Not used */
+#  undef PEGASUS_SSLCLIENT_RANDOMFILE       /* Not used */
+#  undef PEGASUS_SSLSERVER_RANDOMFILE       /* Not used */
+#  define PEGASUS_LOCAL_AUTH_DIR            "/tmp"
+#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/var/wbem/cimxml.socket"
+#  undef PEGASUS_PAM_STANDALONE_PROC_NAME   /* Not used */
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "bin/cimprovagt"
+#  define PEGASUS_DEFAULT_MESSAGE_SOURCE    "/usr/lpp/wbem/msg"
+# elif defined(PEGASUS_OS_DARWIN)
+#  define PEGASUS_CIMSERVER_START_FILE      \
+    "/var/cache/pegasus/cimserver_start.conf"
+#  define PEGASUS_CIMSERVER_START_LOCK_FILE \
+    "/var/cache/pegasus/cimserver_start.lock"
+#  define PEGASUS_REPOSITORY_DIR            "repository"
+#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  \
+    "/etc/pegasus/cimserver_current.conf"
+#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  \
+    "/etc/pegasus/cimserver_planned.conf"
+#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE "client.pem"
+#  define PEGASUS_SSLCLIENT_RANDOMFILE      "ssl.rnd"
+#  define PEGASUS_SSLSERVER_RANDOMFILE      "cimserver.rnd"
+#  define PEGASUS_LOCAL_AUTH_DIR            "/tmp"
+#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/tmp/cimxml.socket"
+#  define PEGASUS_PAM_STANDALONE_PROC_NAME  "bin/cimservera"
+#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "bin/cimprovagt"
+#  undef PEGASUS_DEFAULT_MESSAGE_SOURCE     /* Not defined */
 # endif
 #endif
+#else  // Not PEGASUS_USE_RELEASE_DIRS
+# define PEGASUS_CIMSERVER_START_FILE      "/tmp/cimserver_start.conf"
+# define PEGASUS_CIMSERVER_START_LOCK_FILE "/tmp/cimserver_start.lock"
+# define PEGASUS_REPOSITORY_DIR            "repository"
+# define PEGASUS_CURRENT_CONFIG_FILE_PATH  "cimserver_current.conf"
+# define PEGASUS_PLANNED_CONFIG_FILE_PATH  "cimserver_planned.conf"
+# define PEGASUS_SSLCLIENT_CERTIFICATEFILE "client.pem"
+# define PEGASUS_SSLCLIENT_RANDOMFILE      "ssl.rnd"
+# define PEGASUS_SSLSERVER_RANDOMFILE      "cimserver.rnd"
+# define PEGASUS_LOCAL_AUTH_DIR            "/tmp"
+# define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/tmp/cimxml.socket"
+# define PEGASUS_PAM_STANDALONE_PROC_NAME  "bin/cimservera"
+# define PEGASUS_PROVIDER_AGENT_PROC_NAME  "bin/cimprovagt"
+# undef PEGASUS_DEFAULT_MESSAGE_SOURCE      /* Not defined */
+#endif
+
+/* Use the PID file as a semaphore for repository access */
+#define PEGASUS_REPOSITORY_LOCK_FILE PEGASUS_CIMSERVER_START_FILE
+
+/*
+ * Miscellaneous Constants
+ */
+
+/*
+  Constant defines the maximum number of providers that will be addressed in
+  a single enumerate instance request.  This is strictly a performance
+  requirement for different systems.  To disable the whole test, simply set
+  this variable to 0
+*/
+#define MAX_ENUMERATE_BREADTH 30
+
+/* Constant defines the maximum timeout to disable a provider */
+#define PROVIDER_DISABLE_TIMEOUT 15
+
+/* Constants defining the operational status of a CIM_ManagedSystemElement */
+#define CIM_MSE_OPSTATUS_VALUE_OK 2
+#define CIM_MSE_OPSTATUS_VALUE_DEGRADED 3
+#define CIM_MSE_OPSTATUS_VALUE_ERROR 6
+#define CIM_MSE_OPSTATUS_VALUE_STOPPING 9
+#define CIM_MSE_OPSTATUS_VALUE_STOPPED 10
+
+/* Constants defining UserContext values in a PG_ProviderModule */
+#define PG_PROVMODULE_USERCTXT_REQUESTOR 2
+#define PG_PROVMODULE_USERCTXT_DESIGNATED 3
+#define PG_PROVMODULE_USERCTXT_PRIVILEGED 4
+#define PG_PROVMODULE_USERCTXT_CIMSERVER 5
+
+/* Constant defining Server truststore type value in a PG_SSLCertificate */
+#define PG_SSLCERTIFICATE_TSTYPE_VALUE_SERVER Uint16(2)
+
+#ifdef PEGASUS_DEFAULT_USERCTXT_REQUESTOR
+#define PEGASUS_DEFAULT_PROV_USERCTXT PG_PROVMODULE_USERCTXT_REQUESTOR
+#else
+#define PEGASUS_DEFAULT_PROV_USERCTXT PG_PROVMODULE_USERCTXT_PRIVILEGED
+#endif
 
-// Constant defines for path to icu resource bundles
-#ifdef PEGASUS_PLATFORM_OS400_ISERIES_IBM
-#define PEGASUS_DEFAULT_MESSAGE_SOURCE  "/QIBM/ProdData/OS400/CIM/msg"
+/*
+  Standard Pegasus Global Prefix.
+  This prefix is used as the basis for pegasus defined classes
+  and in identity creation that would require a standard
+  Pegasus prefix
+*/
+#define PEGASUS_INSTANCEID_GLOBAL_PREFIX "PG"
+
+/* Constants defining the size of the hash table used in the OrderedSet
+   implementation. Specific classes have their own hash table size to
+   accomodate for amounts of probable members
+*/
+#define PEGASUS_PROPERTY_ORDEREDSET_HASHSIZE 32
+#define PEGASUS_QUALIFIER_ORDEREDSET_HASHSIZE 16
+#define PEGASUS_PARAMETER_ORDEREDSET_HASHSIZE 16
+#define PEGASUS_METHOD_ORDEREDSET_HASHSIZE 16
+
+/* defines a number value for an OrderedSet when either 
+   the index to a specific member is unknown, meaning not initialized
+   (PEGASUS_ORDEREDSET_INDEX_UNKNOWN)
+   of the specific member is not part of the list
+   (PEGASUS_ORDEREDSET_INDEX_NOTFOUND)   
+*/
+#define PEGASUS_ORDEREDSET_INDEX_NOTFOUND 0xFFFFFFFF
+#define PEGASUS_ORDEREDSET_INDEX_UNKNOWN 0xFFFFFFFE
+
+/*
+   Defines the maximum authenticated username length.
+*/
+#ifdef PEGASUS_OS_PASE
+#define PEGASUS_MAX_USER_NAME_LEN 10
 #else
-#undef PEGASUS_DEFAULT_MESSAGE_SOURCE
+#define PEGASUS_MAX_USER_NAME_LEN 256
 #endif
 
+/*
+**==============================================================================
+**
+**  C++ Section
+**
+**==============================================================================
+*/
+
+#if defined(__cplusplus)
+# include <Pegasus/Common/CIMName.h>
+
+PEGASUS_NAMESPACE_BEGIN
+
+/**
+    Values for the Subscription State property of the Subscription class,
+    as defined in the CIM Events MOF
+ */
+enum SubscriptionState {STATE_UNKNOWN = 0, STATE_OTHER = 1,
+     STATE_ENABLED = 2, STATE_ENABLEDDEGRADED = 3,
+     STATE_DISABLED = 4};
+
+/**
+    Values for the Persistence Type property of the Handler class,
+    as defined in the CIM Events MOF
+ */
+enum PersistenceType {PERSISTENCE_OTHER = 1, PERSISTENCE_PERMANENT = 2,
+    PERSISTENCE_TRANSIENT = 3};
+
+/**
+    Values for the SNMPVersion property of the PG_IndicationHandlerSNMPMapper
+    class, as defined in the PG Events MOF
+ */
+enum SnmpVersion {SNMPV1_TRAP = 2, SNMPV2C_TRAP = 3, SNMPV2C_INFORM = 4,
+     SNMPV3_TRAP = 5, SNMPV3_INFORM = 6};
+
 //
-// Miscellaneous Constants
+// CIM Class Names
 //
 
-// Constant defines the maximum number of providers that will be addressed in a single
-// enumerate instance request.  This is strictly a performance requirement for different
-// systems.  To disable the whole test, simply set this variable to 0
-#define MAX_ENUMERATE_BREADTH 30
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_CONFIGSETTING;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_AUTHORIZATION;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_USER;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_CERTIFICATE;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_CRL;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_PROVIDERMODULE;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_PROVIDER;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_CAPABILITIESREGISTRATION;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_CONSUMERCAPABILITIES;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PROVIDERCAPABILITIES;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_INDSUBSCRIPTION;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_FORMATTEDINDSUBSCRIPTION;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_INDHANDLER;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_LSTNRDST;
+PEGASUS_COMMON_LINKAGE 
+    extern const CIMName PEGASUS_CLASSNAME_INDHANDLER_CIMXML;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_LSTNRDST_CIMXML;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_INDHANDLER_SNMP;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_LSTNRDST_SYSTEM_LOG;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_LSTNRDST_EMAIL;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_INDFILTER;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_SHUTDOWN;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME___NAMESPACE;
+
+#ifndef PEGASUS_DISABLE_PERFINST
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_CIMOMSTATDATA;
+#endif
 
-// Constant defines the maximum timeout to disable a provider
-#define PROVIDER_DISABLE_TIMEOUT 15
+#ifdef PEGASUS_ENABLE_CQL
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_CIMQUERYCAPABILITIES;
+#endif
+
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_PROVIDERINDDATA;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_SUBSCRIPTIONINDDATA;
+
+// Definitions for Interop Classes Accessed through Interop Control Provider
+
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_CIMNAMESPACE;
+
+#if defined PEGASUS_ENABLE_INTEROP_PROVIDER
+
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_OBJECTMANAGER;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_PGNAMESPACE;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_OBJECTMANAGERCOMMUNICATIONMECHANISM;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_CIMXMLCOMMUNICATIONMECHANISM;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_CIMXMLCOMMUNICATIONMECHANISM;
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_PROTOCOLADAPTER;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_NAMESPACEINMANAGER;
+
+//
+// Server Profile-related class names
+//
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_PG_OBJECTMANAGER;
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_COMMMECHANISMFORMANAGER;
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_NAMESPACEINMANAGER;
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_REGISTEREDPROFILE;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_REGISTEREDSUBPROFILE;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_REFERENCEDPROFILE;
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_CIM_ELEMENTCONFORMSTOPROFILE;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE_RP_RP;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_SUBPROFILEREQUIRESPROFILE;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_SOFTWAREIDENTITY;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_ELEMENTSOFTWAREIDENTITY;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_INSTALLEDSOFTWAREIDENTITY;
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_COMPUTERSYSTEM;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_HOSTEDOBJECTMANAGER;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_HOSTEDACCESSPOINT;
+
+// Profile Registration classes
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_PROVIDERPROFILECAPABILITIES;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_CLASSNAME_PG_PROVIDERREFERENCEDPROFILES;
+
+#endif    // PEGASUS_ENABLE_INTEROP_PROVIDER
+
+// slp Class which Controls slp provider. Started by system
+
+#ifdef PEGASUS_ENABLE_SLP
+
+#define PEGASUS_SLP_SERVICE_TYPE   "service:wbem"
+
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_CLASSNAME_WBEMSLPTEMPLATE;
+#endif
+
+//
+// Property Names Indication Subscriptions
+//
+
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_INDSUB_CREATOR;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_INDSUB_ACCEPTLANGS;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_INDSUB_CONTENTLANGS;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_MODULE_USERCONTEXT;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_MODULE_DESIGNATEDUSER;
+
+/**
+    The name of the Destination property for CIM XML Indication Handler
+    subclass
+*/
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_LSTNRDST_DESTINATION;
+
+/**
+    The name of the TargetHost property for SNMP Mapper Indication
+    Handler subclass
+*/
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_LSTNRDST_TARGETHOST;
+
+/**
+    The name of the TextFormat property for Formatted Indication
+    Subscription class
+*/
+    PEGASUS_COMMON_LINKAGE extern const CIMName _PROPERTY_TEXTFORMAT;
+
+/**
+    The name of the TextFormatParameters property for Formatted
+    Indication Subscription class
+*/
+    PEGASUS_COMMON_LINKAGE extern const CIMName _PROPERTY_TEXTFORMATPARAMETERS;
+
+/**
+    The name of the Name property for PG_ProviderModule class
+*/
+    PEGASUS_COMMON_LINKAGE extern const CIMName _PROPERTY_PROVIDERMODULE_NAME;
+
+/**
+    The name of the operational status property
+*/
+    PEGASUS_COMMON_LINKAGE extern const CIMName _PROPERTY_OPERATIONALSTATUS;
+
+/**
+    The name of the Filter reference property for indication subscription class
+ */
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_FILTER;
+
+/**
+    The name of the Handler reference property for indication subscription class
+ */
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_HANDLER;
+
+/**
+    The name of the Subscription State property for indication subscription
+    class
+ */
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE;
+
+/**
+    The name of the Query property for indication filter class
+ */
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_QUERY;
+
+/**
+    The name of the Query Language property for indication filter class
+ */
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_QUERYLANGUAGE;
+
+/**
+    The name of the Name property for indication filter and indications handler
+    classes
+ */
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_NAME;
+
+/**
+    The name of the Creation Class Name property for indication filter and
+    indications handler classes
+ */
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_CREATIONCLASSNAME;
+
+/**
+    The name of the Persistence Type property for Indication Handler class
+ */
+PEGASUS_COMMON_LINKAGE
+    extern const CIMName PEGASUS_PROPERTYNAME_PERSISTENCETYPE;
+
+/**
+    The name of the SNMP Version property for SNMP Mapper Indication Handler
+    subclass
+ */
+PEGASUS_COMMON_LINKAGE extern const CIMName PEGASUS_PROPERTYNAME_SNMPVERSION;
+
+//
+// CIM Namespace Names
+//
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_INTEROP;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_INTERNAL;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_CIMV2;
+
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_AUTHORIZATION;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_CONFIG;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_PROVIDERREG;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_SHUTDOWN;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_USER ;
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_CERTIFICATE;
+
+#ifndef PEGASUS_DISABLE_PERFINST
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_CIMOMSTATDATA;
+#endif
+
+#ifdef PEGASUS_ENABLE_CQL
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_NAMESPACENAME_CIMQUERYCAPABILITIES;
+#endif
+
+/**
+    An EnumerateInstances operation on the __Namespace class returns the
+    "child" namespaces of the namespace in which the operation is requested.
+    Since there is no universal top-level namespace, one cannot find all
+    namespaces by enumerating the __Namespace class.  To circumvent this
+    problem, a virtual top-level namespace is introduced.  An enumeration of
+    __Namespace in the virtual top-level namespace returns all namespaces.
+*/
+PEGASUS_COMMON_LINKAGE
+    extern const CIMNamespaceName PEGASUS_VIRTUAL_TOPLEVEL_NAMESPACE;
+
+/**
+    Values for the Perceived Severity property of the Alert Indication
+    class, as defined in the CIM Events MOF
+ */
+enum PerceivedSeverity {_SEVERITY_UNKNOWN = 0, _SEVERITY_OTHER = 1,
+    _SEVERITY_INFORMATION = 2, _SEVERITY_WARNING = 3, _SEVERITY_MINOR = 4,
+    _SEVERITY_MAJOR = 5, _SEVERITY_CRITICAL = 6, _SEVERITY_FATAL = 7};
+
+/**
+    The name of the MailTo property for Email Handler subclass
+*/
+PEGASUS_COMMON_LINKAGE extern const CIMName
+    PEGASUS_PROPERTYNAME_LSTNRDST_MAILTO;
+
+/**
+    The name of the MailSubject property for Email Handler subclass
+*/
+PEGASUS_COMMON_LINKAGE extern const CIMName
+    PEGASUS_PROPERTYNAME_LSTNRDST_MAILSUBJECT;
+
+/**
+    The name of the MailCc  property for Email Handler subclass
+*/
+PEGASUS_COMMON_LINKAGE extern const
+    CIMName PEGASUS_PROPERTYNAME_LSTNRDST_MAILCC;
 
 PEGASUS_NAMESPACE_END
 
+#endif /* defined(__cplusplus) */
+
 #endif /* Pegasus_Constants_h */