diff options
Diffstat (limited to 'ace/SOCK_Dgram_Bcast.h')
-rw-r--r-- | ace/SOCK_Dgram_Bcast.h | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/ace/SOCK_Dgram_Bcast.h b/ace/SOCK_Dgram_Bcast.h deleted file mode 100644 index de0c80cb9e9..00000000000 --- a/ace/SOCK_Dgram_Bcast.h +++ /dev/null @@ -1,140 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SOCK_Dgram_Bcast.h - * - * $Id$ - * - * @author Doug Schmidt - */ -//============================================================================= - - -#ifndef ACE_SOCK_DGRAM_BCAST_H -#define ACE_SOCK_DGRAM_BCAST_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/SOCK_Dgram.h" -#include "ace/INET_Addr.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class ACE_Bcast_Node - * - * @brief Linked list of broadcast interfaces. - */ -class ACE_Export ACE_Bcast_Node -{ -public: - /// Default constructor. - ACE_Bcast_Node (ACE_INET_Addr &, - ACE_Bcast_Node *); - - /// Destructor. - ~ACE_Bcast_Node (void); - - /// Broadcast address for the interface. - ACE_INET_Addr bcast_addr_; - - /// Pointer to the next interface in the chain. - ACE_Bcast_Node *next_; -}; - -/** - * @class ACE_SOCK_Dgram_Bcast - * - * @brief Defines the member functions for the ACE_SOCK datagram - * abstraction. - */ -class ACE_Export ACE_SOCK_Dgram_Bcast : public ACE_SOCK_Dgram -{ -public: - // = Initialization and termination methods. - /// Default constructor. - ACE_SOCK_Dgram_Bcast (void); - - ACE_SOCK_Dgram_Bcast (const ACE_Addr &local, - int protocol_family = PF_INET, - int protocol = 0, - int reuse_addr = 0, - const ACE_TCHAR *host_name = 0); - - /// Default dtor. - ~ACE_SOCK_Dgram_Bcast (void); - - // Initiate a connectionless datagram broadcast endpoint. - - /// Initiate a connectionless datagram broadcast endpoint. - int open (const ACE_Addr &local, - int protocol_family = PF_INET, - int protocol = 0, - int reuse_addr = 0, - const ACE_TCHAR *host_name = 0); - - /// Close up and release dynamically allocated resources. - int close (void); - - /// Broadcast the datagram to every interface. Returns the average - /// number of bytes sent. - ssize_t send (const void *buf, - size_t n, - u_short portnum, - int flags = 0) const; - - /// Broadcast the <iovec> datagrams to every interface. Returns the - /// average number of bytes sent. - ssize_t send (const iovec iov[], - int n, - u_short portnum, - int flags = 0) const; - - /// Broadcast an N byte datagram to ADDR (note that addr must be - /// preassigned to the broadcast address of the subnet...). - ssize_t send (const void *buf, - size_t n, - const ACE_Addr &addr, - int flags = 0) const; - - /** - * Broadcast an @a iovec of size @a n to @a addr as a datagram (note - * that addr must be preassigned to the broadcast address of the - * subnet...) - */ - ssize_t send (const iovec iov[], - int n, - const ACE_Addr &addr, - int flags = 0) const; - - /// Dump the state of an object. - void dump (void) const; - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -private: - /// Make broadcast available for Datagram socket. - int mk_broadcast (const ACE_TCHAR *host_name); - - /// Points to the head of the list of broadcast interfaces. - ACE_Bcast_Node *if_list_; - - /// Do not allow this function to percolate up to this interface... - int get_remote_addr (ACE_Addr &) const; -}; - -ACE_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "ace/SOCK_Dgram_Bcast.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* ACE_SOCK_DGRAM_BCAST_H */ |