29 #ifndef __NET_LOWLEVEL_H
30 #define __NET_LOWLEVEL_H
45 # include <winsock2.h>
48 # include <sys/time.h>
50 # include <netinet/in.h>
52 # include <sys/socket.h>
53 # include <sys/ioctl.h>
56 # include <arpa/inet.h>
58 # define INVALID_SOCKET -1
63 # define INADDR_NONE -1
71 (int)(((ad) >> 24) & 0xff), (int)(((ad) >> 16) & 0xff), \
72 (int)(((ad) >> 8) & 0xff), (int)((ad) & 0xff)
98 std::vector<Socket> Sockets;
99 std::vector<int> SocketReady;
122 extern int NetSendUDP(
Socket sockfd,
unsigned long host,
int port,
const void *buf,
int len);
124 extern int NetRecvUDP(
Socket sockfd,
void *buf,
int len,
unsigned long *hostFrom,
int *portFrom);
150 #endif // !__NET_LOWLEVEL_H
Socket NetOpenTCP(const char *addr, int port)
Open a TCP Socket port.
Definition: net_lowlevel.cpp:392
void NetCloseTCP(Socket sockfd)
Close a TCP socket port.
Definition: net_lowlevel.cpp:169
int NetSendTCP(Socket sockfd, const void *buf, int len)
Send through a TCP socket.
Definition: net_lowlevel.cpp:646
int NetRecvTCP(Socket sockfd, void *buf, int len)
Receive from a TCP socket.
Definition: net_lowlevel.cpp:594
int NetListenTCP(Socket sockfd)
Listen for connections on a TCP socket.
Definition: net_lowlevel.cpp:658
Socket NetAcceptTCP(Socket sockfd, unsigned long *clientHost, int *clientPort)
Accept a connection on a TCP socket.
Definition: net_lowlevel.cpp:672
int NetSetNonBlocking(Socket sockfd)
Set socket to non-blocking.
Definition: net_lowlevel.cpp:190
unsigned long NetResolveHost(const std::string &host)
Resolve host in name or or colon dot notation.
Definition: net_lowlevel.cpp:202
void DelSocket(Socket socket)
Definition: net_lowlevel.cpp:700
int NetConnectTCP(Socket sockfd, unsigned long addr, int port)
Open a TCP connection.
Definition: net_lowlevel.cpp:433
int NetSocketAddr(const Socket sock, unsigned long *ips, int maxAddr)
Get local IP from network file descriptor.
Definition: net_lowlevel.cpp:344
int NetSendUDP(Socket sockfd, unsigned long host, int port, const void *buf, int len)
Send through a UPD socket to a host:port.
Definition: net_lowlevel.cpp:624
void NetCloseUDP(Socket sockfd)
Close a UDP socket port.
Definition: net_lowlevel.cpp:159
int Select(int timeout)
Wait for socket set ready.
Definition: net_lowlevel.cpp:502
int NetRecvUDP(Socket sockfd, void *buf, int len, unsigned long *hostFrom, int *portFrom)
Receive from a UDP socket.
Definition: net_lowlevel.cpp:564
int HasDataToRead(Socket socket) const
Check if a socket in a socket set is ready.
Definition: net_lowlevel.cpp:542
int NetInit()
Hardware dependend network init.
Definition: net_lowlevel.cpp:142
SocketSet()
Definition: net_lowlevel.h:87
Socket NetOpenUDP(unsigned long ip, int port)
Open a UDP Socket port. (param in network format)
Definition: net_lowlevel.cpp:359
SOCKET Socket
Definition: net_lowlevel.h:75
void NetExit()
Hardware dependend network exit.
Definition: net_lowlevel.cpp:150
Definition: net_lowlevel.h:84
int NetSocketReady(Socket sockfd, int timeout)
Wait for socket ready.
Definition: net_lowlevel.cpp:468
void AddSocket(Socket socket)
Definition: net_lowlevel.cpp:688