File: Constants.swift

package info (click to toggle)
swiftlang 6.2.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,856,264 kB
  • sloc: cpp: 9,995,718; ansic: 2,234,019; asm: 1,092,167; python: 313,940; objc: 82,726; f90: 80,126; lisp: 38,373; pascal: 25,580; sh: 20,378; ml: 5,058; perl: 4,751; makefile: 4,725; awk: 3,535; javascript: 3,018; xml: 918; fortran: 664; cs: 573; ruby: 396
file content (147 lines) | stat: -rw-r--r-- 4,241 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#if SYSTEM_PACKAGE_DARWIN
import Darwin
#elseif canImport(Glibc)
import CSystem
import Glibc
#elseif canImport(Musl)
import CSystem
import Musl
#elseif canImport(Android)
import CSystem
import Android
#elseif os(Windows)
import CSystem
import ucrt
#else
#error("Unsupported Platform")
#endif

import SystemPackage

#if !os(Windows)
@_alwaysEmitIntoClient
internal var _AT_EACCESS: CInt { AT_EACCESS }
@_alwaysEmitIntoClient
internal var _AT_SYMLINK_NOFOLLOW: CInt { AT_SYMLINK_NOFOLLOW }
@_alwaysEmitIntoClient
internal var _AT_SYMLINK_FOLLOW: CInt { AT_SYMLINK_FOLLOW }
@_alwaysEmitIntoClient
internal var _AT_REMOVEDIR: CInt { AT_REMOVEDIR }
#endif
#if SYSTEM_PACKAGE_DARWIN
@_alwaysEmitIntoClient
internal var _AT_REALDEV: CInt { AT_REALDEV }
@_alwaysEmitIntoClient
internal var _AT_FDONLY: CInt { AT_FDONLY }
@_alwaysEmitIntoClient
internal var _AT_SYMLINK_NOFOLLOW_ANY: CInt { AT_SYMLINK_NOFOLLOW_ANY }
#endif
/* FIXME: Disabled until CSystem will include "linux/fcntl.h"
#if os(Linux) || os(Android)
@_alwaysEmitIntoClient
internal var _AT_NO_AUTOMOUNT: CInt { AT_NO_AUTOMOUNT }
#endif
*/

#if !os(Windows)
@_alwaysEmitIntoClient
internal var _F_GETFL: CInt { F_GETFL }
@_alwaysEmitIntoClient
internal var _O_DSYNC: CInt { O_DSYNC }
#if os(Android)
@_alwaysEmitIntoClient
internal var _O_SYNC: CInt { __O_SYNC | O_DSYNC }
#else
@_alwaysEmitIntoClient
internal var _O_SYNC: CInt { O_SYNC }
#endif
#endif
#if os(Linux)
@_alwaysEmitIntoClient
internal var _O_RSYNC: CInt { O_RSYNC }
#endif

#if !os(Windows)
@_alwaysEmitIntoClient
internal var _UTIME_NOW: CInt {
    #if os(Linux) || os(Android)
    // Hard-code constants because it's defined in glibc in a form that
    // ClangImporter cannot interpret as constants.
    // https://github.com/torvalds/linux/blob/92901222f83d988617aee37680cb29e1a743b5e4/include/linux/stat.h#L15
    return ((1 << 30) - 1)
    #else
    return UTIME_NOW
    #endif
}
@_alwaysEmitIntoClient
internal var _UTIME_OMIT: CInt {
    #if os(Linux) || os(Android)
    // Hard-code constants because it's defined in glibc in a form that
    // ClangImporter cannot interpret as constants.
    // https://github.com/torvalds/linux/blob/92901222f83d988617aee37680cb29e1a743b5e4/include/linux/stat.h#L16
    return ((1 << 30) - 2)
    #else
    return UTIME_OMIT
    #endif
}

@_alwaysEmitIntoClient
internal var _DT_UNKNOWN: CInt { CInt(DT_UNKNOWN) }
@_alwaysEmitIntoClient
internal var _DT_FIFO: CInt { CInt(DT_FIFO) }
@_alwaysEmitIntoClient
internal var _DT_CHR: CInt { CInt(DT_CHR) }
@_alwaysEmitIntoClient
internal var _DT_DIR: CInt { CInt(DT_DIR) }
@_alwaysEmitIntoClient
internal var _DT_BLK: CInt { CInt(DT_BLK) }
@_alwaysEmitIntoClient
internal var _DT_REG: CInt { CInt(DT_REG) }
@_alwaysEmitIntoClient
internal var _DT_LNK: CInt { CInt(DT_LNK) }
@_alwaysEmitIntoClient
internal var _DT_SOCK: CInt { CInt(DT_SOCK) }
@_alwaysEmitIntoClient
internal var _DT_WHT: CInt { CInt(DT_WHT) }
#endif

@_alwaysEmitIntoClient
internal var _S_IFMT: CInterop.Mode { S_IFMT }
@_alwaysEmitIntoClient
internal var _S_IFCHR: CInterop.Mode { S_IFCHR }
@_alwaysEmitIntoClient
internal var _S_IFDIR: CInterop.Mode { S_IFDIR }
@_alwaysEmitIntoClient
internal var _S_IFREG: CInterop.Mode { S_IFREG }
#if !os(Windows)
@_alwaysEmitIntoClient
internal var _S_IFIFO: CInterop.Mode { S_IFIFO }
@_alwaysEmitIntoClient
internal var _S_IFBLK: CInterop.Mode { S_IFBLK }
@_alwaysEmitIntoClient
internal var _S_IFLNK: CInterop.Mode { S_IFLNK }
@_alwaysEmitIntoClient
internal var _S_IFSOCK: CInterop.Mode { S_IFSOCK }
#endif

#if os(Linux) || os(Android)
@_alwaysEmitIntoClient
internal var _CLOCK_BOOTTIME: CInterop.ClockId { CLOCK_BOOTTIME }
#endif
#if SYSTEM_PACKAGE_DARWIN
@_alwaysEmitIntoClient
internal var _CLOCK_MONOTONIC_RAW: CInterop.ClockId { CLOCK_MONOTONIC_RAW }
#endif
#if SYSTEM_PACKAGE_DARWIN || os(Linux) || os(Android) || os(OpenBSD) || os(FreeBSD) || os(WASI)
@_alwaysEmitIntoClient
internal var _CLOCK_MONOTONIC: CInterop.ClockId { CLOCK_MONOTONIC }
#endif

#if SYSTEM_PACKAGE_DARWIN
@_alwaysEmitIntoClient
internal var _CLOCK_UPTIME_RAW: CInterop.ClockId { CLOCK_UPTIME_RAW }
#endif
#if os(OpenBSD) || os(FreeBSD) || os(WASI)
@_alwaysEmitIntoClient
internal var _CLOCK_UPTIME: CInterop.ClockId { CLOCK_UPTIME }
#endif