]> git.saurik.com Git - apple/libdispatch.git/blob - dispatch/dispatch.h
libdispatch-703.30.5.tar.gz
[apple/libdispatch.git] / dispatch / dispatch.h
1 /*
2 * Copyright (c) 2008-2013 Apple Inc. All rights reserved.
3 *
4 * @APPLE_APACHE_LICENSE_HEADER_START@
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 * @APPLE_APACHE_LICENSE_HEADER_END@
19 */
20
21 #ifndef __DISPATCH_PUBLIC__
22 #define __DISPATCH_PUBLIC__
23
24 #ifdef __APPLE__
25 #include <Availability.h>
26 #include <TargetConditionals.h>
27 #else
28 #define __OSX_AVAILABLE_STARTING(x, y)
29 #define __OSX_AVAILABLE_BUT_DEPRECATED(...)
30 #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(...)
31 #define __OSX_AVAILABLE(...)
32 #define __IOS_AVAILABLE(...)
33 #define __TVOS_AVAILABLE(...)
34 #define __WATCHOS_AVAILABLE(...)
35 #define __OSX_DEPRECATED(...)
36 #define __IOS_DEPRECATED(...)
37 #define __TVOS_DEPRECATED(...)
38 #define __WATCHOS_DEPRECATED(...)
39 #endif // __APPLE__
40
41 #include <sys/cdefs.h>
42 #include <sys/types.h>
43 #include <stddef.h>
44 #include <stdint.h>
45 #include <stdbool.h>
46 #include <stdarg.h>
47 #include <unistd.h>
48 #include <fcntl.h>
49
50 #if defined(__linux__) && defined(__has_feature)
51 #if __has_feature(modules)
52 #include <stdio.h> // for off_t (to match Glibc.modulemap)
53 #endif
54 #endif
55
56 #define DISPATCH_API_VERSION 20160712
57
58 #ifndef __DISPATCH_BUILDING_DISPATCH__
59
60 #ifndef __DISPATCH_INDIRECT__
61 #define __DISPATCH_INDIRECT__
62 #endif
63
64 #include <os/object.h>
65 #include <dispatch/base.h>
66 #include <dispatch/time.h>
67 #include <dispatch/object.h>
68 #include <dispatch/queue.h>
69 #include <dispatch/block.h>
70 #include <dispatch/source.h>
71 #include <dispatch/group.h>
72 #include <dispatch/semaphore.h>
73 #include <dispatch/once.h>
74 #include <dispatch/data.h>
75 #include <dispatch/io.h>
76
77 #undef __DISPATCH_INDIRECT__
78
79 #endif /* !__DISPATCH_BUILDING_DISPATCH__ */
80
81 #endif