"L. Spiro Engine"
|
00001 00016 #ifndef __LSN_NETLIB_H__ 00017 #define __LSN_NETLIB_H__ 00018 00019 // Include the memory library. 00020 #include "LSAMemLib.h" 00021 using namespace ::lsa; 00022 00023 // Include the thread library. 00024 #include "LSHThreadLib.h" 00025 using namespace ::lsh; 00026 00027 // Include the standard library. 00028 #include "LSSTDStandardLib.h" 00029 using namespace ::lsstd; 00030 00031 // Include the LSTL. 00032 #include "LSTLib.h" 00033 using namespace ::lstl; 00034 00035 #include "String/LSTLString.h" 00036 00037 namespace lsn { 00038 00039 // == Types. 00043 #ifdef LSE_WINDOWS 00044 typedef LSUINTPTR LSN_SOCKET; 00045 #else 00046 typedef int LSN_SOCKET; 00047 #endif // #ifdef LSE_WINDOWS 00048 00052 typedef LSUINT32 LSN_ADDRESS; 00053 00060 class CNetLib { 00061 public : 00062 // == Functions. 00068 static LSBOOL LSE_CALL InitNetwork(); 00069 00073 static LSVOID LSE_CALL ShutDownNetwork(); 00074 00080 static LSN_SOCKET LSE_CALL CreateUpdSocket(); 00081 00087 static LSVOID LSE_CALL CloseSocket( LSN_SOCKET _sSock ); 00088 00095 static LSBOOL LSE_CALL CheckSocket( LSN_SOCKET _sSock ); 00096 00103 static LSN_ADDRESS LSE_CALL LookUpAddress( const LSCHAR * _pcName = NULL ); 00104 00111 static LSBOOL LSE_CALL GetHostName( CString &_sReturn ); 00112 00122 static LSUINT32 LSE_CALL Bind( LSN_SOCKET _sSock, LSUINT16 _ui16Port, 00123 LSN_ADDRESS _aAddress = 0 ); 00124 00135 static LSUINT32 LSE_CALL SendTo( LSN_ADDRESS _aAddress, 00136 LSUINT16 _ui16Port, 00137 const LSVOID * _pvData, 00138 LSUINT32 _ui32Len, 00139 LSN_SOCKET _sSocket ); 00140 00151 static LSUINT32 LSE_CALL ReceiveFrom( LSN_SOCKET _sSocket, 00152 LSVOID * _pvData, 00153 LSUINT32 _ui32Len, 00154 LSN_ADDRESS &_aAddress, 00155 LSUINT16 &_ui16Port ); 00156 00157 00158 protected : 00159 // == Members. 00163 static LSUINT32 m_ui32InitCount; 00164 }; 00165 00166 } // namespace lsn 00167 00168 #endif // __LSN_NETLIB_H__