Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2012-07-06 17:52:19 +0400
committerCorinna Vinschen <corinna@vinschen.de>2012-07-06 17:52:19 +0400
commitdb80f635c109c7b7d7ef4b96d6c7ebbd8a4429ba (patch)
tree7ff0f9525a2c366fd03956e046c6c5f9e1ddb4d9 /winsup/cygwin/include
parentdc45bfa0bf7fcb36a00388a629b56ea8e5fabda3 (diff)
In terms of network related functionality, rely on Winsock definitions
as much as possible: * dtable.cc: Drop including sys/socket.h. * fhandler_procnet.cc: Change includes accordingly. * fhandler_socket.cc: Ditto. (fhandler_socket::listen): Avoid gcc error message initializing sin6. (LPFN_WSARECVMSG): Only define when building against w32api headers. * net.cc: Change includes accordingly. Define USE_SYS_TYPES_FD_SET and __WSA_ERR_MACROS_DEFINED. Define _INC_NETIOAPI temporarily and explain why. (struct _IP_ADAPTER_UNICAST_ADDRESS_LH): Only define when building against w32api headers. (struct _IP_ADAPTER_ADDRESSES_LH): Ditto. (SIO_GET_INTERFACE_LIST): Ditto. (ws_freeaddrinfo): Rename from freeaddrinfo so as not to collide with Winsock declaration. Change througout. (ws_getaddrinfo): Ditto. (ws_getnameinfo): Ditto. * select.cc: Include netdb.h after defining USE_SYS_TYPES_FD_SET. * syslog.cc: Drop including netinet/in.h. Define USE_SYS_TYPES_FD_SET and include ws2tcpip.h. * include/netdb.h (struct addrinfo): Don't define when building Cygwin. * include/cygwin/if.h: Don't declare if_xxx functions when building Cygwin. * include/cygwin/in.h: Disable most definitions when building Cygwin. * include/cygwin/socket.h: Disable sockaddr and sockaddr_storage definitions when building Cygwin. Same for MCAST_INCLUDE/MCAST_EXCLUDE. * libc/inet_addr.c: Don't define __INSIDE_CYGWIN__ nor __INSIDE_CYGWIN_NET__. * libc/inet_network.c: Ditto. * libc/minires.h: Drop redundant inclusion of netdb.h. Define __INSIDE_CYGWIN_NET__ only before including netdb.h and resolver headers.
Diffstat (limited to 'winsup/cygwin/include')
-rw-r--r--winsup/cygwin/include/cygwin/if.h2
-rw-r--r--winsup/cygwin/include/cygwin/in.h4
-rw-r--r--winsup/cygwin/include/cygwin/socket.h4
-rw-r--r--winsup/cygwin/include/netdb.h2
4 files changed, 12 insertions, 0 deletions
diff --git a/winsup/cygwin/include/cygwin/if.h b/winsup/cygwin/include/cygwin/if.h
index 8f76e836e..d99cda7bc 100644
--- a/winsup/cygwin/include/cygwin/if.h
+++ b/winsup/cygwin/include/cygwin/if.h
@@ -111,10 +111,12 @@ struct ifconf
#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
+#ifndef __INSIDE_CYGWIN_NET__
extern unsigned if_nametoindex (const char *);
extern char *if_indextoname (unsigned, char *);
extern struct if_nameindex *if_nameindex (void);
extern void if_freenameindex (struct if_nameindex *);
+#endif
#ifdef __cplusplus
};
diff --git a/winsup/cygwin/include/cygwin/in.h b/winsup/cygwin/include/cygwin/in.h
index 30ac623a8..49957293d 100644
--- a/winsup/cygwin/include/cygwin/in.h
+++ b/winsup/cygwin/include/cygwin/in.h
@@ -23,6 +23,8 @@
typedef uint16_t in_port_t;
typedef uint32_t in_addr_t;
+#ifndef __INSIDE_CYGWIN_NET__
+
/* Standard well-defined IP protocols. If you ever add one here, don't
forget to define it below. */
enum
@@ -260,4 +262,6 @@ struct sockaddr_in
#ifdef AF_INET6
#include <cygwin/in6.h>
#endif
+#endif
+
#endif /* _CYGWIN_IN_H */
diff --git a/winsup/cygwin/include/cygwin/socket.h b/winsup/cygwin/include/cygwin/socket.h
index 41c2eb5f8..921172ecf 100644
--- a/winsup/cygwin/include/cygwin/socket.h
+++ b/winsup/cygwin/include/cygwin/socket.h
@@ -26,6 +26,7 @@ typedef int socklen_t;
typedef uint16_t sa_family_t;
+#ifndef __INSIDE_CYGWIN_NET__
struct sockaddr {
sa_family_t sa_family; /* address family, AF_xxx */
char sa_data[14]; /* 14 bytes of protocol address */
@@ -44,6 +45,7 @@ struct sockaddr_storage {
int64_t __ss_align;
char _ss_pad2[_SS_PAD2SIZE];
};
+#endif
#include <asm/socket.h> /* arch-dependent defines */
#include <cygwin/sockios.h> /* the SIOCxxx I/O controls */
@@ -269,8 +271,10 @@ struct OLD_msghdr
#define MCAST_JOIN_SOURCE_GROUP 45
#define MCAST_LEAVE_SOURCE_GROUP 46
+#ifndef __INSIDE_CYGWIN_NET__
#define MCAST_INCLUDE 0
#define MCAST_EXCLUDE 1
+#endif
/* Old WinSock1 values, needed internally */
#ifdef __INSIDE_CYGWIN__
diff --git a/winsup/cygwin/include/netdb.h b/winsup/cygwin/include/netdb.h
index f59a780f0..e4b85c6a7 100644
--- a/winsup/cygwin/include/netdb.h
+++ b/winsup/cygwin/include/netdb.h
@@ -117,6 +117,7 @@ struct rpcent {
int r_number; /* rpc program number */
};
+#ifndef __INSIDE_CYGWIN_NET__
struct addrinfo {
int ai_flags; /* input flags */
int ai_family; /* address family of socket */
@@ -127,6 +128,7 @@ struct addrinfo {
struct sockaddr *ai_addr; /* socket address of socket */
struct addrinfo *ai_next; /* pointer to next in list */
};
+#endif
/*
* Error return codes from gethostbyname() and gethostbyaddr()