SocketImpl.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef CPP3DS_SOCKETIMPL_HPP
26 #define CPP3DS_SOCKETIMPL_HPP
27 
29 // Headers
31 #include <cpp3ds/Network/Socket.hpp>
32 #include <sys/types.h>
33 #include <sys/socket.h>
34 #include <netinet/in.h>
35 #include <netinet/tcp.h>
36 #include <arpa/inet.h>
37 #include <netdb.h>
38 #include <unistd.h>
39 
40 
41 namespace cpp3ds
42 {
43 namespace priv
44 {
50 class SocketImpl
51 {
52 public:
53 
55  // Types
57  typedef socklen_t AddrLength;
58 
68  static sockaddr_in createAddress(Uint32 address, unsigned short port);
69 
76  static SocketHandle invalidSocket();
77 
84  static void close(SocketHandle sock);
85 
93  static void setBlocking(SocketHandle sock, bool block);
94 
101  static Socket::Status getErrorStatus();
102 };
103 
104 } // namespace priv
105 
106 } // namespace cpp3ds
107 
108 
109 #endif // CPP3DS_SOCKETIMPL_HPP
Status
Status codes that may be returned by socket functions.
Definition: Socket.hpp:52