diff options
author | sjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-01-01 12:00:20 +0000 |
---|---|---|
committer | sjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-01-01 12:00:20 +0000 |
commit | c777c8d9aa7cd5c2e9a399727a7fa9985a77fb1c (patch) | |
tree | 9e996ae4a1bbb833cec036c5cd4d87a590149e85 /include/sockets.h |
Anope Stable Branch
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@1902 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'include/sockets.h')
-rw-r--r-- | include/sockets.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/sockets.h b/include/sockets.h new file mode 100644 index 000000000..470ad7761 --- /dev/null +++ b/include/sockets.h @@ -0,0 +1,47 @@ +/* + * + * (C) 2004-2008 Anope Team + * Contact us at info@anope.org + * + * Please read COPYING and README for furhter 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 |