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 <os/availability.h> 27 #include <TargetConditionals.h> 28 #include <os/base.h> 29 #elif defined(_WIN32) 30 #include <os/generic_win_base.h> 31 #elif defined(__unix__) 32 #include <os/generic_unix_base.h> 33 #endif 34 35 #include <sys/types.h> 36 #include <stddef.h> 37 #include <stdint.h> 38 #include <stdbool.h> 39 #include <stdarg.h> 40 #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) 41 #include <unistd.h> 42 #endif 43 #include <fcntl.h> 44 45 #if (defined(__linux__) || defined(__FreeBSD__)) && defined(__has_feature) 46 #if __has_feature(modules) 47 #if !defined(__arm__) 48 #include <stdio.h> // for off_t (to match Glibc.modulemap) 49 #endif 50 #endif 51 #endif 52 53 #define DISPATCH_API_VERSION 20181008 54 55 #ifndef __DISPATCH_INDIRECT__ 56 #define __DISPATCH_INDIRECT__ 57 #endif 58 59 #include <os/object.h> 60 #include <dispatch/base.h> 61 #include <dispatch/time.h> 62 #include <dispatch/object.h> 63 #include <dispatch/queue.h> 64 #include <dispatch/block.h> 65 #include <dispatch/source.h> 66 #include <dispatch/group.h> 67 #include <dispatch/semaphore.h> 68 #include <dispatch/once.h> 69 #include <dispatch/data.h> 70 #include <dispatch/io.h> 71 #include <dispatch/workloop.h> 72 73 #undef __DISPATCH_INDIRECT__ 74 75 #endif