--- parser3/src/lib/smtp/smtp.h 2004/02/24 10:36:16 1.3 +++ parser3/src/lib/smtp/smtp.h 2024/11/04 03:53:25 1.17 @@ -1,51 +1,98 @@ /** @file Parser: SMTP sender decl. - Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexandr Petrosian (http://paf.design.ru) + Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian */ -static const char * const IDENT_SMTP_H="$Date: 2004/02/24 10:36:16 $"; +#define IDENT_SMTP_H "$Id: smtp.h,v 1.17 2024/11/04 03:53:25 moko Exp $" #include "pa_string.h" -#ifdef CYGWIN -#define _GNU_H_WINDOWS32_SOCKETS -// for PASCAL +#ifdef _MSC_VER + #include -// SOCKET -typedef u_int SOCKET; -int PASCAL closesocket(SOCKET); -#else -# if defined(WIN32) -# include -# else - typedef char CHAR; - typedef u_int SOCKET; -# define closesocket close - inline int WSAGetLastError() { return errno; } -# define WSAEPROTONOSUPPORT EPROTONOSUPPORT -# define WSAESOCKTNOSUPPORT ESOCKTNOSUPPORT -# define WSAENOTCONN ENOTCONN -# define WSAENETDOWN ESHUTDOWN -# define WSAENETUNREACH EHOSTUNREACH -# define WSAENETRESET ENETRESET -# define WSAECONNABORTED ECONNABORTED -# define WSAECONNRESET ECONNRESET -# define WSAEWOULDBLOCK EWOULDBLOCK -# define WSAECONNREFUSED ECONNREFUSED - -# define WSAHOST_NOT_FOUND (2) -# ifndef INADDR_NONE -# define INADDR_NONE ((unsigned long) -1) -# endif -# ifndef INVALID_SOCKET -# define INVALID_SOCKET (SOCKET)(~0) -# endif -# endif + +#else //_MSC_VER + +typedef char CHAR; +typedef u_int SOCKET; +#define closesocket close +inline int WSAGetLastError() { return errno; } + +#ifdef EPROTONOSUPPORT +# define WSAEPROTONOSUPPORT EPROTONOSUPPORT +#else +# define WSAEPROTONOSUPPORT (10000) +#endif + +#ifdef ESOCKTNOSUPPORT +# define WSAESOCKTNOSUPPORT ESOCKTNOSUPPORT +#else +# define WSAESOCKTNOSUPPORT (10001) +#endif + +#ifdef ENOTCONN +# define WSAENOTCONN ENOTCONN +#else +# define WSAENOTCONN (10002) +#endif + +#ifdef ESHUTDOWN +# define WSAENETDOWN ESHUTDOWN +#else +# define WSAENETDOWN (10003) +#endif + +#ifdef EHOSTUNREACH +# define WSAENETUNREACH EHOSTUNREACH +#else +# define WSAENETUNREACH (10004) +#endif + +#ifdef ENETRESET +# define WSAENETRESET ENETRESET +#else +# define WSAENETRESET (10005) +#endif + +#ifdef ECONNABORTED +# define WSAECONNABORTED ECONNABORTED +#else +# define WSAECONNABORTED (10006) +#endif + +#ifdef ECONNRESET +# define WSAECONNRESET ECONNRESET +#else +# define WSAECONNRESET (10007) +#endif + +#ifdef EWOULDBLOCK +# define WSAEWOULDBLOCK EWOULDBLOCK +#else +# define WSAEWOULDBLOCK (10008) #endif +#ifdef ECONNREFUSED +# define WSAECONNREFUSED ECONNREFUSED +#else +# define WSAECONNREFUSED (10009) +#endif + +#define WSAHOST_NOT_FOUND (10010) + +#ifndef INADDR_NONE +# define INADDR_NONE ((unsigned long) -1) +#endif + +#ifndef INVALID_SOCKET +# define INVALID_SOCKET (SOCKET)(~0) +#endif + +#endif //_MSC_VER + ////////////////////////////////////////////////////////////////////////////// #define SOCKET_BUFFER_SIZE 512 @@ -55,7 +102,8 @@ int PASCAL closesocket(SOCKET); #define ERR_CLOSING 4012 #define WAIT_A_BIT 4013 -#define MAXOUTLINE 255 +/// must be >=SOCKET_BUFFER_SIZE, thanks to Lev Walkin for pointing that out +#define MAXOUTLINE (SOCKET_BUFFER_SIZE*2) //////////////////////////////////////////////////////////////////////////////