* include/cygwin/in.h: Drop including stdint.h. Move definition
of in_port_t and in_addr_t to top of file and use throughout. Use sa_family_t type where appropriate. (struct in6_addr): Change `unsigned char' to `uint8_t'. (struct sockaddr_in6): Add sin6_scope_id member. Add comments. * include/cygwin/socket.h: Include stdint.h. Move definition of socklen_t to top of file. Define sa_family_t. Define struct sockaddr_storage as per SUSv3. * include/sys/un.h: Include cygwin/socket.h. Use sa_family_t type.
This commit is contained in:
		| @@ -1,3 +1,15 @@ | |||||||
|  | 2005-12-31  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
|  | 	* include/cygwin/in.h: Drop including stdint.h.  Move definition | ||||||
|  | 	of in_port_t and in_addr_t to top of file and use throughout. Use | ||||||
|  | 	sa_family_t type where appropriate. | ||||||
|  | 	(struct in6_addr): Change `unsigned char' to `uint8_t'. | ||||||
|  | 	(struct sockaddr_in6): Add sin6_scope_id member. Add comments. | ||||||
|  | 	* include/cygwin/socket.h: Include stdint.h.  Move definition of | ||||||
|  | 	socklen_t to top of file.  Define sa_family_t.  Define struct | ||||||
|  | 	sockaddr_storage as per SUSv3. | ||||||
|  | 	* include/sys/un.h: Include cygwin/socket.h.  Use sa_family_t type. | ||||||
|  |  | ||||||
| 2005-12-29  Christopher Faylor  <cgf@timesys.com> | 2005-12-29  Christopher Faylor  <cgf@timesys.com> | ||||||
|  |  | ||||||
| 	* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Use | 	* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Use | ||||||
|   | |||||||
| @@ -18,9 +18,11 @@ | |||||||
| #ifndef _CYGWIN_IN_H | #ifndef _CYGWIN_IN_H | ||||||
| #define _CYGWIN_IN_H | #define _CYGWIN_IN_H | ||||||
|  |  | ||||||
| #include <stdint.h> |  | ||||||
| #include <cygwin/socket.h> | #include <cygwin/socket.h> | ||||||
|  |  | ||||||
|  | typedef uint16_t in_port_t; | ||||||
|  | typedef uint32_t in_addr_t; | ||||||
|  |  | ||||||
| /* Standard well-defined IP protocols.  If you ever add one here, don't | /* Standard well-defined IP protocols.  If you ever add one here, don't | ||||||
|    forget to define it below. */ |    forget to define it below. */ | ||||||
| enum | enum | ||||||
| @@ -50,7 +52,6 @@ enum | |||||||
| #define IPPROTO_IDP IPPROTO_IDP | #define IPPROTO_IDP IPPROTO_IDP | ||||||
| #define IPPROTO_RAW IPPROTO_RAW | #define IPPROTO_RAW IPPROTO_RAW | ||||||
|  |  | ||||||
| typedef uint16_t in_port_t; |  | ||||||
| /* Standard well-known ports.  *//* from winsup/include/netinet/in.h */ | /* Standard well-known ports.  *//* from winsup/include/netinet/in.h */ | ||||||
| enum | enum | ||||||
| { | { | ||||||
| @@ -91,11 +92,10 @@ enum | |||||||
|   IPPORT_USERRESERVED = 5000 |   IPPORT_USERRESERVED = 5000 | ||||||
| }; | }; | ||||||
|  |  | ||||||
| typedef uint32_t in_addr_t; |  | ||||||
| /* Internet address. */ | /* Internet address. */ | ||||||
| struct in_addr | struct in_addr | ||||||
| { | { | ||||||
|   unsigned int s_addr; |   in_addr_t s_addr; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /* Request struct for multicast socket ops */ | /* Request struct for multicast socket ops */ | ||||||
| @@ -111,8 +111,8 @@ struct ip_mreq | |||||||
| #define __SOCK_SIZE__	16		/* sizeof(struct sockaddr)	*/ | #define __SOCK_SIZE__	16		/* sizeof(struct sockaddr)	*/ | ||||||
| struct sockaddr_in | struct sockaddr_in | ||||||
| { | { | ||||||
|   short int sin_family;	/* Address family		*/ |   sa_family_t	 sin_family;	/* Address family		*/ | ||||||
|   unsigned short int sin_port;	/* Port number			*/ |   in_port_t	 sin_port;	/* Port number			*/ | ||||||
|   struct in_addr sin_addr;	/* Internet address		*/ |   struct in_addr sin_addr;	/* Internet address		*/ | ||||||
|  |  | ||||||
|   /* Pad to size of `struct sockaddr'. */ |   /* Pad to size of `struct sockaddr'. */ | ||||||
| @@ -190,15 +190,16 @@ struct sockaddr_in | |||||||
|    a beginning dont get excited 8) */ |    a beginning dont get excited 8) */ | ||||||
| struct in6_addr | struct in6_addr | ||||||
| { | { | ||||||
|   unsigned char s6_addr[16]; |   uint8_t 	  s6_addr[16]; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| struct sockaddr_in6 | struct sockaddr_in6 | ||||||
| { | { | ||||||
|   unsigned short sin6_family; |   sa_family_t	  sin6_family;		/* AF_INET6 */ | ||||||
|   unsigned short sin6_port; |   in_port_t	  sin6_port;		/* Port number. */ | ||||||
|   unsigned long sin6_flowinfo; |   uint32_t	  sin6_flowinfo;	/* Traffic class and flow inf. */ | ||||||
|   struct in6_addr sin6_addr; |   struct in6_addr sin6_addr;		/* IPv6 address. */ | ||||||
|  |   uint32_t	  sin6_scope_id;	/* Set of interfaces for a scope. */ | ||||||
| }; | }; | ||||||
| #endif | #endif | ||||||
| #endif	/* _CYGWIN_IN_H */ | #endif	/* _CYGWIN_IN_H */ | ||||||
|   | |||||||
| @@ -15,11 +15,33 @@ details. */ | |||||||
| extern "C" { | extern "C" { | ||||||
| #endif /* __cplusplus */ | #endif /* __cplusplus */ | ||||||
|  |  | ||||||
|  | #include <stdint.h> | ||||||
|  |  | ||||||
|  | #ifndef socklen_t | ||||||
|  | #define socklen_t int			/* Not unsigned for backward compat. */ | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | typedef uint16_t sa_family_t; | ||||||
|  |  | ||||||
| struct sockaddr { | struct sockaddr { | ||||||
|   unsigned short	sa_family;	/* address family, AF_xxx	*/ |   sa_family_t		sa_family;	/* address family, AF_xxx	*/ | ||||||
|   char			sa_data[14];	/* 14 bytes of protocol address	*/ |   char			sa_data[14];	/* 14 bytes of protocol address	*/ | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /* Definition of sockaddr_storage according to SUSv3. */ | ||||||
|  | #define _SS_MAXSIZE 128			/* Maximum size. */ | ||||||
|  | #define _SS_ALIGNSIZE (sizeof (int64_t))/* Desired alignment. */ | ||||||
|  | #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (sa_family_t)) | ||||||
|  | #define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (sa_family_t) \ | ||||||
|  | 		      + _SS_PAD1SIZE + _SS_ALIGNSIZE)) | ||||||
|  |  | ||||||
|  | struct sockaddr_storage { | ||||||
|  |   sa_family_t		ss_familiy; | ||||||
|  |   char			_ss_pad1[_SS_PAD1SIZE]; | ||||||
|  |   int64_t		__ss_align; | ||||||
|  |   char			_ss_pad2[_SS_PAD2SIZE]; | ||||||
|  | }; | ||||||
|  |  | ||||||
| #include <asm/socket.h>			/* arch-dependent defines	*/ | #include <asm/socket.h>			/* arch-dependent defines	*/ | ||||||
| #include <cygwin/sockios.h>		/* the SIOCxxx I/O controls	*/ | #include <cygwin/sockios.h>		/* the SIOCxxx I/O controls	*/ | ||||||
| #include <cygwin/uio.h>			/* iovec support		*/ | #include <cygwin/uio.h>			/* iovec support		*/ | ||||||
| @@ -36,10 +58,6 @@ struct linger { | |||||||
|   unsigned short	l_linger;	/* How long to linger for	*/ |   unsigned short	l_linger;	/* How long to linger for	*/ | ||||||
| }; | }; | ||||||
|  |  | ||||||
| #ifndef socklen_t |  | ||||||
| #define socklen_t int |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| struct msghdr | struct msghdr | ||||||
| { | { | ||||||
|   void *		msg_name;	/* Socket name			*/ |   void *		msg_name;	/* Socket name			*/ | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| /* sys/un.h | /* sys/un.h | ||||||
|  |  | ||||||
|    Copyright 1999, 2001 Red Hat, Inc. |    Copyright 1999, 2001, 2005 Red Hat, Inc. | ||||||
|  |  | ||||||
| This file is part of Cygwin. | This file is part of Cygwin. | ||||||
|  |  | ||||||
| @@ -11,11 +11,13 @@ details. */ | |||||||
| #ifndef _SYS_UN_H | #ifndef _SYS_UN_H | ||||||
| #define _SYS_UN_H | #define _SYS_UN_H | ||||||
|  |  | ||||||
|  | #include <cygwin/socket.h> | ||||||
|  |  | ||||||
| /* POSIX requires only at least 100 bytes */ | /* POSIX requires only at least 100 bytes */ | ||||||
| #define UNIX_PATH_LEN   108 | #define UNIX_PATH_LEN   108 | ||||||
|  |  | ||||||
| struct sockaddr_un { | struct sockaddr_un { | ||||||
|   unsigned short sun_family;              /* address family AF_LOCAL/AF_UNIX */ |   sa_family_t	 sun_family;              /* address family AF_LOCAL/AF_UNIX */ | ||||||
|   char	         sun_path[UNIX_PATH_LEN]; /* 108 bytes of socket address     */ |   char	         sun_path[UNIX_PATH_LEN]; /* 108 bytes of socket address     */ | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user