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.utime;
16 
17 import core.sys.posix.config;
18 public import core.sys.posix.sys.types; // for time_t
19 
20 version (OSX)
21     version = Darwin;
22 else version (iOS)
23     version = Darwin;
24 else version (TVOS)
25     version = Darwin;
26 else version (WatchOS)
27     version = Darwin;
28 
29 version (Posix):
30 extern (C):
31 nothrow:
32 @nogc:
33 
34 //
35 // Required
36 //
37 /*
38 struct utimbuf
39 {
40     time_t  actime;
41     time_t  modtime;
42 }
43 
44 int utime(const scope char*, const scope utimbuf*);
45 */
46 
47 version (CRuntime_Glibc)
48 {
49     struct utimbuf
50     {
51         time_t  actime;
52         time_t  modtime;
53     }
54 
55     int utime(const scope char*, const scope utimbuf*);
56 }
57 else version (CRuntime_Musl)
58 {
59     struct utimbuf
60     {
61         time_t  actime;
62         time_t  modtime;
63     }
64 
65     pragma(mangle, muslRedirTime64Mangle!("utime", "__utime64"))
66     int utime(const scope char*, const scope utimbuf*);
67 }
68 else version (Darwin)
69 {
70     struct utimbuf
71     {
72         time_t  actime;
73         time_t  modtime;
74     }
75 
76     int utime(const scope char*, const scope utimbuf*);
77 }
78 else version (FreeBSD)
79 {
80     struct utimbuf
81     {
82         time_t  actime;
83         time_t  modtime;
84     }
85 
86     int utime(const scope char*, const scope utimbuf*);
87 }
88 else version (NetBSD)
89 {
90     struct utimbuf
91     {
92         time_t  actime;
93         time_t  modtime;
94     }
95 
96     int utime(const scope char*, const scope utimbuf*);
97 }
98 else version (OpenBSD)
99 {
100     struct utimbuf
101     {
102         time_t  actime;
103         time_t  modtime;
104     }
105 
106     int utime(const scope char*, const scope utimbuf*);
107 }
108 else version (DragonFlyBSD)
109 {
110     struct utimbuf
111     {
112         time_t  actime;
113         time_t  modtime;
114     }
115 
116     int utime(const scope char*, const scope utimbuf*);
117 }
118 else version (Solaris)
119 {
120     struct utimbuf
121     {
122         time_t  actime;
123         time_t  modtime;
124     }
125 
126     int utime(const scope char*, const scope utimbuf*);
127 }
128 else version (CRuntime_Bionic)
129 {
130     struct utimbuf
131     {
132         time_t  actime;
133         time_t  modtime;
134     }
135 
136     int utime(const scope char*, const scope utimbuf*);
137 }
138 else version (CRuntime_UClibc)
139 {
140     struct utimbuf
141     {
142         time_t  actime;
143         time_t  modtime;
144     }
145 
146     int utime(const scope char*, const scope utimbuf*);
147 }