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
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)
--- /dev/null
+#//%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
+
+
#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
LIB_SUFFIX = .so
+DYNLIB_SUFFIX = .x
+
PEGASUS_SUPPORTS_DYNLIB = yes
PEGASUS_HAS_MAKEDEPEND = 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
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)
poststarttests1: FORCE
@$(RM) $(RESULTFILE)
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
@$(RM) ./emptyfile
@touch $(RESULTFILE)
@touch ./emptyfile
//==============================================================================
//
-// 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
PEGASUS_NAMESPACE_END
-#endif /* PEGASUS_PLATFORM_ZOS_ZSERIES_IBM */
+#endif /* PEGASUS_OS_ZOS */
//==============================================================================
//
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);
recordHeader->SMF86STO=sizeof(_smf86_header)+
sizeof(_smf86_product);
recordHeader->SMF86STN=1; // one subtype section
-
}
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,
# 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)
# 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
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
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);
//
#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)
{
_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())
{
}
else
{
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
// Add SSL verification information to the authentication information
if (_socket->isSecure())
{
endif
endif
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
ifdef PEGASUS_ZOS_SECURITY
SOURCES += $(SOURCES_SECURITY_ZOS)
endif
#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)
# 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
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;
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.
--- /dev/null
+//%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 */
#define PEGASUS_OS_TYPE_UNIX
-#define PEGASUS_OS_ZOS
+#define PEGASUS_OS_ZOS 1
#define PEGASUS_ARCHITECTURE_ZSERIES
//
//==============================================================================
-#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) || \
//
//%/////////////////////////////////////////////////////////////////////////////
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
#include <Pegasus/Common/Config.h>
-#endif
#include <fstream>
#include <cctype> // for tolower()
//
//%/////////////////////////////////////////////////////////////////////////////
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
# define _OPEN_SYS_EXT
# include <sys/ps.h>
# include <sys/__messag.h>
#endif
#if !defined(PEGASUS_OS_VMS) && \
- !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && \
+ !defined(PEGASUS_OS_ZOS) && \
!defined(PEGASUS_OS_DARWIN)
# include <crypt.h>
#endif
void Thread::thread_switch()
{
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
pthread_yield(NULL);
#else
sched_yield();
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
if (type == DETACHED)
{
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
int ds = 1;
pthread_attr_setdetachstate(&attr, &ds);
#else
{
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]);
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;
//
//%/////////////////////////////////////////////////////////////////////////////
-#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>
// 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>
{
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);
// 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,
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
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
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
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
#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
#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
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);
{
}
#endif // end of #if defined(PEGASUS_USE_RELEASE_DIRS) &&
- // defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+ // defined(PEGASUS_OS_ZOS)
}
else
{
#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",
#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
{
#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",
{"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}
{"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
//
//%/////////////////////////////////////////////////////////////////////////////
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#if defined(PEGASUS_OS_ZOS)
#define _XOPEN_SOURCE_EXTENDED 1
#endif
PEGASUS_USING_STD;
//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)
}
#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);
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)
//
tests:
poststarttests:
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
@chtag -tc IBM-1047 masterOutput
endif
@$(PROGRAM)
# 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
#endif
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
# define atoll(X) strtoll(X, NULL, 10)
#endif
#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>
# include <winsock2.h>
# include <sys/types.h>
#else
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
# include <error.h>
# endif
#endif
else
{
count -= bytes;
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
buf += bytes;
#else
buf = (void*) ((long) buf + (long) bytes);
else
{
count -= bytes;
-#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifndef PEGASUS_OS_ZOS
buf += bytes;
#else
buf = (void*) ((long) buf + (long) bytes);
#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>
struct hostent *hptr;
int herr=0,rc=0;
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
extern int h_errno;
#endif
#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);
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);
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
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)
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
}
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)
{
}
tzset ();
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
sprintf (
us_utc_time,
"%6.6ld%+4.3ld",
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
#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
# include <Windows.h>
#else
# include <dlfcn.h>
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
# include <error.h>
# endif
#endif
# 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>
#include <errno.h>
#ifdef PEGASUS_OS_TYPE_UNIX
-# ifndef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+# ifndef PEGASUS_OS_ZOS
# include <error.h>
# endif
#endif
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
#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>
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);
if (String::equalNoCase(
configManager->getCurrentValue("enableCFZAPPLID"),"true"))
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
# if (__TARGET_LIB__ < 0x410A0000)
+#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
{
//
}
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";
"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();
#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
// 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
QuerySupportRouter.cpp \
WQLOperationRequestDispatcher.cpp
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
SOURCES += \
ConsoleManager_zOS.cpp
endif
%.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 .
include $(ROOT)/mak/config.mak
-ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
+ifeq ($(OS),zos)
CXX = cc
FLAGS += -W"c,SSCOMM"
endif
#include <string.h>
#include <ctype.h>
#include <stdarg.h>
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
#include <pthread.h>
#endif
#include <string.h>
#include <ctype.h>
#include <stdarg.h>
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
#include <pthread.h>
#endif
#include <Pegasus/Consumer/CIMIndicationConsumer.h>
#include <Pegasus/Listener/CIMListener.h>
+
PEGASUS_USING_PEGASUS;
PEGASUS_USING_STD;
currentServerResidentIndicationCount);
if (expectedSenderIdentity != String::EMPTY)
{
- assert(indicationSendCountTotal ==
+ PEGASUS_TEST_ASSERT(indicationSendCountTotal ==
currentServerResidentIdentityIndicationCount);
}
}
//
// 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
#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
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)
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();
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.
// 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.
#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"
// the element name
int rc;
+#ifndef PEGASUS_PLATFORM_ZOS_ZSERIES64_IBM
rc = __osname(&uts);
if(rc < 0)
{
// 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);
ARM_zOS_Status = NOT_REGISTERED;
}
-
+#endif
return;
}
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)
{
}
ARM_zOS_Status = NOT_REGISTERED;
}// End if
+#endif
}
PEGASUS_NAMESPACE_END
--- /dev/null
+//%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 */
--- /dev/null
+*/%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
+*
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
# include <libgen.h>
#endif
-#if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+#if defined(PEGASUS_OS_ZOS)
# include <sys/ps.h>
#endif
#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);
return true;
}
-# if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
+# if defined(PEGASUS_OS_ZOS)
///////////////////////////////////////////////////////
// z/OS implementation of _isServerProcess
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)
{
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
#ifndef TCP_NODELAY
#define TCP_NODELAY 1
#endif
}
#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);
#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)
#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
typedef int SOCKETD;
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
# define _LSLP_SLEEP(m) \
{ \
if (m) \
/** 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) )
# 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"
}
return(0);
}
-#elif defined ( PEGASUS_PLATFORM_ZOS_ZSERIES_IBM )
+#elif defined ( PEGASUS_OS_ZOS )
int Gethostbyname_r(
const char *name,
struct hostent *resultbuf,
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)
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
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];
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
((_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;
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)
}
_LSLP_CLOSESOCKET(sock);
-#ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM
+#ifdef PEGASUS_OS_ZOS
ptr_addr++;
// end of while loop around all local
// network interfaces
{
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
*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))))
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
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,