Home | History | Annotate | Download | only in include
      1 /* $Id: fake-socket.h,v 1.3 2002/04/12 03:35:40 tim Exp $ */
      2 
      3 #ifndef	_FAKE_SOCKET_H
      4 #define	_FAKE_SOCKET_H
      5 
      6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
      7 
      8 #ifdef __cplusplus
      9 extern "C" {
     10 #endif
     11 
     12 #include "includes.h"
     13 #include "sys/types.h"
     14 
     15 #ifndef HAVE_STRUCT_SOCKADDR_STORAGE
     16 # define	_SS_MAXSIZE	128	/* Implementation specific max size */
     17 # define       _SS_PADSIZE     (_SS_MAXSIZE - sizeof (struct sockaddr))
     18 
     19 struct sockaddr_storage {
     20 	struct	sockaddr ss_sa;
     21 	char		__ss_pad2[_SS_PADSIZE];
     22 };
     23 # define ss_family ss_sa.sa_family
     24 #endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
     25 
     26 #ifndef IN6_IS_ADDR_LOOPBACK
     27 # define IN6_IS_ADDR_LOOPBACK(a) \
     28 	(((u_int32_t *) (a))[0] == 0 && ((u_int32_t *) (a))[1] == 0 && \
     29 	 ((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
     30 #endif /* !IN6_IS_ADDR_LOOPBACK */
     31 
     32 #ifndef HAVE_STRUCT_IN6_ADDR
     33 struct in6_addr {
     34 	u_int8_t		s6_addr[16];
     35 };
     36 #endif /* !HAVE_STRUCT_IN6_ADDR */
     37 
     38 #ifndef HAVE_STRUCT_SOCKADDR_IN6
     39 struct sockaddr_in6 {
     40    unsigned short sin6_family;
     41 	u_int16_t sin6_port;
     42 	u_int32_t sin6_flowinfo;
     43 	struct in6_addr sin6_addr;
     44 };
     45 #endif /* !HAVE_STRUCT_SOCKADDR_IN6 */
     46 
     47 #ifndef AF_INET6
     48 /* Define it to something that should never appear */
     49 #define AF_INET6 AF_MAX
     50 #endif
     51 
     52 #ifdef __cplusplus
     53 }
     54 #endif
     55 
     56 #endif /* _FAKE_SOCKET_H */
     57