[svn] Include winsock headers from mswindows.h.

By Gisle Vanem.
This commit is contained in:
hniksic 2003-10-03 09:37:47 -07:00
parent 87275db136
commit 351c4b9add
3 changed files with 54 additions and 11 deletions

View File

@ -1,3 +1,9 @@
2003-10-03 Gisle Vanem <giva@bgnett.no>
* connect.c: And don't include them here.
* mswindows.h: Include winsock headers here.
2003-10-03 Hrvoje Niksic <hniksic@xemacs.org>
* html-parse.c (convert_and_copy): Move variable declarations

View File

@ -37,16 +37,14 @@ so, delete this exception statement from your version. */
#endif
#include <assert.h>
#ifdef WINDOWS
# include <winsock.h>
#else
#ifndef WINDOWS
# include <sys/socket.h>
# include <netdb.h>
# include <netinet/in.h>
#ifndef __BEOS__
# include <arpa/inet.h>
#endif
#endif /* WINDOWS */
# ifndef __BEOS__
# include <arpa/inet.h>
# endif
#endif /* not WINDOWS */
#include <errno.h>
#ifdef HAVE_STRING_H
@ -201,7 +199,7 @@ connect_to_one (ip_address *addr, unsigned short port, int silent)
wget_sockaddr_set_address (&bsa, ip_default_family, 0, &bind_address);
if (bind (sock, &bsa.sa, sockaddr_len ()))
{
close (sock);
CLOSE (sock);
sock = -1;
goto out;
}
@ -211,7 +209,7 @@ connect_to_one (ip_address *addr, unsigned short port, int silent)
if (connect_with_timeout (sock, &sa.sa, sockaddr_len (),
opt.connect_timeout) < 0)
{
close (sock);
CLOSE (sock);
sock = -1;
goto out;
}

View File

@ -30,6 +30,37 @@ so, delete this exception statement from your version. */
#ifndef MSWINDOWS_H
#define MSWINDOWS_H
#ifndef WGET_H
#error Include mswindows.h inside or after "wget.h"
#endif
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN /* Prevent inclusion of <winsock*.h> in <windows.h> */
#endif
#include <windows.h>
/* Use the correct winsock header; <ws2tcpip.h> includes <winsock2.h> only on
* Watcom/MingW. We cannot use <winsock.h> for IPv6. Using getaddrinfo() requires
* <ws2tcpip.h>
*/
#if defined(ENABLE_IPV6) || defined(HAVE_GETADDRINFO)
# include <winsock2.h>
# include <ws2tcpip.h>
#else
# include <winsock.h>
#endif
#ifndef EAI_SYSTEM
# define EAI_SYSTEM -1 /* value doesn't matter */
#endif
/* Must include <sys/stat.h> because of 'stat' define below. */
#include <sys/stat.h>
/* Missing in several .c files. Include here. */
#include <io.h>
/* Apparently needed for alloca(). */
#include <malloc.h>
@ -81,8 +112,6 @@ so, delete this exception statement from your version. */
# define mkdir(a, b) mkdir(a)
#endif /* __BORLANDC__ */
#include <windows.h>
/* Declarations of various socket errors: */
#define EWOULDBLOCK WSAEWOULDBLOCK
@ -137,4 +166,14 @@ char *ws_mypath (void);
void ws_help (const char *);
void windows_main_junk (int *, char **, char **);
/* Things needed for IPv6; missing in <ws2tcpip.h>. */
#ifdef ENABLE_IPV6
# ifndef HAVE_NTOP
extern const char *inet_ntop (int af, const void *src, char *dst, size_t size);
# endif
# ifndef HAVE_PTON
extern int inet_pton (int af, const char *src, void *dst);
# endif
#endif /* ENABLE_IPV6 */
#endif /* MSWINDOWS_H */