/usr/include/sipxtapi/os/OsConnectionSocket.h is in libsipxtapi-dev 3.3.0~test17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | //
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////
#ifndef _OsConnectionSocket_h_
#define _OsConnectionSocket_h_
// SYSTEM INCLUDES
//#include <...>
// APPLICATION INCLUDES
#include <os/OsSocket.h>
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class UtlSList;
//: Implements TCP version of OsSocket
// This class provides the implementation of the TCP datagram
// based socket class which may be instantiated.
class OsConnectionSocket : public OsSocket
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
OsConnectionSocket(int remoteHostPort,
const char* remoteHostName,
UtlBoolean makeBlocking = TRUE,
const char* localIp = NULL,
const bool bConnect = true);
OsConnectionSocket(int connectedSocketDescriptor);
OsConnectionSocket(const char* localIp,
int connectedSocketDescriptor);
virtual
~OsConnectionSocket();
//:Destructor
/* ============================ MANIPULATORS ============================== */
virtual int connect();
//: Sets up the initial connection with the server
virtual UtlBoolean reconnect();
//: Sets up the connection again, assuming the connection failed
virtual int read(char* buffer, int bufferLength);
//:Blocking read from the socket
// Read bytes into the buffer from the socket up to a maximum of
// bufferLength bytes. This method will block until there is
// something to read from the socket.
//!param: buffer - Place to put bytes read from the socket.
//!param: bufferLength - The maximum number of bytes buffer will hold.
//!returns: The number of bytes actually read.
virtual int read(char* buffer, int bufferLength,
UtlString* ipAddress, int* port);
//:Blocking read from the socket
// Read bytes into the buffer from the socket up to a maximum of
// bufferLength bytes. This method will block until there is
// something to read from the socket.
//!param: buffer - Place to put bytes read from the socket.
//!param: bufferLength - The maximum number of bytes buffer will hold.
//!param: ipAddress - The address of the socket that sent the bytes read.
//!param: port - The port of the socket that sent the bytes read.
//!returns: The number of bytes actually read.
virtual int read(char* buffer, int bufferLength, long waitMilliseconds);
//: Non-blocking or limited blocking read from socket
// Same as blocking version except that this read will block
// for no more than the specified length of time.
//!param: waitMilliseconds - The maximum number of milliseconds to block. This may be set to zero in which case it does not block.
/* ============================ ACCESSORS ================================= */
virtual OsSocket::IpProtocolSocketType getIpProtocol() const;
//: Returns the protocol type of this socket
/* ============================ INQUIRY =================================== */
/// Is this connection encrypted using TLS/SSL?
virtual bool isEncrypted() const;
/// Get any authenticated peer host names.
virtual bool peerIdentity( UtlSList* altNames = NULL /**< UtlStrings for verfied subjectAltNames
* are added to this
* @note caller must free them.
*/
,UtlString* commonName = NULL ///< the Subject name is returned here
) const;
/**<
* Usually, the names in the altNames will be easier to parse and use than commonName
* Either or both of altNames or commonName may be NULL, in which case no names are returned;
* the return value still indicates the trust relationship with the peer certificate.
* @returns
* - true if the connection is TLS/SSL and the peer has presented
* a certificate signed by a trusted certificate authority
* - false if not
*/
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
bool initialize(const char* serverName, int serverPort, UtlBoolean blockingConnect);
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
struct sockaddr_in serverSockAddr;
OsConnectionSocket(const OsConnectionSocket& rOsConnectionSocket);
//:Disable copy constructor
OsConnectionSocket();
//:Disable default constructor
OsConnectionSocket& operator=(const OsConnectionSocket& rhs);
//:Assignment operator
};
/* ============================ INLINE METHODS ============================ */
#endif // _OsConnectionSocket_h_
|