summaryrefslogtreecommitdiff
path: root/openbsd-compat/fake-socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat/fake-socket.h')
-rw-r--r--openbsd-compat/fake-socket.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/openbsd-compat/fake-socket.h b/openbsd-compat/fake-socket.h
new file mode 100644
index 000000000..f364797fa
--- /dev/null
+++ b/openbsd-compat/fake-socket.h
@@ -0,0 +1,47 @@
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#include "includes.h"
7#include "sys/types.h"
8
9#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
10# define _SS_MAXSIZE 128 /* Implementation specific max size */
11# define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr))
12
13struct sockaddr_storage {
14 struct sockaddr ss_sa;
15 char __ss_pad2[_SS_PADSIZE];
16};
17# define ss_family ss_sa.sa_family
18#endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
19
20#ifndef IN6_IS_ADDR_LOOPBACK
21# define IN6_IS_ADDR_LOOPBACK(a) \
22 (((u_int32_t *) (a))[0] == 0 && ((u_int32_t *) (a))[1] == 0 && \
23 ((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
24#endif /* !IN6_IS_ADDR_LOOPBACK */
25
26#ifndef HAVE_STRUCT_IN6_ADDR
27struct in6_addr {
28 u_int8_t s6_addr[16];
29};
30#endif /* !HAVE_STRUCT_IN6_ADDR */
31
32#ifndef HAVE_STRUCT_SOCKADDR_IN6
33struct sockaddr_in6 {
34 unsigned short sin6_family;
35 u_int16_t sin6_port;
36 u_int32_t sin6_flowinfo;
37 struct in6_addr sin6_addr;
38};
39#endif /* !HAVE_STRUCT_SOCKADDR_IN6 */
40
41#ifndef AF_INET6
42/* Define it to something that should never appear */
43#define AF_INET6 AF_MAX
44#endif
45
46#endif /* !_FAKE_SOCKET_H */
47