EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Socket.h
Go to the documentation of this file.
1 /*
2  ------------------------------------------------------------------------------------
3  LICENSE:
4  ------------------------------------------------------------------------------------
5  This file is part of EVEmu: EVE Online Server Emulator
6  Copyright 2006 - 2021 The EVEmu Team
7  For the latest information visit https://evemu.dev
8  ------------------------------------------------------------------------------------
9  This program is free software; you can redistribute it and/or modify it under
10  the terms of the GNU Lesser General Public License as published by the Free Software
11  Foundation; either version 2 of the License, or (at your option) any later
12  version.
13 
14  This program is distributed in the hope that it will be useful, but WITHOUT
15  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public License along with
19  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
20  Place - Suite 330, Boston, MA 02111-1307, USA, or go to
21  http://www.gnu.org/copyleft/lesser.txt.
22  ------------------------------------------------------------------------------------
23  Author: Bloody.Rabbit
24 */
25 
26 #ifndef __SOCKET_H__INCL__
27 #define __SOCKET_H__INCL__
28 
34 class Socket
35 {
36 public:
37  Socket( int af, int type, int protocol );
38  ~Socket();
39 
40  int connect( const sockaddr* name, unsigned int namelen );
41 
42  unsigned int recv( void* buf, unsigned int len, int flags );
43  unsigned int recvfrom( void* buf, unsigned int len, int flags, sockaddr* from, unsigned int* fromlen );
44  unsigned int send( const void* buf, unsigned int len, int flags );
45  unsigned int sendto( const void* buf, unsigned int len, int flags, const sockaddr* to, unsigned int tolen );
46 
47  int bind( const sockaddr* name, unsigned int namelen );
48  int listen( int backlog = SOMAXCONN );
49 
50  Socket* accept( sockaddr* addr, unsigned int* addrlen );
51 
52  int setopt( int level, int optname, const void* optval, unsigned int optlen );
53  int fcntl( int cmd, long arg );
54 
55 protected:
56  Socket( SOCKET sock );
57 
59 };
60 
61 #endif /* !__SOCKET_H__INCL__ */
Simple wrapper for sockets.
Definition: Socket.h:34
SOCKET mSock
Definition: Socket.h:58
int listen(int backlog=SOMAXCONN)
Definition: Socket.cpp:84
unsigned int recvfrom(void *buf, unsigned int len, int flags, sockaddr *from, unsigned int *fromlen)
Definition: Socket.cpp:64
int bind(const sockaddr *name, unsigned int namelen)
Definition: Socket.cpp:79
Socket(int af, int type, int protocol)
Definition: Socket.cpp:30
unsigned int sendto(const void *buf, unsigned int len, int flags, const sockaddr *to, unsigned int tolen)
Definition: Socket.cpp:74
unsigned int recv(void *buf, unsigned int len, int flags)
Definition: Socket.cpp:59
int setopt(int level, int optname, const void *optval, unsigned int optlen)
Definition: Socket.cpp:99
~Socket()
Definition: Socket.cpp:47
Socket * accept(sockaddr *addr, unsigned int *addrlen)
Definition: Socket.cpp:89
int SOCKET
Definition: eve-compat.h:127
unsigned int send(const void *buf, unsigned int len, int flags)
Definition: Socket.cpp:69
int fcntl(int cmd, long arg)
Definition: Socket.cpp:104
int connect(const sockaddr *name, unsigned int namelen)
Definition: Socket.cpp:54