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

Diff for /pegasus/src/Pegasus/Common/Socket.h between version 1.10 and 1.23.8.1

version 1.10, 2004/10/17 20:39:17 version 1.23.8.1, 2008/01/02 21:00:39
Line 1 
Line 1 
 //%2004////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
Line 6 
Line 6 
 // IBM Corp.; EMC Corporation, The Open Group. // IBM Corp.; EMC Corporation, The Open Group.
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. // 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 // 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 25 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  
 //  
 // Modified By:  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #ifndef Pegasus_Socket_h #ifndef Pegasus_Socket_h
 #define Pegasus_Socket_h #define Pegasus_Socket_h
  
 #include <Pegasus/Common/Config.h>  
 #include <Pegasus/Common/IPC.h>  
 #ifdef PEGASUS_OS_TYPE_WINDOWS  
 #include <windows.h>  
 # ifndef _WINSOCKAPI_  
 #   include <winsock2.h>  
 # endif  
 #else  
 # include <cctype> # include <cctype>
 #ifndef PEGASUS_OS_OS400  #include <Pegasus/Common/Network.h>
 //#   include <unistd.h>  #include <Pegasus/Common/Config.h>
 #else  
 #   include <Pegasus/Common/OS400ConvertChar.h>  
 #   include <unistd.cleinc>  
 #endif  
 #ifdef PEGASUS_OS_ZOS  
 #   include <string.h>  // added by rk for memcpy  
 #endif  
 # include <cstdlib>  
 # include <errno.h>  
 # include <fcntl.h>  
 # include <netdb.h>  
 # include <netinet/in.h>  
 # include <arpa/inet.h>  
 # include <sys/socket.h>  
 #endif  
 #include <Pegasus/Common/Linkage.h> #include <Pegasus/Common/Linkage.h>
   
 #ifdef PEGASUS_OS_ZOS #ifdef PEGASUS_OS_ZOS
 #   include <Pegasus/Common/SocketzOS_inline.h>  #   include <string.h>  // added by rk for memcpy
 #endif #endif
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 class PEGASUS_COMMON_LINKAGE Socket  class Socket
 { {
    public:    public:
  
       /**
           Connects the specified socket to the specified address.  If the socket
           is non-blocking, the connect attempt will time out after the specified
           interval.
   
           @param socket The socket to connect.
           @param address The address to which to connect the socket
           @param addressLength The length of the sockaddr buffer in which the
               address is specified.
           @param timeoutMilliseconds The number of milliseconds after which the
               connect attempt should time out, if the socket is non-blocking.
           @return True if the connect attempt is successful, false otherwise.
       */
       static Boolean timedConnect(
           SocketHandle socket,
           sockaddr* address,
           int addressLength,
           Uint32 timeoutMilliseconds);
   
       static Sint32 read(SocketHandle socket, void* ptr, Uint32 size);
   
       static Sint32 write(SocketHandle socket, const void* ptr, Uint32 size);
   
       static Sint32 timedWrite(SocketHandle socket,
                                const void* ptr,
                                Uint32 size,
                                Uint32 socketWriteTimeout);
   
       static void close(SocketHandle socket);
  
       static Sint32 read(Sint32 socket, void* ptr, Uint32 size);      static void disableBlocking(SocketHandle socket);
   
       static Sint32 write(Sint32 socket, const void* ptr, Uint32 size);  
   
       static void close(Sint32 socket);  
       static int close2(Sint32 socket);  
  
       static void enableBlocking(Sint32 socket);      static void initializeInterface();
       static int  enableBlocking2(Sint32 socket);  
  
       static void disableBlocking(Sint32 socket);      static void uninitializeInterface();
       static int disableBlocking2(Sint32 socket);  
   
       static void initializeInterface(void);  
       static void uninitializeInterface(void);  
  
       static SocketHandle createSocket(int domain, int type, int protocol);
  
    private:    private:
       Socket();
       Socket() { }  
 }; };
  
   
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
 #endif /* Pegasus_Socket_h */ #endif /* Pegasus_Socket_h */


Legend:
Removed from v.1.10  
changed lines
  Added in v.1.23.8.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2