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 #include <string.h> 41 #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) 42 #include <unistd.h> 43 #endif 44 #include <fcntl.h> 45 #if defined(_WIN32) 46 #include <time.h> 47 #endif 48 49 #if (defined(__linux__) || defined(__FreeBSD__)) && defined(__has_feature) 50 #if __has_feature(modules) 51 #if !defined(__arm__) 52 #include <stdio.h> // for off_t (to match Glibc.modulemap) 53 #endif 54 #endif 55 #endif 56 57 #define DISPATCH_API_VERSION 20181008 58 59 #ifndef __DISPATCH_INDIRECT__ 60 #define __DISPATCH_INDIRECT__ 61 #endif 62 63 #include <os/object.h> 64 #include <os/workgroup.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 #include <dispatch/workloop.h> 77 78 #undef __DISPATCH_INDIRECT__ 79 80 #endif