home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / mfc / include / afxsock.inl < prev    next >
Text File  |  1998-06-16  |  3KB  |  54 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1998 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // Inlines for AFXSOCK.H
  12.  
  13. #ifdef _AFXSOCK_INLINE
  14.  
  15. _AFXSOCK_INLINE CAsyncSocket::operator SOCKET() const
  16.     { return m_hSocket; }
  17. _AFXSOCK_INLINE BOOL CAsyncSocket::GetPeerName(SOCKADDR* lpSockAddr, int* lpSockAddrLen)
  18.     { return (SOCKET_ERROR != getpeername(m_hSocket, lpSockAddr, lpSockAddrLen)); }
  19. _AFXSOCK_INLINE BOOL CAsyncSocket::GetSockName(SOCKADDR* lpSockAddr, int* lpSockAddrLen)
  20.     { return (SOCKET_ERROR != getsockname(m_hSocket, lpSockAddr, lpSockAddrLen)); }
  21. _AFXSOCK_INLINE BOOL CAsyncSocket::SetSockOpt(int nOptionName, const void* lpOptionValue, int nOptionLen, int nLevel)
  22.     { return (SOCKET_ERROR != setsockopt(m_hSocket, nLevel, nOptionName, (LPCSTR)lpOptionValue, nOptionLen)); }
  23. _AFXSOCK_INLINE BOOL CAsyncSocket::GetSockOpt(int nOptionName, void* lpOptionValue, int* lpOptionLen, int nLevel)
  24.     { return (SOCKET_ERROR != getsockopt(m_hSocket, nLevel, nOptionName, (LPSTR)lpOptionValue, lpOptionLen)); }
  25. _AFXSOCK_INLINE CAsyncSocket* PASCAL CAsyncSocket::FromHandle(SOCKET hSocket)
  26.     { return CAsyncSocket::LookupHandle(hSocket, FALSE); }
  27. _AFXSOCK_INLINE int PASCAL CAsyncSocket::GetLastError()
  28.     { return WSAGetLastError(); }
  29. _AFXSOCK_INLINE BOOL CAsyncSocket::Bind(const SOCKADDR* lpSockAddr, int nSockAddrLen)
  30.     { return (SOCKET_ERROR != bind(m_hSocket, lpSockAddr, nSockAddrLen)); }
  31. _AFXSOCK_INLINE BOOL CAsyncSocket::Connect(const SOCKADDR* lpSockAddr, int nSockAddrLen)
  32.     { return ConnectHelper(lpSockAddr, nSockAddrLen); }
  33. _AFXSOCK_INLINE BOOL CAsyncSocket::IOCtl(long lCommand, DWORD* lpArgument)
  34.     { return (SOCKET_ERROR != ioctlsocket(m_hSocket, lCommand, lpArgument)); }
  35. _AFXSOCK_INLINE BOOL CAsyncSocket::Listen(int nConnectionBacklog)
  36.     { return (SOCKET_ERROR != listen(m_hSocket, nConnectionBacklog)); }
  37. _AFXSOCK_INLINE int CAsyncSocket::ReceiveFrom(void* lpBuf, int nBufLen, SOCKADDR* lpSockAddr, int* lpSockAddrLen, int nFlags)
  38.     { return ReceiveFromHelper(lpBuf, nBufLen, lpSockAddr, lpSockAddrLen, nFlags); }
  39. _AFXSOCK_INLINE BOOL CAsyncSocket::ShutDown(int nHow)
  40.     { return (SOCKET_ERROR != shutdown(m_hSocket,nHow)); }
  41. _AFXSOCK_INLINE int CAsyncSocket::SendTo(const void* lpBuf, int nBufLen, const SOCKADDR* lpSockAddr, int nSockAddrLen, int nFlags)
  42.     { return SendToHelper(lpBuf, nBufLen, lpSockAddr, nSockAddrLen, nFlags); }
  43.  
  44. _AFXSOCK_INLINE BOOL CSocket::Create(UINT nSocketPort, int nSocketType, LPCTSTR lpszSocketAddress)
  45.     { return CAsyncSocket::Create(nSocketPort, nSocketType, FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE, lpszSocketAddress); }
  46. _AFXSOCK_INLINE BOOL CSocket::IsBlocking()
  47.     { return (m_pbBlocking != NULL); }
  48. _AFXSOCK_INLINE CSocket* PASCAL CSocket::FromHandle(SOCKET hSocket)
  49.     { return (CSocket*)CAsyncSocket::LookupHandle(hSocket, FALSE); }
  50. _AFXSOCK_INLINE BOOL CSocket::Attach(SOCKET hSocket)
  51.         { return CAsyncSocket::Attach(hSocket); }
  52.  
  53. #endif //_AFXSOCK_INLINE
  54.