mirror of
https://github.com/anope/anope.git
synced 2026-06-12 19:14:47 +02:00
969aacbf78
find include/ src/ lang/ docs/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
/*
|
|
*
|
|
* (C) 2004-2014 Anope Team
|
|
* Contact us at team@anope.org
|
|
*
|
|
* Please read COPYING and README for further details.
|
|
*
|
|
* Based on the original code of Epona by Lara.
|
|
* Based on the original code of Services by Andy Church.
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef SOCKETS_H
|
|
#define SOCKETS_H
|
|
|
|
#ifdef _WIN32
|
|
typedef SOCKET ano_socket_t;
|
|
#define ano_sockread(fd, buf, len) recv(fd, buf, len, 0)
|
|
#define ano_sockwrite(fd, buf, len) send(fd, buf, len, 0)
|
|
#define ano_sockclose(fd) closesocket(fd)
|
|
#define ano_sockgeterr() WSAGetLastError()
|
|
#define ano_sockseterr(err) WSASetLastError(err)
|
|
/* ano_sockstrerror in sockutil.c */
|
|
/* ano_socksetnonb in sockutil.c */
|
|
#define ano_sockerrnonb(err) (err == WSAEINPROGRESS || err == WSAEWOULDBLOCK)
|
|
#define SOCKERR_EBADF WSAENOTSOCK
|
|
#define SOCKERR_EINTR WSAEINTR
|
|
#define SOCKERR_EINVAL WSAEINVAL
|
|
#define SOCKERR_EINPROGRESS WSAEINPROGRESS
|
|
#else
|
|
typedef int ano_socket_t;
|
|
#define ano_sockread(fd, buf, len) read(fd, buf, len)
|
|
#define ano_sockwrite(fd, buf, len) write(fd, buf, len)
|
|
#define ano_sockclose(fd) close(fd)
|
|
#define ano_sockgeterr() errno
|
|
#define ano_sockseterr(err) errno = err
|
|
#define ano_sockstrerror(err) strerror(err)
|
|
#define ano_socksetnonb(fd) fcntl(fd, F_SETFL, O_NONBLOCK)
|
|
#define ano_sockerrnonb(err) (err == EINPROGRESS)
|
|
#define SOCKERR_EBADF EBADF
|
|
#define SOCKERR_EINTR EINTR
|
|
#define SOCKERR_EINVAL EINVAL
|
|
#define SOCKERR_EINPROGRESS EINPROGRESS
|
|
#endif
|
|
|
|
#endif
|