"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSNetLib/Src/LSNNetLib.h

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__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator