]> andersk Git - openssh.git/blob - fake-socket.h
- Merged OpenBSD IPv6 patch:
[openssh.git] / fake-socket.h
1 #ifndef _FAKE_SOCKET_H
2 #define _FAKE_SOCKET_H
3
4 #include "config.h"
5 #include "sys/types.h"
6
7 #ifndef HAVE_STRUCT_SOCKADDR_STORAGE
8 #define _SS_MAXSIZE     128     /* Implementation specific max size */
9 #define _SS_ALIGNSIZE   (sizeof(int))
10 #define _SS_PAD1SIZE    (_SS_ALIGNSIZE - sizeof(u_short))
11 #define _SS_PAD2SIZE    (_SS_MAXSIZE - (sizeof(u_short) + \
12                                         _SS_PAD1SIZE + _SS_ALIGNSIZE))
13
14 struct sockaddr_storage {
15   u_short       ss_family;
16   char          __ss_pad1[_SS_PAD1SIZE];
17   int                   __ss_align;
18   char          __ss_pad2[_SS_PAD2SIZE];
19 };
20 #endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
21
22 #ifndef IN6_IS_ADDR_LOOPBACK
23 #define IN6_IS_ADDR_LOOPBACK(a) \
24         (((u_int32_t *) (a))[0] == 0 && ((u_int32_t *) (a))[1] == 0 && \
25          ((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
26 #endif /* !IN6_IS_ADDR_LOOPBACK */
27
28 #ifndef HAVE_STRUCT_IN6_ADDR
29 struct in6_addr {
30         u_int8_t                s6_addr[16];
31 };
32 #endif /* !HAVE_STRUCT_IN6_ADDR */
33
34 #ifndef HAVE_STRUCT_SOCKADDR_IN6
35 struct sockaddr_in6 {
36    unsigned short sin6_family;
37         u_int16_t sin6_port;
38         u_int32_t sin6_flowinfo;
39         struct in6_addr sin6_addr;
40 };
41 #endif /* !HAVE_STRUCT_SOCKADDR_IN6 */
42
43 #ifndef AF_INET6
44 /* Define it to something that should never appear */
45 #define AF_INET6 AF_MAX
46 #endif
47
48 #endif /* !_FAKE_SOCKET_H */
49
This page took 0.040442 seconds and 5 git commands to generate.