/usr/include/ace/SOCK.h is in libace-dev 6.0.3+dfsg-0.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 | /* -*- C++ -*- */
//=============================================================================
/**
* @file SOCK.h
*
* $Id: SOCK.h 91626 2010-09-07 10:59:20Z johnnyw $
*
* @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
*/
//=============================================================================
#ifndef ACE_SOCK_H
#define ACE_SOCK_H
#include /**/ "ace/pre.h"
#include /**/ "ace/ACE_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/Addr.h"
#include "ace/IPC_SAP.h"
#include "ace/OS_NS_stropts.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
/**
* @class ACE_SOCK
*
* @brief An abstract class that forms the basis for more specific
* classes, such as ACE_SOCK_Acceptor and ACE_SOCK_Stream.
* Do not instantiate this class.
*
* This class provides functions that are common to all of the
* <ACE_SOCK_*> classes. ACE_SOCK provides the ability to get
* and set socket options, get the local and remote addresses,
* and open and close a socket handle.
*/
class ACE_Export ACE_SOCK : public ACE_IPC_SAP
{
public:
/// Wrapper around the @c setsockopt system call.
int set_option (int level,
int option,
void *optval,
int optlen) const;
/// Wrapper around the @c getsockopt system call.
int get_option (int level,
int option,
void *optval,
int *optlen) const;
/**
* Close the socket.
* This method also sets the object's handle value to ACE_INVALID_HANDLE.
*
* @return The result of closing the socket; 0 if the handle value
* was already ACE_INVALID_HANDLE.
*/
int close (void);
/// Return the local endpoint address in the referenced ACE_Addr.
/// Returns 0 if successful, else -1.
int get_local_addr (ACE_Addr &) const;
/**
* Return the address of the remotely connected peer (if there is
* one), in the referenced ACE_Addr. Returns 0 if successful, else
* -1.
*/
int get_remote_addr (ACE_Addr &) const;
/// Dump the state of an object.
void dump (void) const;
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
/// Wrapper around the BSD-style @c socket system call (no QoS).
int open (int type,
int protocol_family,
int protocol,
int reuse_addr);
/// Wrapper around the QoS-enabled @c WSASocket function.
int open (int type,
int protocol_family,
int protocol,
ACE_Protocol_Info *protocolinfo,
ACE_SOCK_GROUP g,
u_long flags,
int reuse_addr);
protected:
/// Constructor with arguments to call the BSD-style @c socket system
/// call (no QoS).
ACE_SOCK (int type,
int protocol_family,
int protocol = 0,
int reuse_addr = 0);
/// Constructor with arguments to call the QoS-enabled @c WSASocket
/// function.
ACE_SOCK (int type,
int protocol_family,
int protocol,
ACE_Protocol_Info *protocolinfo,
ACE_SOCK_GROUP g,
u_long flags,
int reuse_addr);
/// Default constructor is protected to prevent instances of this class
/// from being defined.
ACE_SOCK (void);
/// Protected destructor.
/**
* Not a virtual destructor. Protected destructor to prevent
* operator delete() from being called through a base class ACE_SOCK
* pointer/reference.
*/
~ACE_SOCK (void);
};
ACE_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)
#include "ace/SOCK.inl"
#endif /* __ACE_INLINE__ */
#include /**/ "ace/post.h"
#endif /* ACE_SOCK_H */
|