3 // $Id: ATM_Stream.inl 80826 2008-03-04 14:51:23Z wotte $
5 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
8 ACE_ATM_Stream::dump (void) const
10 #if defined (ACE_HAS_DUMP)
11 ACE_TRACE ("ACE_ATM_Stream::dump");
12 #endif /* ACE_HAS_DUMP */
16 ACE_ATM_Stream::ACE_ATM_Stream (void)
18 ACE_TRACE ("ACE_ATM_Stream::ACE_ATM_Stream");
23 ACE_ATM_Stream::open (ACE_ATM_Params params)
25 ACE_TRACE ("ACE_ATM_Stream::open");
26 #if defined (ACE_HAS_FORE_ATM_XTI)
27 ACE_HANDLE handle = stream_.open (params.get_device(),
30 return (handle == ACE_INVALID_HANDLE ? -1 : 0);
31 #elif defined (ACE_HAS_FORE_ATM_WS2)
32 params.set_flags( ACE_FLAG_MULTIPOINT_C_ROOT | ACE_FLAG_MULTIPOINT_D_ROOT );
34 int retval = stream_.open (params.get_type(),
35 params.get_protocol_family(),
36 params.get_protocol(),
37 params.get_protocol_info(),
38 params.get_sock_group(),
40 params.get_reuse_addr());
44 struct sockaddr_atm sock_addr;
46 ACE_OS::memset(&sock_addr, 0, sizeof(struct sockaddr_atm));
47 sock_addr.satm_family = AF_ATM;
48 sock_addr.satm_number.AddressType=ADDR_ANY;
49 sock_addr.satm_number.NumofDigits = ATM_ADDR_SIZE;
50 sock_addr.satm_blli.Layer2Protocol = SAP_FIELD_ABSENT;
51 sock_addr.satm_blli.Layer3Protocol = SAP_FIELD_ABSENT;
52 sock_addr.satm_bhli.HighLayerInfoType = SAP_FIELD_ABSENT;
53 if (ACE_OS::bind(get_handle(),
54 (struct sockaddr FAR *)&sock_addr,
55 sizeof(struct sockaddr_atm)) < 0)
57 ACE_OS::printf("Error binding local address: %d",WSAGetLastError());
63 ACE_UNUSED_ARG(params);
65 #endif /* ACE_HAS_FORE_ATM_XTI */
70 ACE_ATM_Stream::close (void)
72 ACE_TRACE ("ACE_ATM_Stream::close");
73 #if defined (ACE_HAS_FORE_ATM_XTI) || defined (ACE_HAS_FORE_ATM_WS2)
74 return stream_.close ();
77 #endif /* ACE_HAS_FORE_ATM_XTI || ACE_HAS_FORE_ATM_WS2 */
82 ACE_ATM_Stream::get_stream (void)
84 ACE_TRACE ("ACE_ATM_Stream::get_stream");
90 ACE_ATM_Stream::recv (void *buf,
94 ACE_TRACE ("ACE_ATM_Stream::recv");
95 #if defined (ACE_HAS_FORE_ATM_XTI)
96 return stream_.recv (buf,
99 #elif defined (ACE_HAS_FORE_ATM_WS2)
100 return stream_.recv (buf,
105 ACE_UNUSED_ARG(flags);
107 #endif /* ACE_HAS_FORE_ATM_XTI */
112 ACE_ATM_Stream::send_n (const void *buf,
116 ACE_TRACE ("ACE_ATM_Stream::send_n");
117 #if defined (ACE_HAS_FORE_ATM_XTI)
118 return stream_.send_n (buf,
121 #elif defined (ACE_HAS_FORE_ATM_WS2)
122 return stream_.send_n (buf,
128 ACE_UNUSED_ARG(flags);
130 #endif /* ACE_HAS_FORE_ATM_XTI */
133 ACE_END_VERSIONED_NAMESPACE_DECL