01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
Min/Max





















































/*
* Copyright (c), Zeriph Enterprises
* All rights reserved.
*
* Contributor(s):
* Zechariah Perez, omni (at) zeriph (dot) com
*
* THIS SOFTWARE IS PROVIDED BY ZERIPH AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ZERIPH AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <omni/net/socket.hpp>
#include <omni/net/util.hpp>
#include <omni/defs/debug.hpp>
#if defined(OMNI_OS_WIN)
    #include <windows.h>
#else
    #include <dirent.h>
    #include <unistd.h>
    #include <sys/time.h>
    #include <fcntl.h>
#endif

#if defined(OMNI_OS_WIN)
    #define OMNI_SOCK_WSA_FW , m_wsa(true)
    #define OMNI_SOCK_CLOSE_FW this->m_wsa.close();
    #define OMNI_SOCK_OPEN_FW if (!this->m_wsa.open()) { return (this->m_last_err = omni::net::parse_error(this->m_wsa.error())); }
#else
    #define OMNI_SOCK_WSA_FW
    #define OMNI_SOCK_CLOSE_FW
    #define OMNI_SOCK_OPEN_FW
#endif

#define OMNI_NET_SOCKET4_HXX_FW 1
#include "omni/xx/net/socket4.hxx"
#undef OMNI_NET_SOCKET4_HXX_FW

#define OMNI_NET_SOCKET6_HXX_FW 1
#include "omni/xx/net/socket6.hxx"
#undef OMNI_NET_SOCKET6_HXX_FW

#if defined(OMNI_ALLOW_UNIX_SOCKET)
    #define OMNI_NET_UNIX_SOCKET_HXX_FW 1
    #include "omni/xx/net/unix_socket.hxx"
    #undef OMNI_NET_UNIX_SOCKET_HXX_FW
#endif