(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            //%/////////////////////////////////////////////////////////////////////////////
33            
34            #ifndef Pegasus_Socket_h
35            #define Pegasus_Socket_h
36            
37 mike  1.17 #include <cctype>
38 mike  1.18 #include <Pegasus/Common/Network.h>
39 mike  1.2  #include <Pegasus/Common/Config.h>
40 mike  1.17 #include <Pegasus/Common/Linkage.h>
41            
42 mday  1.6  #ifdef PEGASUS_OS_ZOS
43            #   include <string.h>  // added by rk for memcpy
44            #endif
45 mike  1.2  
46            PEGASUS_NAMESPACE_BEGIN
47            
48 mike  1.16 class Socket
49 mike  1.2  {
50 mike  1.17 public:
51 mike  1.2  
52 kumpf 1.23.8.1     /**
53                        Connects the specified socket to the specified address.  If the socket
54                        is non-blocking, the connect attempt will time out after the specified
55                        interval.
56                
57                        @param socket The socket to connect.
58                        @param address The address to which to connect the socket
59                        @param addressLength The length of the sockaddr buffer in which the
60                            address is specified.
61                        @param timeoutMilliseconds The number of milliseconds after which the
62                            connect attempt should time out, if the socket is non-blocking.
63                        @return True if the connect attempt is successful, false otherwise.
64                    */
65                    static Boolean timedConnect(
66                        SocketHandle socket,
67                        sockaddr* address,
68                        int addressLength,
69                        Uint32 timeoutMilliseconds);
70                
71 mike  1.17         static Sint32 read(SocketHandle socket, void* ptr, Uint32 size);
72 david.dillard 1.12     
73 mike          1.17         static Sint32 write(SocketHandle socket, const void* ptr, Uint32 size);
74 mike          1.2      
75 marek         1.19         static Sint32 timedWrite(SocketHandle socket,
76                                                     const void* ptr,
77                                                     Uint32 size,
78                                                     Uint32 socketWriteTimeout);
79                        
80 mike          1.17         static void close(SocketHandle socket);
81 mike          1.2      
82 mike          1.17         static void disableBlocking(SocketHandle socket);
83 mike          1.2      
84 mike          1.17         static void initializeInterface();
85 david.dillard 1.12     
86 mike          1.17         static void uninitializeInterface();
87 mike          1.2      
88 thilo.boehm   1.21         static SocketHandle createSocket(int domain, int type, int protocol);
89                        
90 mike          1.17     private:
91                            Socket();
92 mday          1.6      };
93 mike          1.2      
94                        PEGASUS_NAMESPACE_END
95                        
96                        #endif /* Pegasus_Socket_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2