#include "ace/TLI_Acceptor.h"#include "ace/Log_Msg.h"#include "ace/ACE.h"#include "ace/OS_NS_string.h"#include "ace/OS_Memory.h"Include dependency graph for TLI_Acceptor.cpp:

Go to the source code of this file.
Classes | |
| struct | ACE_TLI_Request |
| class | ACE_TLI_Request_Queue |
Functions | |
| ACE_HANDLE | open_new_endpoint (ACE_HANDLE listen_handle, const char dev[], struct t_call *callp, int rwf, ACE_Addr *remote_sap=0) |
|
||||||||||||||||||||||||
|
Definition at line 132 of file TLI_Acceptor.cpp. References ACE_TRACE, ACE_Addr::get_addr(), ACE_Addr::get_size(), ACE_OS::ioctl(), ACE_OS::t_bind(), t_bind(), ACE_OS::t_open(), and ACE_OS::t_snddis(). Referenced by ACE_TLI_Acceptor::accept(), and ACE_TLI_Request_Queue::enqueue().
00137 {
00138 ACE_TRACE ("open_new_endpoint");
00139 ACE_HANDLE fd = ACE_OS::t_open ((char *) dev,
00140 O_RDWR,
00141 0);
00142
00143 struct t_bind req, *req_p = 0;
00144 if (remote_sap != 0)
00145 {
00146 req.qlen = 0;
00147 req.addr.buf = (char *) remote_sap->get_addr ();
00148 req.addr.len = remote_sap->get_size ();
00149 req.addr.maxlen = remote_sap->get_size ();
00150 req_p = &req;
00151 }
00152
00153 if (fd == ACE_INVALID_HANDLE
00154 || ACE_OS::t_bind (fd, req_p, 0) == -1)
00155 fd = ACE_INVALID_HANDLE;
00156 #if defined (I_PUSH) && !defined (ACE_HAS_FORE_ATM_XTI)
00157 else if (rwf != 0 && ACE_OS::ioctl (fd,
00158 I_PUSH,
00159 const_cast<char *> ("tirdwr"))
00160 == ACE_INVALID_HANDLE)
00161 fd = ACE_INVALID_HANDLE;
00162 #else
00163 ACE_UNUSED_ARG(rwf);
00164 #endif /* I_PUSH */
00165
00166 if (fd == ACE_INVALID_HANDLE)
00167 ACE_OS::t_snddis (listen_handle,
00168 callp);
00169 return fd;
00170 }
|
1.3.6