BUG#:7996
authorr.kieninger <r.kieninger>
Fri, 17 Oct 2008 11:07:30 +0000 (11:07 +0000)
committerr.kieninger <r.kieninger>
Fri, 17 Oct 2008 11:07:30 +0000 (11:07 +0000)
TITLE: 64 bit platform support for z/OS

DESCRIPTION: 64 bit platform support for z/OS

79 files changed:
mak/common.mak
mak/config.mak
mak/platform_ZOS_ZSERIES64_IBM.mak [new file with mode: 0644]
mak/platform_ZOS_ZSERIES_IBM.mak
mak/program-unix.mak
mak/shared-library-unix.mak
src/Clients/wbemexec/tests/Makefile
src/Pegasus/Common/AtomicInt.h
src/Pegasus/Common/Audit_zOS_SMF.cpp
src/Pegasus/Common/Config.h
src/Pegasus/Common/Constants.h
src/Pegasus/Common/FileSystem.cpp
src/Pegasus/Common/HTTPAcceptor.cpp
src/Pegasus/Common/HTTPConnection.cpp
src/Pegasus/Common/Makefile
src/Pegasus/Common/Mutex.h
src/Pegasus/Common/Network.h
src/Pegasus/Common/Packer.h
src/Pegasus/Common/Platform_ZOS_ZSERIES64_IBM.h [new file with mode: 0644]
src/Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h
src/Pegasus/Common/Semaphore.h
src/Pegasus/Common/System.cpp
src/Pegasus/Common/SystemPOSIX.cpp
src/Pegasus/Common/Thread.cpp
src/Pegasus/Common/Threads.cpp
src/Pegasus/Common/Threads.h
src/Pegasus/Common/TraceLogHandler.cpp
src/Pegasus/Common/TraceMemoryHandler.cpp
src/Pegasus/Common/tests/Thread/Thread.cpp
src/Pegasus/Common/tests/XmlDump/Makefile
src/Pegasus/Common/tests/XmlParser/Makefile
src/Pegasus/Common/tests/XmlPrint/Makefile
src/Pegasus/Common/tests/XmlReader/Makefile
src/Pegasus/Compiler/cimmof.y
src/Pegasus/Compiler/cimmof_tab.cpp
src/Pegasus/Compiler/cmdline/cimmof/cmdline.cpp
src/Pegasus/Config/FileSystemPropertyOwner.cpp
src/Pegasus/Config/FixedPropertyTable.h
src/Pegasus/Config/ProviderDirPropertyOwner.cpp
src/Pegasus/Config/RepositoryPropertyOwner.cpp
src/Pegasus/Config/TracePropertyOwner.cpp
src/Pegasus/ControlProviders/InteropProvider/GuidUnix.cpp
src/Pegasus/DynListener/Service/cimlistener.cpp
src/Pegasus/IndicationService/tests/IndicationProcess/Makefile
src/Pegasus/Provider/CMPI/cmpipl.h
src/Pegasus/ProviderManager2/CMPIR/cmpir_common.h
src/Pegasus/ProviderManager2/CMPIR/debug.h
src/Pegasus/ProviderManager2/CMPIR/io.c
src/Pegasus/ProviderManager2/CMPIR/ip.c
src/Pegasus/ProviderManager2/CMPIR/native/broker_os.c
src/Pegasus/ProviderManager2/CMPIR/native/datetime.c
src/Pegasus/ProviderManager2/CMPIR/native/mm.c
src/Pegasus/ProviderManager2/CMPIR/proxy_comm.c
src/Pegasus/ProviderManager2/CMPIR/serialization.c
src/Pegasus/ProviderManager2/CMPIR/tcpcomm/proxy_attach.c
src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests/JRE/Makefile
src/Pegasus/ProviderManagerService/ProviderAgent/ProviderAgent.cpp
src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp
src/Pegasus/Server/CIMServer.cpp
src/Pegasus/Server/Makefile
src/Providers/ManagedSystem/OperatingSystem/tests/Makefile
src/Providers/TestProviders/CMPI/TestCMPIBroker/Makefile
src/Providers/TestProviders/CMPI/TestIndicationStressTestProvider/cmpiIndicationStressTestProvider.c
src/Providers/TestProviders/CMPI/TestIndications/cmpiTestIndicationProvider.c
src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
src/Providers/slp/SLPProvider.cpp
src/Server/cimserver.cpp
src/Service/ARM_zOS.cpp
src/Service/AutoRestartMgr_ZOS_ZSERIES64_IBM.h [new file with mode: 0644]
src/Service/AutoRestartMgr_ZOS_ZSERIES64_IBM.s [new file with mode: 0644]
src/Service/Makefile
src/Service/ServerRunStatus.cpp
src/Service/ServerShutdownClient.cpp
src/StandardIncludes/zOS/netinet/tcp.h
src/WMIMapper/WMIServer/cimserver.cpp
src/slp/slp_client/src/cmd-utils/slp_client/lslp-linux.h
src/slp/slp_client/src/cmd-utils/slp_client/lslp.cpp
src/slp/slp_client/src/cmd-utils/slp_client/slp_client.cpp
src/slp/slp_client/src/cmd-utils/slp_client/slp_client.h

index f553b11b6b73448329dc62ea78ba83ed8979fa9c..ef719f769a640dd5ecc05ea248cb6950343a7f01 100644 (file)
@@ -48,9 +48,9 @@ else
     endif
 endif
 
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
     DYNAMIC_LIBRARIES = $(addprefix $(LIB_DIR)/$(LIB_PREFIX), \
-       $(addsuffix .x, $(LIBRARIES)))
+       $(addsuffix $(DYNLIB_SUFFIX), $(LIBRARIES)))
 else
     DYNAMIC_LIBRARIES = $(addprefix -l, $(LIBRARIES))
 endif
index 6699135638e977907ada8fc88a69ac494532679b..ed59c759c62b7d20a0ccc0867b11a065d623ef56 100644 (file)
@@ -444,8 +444,8 @@ ifeq ($(PEGASUS_HAS_ICU),true)
         else
             ifeq ($(OS),zos)
                 EXTRA_LIBRARIES += \
-                    $(ICU_INSTALL)/lib/libicui18n.x \
-                    $(ICU_INSTALL)/lib/libicuuc.x
+                    $(ICU_INSTALL)/lib/libicui18n$(DYNLIB_SUFFIX) \
+                    $(ICU_INSTALL)/lib/libicuuc$(DYNLIB_SUFFIX)
             else
                 EXTRA_LIBRARIES += -licuuc -licui18n
                 ifeq ($(OS),linux)
diff --git a/mak/platform_ZOS_ZSERIES64_IBM.mak b/mak/platform_ZOS_ZSERIES64_IBM.mak
new file mode 100644 (file)
index 0000000..6be0cb6
--- /dev/null
@@ -0,0 +1,39 @@
+#//%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.;
+#// 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
+#// deal in the Software without restriction, including without limitation the
+#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+#// sell copies of the Software, and to permit persons to whom the Software is
+#// furnished to do so, subject to the following conditions:
+#//
+#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#//
+#//==============================================================================
+include $(ROOT)/mak/platform_ZOS_ZSERIES_IBM.mak
+
+FLAGS += -W"c,LP64" -W"l,LP64"
+PR_FLAGS += -W"c,LP64" -W"l,LP64"
+
+LIB_SUFFIX = 64.so
+DYNLIB_SUFFIX = 64.x
+
+
index 60ac3b037957d9169773b6314615b686fda099d1..b88360c882bcb26798217c4dfc50b6b0c07cfccf 100644 (file)
@@ -40,6 +40,8 @@ SYS_INCLUDES = -I/usr/lpp/tcpip/include -I/usr/lpp/ioclib/include -I$(ROOT)/src/
 #SYS_INCLUDES = -I/usr/lpp/tcpip/include -I/usr/lpp/ioclib/include
 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D _OPEN_SYS_IF_EXT -D _OPEN_SYS_DIR_EXT -D _OPEN_SYS_FILE_EXT -D_ALL_SOURCE -D_UNIX03_SOURCE -D_OPEN_THREADS=3 -D_OPEN_SYS_SOCK_IPV6 -D_ENHANCED_ASCII_EXT=0xFFFFFFFF
 
+DEFINES += -DPEGASUS_OS_ZOS
+
 DEFINES += -DPEGASUS_USE_SYSLOGS
 
 ifdef PEGASUS_KERBEROS_AUTHENTICATION
@@ -125,6 +127,8 @@ ZIP = zip
 
 LIB_SUFFIX = .so
 
+DYNLIB_SUFFIX = .x
+
 PEGASUS_SUPPORTS_DYNLIB = yes
 
 PEGASUS_HAS_MAKEDEPEND = yes
index f7df2b98f410862752b44220e792c0a4c9b13625..443e3d2efef06e55be2a129f463256cf1322d3aa 100644 (file)
@@ -89,7 +89,7 @@ ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
 ## ICU_INSTALL - Specifies the directory path where the ICU lib directory is located.
 ##               This will set runtime library search path for ICU libraries to ${ICU_INSTALL}/lib
 ##               
