diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-17 03:22:08 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-17 03:22:08 +0000 |
commit | b0ea70644783428954166da5eac87ee6e2d3935e (patch) | |
tree | 0238291afd086b7903aa4cd2b8c1fadeeb266596 /ace/SOCK_Dgram_Mcast.h | |
parent | e58ec4a7f71dfb4d7d9c7bc813eb7ae95d7c0855 (diff) | |
download | ATCD-b0ea70644783428954166da5eac87ee6e2d3935e.tar.gz |
ChangeLogTag:Wed Sep 16 22:17:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'ace/SOCK_Dgram_Mcast.h')
-rw-r--r-- | ace/SOCK_Dgram_Mcast.h | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/ace/SOCK_Dgram_Mcast.h b/ace/SOCK_Dgram_Mcast.h index c2d68ef5976..c2f132d6eea 100644 --- a/ace/SOCK_Dgram_Mcast.h +++ b/ace/SOCK_Dgram_Mcast.h @@ -61,6 +61,22 @@ public: // subscribe uses the default mcast interface. // Returns: -1 on error, else 0. + int unsubscribe (const ACE_INET_Addr &mcast_addr, +#if defined (ACE_PSOS) + // pSOS supports numbers, not names for network interfaces + long net_if = 0, +#else + const ASYS_TCHAR *net_if = 0, +#endif /* defined (ACE_PSOS) */ + int protocol_family = PF_INET, + int protocol = 0); + // Leave a multicast group. + // + // Interface is hardware specific. use netstat -i to find whether + // your interface is, say, le0 or something else. If net_if == 0, + // subscribe uses the default mcast interface. + // Returns: -1 on error, else 0. + int unsubscribe (void); // Unsubscribe from a multicast group. Returns 0 on success, -1 on // failure. @@ -69,7 +85,9 @@ public: ssize_t send (const void *buf, size_t n, int flags = 0) const; // Send <n> bytes in <buf>. - ssize_t send (const iovec iov[], size_t n, int flags = 0) const; + ssize_t send (const ACE_IO_Vector_Base iov[], + size_t n, + int flags = 0) const; // Send <n> <iovecs>. // = Options. @@ -97,7 +115,7 @@ private: size_t n, const ACE_Addr &addr, int flags = 0) const; - ssize_t send (const iovec iov[], + ssize_t send (const ACE_IO_Vector_Base iov[], size_t n, const ACE_Addr &addr, int flags = 0) const; @@ -111,12 +129,24 @@ private: const ASYS_TCHAR *net_if = ASYS_TEXT ("le0") #endif /* defined (ACE_PSOS) */ ); + // Initialize the <multicast_addres_ field> + + int make_multicast_address_i (const ACE_INET_Addr &mcast_addr, + ip_mreq& multicast_address, +#if defined (ACE_PSOS) + // pSOS supports numbers, not + // names for network interfaces + long net_if = 0 +#else + const ASYS_TCHAR *net_if = ASYS_TEXT ("le0") +#endif /* defined (ACE_PSOS) */ + ); // Initialize a multicast address. ACE_INET_Addr mcast_addr_; // Multicast group address. - struct ip_mreq multicast_address_; + ip_mreq multicast_address_; // IP address. }; |