## NAME

ACE_SOCK_Dgram_Bcast - Defines the member functions for the ACE_SOCK datagram abstraction.

## SYNOPSIS

    #include <ace/SOCK_Dgram_Bcast.h>

    class ACE_SOCK_Dgram_Bcast : public ACE_SOCK_Dgram
    {
      public:
        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 ASYS_TCHAR *host_name = 0
            );
        ~ACE_SOCK_Dgram_Bcast (void);
        int open (
            const ACE_Addr &local,
            int protocol_family = PF_INET,
            int protocol = 0,
            int reuse_addr = 0,
            const ASYS_TCHAR *host_name = 0
            );
        int close (void);
        ssize_t send (
            const void *buf,
            size_t n,
            u_short portnum,
            int flags = 0
            ) const;
        ssize_t send (
            const iovec iov[],
            size_t n,
            u_short portnum,
            int flags = 0
            ) const;
        ssize_t send (
            const void *buf,
            size_t n,
            const ACE_Addr &addr,
            int flags = 0
            ) const;
        ssize_t send (
            const iovec iov[],
            size_t n,
            const ACE_Addr &addr,
            int flags = 0
            ) const;
        void dump (void) const;
        ACE_ALLOC_HOOK_DECLARE;
      private:
        int mk_broadcast (const ASYS_TCHAR *host_name);
        ACE_Bcast_Node *if_list_;
        int get_remote_addr (ACE_Addr &) const;
    };

## Initialization and termination methods.

    ACE_SOCK_Dgram_Bcast (void);

Default constructor.

    ACE_SOCK_Dgram_Bcast (
        const ACE_Addr &local,
        int protocol_family = PF_INET,
        int protocol = 0,
        int reuse_addr = 0,
        const ASYS_TCHAR *host_name = 0
        );

    ~ACE_SOCK_Dgram_Bcast (void);

Default dtor.

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 ASYS_TCHAR *host_name = 0
        );

Initiate a connectionless datagram broadcast endpoint.

    int close (void);

Close up and release dynamically allocated resources.

    ssize_t send (
        const void *buf,
        size_t n,
        u_short portnum,
        int flags = 0
        ) const;

Broadcast the datagram to every interface. Returns the average number of bytes sent.

    ssize_t send (
        const iovec iov[],
        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 void *buf,
        size_t n,
        const ACE_Addr &addr,
        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 iovec iov[],
        size_t n,
        const ACE_Addr &addr,
        int flags = 0
        ) const;

Broadcast an `iovec` of size `n` to `addr` as a datagram (note that addr must be preassigned to the broadcast address of the subnet...) */

    void dump (void) const;

Dump the state of an object.

    ACE_ALLOC_HOOK_DECLARE;

Declare the dynamic allocation hooks.

## AUTHOR

Doug Schmidt

## LIBRARY

ace