-     ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+     ifeq ($(OS),zos)
        $(LINK_WRAPPER) $(CXX) $(PR_FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES) > $(PROGRAM).llst
        @ $(ZIP) -a -m $(FULL_PROGRAM).llst.zip $(PROGRAM).llst
      else
index 89e11342025f752b4824265ab69670505d4d887d..bfd74d6fd8bbef6c1e36a434ddf04eb26d07712b 100755 (executable)
@@ -192,13 +192,13 @@ $(FULL_LIB): $(LIB_DIR)/target $(OBJ_DIR)/target $(OBJECTS) $(FULL_LIBRARIES) \
        rm -f $(FULL_LIB)
     endif
 
-    ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+    ifeq ($(OS),zos)
        $(LINK_COMMAND) $(LINK_ARGUMENTS) -L$(LIB_DIR) $(LINK_OUT) $(FULL_LIB) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(EXTRA_LIBRARIES) $(SYS_LIBS) > lib$(LIBRARY).llst
        @ $(ZIP) -a -m $(FULL_LIB).llst.zip lib$(LIBRARY).llst
       ## z/OS needs side definition files to link executables to
       ## dynamic libraries, so we have to copy them into the lib_dir
-       touch $(ROOT)/src/$(DIR)/lib$(LIBRARY).x
-       mv $(ROOT)/src/$(DIR)/lib$(LIBRARY).x $(LIB_DIR)
+       touch $(ROOT)/src/$(DIR)/lib$(LIBRARY)$(DYNLIB_SUFFIX)
+       mv $(ROOT)/src/$(DIR)/lib$(LIBRARY)$(DYNLIB_SUFFIX) $(LIB_DIR)
     else
 
        $(LINK_COMMAND) $(LINK_ARGUMENTS) -L$(LIB_DIR) $(LINK_OUT) $(FULL_LIB) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(EXTRA_LIBRARIES) $(SYS_LIBS)
index 8cf82e2135facc6f8c10720cc334043347f3c2cb..e3cf5e8eef1b12c0c3f410e659228cc82f68605f 100644 (file)
@@ -69,7 +69,7 @@ poststarttests: poststarttests1
 
 poststarttests1: FORCE
        @$(RM) $(RESULTFILE)
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @$(RM) ./emptyfile
        @touch $(RESULTFILE)
        @touch ./emptyfile
index 22e93365629c9b7bc1b77580ce67b78521628013..1d19dcb18d3f4e1d9ba06aaf6ef5cdc2806e7947 100644 (file)
@@ -501,11 +501,11 @@ PEGASUS_NAMESPACE_END
 
 //==============================================================================
 //
-// PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+// PEGASUS_OS_ZOS
 //
 //==============================================================================
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 # define PEGASUS_ATOMIC_INT_DEFINED
 
 PEGASUS_NAMESPACE_BEGIN
@@ -585,7 +585,7 @@ typedef AtomicIntTemplate<AtomicType> AtomicInt;
 
 PEGASUS_NAMESPACE_END
 
-#endif /* PEGASUS_PLATFORM_ZOS_ZSERIES_IBM */
+#endif /* PEGASUS_OS_ZOS */
 
 //==============================================================================
 //
index 57c85d5623ec7d3f824032af04adf49690b99f16..a60839409894c2b4ab898a05344ff35e050410b2 100644 (file)
@@ -179,7 +179,7 @@ void Audit_zOS_SMF::_preInitRecordHeaderSection( _smf86_header* recordHeader )
     recordHeader->SMF86TRN=2;            // Both triplets are used
                                          // set system identifyter
     memcpy(recordHeader->SMF86SSI,CFZ_EBCDIC,
-           sizeof(CFZ_EBCDIC));
+           strlen(CFZ_EBCDIC));
 
                                          // start of product section
     recordHeader->SMF86PRO=sizeof(_smf86_header);
@@ -190,7 +190,6 @@ void Audit_zOS_SMF::_preInitRecordHeaderSection( _smf86_header* recordHeader )
     recordHeader->SMF86STO=sizeof(_smf86_header)+
         sizeof(_smf86_product);
     recordHeader->SMF86STN=1;            // one subtype section
