Mercurial > cabal
diff sources/headers/network.hpp @ 2:19227b0b7cc1
.h => .hpp for the headers
added year 2008 to copyright notes
renamed some functions for better meaning
prepared parser module for rewriting
added showHelp() function
some code clean up
| author | Vlad Glagolev <enqlave@gmail.com> |
|---|---|
| date | Mon, 21 Jan 2008 01:14:10 +0300 |
| parents | |
| children | a7051ac7118b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/headers/network.hpp Mon Jan 21 01:14:10 2008 +0300 @@ -0,0 +1,61 @@ +/** + * network.hpp (2007-04-02) + * + * -- CABAL -- network header + * + * Copyright (c) 2007-2008 Vlad Glagolev <enqlave@gmail.com> + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _NETWORK_HPP_ +#define _NETWORK_HPP_ + +#include "core.hpp" + +class Network { + +public: + Network(); + ~Network(); + + void sendMsg(string); + string receiveMsg(); + + int cs; + + struct address_type { + int inet; + struct sockaddr_in sa; +#ifdef ENABLE_IPV6 + struct sockaddr_in6 sa6; +#endif + } address; + + bool socketClose(); + + bool hostResolve(pchar, address_type *, int inet = 0); + bool tcpActivate(int, pchar host = 0); + bool hostOpen(); + + int canRead(int); + int canWrite(int); + + fd_set rs, ws; + timeval timeout; + + bool connecting, connected; +}; + +#endif // _NETWORK_HPP_
