xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/posix/sys/un.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1 /**
2  * D header file for POSIX.
3  *
4  * Copyright: Copyright Sean Kelly 2005 - 2009.
5  * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
6  * Authors:   Sean Kelly
7  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
8  */
9 
10 /*          Copyright Sean Kelly 2005 - 2009.
11  * Distributed under the Boost Software License, Version 1.0.
12  *    (See accompanying file LICENSE or copy at
13  *          http://www.boost.org/LICENSE_1_0.txt)
14  */
15 module core.sys.posix.sys.un;
16 
17 version (OSX)
18     version = Darwin;
19 else version (iOS)
20     version = Darwin;
21 else version (TVOS)
22     version = Darwin;
23 else version (WatchOS)
24     version = Darwin;
25 
26 version (Posix):
27 extern(C):
28 @system:
29 
30 public import core.sys.posix.sys.socket: sa_family_t;
31 
32 //
33 // Required
34 //
35 /*
36 struct sockaddr_un
37 {
38     sa_family_t sun_family;
39     char        sa_data[];
40 }
41 
42 sa_family_t    // From core.sys.posix.sys.socket
43 */
44 
version(linux)45 version (linux)
46 {
47     enum UNIX_PATH_MAX = 108;
48 
49     struct sockaddr_un
50     {
51         sa_family_t         sun_family;
52         byte[UNIX_PATH_MAX] sun_path;
53     }
54 }
55 else version (Darwin)
56 {
57     struct sockaddr_un
58     {
59         ubyte       sun_len;
60         sa_family_t sun_family;
61         byte[104]   sun_path;
62     }
63 }
64 else version (FreeBSD)
65 {
66     struct sockaddr_un
67     {
68         ubyte       sun_len;
69         sa_family_t sun_family;
70         byte[104]   sun_path;
71     }
72 }
73 else version (NetBSD)
74 {
75     struct sockaddr_un
76     {
77         ubyte       sun_len;
78         sa_family_t sun_family;
79         byte[104]   sun_path;
80     }
81 }
82 else version (OpenBSD)
83 {
84     struct sockaddr_un
85     {
86         ubyte       sun_len;
87         sa_family_t sun_family;
88         byte[104]   sun_path;
89     }
90 }
91 else version (DragonFlyBSD)
92 {
93     struct sockaddr_un
94     {
95         ubyte       sun_len;
96         sa_family_t sun_family;
97         byte[104]   sun_path;
98     }
99 }
100 else version (Solaris)
101 {
102     struct sockaddr_un
103     {
104         sa_family_t  sun_family;
105         byte[108]    sun_path;
106     }
107 }
108