(file) Return to System.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/System.h between version 1.33 and 1.50

version 1.33, 2003/08/04 13:30:39 version 1.50, 2005/02/06 21:13:14
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2005////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // 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.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 27 
Line 33 
 //     Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com) //     Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 // //
 // Modified By: Dave Rosckes (rosckes@us.ibm.com) // Modified By: Dave Rosckes (rosckes@us.ibm.com)
   //              Robert Kieninger, IBM (kieningr@de.ibm.com) for Bug#667
   //              David Dillard, VERITAS Software Corp.
   //                  (david.dillard@veritas.com)
   //              Sean Keenan, Hewlett-Packard Company (sean.keenan@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 37 
Line 47 
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
 #include <Pegasus/Common/Linkage.h> #include <Pegasus/Common/Linkage.h>
 #include <Pegasus/Common/Logger.h> #include <Pegasus/Common/Logger.h>
   #include <sys/stat.h>
   
   
   #if defined(PEGASUS_OS_TYPE_WINDOWS)
   #ifndef mode_t
   typedef unsigned long mode_t;
   #endif
   #endif
   
  
 // //
 // Protocal Type // Protocal Type
Line 46 
Line 65 
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
  
   #if defined(PEGASUS_OS_VMS)
       //
       // Needed to save filename. We do NOT use dlopen and dlsym.
       // VMS implementation uses OS specific code for these functions.
       //
       static String saveFileName;
   #endif
   
 /** This is an opaque type which is used to represent dynamic library /** This is an opaque type which is used to represent dynamic library
     handles returned by the System::loadDynamicLibrary() method and     handles returned by the System::loadDynamicLibrary() method and
     accepted by the System::loadDynamicProcedure() method.     accepted by the System::loadDynamicProcedure() method.
Line 55 
Line 82 
 /** This is an opaque type which is returned by System::loadDynamicSymbol(). /** This is an opaque type which is returned by System::loadDynamicSymbol().
     Values of this type may be casted to the appropriate target type.     Values of this type may be casted to the appropriate target type.
 */ */
 #if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM)  #if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM) && !defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 typedef struct DynamicSymbolHandle_* DynamicSymbolHandle; typedef struct DynamicSymbolHandle_* DynamicSymbolHandle;
 #else #else
 extern "C" {typedef int (* DynamicSymbolHandle)(void);} extern "C" {typedef int (* DynamicSymbolHandle)(void);}
Line 128 
Line 155 
         DynamicLibraryHandle libraryHandle,         DynamicLibraryHandle libraryHandle,
         const char* symbolName);         const char* symbolName);
  
   #if defined(PEGASUS_OS_VMS)
       static DynamicSymbolHandle loadVmsDynamicSymbol(
           const char* symbolName,
           const char* fileName,
           const char *vmsProviderDir);
   #endif
   
     static String getHostName();     static String getHostName();
     static String getFullyQualifiedHostName ();     static String getFullyQualifiedHostName ();
     static String getSystemCreationClassName ();     static String getSystemCreationClassName ();
       static String getHostIP(const String &hostName);
   
       static Uint32 _acquireIP(const char* hostname);
  
     static Uint32 lookupPort(     static Uint32 lookupPort(
         const char * serviceName,         const char * serviceName,
Line 176 
Line 213 
     @param userName     User name to be checked.     @param userName     User name to be checked.
     @return             true if the user is a privileged user, else false     @return             true if the user is a privileged user, else false
     */     */
     static Boolean isPrivilegedUser(const String userName);      static Boolean isPrivilegedUser(const String& userName);
  
     /**     /**
     This function returns the privileged user name on the system.     This function returns the privileged user name on the system.
Line 186 
Line 223 
     static String getPrivilegedUserName();     static String getPrivilegedUserName();
  
     /**     /**
       This function is used to verify whether the specified user is a member
       of the specified user group.
   
       @param userName     User name to be verified.
   
       @param groupName    User group name.
   
       @return             true if the user is a member of the user group,
                           false otherwise.
   
       @throw              InternalSystemError - If there is an error
                           accessing the specified user or group information.
       */
       static Boolean isGroupMember(const char* userName, const char* groupName);
   
       /**
       Changes the process user context to the specified user.
   
       @param userName     User name to set as the process user context.
   
       @return             True if the user context is successfully changed,
                           false otherwise.
       */
       static Boolean changeUserContext(const char* userName);
   
       /**
     This function is used to get the process ID of the calling process.     This function is used to get the process ID of the calling process.
  
     @return             Process ID     @return             Process ID
Line 220 
Line 283 
     // Is absolute path?     // Is absolute path?
     static Boolean is_absolute_path(const char *path);     static Boolean is_absolute_path(const char *path);
  
 #if defined(PEGASUS_OS_HPUX)      /** Changes file permissions on the given file.
           @param path path of the file.
           @param mode the bit-wise inclusive OR of the values for the desired
           permissions.
           @return true on success, false on error and errno is set appropriately.
       */
       static Boolean changeFilePermissions(const char* path, mode_t mode);
   
       /** Checks whether the specified file is owned by the effective user for
           the current process.
           @param path Path of the file to check.
           @return True if the file is owned by the effective user for the
           current process, false otherwise.
       */
       static Boolean verifyFileOwnership(const char* path);
   
       /**
           Flag indicating whether shared libraries are loaded with the
           BIND_VERBOSE option.
   
           THIS FLAG IS USED ON HP-UX ONLY.
        */
     static Boolean bindVerbose;     static Boolean bindVerbose;
 #endif  
  
     /** This function is an abstraction for the openlog interface used in the Logger     /** This function is an abstraction for the openlog interface used in the Logger
         class.  Each platform intending to use system logs should support this interface         class.  Each platform intending to use system logs should support this interface
Line 241 
Line 324 
  
     // System ID constants for Logger::put and Logger::trace     // System ID constants for Logger::put and Logger::trace
     static const String CIMSERVER;     static const String CIMSERVER;
   
       // System ID constants for Logger::put and Logger::trace
       static const String CIMLISTENER;
   
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.33  
changed lines
  Added in v.1.50

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2