-
 }
 
 void Audit_zOS_SMF::_preInitRecordProductSection ( 
@@ -206,7 +205,7 @@ void Audit_zOS_SMF::_preInitRecordProductSection (
 
     // set system identifyter
     memcpy(recordProductSec->SMF86SSI,CFZ_EBCDIC,
-           sizeof(CFZ_EBCDIC));
+           strlen(CFZ_EBCDIC));
 
     // set pegasus VRM
     setEBCDICRecordField( recordProductSec->SMF86VRM, 
index 25e7cf5346f245861682dbc81903a001eca7df75..07ede87c700057794bb0a814f01fcfde3f384251 100644 (file)
@@ -68,6 +68,8 @@
 # include <Pegasus/Common/Platform_SOLARIS_X86_64_CC.h>
 #elif defined (PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 # include <Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h>
+#elif defined (PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM)
+# include <Pegasus/Common/Platform_ZOS_ZSERIES64_IBM.h>
 #elif defined (PEGASUS_PLATFORM_LINUX_IA64_GNU)
 # include <Pegasus/Common/Platform_LINUX_IA64_GNU.h>
 #elif defined (PEGASUS_PLATFORM_LINUX_X86_64_GNU)
index 5e292152da10c718905b16fc08d6a07a3995ca52..71a641289b39a7c5bd7a92e8a48255d118f86426 100644 (file)
 #  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)
+# elif defined(PEGASUS_OS_ZOS)
 #  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_TRC_BUFFER_MAX_SIZE_KB 1024*1024
 #define PEGASUS_TRC_BUFFER_MIN_SIZE_KB 16
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 # define PEGASUS_TRC_BUFFER_OOP_SIZE_DEVISOR 1
 #else
 # define PEGASUS_TRC_BUFFER_OOP_SIZE_DEVISOR 10
index ebbf7af4bb072a20ad66e90fcd2bae57e8e556a7..adc8d5c4ba59eebab29084dca48f903f748aeaa6 100644 (file)
@@ -473,6 +473,8 @@ String FileSystem::getDynamicLibraryExtension()
     return String(".dylib");
 #elif defined(PEGASUS_OS_VMS)
     return String(".exe");
+#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM)
+    return String("64.so");
 #else
     return String(".so");
 #endif
@@ -483,7 +485,7 @@ Boolean GetLine(PEGASUS_STD(istream)& is, String& line)
     line.clear();
 
     Boolean gotChar = false;
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
     char input[1000];
     is.getline(input,1000);
     line.assign(input);
index 3585edef14b5322069d97a108cafc73f812a6b27..5bf50dce96fa839d4f3730dcad2b8c8f6ace9608 100644 (file)
@@ -456,7 +456,7 @@ void HTTPAcceptor::_bind()
     //
 #if !defined(PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET) && \
      (defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) || \
-      defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || \
+      defined(PEGASUS_OS_ZOS) || \
       defined(PEGASUS_OS_PASE))
     if (_connectionType == LOCAL_CONNECTION)
     {
index 26994434804e6d2cd1a4bbfa8df888c16ddca644..4c718bdc11593da66c618cc3df1c832577b398c0 100644 (file)
@@ -210,7 +210,7 @@ HTTPConnection::HTTPConnection(
 
     _authInfo.reset(new AuthenticationInfo(true));
 
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
     // Add SSL verification information to the authentication information
     if (_socket->isSecure())
     {
@@ -1931,7 +1931,7 @@ void HTTPConnection::_handleReadEvent()
         }
         else
         {
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
         // Add SSL verification information to the authentication information
             if (_socket->isSecure())
             {
index de980230860f45f4a1484ebe86ddef458960196c..e3db04b6f8a3b8f83dd649c407bc973da7844c95 100644 (file)
@@ -226,7 +226,7 @@ ifdef PEGASUS_HAS_SSL
     endif
 endif
 
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
     ifdef PEGASUS_ZOS_SECURITY
         SOURCES += $(SOURCES_SECURITY_ZOS)
     endif
index 3a251fff78c5680eae8c8146a907e2d1a3cd56bd..bfd79a5f694ac669f286a935591e0102ee00ba72 100644 (file)
@@ -174,6 +174,7 @@ private:
 
 #if !defined(PEGASUS_HAVE_PTHREADS) || \
     (defined(PEGASUS_OS_ZOS) && (__TARGET_LIB__ < 0x41090000)) || \
+    defined(PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM) || \
     defined(PEGASUS_OS_VMS)
 
 # define PEGASUS_FORK_SAFE_MUTEX(mutex)
index a6d179495179ce2739b48ecb401abbb681b1ba62..fb968d0de74e13e8cde06a323e3c02b0f483a6a3 100755 (executable)
 #       include <sys/un.h>
 #   endif
 #   include <unistd.h>
-#   ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#   ifdef PEGASUS_OS_ZOS
 #       ifndef TCP_NODELAY
 #           define TCP_NODELAY 1
 #       endif
@@ -257,9 +257,10 @@ typedef int SocketHandle;
     defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
     typedef int SocketLength;
 #elif defined(PEGASUS_PLATFORM_VMS_ALPHA_DECCXX) || \
-    defined(PEGASUS_PLATFORM_VMS_IA64_DECCXX) || \
-    defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+    defined(PEGASUS_PLATFORM_VMS_IA64_DECCXX)
     typedef size_t SocketLength;
+#elif defined(PEGASUS_OS_ZOS)
+    typedef socklen_t SocketLength;
 #elif defined(PEGASUS_PLATFORM_HPUX_IA64_ACC) && \
     !defined(_XOPEN_SOURCE_EXTENDED)
     typedef int SocketLength;
index 835afcafc96c448c2dd6d829f599d824f9523622..efdfb48a4150723563ab1ff1dfe2c1bda4b7b860 100644 (file)
@@ -124,7 +124,7 @@ inline bool Packer::isLittleEndian()
     return true;
 #elif defined(PEGASUS_PLATFORM_LINUX_X86_GNU)
     return true;
-#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#elif defined(PEGASUS_OS_ZOS)
     return false;
 #else
     // You can add your platform above to avoid this calculation.
diff --git a/src/Pegasus/Common/Platform_ZOS_ZSERIES64_IBM.h b/src/Pegasus/Common/Platform_ZOS_ZSERIES64_IBM.h
new file mode 100644 (file)
index 0000000..6c84bdf
--- /dev/null
@@ -0,0 +1,78 @@
+//%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.;
+// 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
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#ifndef Pegasus_Platform_ZOS_ZSERIES64_IBM_h
+#define Pegasus_Platform_ZOS_ZSERIES64_IBM_h
+
+// added for Native ASCII Support
+#pragma runopts("FILETAG(AUTOCVT,AUTOTAG)")
+
+#define PEGASUS_OS_TYPE_UNIX
+
+#define PEGASUS_OS_ZOS 1
+
+#define PEGASUS_ARCHITECTURE_ZSERIES
+
+#define PEGASUS_POINTER_64BIT
+
+#define PEGASUS_COMPILER_IBM
+
+#define PEGASUS_UINT64 unsigned long long
+
+#define PEGASUS_SINT64 long long
+
+#define PEGASUS_HAVE_NAMESPACES
+
+#define PEGASUS_HAVE_FOR_SCOPE
+
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
+
+#define PEGASUS_HAS_SIGNALS
+
+#define PEGASUS_MAXHOSTNAMELEN  256
+
+#define PEGASUS_NO_PASSWORDFILE
+
+//#define snprintf(sptr,len,form,data) sprintf(sptr,form,data)
+
+#define ZOS_SECURITY_NAME "CIMServer Security"
+
+#define ZOS_DEFAULT_PEGASUS_REPOSITORY "/var/wbem"
+
+#define PEGASUS_HAVE_BROKEN_GLOBAL_CONSTRUCTION
+
+#define PEGASUS_HAVE_PTHREADS
+/* use POSIX read-write locks on this platform */
+#define PEGASUS_USE_POSIX_RWLOCK
+
+#endif /* Pegasus_Platform_ZOS_ZSERIES_IBM_h */
index 95b8dbf2bd597d99083c4d350a9f217d93d13105..d836c36c73b24d375c07314c5752db8c77a2d6bc 100644 (file)
@@ -39,7 +39,7 @@
 
 #define PEGASUS_OS_TYPE_UNIX
 
-#define PEGASUS_OS_ZOS
+#define PEGASUS_OS_ZOS 1
 
 #define PEGASUS_ARCHITECTURE_ZSERIES
 
index ce527fd57b4ba18c013a6ee0660ca624dae0f9b6..19aff114353887913a5145222e19f7085a302402 100644 (file)
@@ -48,7 +48,7 @@
 //
 //==============================================================================
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || \
+#if defined(PEGASUS_OS_ZOS) || \
     defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX) || \
     defined(PEGASUS_PLATFORM_PASE_ISERIES_IBMCXX) || \
     defined(PEGASUS_OS_DARWIN) || \
index 43e1dd1cf16511910260f65ebf20827e47ca84dd..4df540055f40aaa3d0eba22dff13430306663886 100644 (file)
@@ -31,9 +31,7 @@
 //
 //%/////////////////////////////////////////////////////////////////////////////
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 #include <Pegasus/Common/Config.h>
-#endif
 
 #include <fstream>
 #include <cctype>  // for tolower()
index d3062f5caff9865884ff6312fb401bc5db30ad83..7a5fc2099245a86e011e247caed794f0b3a5979d 100644 (file)
@@ -31,7 +31,7 @@
 //
 //%/////////////////////////////////////////////////////////////////////////////
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 # define _OPEN_SYS_EXT
 # include <sys/ps.h>
 # include <sys/__messag.h>
@@ -57,7 +57,7 @@
 #endif
 
 #if !defined(PEGASUS_OS_VMS) && \
-    !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && \
+    !defined(PEGASUS_OS_ZOS) && \
     !defined(PEGASUS_OS_DARWIN)
 # include <crypt.h>
 #endif
index 5b14be42badae732b6f54e3a8fb812ee19c0bdb3..3fd2045d731c25a551e02b8f0128c9c8cf59a59f 100644 (file)
@@ -80,7 +80,7 @@ void Thread::cancel()
 
 void Thread::thread_switch()
 {
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
     pthread_yield(NULL);
 #else
     sched_yield();
@@ -103,7 +103,7 @@ void Thread::join()
 void Thread::detach()
 {
     _is_detached = true;
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
     pthread_t  thread_id=_handle.thid.thread;
     pthread_detach(&thread_id);
 #else
index db710ade84a36a59297301532b413e50e28cfab1..e2c427777e1ac18ba3b7c5c817d21a449fbaa878 100644 (file)
@@ -178,7 +178,7 @@ int Threads::create(
 
     if (type == DETACHED)
     {
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
         int ds = 1;
         pthread_attr_setdetachstate(&attr, &ds);
 #else
index 8336895c9255e222d2ccc0fd6eae7b42127485b0..e7f415227f2150db419ee4731e6ba3b6fb65b451 100644 (file)
@@ -248,7 +248,7 @@ inline ThreadId Threads::id(const ThreadType& x)
 {
     ThreadId tid = { { 0 } };
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
     const char* s = x.thread.__;
     sprintf(tid.buffer, "%X%X%X%X%X%X%X%X",
         s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7]);
@@ -262,7 +262,7 @@ inline ThreadId Threads::id(const ThreadType& x)
 
 inline bool Threads::null(const ThreadType& x)
 {
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
     Uint64 tmp;
     memcpy(&tmp, x.thread.__, sizeof(Uint64));
     return tmp == 0;
index 334be83998ff6d4b581fed15211540e9ebd79a9c..e345dec945651ef69454fd752c4ecdeebd1625d5 100644 (file)
 //
 //%/////////////////////////////////////////////////////////////////////////////
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined(PEGASUS_OS_ZOS)
 #define _ISOC99_SOURCE
 #include <stdio.h>
 #include <stdarg.h>
 #endif
 
+#include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/FileSystem.h>
 #include <Pegasus/Common/TraceLogHandler.h>
 
index c272716b4651926f6f821bc14e50ca8884228a0c..c0fe81db7249ae2e4037889654006cdf58fa175b 100644 (file)
@@ -33,7 +33,7 @@
 
 // This _ISOC99_SOURCE definition and inclusion of stdio.h and stdarg.h
 // must precede the other file contents on z/OS.
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined(PEGASUS_OS_ZOS)
 # define _ISOC99_SOURCE
 #endif
 #include <stdio.h>
index 484cea1a63d3c803819a7a62306395d73597d6f3..b4088534dc97c8905ebac062a63e58c4c384948e 100644 (file)
@@ -382,7 +382,7 @@ ThreadReturnType PEGASUS_THREAD_CDECL reading_thread(void *parm)
    {
       int i = 0;
       
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
       char *my_storage = (char *)calloc(256, sizeof(char));
 #else
       char *my_storage = (char *)::operator new(256);
@@ -390,7 +390,7 @@ ThreadReturnType PEGASUS_THREAD_CDECL reading_thread(void *parm)
       //    sprintf(my_storage, "%ld", myself + i);
       try 
       {
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
          my_handle->put_tsd(keys[i % 4], free, 256, my_storage);
 #else
          my_handle->put_tsd(keys[i % 4], ::operator delete,
index 66e944241e7acccfe1454f540d20f9c6288196da..826a0fe3e389787d2a4c6e7621ab89feb4a915c7 100644 (file)
@@ -42,7 +42,7 @@ SOURCES = XmlDump.cpp
 include $(ROOT)/mak/program.mak
 
 tests:
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @chtag -tc IBM-1047 ./x.xml
 endif
        $(PROGRAM) x.xml
index 1a26934b52e4f8bc580f0de1ef9a0ed57263389d..274c9bf33c0430c174bea10304bfb07ea3a35e9a 100644 (file)
@@ -41,7 +41,7 @@ SOURCES = XmlParser.cpp
 include $(ROOT)/mak/program.mak
 
 tests:
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @chtag -tc IBM-1047 ./x.xml
 endif
        $(PROGRAM) x.xml
index 2ab15d960c71c838882d7d84e682426fe2f1fa46..dec00f1829e555ae6234c2cb096bb39088d126f2 100644 (file)
@@ -42,7 +42,7 @@ SOURCES = XmlPrint.cpp
 include $(ROOT)/mak/program.mak
 
 tests:
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @chtag -tc IBM-1047 ./x.xml
 endif
        $(PROGRAM) x.xml
index c1e9c02445cd7c4e5613dd86fafafde58059ef0c..9081c9cb0f3209d63b2143bba3fc9201e58cd8e8 100644 (file)
@@ -42,7 +42,7 @@ SOURCES = XmlReader.cpp
 include $(ROOT)/mak/program.mak
 
 tests:
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @chtag -tc IBM-1047 ./getErrorElement.xml
        @chtag -tc IBM-1047 ./getInstanceElement.xml
        @chtag -tc IBM-1047 ./getInstanceElement2.xml
index 8a353c15ca48b54ff728d8f424bcfcf0f9a4a87e..b42f47a514b6206434a740c79f0d383db8652d96 100644 (file)
@@ -68,7 +68,7 @@
 #define YYSTACKSIZE 2000
 
 #include <cstdlib>
-#if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_OS_VMS)
+#if !defined(PEGASUS_OS_ZOS) && !defined(PEGASUS_OS_VMS)
 #if defined(PEGASUS_OS_DARWIN)
 #include <sys/malloc.h>
 #else
index 5ba1ea14516d52ef7f3117164b9e97a8a6e8e72d..27b6576e7dad3982ff3e96a1d2e939dfb317b9f2 100644 (file)
 #define YYSTACKSIZE 2000
 
 #include <cstdlib>
-#if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_OS_VMS)
+#if !defined(PEGASUS_OS_ZOS) && !defined(PEGASUS_OS_VMS)
 #if defined(PEGASUS_OS_DARWIN)
 #include <sys/malloc.h>
 #else
index 8447fc76c0a1677aa189d4be924d2bf68d5c1840..f1419d3def59078ebf02184c6d45174b711f9dd5 100644 (file)
@@ -389,7 +389,7 @@ static void applyDefaults(mofCompilerOptions &cmdlinedata)
     if (cmdlinedata.is_local())
     {
 #if defined(PEGASUS_USE_RELEASE_DIRS) && \
-        defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+        defined(PEGASUS_OS_ZOS)
         cmdlinedata.set_repository_name(ZOS_DEFAULT_PEGASUS_REPOSITORY);
 #elif defined(PEGASUS_OS_PASE)
         cmdlinedata.set_repository(PASE_DEFAULT_PEGASUS_HOME);
@@ -402,7 +402,7 @@ static void applyDefaults(mofCompilerOptions &cmdlinedata)
         {
         }
 #endif // end of #if defined(PEGASUS_USE_RELEASE_DIRS) &&
-       // defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+       // defined(PEGASUS_OS_ZOS)
     }
     else
     {
index baa81b2f78576cf18a7e5fbff700b5b637753b64..093a91cd7f675748155af3a495152a84c9307868 100644 (file)
@@ -67,7 +67,7 @@ static struct ConfigPropertyRow properties[] =
 #endif
 #if defined(PEGASUS_OS_TYPE_WINDOWS)
     {"providerManagerDir", "bin", IS_STATIC, 0, 0, IS_VISIBLE},
-#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#elif defined(PEGASUS_OS_ZOS)
     {"providerManagerDir", "lib", IS_STATIC, 0, 0, IS_VISIBLE},
 #elif defined(PEGASUS_OS_PASE) && defined(PEGASUS_USE_RELEASE_DIRS)
     {"providerManagerDir", 
index 30863579b0a82fe464e3febdae4ed1b951cb49af..73624a72ef3f2f635f90f65a421f7d0d7bde461b 100644 (file)
@@ -48,7 +48,7 @@
 #include "FixedPropertyTableAix.h"
 #elif defined (PEGASUS_OS_VMS)
 #include "FixedPropertyTableVms.h"
-#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#elif defined(PEGASUS_OS_ZOS)
 #include "FixedPropertyTablezOS.h"
 #else
     {"bogus", "MyBogusValue"} // Remove this line if others are added
index 3acce8f327f2b27c692917c342b2d37996e04747..8c8dccd0665256c601010f63017f841bd18b1436 100644 (file)
@@ -58,7 +58,7 @@ static struct ConfigPropertyRow properties[] =
 {
 #if defined(PEGASUS_OS_TYPE_WINDOWS)
     {"providerDir", "lib;bin", IS_STATIC, 0, 0, IS_VISIBLE},
-#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#elif defined(PEGASUS_OS_ZOS)
     {"providerDir", "lib:provider", IS_STATIC, 0, 0, IS_VISIBLE},
 #elif defined(PEGASUS_OS_PASE) && defined(PEGASUS_USE_RELEASE_DIRS)
     {"providerDir", "/QOpenSys/QIBM/ProdData/UME/Pegasus/provider", 
index ca658caca4678aa03fcd7e173ba4577219566f5f..e524f2b29f89f6b2c9775feb22528e59929fab29 100644 (file)
@@ -62,7 +62,7 @@ static struct ConfigPropertyRow properties[] =
     {"repositoryIsDefaultInstanceProvider",
          "true", IS_STATIC, 0, 0, IS_VISIBLE},
 #endif
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
     {"enableBinaryRepository", "false", IS_STATIC, 0, 0, IS_VISIBLE}
 #else
     {"enableBinaryRepository", "true", IS_STATIC, 0, 0, IS_VISIBLE}
index cd296f07d7462a13fa9480a0ba8d9c80e0efd863..db0ae4cbc2ed447822bd887cd280e9840d5cf3b9 100644 (file)
@@ -83,7 +83,7 @@ static struct ConfigPropertyRow properties[] =
     {"traceFacility", "File", IS_DYNAMIC, 0, 0, IS_VISIBLE},
 #endif
 #endif
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 # if defined(PEGASUS_USE_RELEASE_DIRS)
     {"traceFilePath", "/tmp/cimserver.trc", IS_DYNAMIC, 0, 0, IS_VISIBLE},
 # else
index 0b492f6ee50595c29c6549706fa00c23d57fceae..1aa027c1fb68df223b4824a9845431b9f6522fab 100644 (file)
@@ -31,7 +31,7 @@
 //
 //%/////////////////////////////////////////////////////////////////////////////
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined(PEGASUS_OS_ZOS)
 #define _XOPEN_SOURCE_EXTENDED 1
 #endif
 PEGASUS_USING_STD;
index 8c03546ec0352f72bc571d1612692b8f822ea983..6a2a9313b122ef9699d1f8b7827b1f5773c156bc 100644 (file)
@@ -609,7 +609,7 @@ int CIMListenerProcess::cimserver_run(
         //cimserver_kill(1);
 #else
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_OS_LINUX) \
-        || defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) \
+        || defined(PEGASUS_OS_ZOS) \
         || defined(PEGASUS_OS_AIX) || defined(PEGASUS_OS_PASE) \
         || defined(PEGASUS_OS_SOLARIS) \
         || defined(PEGASUS_OS_VMS)
@@ -764,7 +764,7 @@ MessageLoader::_useProcessLocale = false;
     }
 
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) \
-|| defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || defined(PEGASUS_OS_AIX) \
+|| defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_AIX) \
 || defined(PEGASUS_OS_PASE) \
 || defined(PEGASUS_OS_SOLARIS) || defined (PEGASUS_OS_VMS)
     umask(S_IWGRP|S_IWOTH);
@@ -848,7 +848,7 @@ MessageLoader::_useProcessLocale = false;
     time_t last = 0;
 
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_OS_LINUX) || \
-    defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || defined(PEGASUS_OS_AIX) || \
+    defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_AIX) || \
     defined(PEGASUS_OS_PASE) || \
     defined(PEGASUS_OS_SOLARIS) || defined(PEGASUS_OS_VMS)
         //
index b949d6e2a30fc1206e6ed9b9ec5eec678a1f0a3f..b25ef1837e89281c6e62d7f4f5b2159fb533ebed 100644 (file)
@@ -50,7 +50,7 @@ include $(ROOT)/mak/program.mak
 tests:
 
 poststarttests:
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @chtag -tc IBM-1047 masterOutput
 endif
        @$(PROGRAM)
index b094e7d762e62c89d0494c98d234d5167f72c72f..9a66260ab3f27c46dc62c1bbb20e3fa27e2458fc 100644 (file)
@@ -65,7 +65,8 @@
 #      define CMPI_PLATFORM_PASE_ISERIES_IBMCXX 1
 #   endif
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || \
+    defined(PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM)
 # define CMPI_PLATFORM_ZOS_ZSERIES_IBM 1
 #endif
 
index 955e89b5e3040d357a0de9dc0594f847b9108fc5..ab3d00d11dab11af5c8a18e76f2274b863a73d18 100644 (file)
@@ -111,7 +111,7 @@ int gettimeofday (struct timeval *t,void * );
 #endif
 
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 # define atoll(X) strtoll(X, NULL, 10)
 #endif
 
index c13256cb2f96d4065438f1d9d1d7028187a447c4..d7050bcbd59ab23025390379a1b31c306f39ad85 100644 (file)
@@ -56,7 +56,7 @@
 
 #ifdef PEGASUS_OS_TYPE_UNIX
 # include <unistd.h>
-# if defined PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# if defined PEGASUS_OS_ZOS
 #  include <strings.h>
 # else
 #  include <string.h>
index a21bb08e7956b99876fc56d2b84ebce1b47bfd4e..3b7bc8f7e97823935b9cfe9f127646a6389cd82a 100644 (file)
@@ -44,7 +44,7 @@
 # include <winsock2.h>
 # include <sys/types.h>
 #else
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
 #  include <error.h>
 # endif
 #endif
@@ -107,7 +107,7 @@ int io_read_fixed_length (
         else
         {
             count -= bytes;
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
             buf   += bytes;
 #else
             buf   = (void*) ((long) buf + (long) bytes);
@@ -170,7 +170,7 @@ int io_write_fixed_length (
         else
         {
             count -= bytes;
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
             buf += bytes;
 #else
             buf = (void*) ((long) buf + (long) bytes);
index ce865b9a18d7a1fc409e54772def572a81b2b06e..25974d55df36610729ba5b0080f3a8a9c84af282 100644 (file)
@@ -43,7 +43,7 @@
 #if defined PEGASUS_OS_TYPE_WINDOWS
 # include <winsock2.h>
 #else
-# if defined PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# if defined PEGASUS_OS_ZOS
 #  include <arpa/inet.h>
 #else
 #  include <error.h>
@@ -91,7 +91,7 @@ static struct hostent * _getHostByName (
     struct hostent  *hptr;
     int herr=0,rc=0;
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
     extern int h_errno;
 #endif
 
@@ -122,7 +122,7 @@ static struct hostent * _getHostByName (
 #endif
 
         error_at_line (0, 0, __FILE__, __LINE__,
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
             strerror (h_errno));
 #elif defined PEGASUS_OS_TYPE_WINDOWS
             (char *)lpMsgBuf);
@@ -151,7 +151,7 @@ int open_connection ( const char * address, int port, int print_errmsg )
     struct hostent hbuf;
     char tempbuf[8192];
 // masking unability to transform an ip-address via gethostbyname()
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
     extern int h_errno;
     in_addr_t broker_ip_address;
     broker_ip_address = inet_addr(address);
@@ -184,7 +184,7 @@ int open_connection ( const char * address, int port, int print_errmsg )
             return -1;
         }
 // masking end of if case for differing between ip-address and host
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
     }
 #endif
 
@@ -196,7 +196,7 @@ int open_connection ( const char * address, int port, int print_errmsg )
     if (( sockfd = socket (
         PF_INET,
         SOCK_STREAM,
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
         0 ) ) == -1)
 #else
         IPPROTO_TCP ) ) == PEGASUS_CMPIR_INVALID_SOCKET)
@@ -270,7 +270,7 @@ PEGASUS_EXPORT void accept_connections (
     sin.sin_port = htons ( port );
 
     if (bind ( listen_socket, (struct sockaddr *) &sin, sin_len ) ||
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
         listen ( listen_socket, 15 ))
     {
 #else
index 3b9306e8b33b185edb14dbb4ea38c8212ed21e89..76e42d449c9d617dd184260287d1fbaf0f777890 100644 (file)
@@ -524,7 +524,7 @@ static int threadSleep(CMPIUint32 msec)
     }
     while (end.millitm > now.millitm && end.time >= now.time);
 
-#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#elif defined(PEGASUS_OS_ZOS)
     int seconds;
     if (msec < 1000)
     {
index 362c362d873b08a35e61079e374a7b09b4314891..1656d3bd14db9b2f0c782a8b2acb1d03d4642266 100644 (file)
@@ -256,7 +256,7 @@ static CMPIString * __dtft_getStringFormat (
         }
 
         tzset ();
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
         sprintf ( 
             us_utc_time, 
             "%6.6ld%+4.3ld",
@@ -592,7 +592,7 @@ CMPIDateTime * native_new_CMPIDateTime_fromChars (
 
         memset ( &tmp, 0, sizeof ( struct tm ) );
         tzset ();
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
 # ifdef PEGASUS_OS_TYPE_UNIX
         tmp.tm_gmtoff = timezone;
 # endif
index df596e99cad3d3518923dca7eb982cff3b58ef41..c944ebc298d6f82da6026c2b06e1d053c915f8ec 100644 (file)
@@ -38,7 +38,7 @@
 
 #ifdef PEGASUS_OS_TYPE_UNIX
 # include <dlfcn.h>
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
 #  include <error.h>
 # endif
 #elif defined PEGASUS_OS_TYPE_WINDOWS
index 6b2822bff71d969e2fe73cdab561a287f15c5ae6..8d8d0340911e6300e9bba68a42866ff9fb53a297 100644 (file)
@@ -55,7 +55,7 @@
 # include <Windows.h>
 #else
 # include <dlfcn.h>
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
 #  include <error.h>
 # endif
 #endif
index acd47a080674fbd1bf761a060a13519d14ef3641..d28472b97142076085ff63f7ff2adc195aa4bc49 100644 (file)
@@ -61,7 +61,7 @@
 # include <windows.h>
 # include <winsock2.h>
 #else
-# if defined (PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+# if defined (PEGASUS_OS_ZOS)
 #  include <arpa/inet.h>
 # else
 #  include <error.h>
index e04c81c6c9a0f22719744255ef03c4b1c14e4ffb..d0e923615fbf6678fe63bb69438ba0a4741fab5b 100644 (file)
@@ -57,7 +57,7 @@
 #include <errno.h>
 
 #ifdef PEGASUS_OS_TYPE_UNIX
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
 #  include <error.h>
 # endif
 #endif
index c77206031e4c92d976f5b0da40b4be485f6fa3e2..4160a3c32151717d994ea28733b304e8aac1d6f8 100644 (file)
@@ -44,7 +44,7 @@ ifeq ($(OS_TYPE),windows)
    EXTRA_INCLUDES = $(SYS_INCLUDES) -I$(JAVA_SDK)/include -I$(JAVA_SDK)/include/win32
    EXTRA_LIBRARIES += $(JAVA_SDK)/lib/jvm.lib
 else
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
    SYS_INCLUDES += -I${JAVA_SDK}/include
    EXTRA_LIBRARIES += ${JAVA_SDK}/bin/classic/libjvm.x
 else
index 6149525f734b9763288b7ec03830c42834487f08..6687093c51f62ceae3f37de9c21ccc69f97cb40a 100644 (file)
@@ -40,7 +40,7 @@
 #include <Pegasus/Config/ConfigManager.h>
 #include <Pegasus/ProviderManager2/Default/DefaultProviderManager.h>
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && defined(PEGASUS_ZOS_SECURITY)
+#if defined(PEGASUS_OS_ZOS) && defined(PEGASUS_ZOS_SECURITY)
 // This include file will not be provided in the OpenGroup CVS for now.
 // Do NOT try to include it in your compile
 #include <Pegasus/Common/safCheckzOS_inline.h>
@@ -397,7 +397,7 @@ Boolean ProviderAgent::_readAndProcessRequest()
         Uint32 messageLength = 0;
         _pipeToServer->writeBuffer((const char*)&messageLength, sizeof(Uint32));
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && defined(PEGASUS_ZOS_SECURITY)
+#if defined(PEGASUS_OS_ZOS) && defined(PEGASUS_ZOS_SECURITY)
         // prepare and setup the thread-level security environment on z/OS
         // if security initialization fails
         startupCheckBPXServer(false);
index b600a2c4950696b3ce82743acf6f7436d42bf5ab..657bb713256a5653e94283fe02268d2edb055597 100644 (file)
@@ -94,8 +94,8 @@ SecureBasicAuthenticator::SecureBasicAuthenticator()
     
     if (String::equalNoCase(
         configManager->getCurrentValue("enableCFZAPPLID"),"true"))
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
 # if (__TARGET_LIB__ < 0x410A0000) 
+#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
     {
 
         //
@@ -114,6 +114,9 @@ SecureBasicAuthenticator::SecureBasicAuthenticator()
     }
 
     pthread_security_np(0,__USERID_IDENTITY,0,NULL,NULL,0);
+#else
+#error APPLID support is not available in 64-bit compilation mode before V1R10
+#endif //PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
 #else
     {
         _zosAPPLID = "CFZAPPL";
@@ -128,7 +131,6 @@ SecureBasicAuthenticator::SecureBasicAuthenticator()
                 "CIM server authentication is using application ID OMVSAPPL."));
     }
 #endif // end __TARGET_LIB__
-#endif // end PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
 #endif // end PEGASUS_OS_ZOS
 
     PEG_METHOD_EXIT();
index b77924ca8e6f183ac9777c4fd2cec43fb41fb255..442508b40291f51095a6a6e7ebf9cdcd8f41dc62 100644 (file)
@@ -67,7 +67,7 @@
 #include <Pegasus/ProviderManagerService/ProviderManagerService.h>
 #include <Pegasus/ProviderManager2/Default/DefaultProviderManager.h>
 
-#if defined PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined PEGASUS_OS_ZOS
 # include "ConsoleManager_zOS.h"
 #endif
 
@@ -493,7 +493,7 @@ void CIMServer::_init()
     // Set up an additional thread waiting for commands from the
     // system console
     //
-#if defined PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined PEGASUS_OS_ZOS
     ZOSConsoleManager::startConsoleWatchThread();
 #endif
 
index 58fe3842d9167cd9843f72819c01ec34a9ced470..027e49938e197fd3e327d552996aa32bb9650fb9 100644 (file)
@@ -109,7 +109,7 @@ SOURCES = \
        QuerySupportRouter.cpp \
        WQLOperationRequestDispatcher.cpp
 
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
 SOURCES += \
        ConsoleManager_zOS.cpp
 endif
index 16e105fe1839d70f8c974a08e3fc31acfd1b3cda..672c0d8d3de2fc0df65136787c6fefb98d3d15da 100644 (file)
@@ -48,7 +48,7 @@ WBEMEXECOPTIONS = $(HOSTNAME) $(PORT) $(HTTPMETHOD) $(HTTPVERSION) $(USER) $(PAS
 
 %.rsp: %.xml
 
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
        @chtag -tc IBM-1047 ./PG_OS_Fail*.xml
 endif
        @ wbemexec $(WBEMEXECOPTIONS) $*.xml > $(TMP_DIR)/$*.rsp || cd .
index 663dfe20482fc0fc494fbdd64544c206c6836304..48729454b67925766c4962bfc1ec080479211402 100644 (file)
@@ -35,7 +35,7 @@ DIR = Providers/TestProviders/CMPI/TestCMPIBroker
 
 include $(ROOT)/mak/config.mak
 
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
     CXX = cc
     FLAGS += -W"c,SSCOMM"
 endif
index d72fc4a94ca09fe0736140b541193455ca25a18e..a9ab6ea2d38f749f64eb5bc2d384831ffc1e8f22 100644 (file)
@@ -35,7 +35,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <stdarg.h>
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 #include <pthread.h>
 #endif
 
index afda2fd919a8a41e0894e9ea4ad42568ce5fff67..836b49c017f359bf996585646fcfd8aab8fd6723 100644 (file)
@@ -36,7 +36,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <stdarg.h>
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 #include <pthread.h>
 #endif
 
index b10e7bd0aa9589f8bf98141b196820246f9e80d8..4754b0ee3221c3d2a3c156d3913262eb12bd0493 100644 (file)
@@ -48,6 +48,7 @@
 #include <Pegasus/Consumer/CIMIndicationConsumer.h>
 #include <Pegasus/Listener/CIMListener.h>
 
+
 PEGASUS_USING_PEGASUS;
 PEGASUS_USING_STD;
 
@@ -1469,7 +1470,7 @@ int _beginTest(CIMClient& workClient, const char* opt,
                 currentServerResidentIndicationCount);
             if (expectedSenderIdentity != String::EMPTY)
             {
-                assert(indicationSendCountTotal ==
+                PEGASUS_TEST_ASSERT(indicationSendCountTotal ==
                     currentServerResidentIdentityIndicationCount);
             }
         }
index 6681b73b043a9e361159c178d35c47660b60175d..995308742affe87336e9dcc7d4e5734defd6fc2f 100644 (file)
@@ -234,7 +234,7 @@ CIMName namePropertyName = "name";
 //
 // NOTE: The name of the provider must be correct to be loadable.
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 const int MAXPATHLEN=2000;
 #endif
 
index 9653e90ff14c0a6458ea30442a166b2490a6eee1..de6661af73440e0746559ecc93de34e2ab07ee25 100644 (file)
@@ -97,7 +97,7 @@
 #include <Service/ServerShutdownClient.h>
 #include <Service/ServerRunStatus.h>
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 #include <Pegasus/Common/SetFileDescriptorToEBCDICEncoding.h>
 #include <Service/ARM_zOS.h>
 # ifdef PEGASUS_ZOS_SECURITY
@@ -470,7 +470,7 @@ int main(int argc, char** argv)
     const char *tmp = getenv("PEGASUS_HOME");
     pegasusHome = (tmp == 0) ? PASE_DEFAULT_PEGASUS_HOME : tmp;
 # elif !defined(PEGASUS_USE_RELEASE_DIRS) || \
-    defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+    defined(PEGASUS_OS_ZOS)
     const char* tmp = getenv("PEGASUS_HOME");
 
     if (tmp)
@@ -834,7 +834,7 @@ int CIMServerProcess::cimserver_run(
         return 1;
     }
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && defined(PEGASUS_ZOS_SECURITY)
+#if defined(PEGASUS_OS_ZOS) && defined(PEGASUS_ZOS_SECURITY)
     startupCheckBPXServer(true);
     startupCheckProfileCIMSERVclassWBEM();
     startupEnableMSC();
@@ -1178,7 +1178,7 @@ int CIMServerProcess::cimserver_run(
 
     try
     {
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 
         // ARM is a z/OS internal restart facility.
         // This is a z/OS specific change.
@@ -1207,7 +1207,7 @@ int CIMServerProcess::cimserver_run(
         // normal termination
         //
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 
         // ARM is a z/OS internal restart facility.
         // This is a z/OS specific change.
index b2fa901eced555fd883c9a3ea459cbd11dd56f52..d4e6f2e67d9287950d8f9df76908be4c63c2c633 100644 (file)
 
 #include <Pegasus/Common/Tracer.h>
 #include <Pegasus/Common/Logger.h>
+#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 #include "AutoRestartMgr_ZOS_ZSERIES_IBM.h"
+#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM)
+#include "AutoRestartMgr_ZOS_ZSERIES64_IBM.h"
+#endif
 #include "ARM_zOS.h"
 
 
@@ -92,6 +96,7 @@ void ARM_zOS::Register(void)
                                         // the element name 
     int rc;
 
+#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM
     rc = __osname(&uts);
     if(rc < 0)
     {
@@ -127,7 +132,7 @@ void ARM_zOS::Register(void)
     // module in EBCDIC
     __atoe(arm_elemname); 
 
-    __register_arm(arm_elemname, arm_buffer, &arm_ret, &arm_res); 
+    __register_arm(arm_elemname, arm_buffer, &arm_ret, &arm_res);
 
     // convert back to ascii for further processing.
     __etoa(arm_elemname);
@@ -196,7 +201,7 @@ void ARM_zOS::Register(void)
 
         ARM_zOS_Status = NOT_REGISTERED;
     }                
-
+#endif
     return;
 }
 
@@ -222,6 +227,7 @@ void ARM_zOS::DeRegister(void)
     int arm_ret=0;                     // ARM return code 
     int arm_res=0;                     // ARM reason code 
     
+#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM
     // If CIM Server is not not registeres -> if it is REGISTERED or RESTARTED.
     if(ARM_zOS_Status != NOT_REGISTERED)
     {
@@ -242,6 +248,7 @@ void ARM_zOS::DeRegister(void)
         }
         ARM_zOS_Status = NOT_REGISTERED;
     }// End if
+#endif
 }
 
 PEGASUS_NAMESPACE_END
diff --git a/src/Service/AutoRestartMgr_ZOS_ZSERIES64_IBM.h b/src/Service/AutoRestartMgr_ZOS_ZSERIES64_IBM.h
new file mode 100644 (file)
index 0000000..a701b5c
--- /dev/null
@@ -0,0 +1,84 @@
+//%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.;
+// 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
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+// Author: Thilo Boehm (tboehm@de.ibm.com)
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#ifndef AutoRestartMgr_ZOS_ZSERIES64_IBM_h
+#define AutoRestartMgr_ZOS_ZSERIES64_IBM_h
+
+////////////////////////////////////////////////////////////////////////////////
+// internal prototypes for the assembler services called 
+////////////////////////////////////////////////////////////////////////////////
+#ifdef __cplusplus
+extern "OS_NOSTACK" {
+#endif
+
+
+////////////////////////////////////////////////////////////////////////////////
+// assembler routine which registers with ARM 
+////////////////////////////////////////////////////////////////////////////////
+
+#pragma map    (__register_arm,"REGARM")
+void __register_arm (char * elemname,  // elementname (16bytes) right-padded
+                                     // with blanks 
+                  char * buffer,     // must point to a local buffer which has
+                                     // a length of least 128 bytes 
+                  int * retcode,     // contains returncode on return 
+                  int * reasoncode); // contains reasoncode on return
+
+////////////////////////////////////////////////////////////////////////////////
+// assembler routine put element as READY with ARM 
+////////////////////////////////////////////////////////////////////////////////
+
+#pragma map    (__ready_arm,"READYARM")
+void __ready_arm ( char * buffer,   // must point to a local buffer which has
+                                    // a length of least 128 bytes 
+                 int * retcode,     // contains returncode on return 
+                 int * reasoncode); // contains reasoncode on return
+
+////////////////////////////////////////////////////////////////////////////////
+// assembler routine which deregisters element from ARM
+////////////////////////////////////////////////////////////////////////////////
+
+#pragma map    (__deregister_arm,"DEREGARM")
+void __deregister_arm ( char * buffer, // must point to a local buffer which has
+                                    // a length of least 128 bytes 
+                 int * retcode,     // contains returncode on return 
+                 int * reasoncode); // contains reasoncode on return
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* ifndef ARM_H */
diff --git a/src/Service/AutoRestartMgr_ZOS_ZSERIES64_IBM.s b/src/Service/AutoRestartMgr_ZOS_ZSERIES64_IBM.s
new file mode 100644 (file)
index 0000000..be7faf1
--- /dev/null
@@ -0,0 +1,197 @@
+*/%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.; 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 deal in the Software without restriction, 
+*/ including without limitation the rights to use, copy, modify, merge, 
+*/ publish, distribute, sublicense, and/or sell copies of the Software,
+*/ and to permit persons to whom the Software is furnished to do so,
+*/ subject to the following conditions:
+*/ 
+*/ THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE
+*/ INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE.
+*/ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+*/ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+*/ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+*/ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+*/ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+*/ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
+*/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
+*/ DEALINGS IN THE SOFTWARE.
+*/
+*/===================================================================
+*/
+*/%//////////////////////////////////////////////////////////////////
+
+********************************************************************
+*  REGARM      - register with ARM
+*
+*  Function: The elment name and type are hard coded.
+*            TERMTYPE=ELEMTERM is used for only app ABENDS.
+*            All other input parameters are left at their defaults:
+*            ELEMTYPE=NO_ELEMTYPE
+*            EVENTEXIT=NO_EVENTEXIT
+*            EVENTEXITPL=NO_EVENTEXITPL
+*            PLISTVER=IMPLIED_VERSION
+*            RESTARTTIMEOUT=NORM
+*            STARTTXT=NO_STARTTXT
+*
+*  USAGE FROM C:
+*        void register_arm (char * elemname,
+*                           char * elemtype,
+*               /* must point to a local buffer which has a length */
+*               /* of least 128 bytes */
+*                          char * buffer,
+*                          int * retcode,
+*                          int * reasoncode)
+*
+********************************************************************
+REGARM    CSECT
+REGARM    AMODE 64
+REGARM    RMODE 31                        MUST RESIDE in 31-BIT MEMORY
+*
+         EDCPRLG                                                       +
+               BASEREG=3,                                              +
+               USRDSAL=AUTOSPACE1
+*
+*
+         USING AUTOSPACE,13
+* make C-auto-storage accessable using DSECT and register 13
+         L     R4,0(0,R1)         get element name address into R4
+         L     R7,4(0,R1)         GET buffer PTR into R7
+         L     R5,8(0,R1)         GET pointer to retcode variable
+         L     R6,12(0,R1)        GET pointer to reascode variable
+         MVC   0(IXC1FL,R7),IXC1ST     COPY TEMPLATE LIST FORM MACRO
+*         
+         IXCARM REQUEST=REGISTER,ELEMENT=(R4),                         +
+               ELEMTYPE=NO_ELEMTYPE,                                   + 
+               TERMTYPE=ELEMTERM,                                      +
+               RETCODE=0(0,R5),                                        +
+               RSNCODE=0(0,R6),                                        +
+               MF=(E,(R7))
+         EDCEPIL
+*
+*
+* use the LIST from of the IXCARM macro to generate a parameter
+* block here
+AUTOSPACE   EDCDSAD
+IXC1ST   IXCARM MF=(L,IXCARML)
+IXC1FE   DS    0H
+IXC1FL   EQU   IXC1FE-IXC1ST
+AUTOSPACE1 EQU *-AUTOSPACE
+*
+********************************************************************
+*  READYARM      - set element to READY state with ARM
+*
+*  USAGE FROM C:
+*        void ready_arm (
+*               /* must point to a local buffer which has a length */
+*               /* of least 128 bytes */
+*                       char * buffer,
+*                       int * retcode, int * reasoncode)
+*
+********************************************************************
+READYARM  CSECT
+READYARM  AMODE 31
+READYARM  RMODE ANY
+*
+         EDCPRLG                                                       +
+               BASEREG=3,                                              +
+               USRDSAL=AUTOSPACE2
+*
+*
+         USING AUTOSPACE,13
+* make C-auto-storage accessable using DSECT and register 13
+         L     R7,0(0,R1)        GET buffer PTR into R7
+         L     R5,4(0,R1)        GET pointer to retcode variable
+         L     R6,8(0,R1)        GET pointer to reascode variable
+         MVC   0(IXC2FL,R7),IXC2ST     COPY TEMPLATE LIST FORM MACRO
+*
+         IXCARM REQUEST=READY,                                         +
+               RETCODE=0(0,R5),                                        +
+               RSNCODE=0(0,R6),                                        +
+               MF=(E,(R7))
+*
+*
+         EDCEPIL
+*
+*
+AUTOSPACE   EDCDSAD
+IXC2ST    IXCARM MF=(L,IXCARM2)
+IXC2FE    DS    0H
+IXC2FL    EQU   IXC2FE-IXC2ST
+AUTOSPACE2 EQU *-AUTOSPACE
+*
+********************************************************************
+*  DEREGARM      - deregister element from ARM
+*                  should be called at program termination
+*  USAGE FROM C:
+*        void deregister_arm (
+*               /* must point to a local buffer which has a length */
+*               /* of least 128 bytes */
+*                            char * buffer,
+*                            int * retcode, int * reasoncode)
+*
+********************************************************************
+DEREGARM  CSECT
+DEREGARM  AMODE 31
+DEREGARM  RMODE ANY
+*
+         EDCPRLG                                                       +
+               BASEREG=3,                                              +
+               USRDSAL=AUTOSPACE3
+*
+*
+         USING AUTOSPACE,13
+* make C-auto-storage accessable using DSECT and register 13
+         L     R7,0(0,R1)         GET buffer PTR into R7
+         L     R5,4(0,R1)         GET pointer to retcode variable
+         L     R6,8(0,R1)         GET pointer to reascode variable
+         MVC   0(IXC3FL,R7),IXC3ST     COPY TEMPLATE LIST FORM MACRO
+*         
+         IXCARM REQUEST=DEREGISTER,                                    +
+               RETCODE=0(0,R5),                                        +
+               RSNCODE=0(0,R6),                                        +
+               MF=(E,(R7))
+*
+         EDCEPIL
+*
+*
+AUTOSPACE   EDCDSAD
+IXC3ST    IXCARM MF=(L,IXCARM3)
+IXC3FE    DS    0H
+IXC3FL    EQU   IXC3FE-IXC3ST
+AUTOSPACE3 EQU *-AUTOSPACE
+*
+*
+R0       EQU   0
+R1       EQU   1
+R2       EQU   2
+R3       EQU   3
+R4       EQU   4
+R5       EQU   5
+R6       EQU   6
+R7       EQU   7
+R8       EQU   8
+R9       EQU   9
+R10      EQU   10
+R11      EQU   11
+R12      EQU   12
+R13      EQU   13
+R14      EQU   14
+R15      EQU   15
+*
index 4d3e0c5c67aebddb45790f0b15a6295d483cf1cf..869ea2d4bec1eb2f042ee8d3f3f203065992df00 100644 (file)
@@ -50,9 +50,17 @@ SOURCES = \
     ServerShutdownClient.cpp
 
 
-SOURCES_ZOS = ARM_zOS.cpp AutoRestartMgr_ZOS_ZSERIES_IBM.s
+SOURCES_ZOS = ARM_zOS.cpp
 
 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+  SOURCES_ZOS += AutoRestartMgr_ZOS_ZSERIES_IBM.s
+endif
+
+#ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES64_IBM)
+#  SOURCES_ZOS += AutoRestartMgr_ZOS_ZSERIES64_IBM.s
+#endif
+
+ifeq ($(OS),zos)
    SOURCES += $(SOURCES_ZOS)
 endif
 
index 69e74aade57ead47eaab5f45aeae66ef2a132a53..0e35afc45d65a86785bce499d1b324416deb0cbc 100644 (file)
@@ -45,7 +45,7 @@
 # include <libgen.h>
 #endif
 
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
 # include <sys/ps.h>
 #endif
 
@@ -189,7 +189,7 @@ Boolean ServerRunStatus::kill()
 #if defined(PEGASUS_OS_HPUX) || \
     defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) || \
     defined(PEGASUS_OS_SOLARIS) || \
-    defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || \
+    defined(PEGASUS_OS_ZOS) || \
     defined(PEGASUS_OS_AIX) || defined(PEGASUS_OS_PASE)
 
     ::kill(pid, SIGKILL);
@@ -200,7 +200,7 @@ Boolean ServerRunStatus::kill()
     return true;
 }
 
-# if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+# if defined(PEGASUS_OS_ZOS)
 
 ///////////////////////////////////////////////////////
 // z/OS implementation of _isServerProcess
index a403afc4244e18fc7b9ff9d69ba11d51bcc60ea3..62018532d7696fbe5eb183202204a2d7db82dd4c 100644 (file)
@@ -82,7 +82,7 @@ void ServerShutdownClient::_waitForTerminationOrTimeout(Uint32 maxWaitTime)
         Boolean wasKilled = _serverRunStatus->kill();
 
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) \
-|| defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || defined(PEGASUS_OS_SOLARIS) \
+|| defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_SOLARIS) \
 || defined (PEGASUS_OS_VMS)
         if (wasKilled)
         {
index 824bd2304e1e1cc92e286eaf1c355517460117f3..b534c274174ef13cd9936bd629f10d10ed77a766 100644 (file)
@@ -1,4 +1,4 @@
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
   #ifndef TCP_NODELAY
     #define TCP_NODELAY 1
   #endif
index f97b393f418698625c9a2fefd3c37e4a9f2db1fe..edc1a06357f79841559926a803e40b8803d20a06 100644 (file)
@@ -716,7 +716,7 @@ int CIMServerProcess::cimserver_run(
     }
     
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU) \
-|| defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || defined(PEGASUS_OS_AIX) \
+|| defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_AIX) \
 || defined(PEGASUS_OS_SOLARIS) || defined (PEGASUS_OS_VMS)
     umask(S_IWGRP|S_IWOTH);
 
@@ -836,7 +836,7 @@ int CIMServerProcess::cimserver_run(
 
 #if defined(PEGASUS_OS_HPUX) || \
     defined(PEGASUS_OS_LINUX) || \
-    defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || \
+    defined(PEGASUS_OS_ZOS) || \
     defined(PEGASUS_OS_AIX) || \
     defined(PEGASUS_OS_SOLARIS) || \
     defined(PEGASUS_OS_VMS)
index 1dc54a9a0b4dee8b6fa57b2cdb3668524851aeb0..338bb70fe281143fb175af10b3e0f576c3a183db 100644 (file)
 #include <sys/types.h>
 #include <sys/time.h>
 #include <pthread.h>
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
 # include <semaphore.h>
 #endif
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 # include <netdb.h>
 # include <strings.h>
 #endif
@@ -115,7 +115,7 @@ void  hug_num_to_ascii(uint64 val, char *buf, int32 radix, BOOL is_neg);
 
 typedef int SOCKETD;
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
 # define _LSLP_SLEEP(m) \
   { \
       if (m) \
@@ -155,7 +155,7 @@ typedef int SOCKETD;
 
 /** void *(*start)(void *), ustacksize, void *arg  **/
 
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
 # define _LSLP_STRTOK(n, d, s) strtok_r((n), (d), (s))
 #else
 # define _LSLP_STRTOK(n, d, s) strtok((n), (d) )
index 546eb3c341cb97f85bdd1650ffcc83c9dfa9b41b..8b7b605229fcd72a0c4aad6bc3d8a37599ac5436 100644 (file)
@@ -38,7 +38,7 @@
 # include "lslp-windows.cpp"
 #elif defined(PEGASUS_OS_LINUX)
 # include "lslp-linux.cpp"
-#elif defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || defined(PEGASUS_OS_SOLARIS)
+#elif defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_SOLARIS)
 # include "lslp-linux.cpp"
 #elif defined(PEGASUS_OS_AIX) || defined(PEGASUS_OS_PASE)
 # include "lslp-aix.cpp"
index 087a0ea82d8fdb740a0af4689dc841e464df507f..91d3cf98aecdeab65bcd56eb322322bd8abd6872 100644 (file)
@@ -329,7 +329,7 @@ int Gethostbyname_r(
     }
     return(0);
 }
-#elif defined ( PEGASUS_PLATFORM_ZOS_ZSERIES_IBM )
+#elif defined ( PEGASUS_OS_ZOS )
 int Gethostbyname_r(
     const char *name,
     struct hostent *resultbuf,
@@ -857,7 +857,7 @@ void make_srv_ack(
             local_address = client->_local_addr;
         }
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
         struct slp_if_addr* ptr_addr;
         ptr_addr = client->_local_addr_list[idx];
         while (ptr_addr->af != AF_UNSPEC)
@@ -872,7 +872,7 @@ void make_srv_ack(
                     remote, addr_len);
             }
             _LSLP_CLOSESOCKET(sock);
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
             ptr_addr++;
         } // end of while loop around all local network interfaces
 #endif
@@ -2768,7 +2768,7 @@ void decode_srvreq(struct slp_client *client, SOCKADDR *remote)
                 local_address = client->_local_addr;
             }
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
             struct slp_if_addr *ptr_addr;
             ptr_addr = client->_local_addr_list[idx];
 
@@ -2793,7 +2793,7 @@ void decode_srvreq(struct slp_client *client, SOCKADDR *remote)
                         addr_len);
                 }
                 _LSLP_CLOSESOCKET(sock);
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
                 ptr_addr++;
             } // end of while loop around all local network interfaces
 #endif
@@ -3004,7 +3004,7 @@ BOOL send_rcv_udp(struct slp_client *client, BOOL retry)
                 ((_LSLP_GETFLAGS(client->_msg_buf)) & LSLP_FLAGS_MCAST) ? 1:0;
             if (bcast)
             {
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
                 int ttl = 0;
                 int sockopt = 0;
                 unsigned char my_ttl = 128;
@@ -4259,7 +4259,7 @@ void decode_attrreq(struct slp_client *client, SOCKADDR *remote)
                                     local_address = client->_local_addr;
                                 }
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
                                 struct slp_if_addr* ptr_addr;
                                 ptr_addr = client->_local_addr_list[idx];
                                 while (ptr_addr->af != AF_UNSPEC)
@@ -4280,7 +4280,7 @@ void decode_attrreq(struct slp_client *client, SOCKADDR *remote)
                                     }
                                     _LSLP_CLOSESOCKET(sock);
 
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
                                     ptr_addr++;
                                     // end of while loop around all local
                                     // network interfaces
@@ -5256,7 +5256,7 @@ BOOL lslp_scope_intersection(lslpScopeList *a, lslpScopeList *b)
         {
             b = b->next;
             PEGASUS_ASSERT((a->scope != NULL) && (b->scope != NULL));
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
             if (! strcasecmp(a->scope, b->scope))
             {
 #else
@@ -5637,7 +5637,7 @@ lslpAuthBlock *lslpUnstuffAuthList(char **buf, int16 *len, int16 *err)
                     *len -= 10;
                     if (*len >= (temp->spiLen))
                     {
-#if defined( PEGASUS_PLATFORM_ZOS_ZSERIES_IBM ) || defined(PEGASUS_OS_SOLARIS)
+#if defined( PEGASUS_OS_ZOS ) || defined(PEGASUS_OS_SOLARIS)
                         if (NULL !=
                             (temp->spi =
                             (char*)calloc(temp->spiLen + 1,sizeof(char))))
@@ -5654,7 +5654,7 @@ lslpAuthBlock *lslpUnstuffAuthList(char **buf, int16 *len, int16 *err)
                             if (*len >= (temp->len - (10 + temp->spiLen)))
                             {
                                 if (NULL != (temp->block =
-#if defined( PEGASUS_PLATFORM_ZOS_ZSERIES_IBM ) || defined( PEGASUS_OS_SOLARIS)
+#if defined( PEGASUS_OS_ZOS ) || defined( PEGASUS_OS_SOLARIS)
                                     (char *)calloc(
                                     (temp->len - (10 + temp->spiLen)) + 1,
 #else
index ef701bc9718628067e05e7e16cfe2c33c322975e..dfd493a83abfb5a3bc289bc997ca427d62eb1c67 100644 (file)
@@ -830,7 +830,7 @@ extern "C"
     void free_da_list_node(struct da_list *da);
 
 #if defined(PEGASUS_OS_TYPE_WINDOWS) || \
-    defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) || defined(_NUCLEUS)
+    defined(PEGASUS_OS_ZOS) || defined(_NUCLEUS)
     int gethostbyname_r(
         const char *name,
         struct hostent *resultbuf,