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

  1 karl  1.15 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.2  //
  3 karl  1.10 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.9  // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.10 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.11 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.15 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 mike  1.2  //
 14            // Permission is hereby granted, free of charge, to any person obtaining a copy
 15 kumpf 1.4  // of this software and associated documentation files (the "Software"), to
 16            // deal in the Software without restriction, including without limitation the
 17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18 mike  1.2  // sell copies of the Software, and to permit persons to whom the Software is
 19            // furnished to do so, subject to the following conditions:
 20 karl  1.15 // 
 21 kumpf 1.4  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22 mike  1.2  // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24 kumpf 1.4  // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27 mike  1.2  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29            //
 30            //==============================================================================
 31            //
 32            // Author: Mike Brasher (mbrasher@bmc.com)
 33            //
 34 david.dillard 1.12 // Modified By: David Dillard, Symantec Corp.  (david_dillard@symantec.com)
 35 mike          1.2  //
 36                    //%/////////////////////////////////////////////////////////////////////////////
 37                    
 38                    #ifndef Pegasus_Socket_h
 39                    #define Pegasus_Socket_h
 40                    
 41                    #include <Pegasus/Common/Config.h>
 42 mday          1.6  #include <Pegasus/Common/IPC.h>
 43                    #ifdef PEGASUS_OS_TYPE_WINDOWS
 44                    #include <windows.h>
 45                    # ifndef _WINSOCKAPI_
 46                    #   include <winsock2.h>
 47                    # endif
 48                    #else
 49                    # include <cctype>
 50                    #ifndef PEGASUS_OS_OS400
 51 mday          1.7  //#   include <unistd.h>
 52 mday          1.6  #else
 53                    #   include <Pegasus/Common/OS400ConvertChar.h>
 54                    #   include <unistd.cleinc>
 55                    #endif
 56                    #ifdef PEGASUS_OS_ZOS
 57                    #   include <string.h>  // added by rk for memcpy
 58                    #endif
 59                    # include <cstdlib>
 60                    # include <errno.h>
 61                    # include <fcntl.h>
 62                    # include <netdb.h>
 63                    # include <netinet/in.h>
 64                    # include <arpa/inet.h>
 65                    # include <sys/socket.h>
 66                    #endif
 67 kumpf         1.5  #include <Pegasus/Common/Linkage.h>
 68 mike          1.2  
 69                    PEGASUS_NAMESPACE_BEGIN
 70                    
 71 david.dillard 1.12 #ifndef PEGASUS_SOCKET
 72                    #define PEGASUS_SOCKET int
 73                    #endif
 74                    
 75                    #ifndef PEGASUS_INVALID_SOCKET
 76                    #define PEGASUS_INVALID_SOCKET -1
 77                    #endif
 78                    
 79 kumpf         1.3  class PEGASUS_COMMON_LINKAGE Socket
 80 mike          1.2  {
 81 mday          1.6     public:
 82 mike          1.2  
 83                    
 84 david.dillard 1.12       static Sint32 read(PEGASUS_SOCKET socket, void* ptr, Uint32 size);
 85                    
 86                          static Sint32 write(PEGASUS_SOCKET socket, const void* ptr, Uint32 size);
 87 mike          1.2  
 88 david.dillard 1.12       static void close(PEGASUS_SOCKET socket);
 89 mike          1.2  
 90 david.dillard 1.12       static void enableBlocking(PEGASUS_SOCKET socket);
 91 mike          1.2  
 92 david.dillard 1.12       static void disableBlocking(PEGASUS_SOCKET socket);
 93 mike          1.2  
 94 mday          1.6        static void initializeInterface(void);
 95                          static void uninitializeInterface(void);
 96 david.dillard 1.12 
 97 mike          1.2  
 98 mday          1.6     private:
 99 mike          1.2  
100 mday          1.6        Socket() { }
101                    };
102 mike          1.2  
103                    
104                    
105                    PEGASUS_NAMESPACE_END
106                    
107                    #endif /* Pegasus_Socket_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2