this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge remote-tracking branch 'origin/master' into update-sources

+1805 -165
+1 -1
cmake/FindFFmpeg.cmake
··· 88 88 endif() 89 89 endif() 90 90 91 - find_package_handle_standard_args(FFMPEG 91 + find_package_handle_standard_args(FFmpeg 92 92 FOUND_VAR FFMPEG_FOUND 93 93 REQUIRED_VARS 94 94 FFMPEG_LIBRARIES
+1 -1
cmake/FindSetcap.cmake
··· 5 5 PATHS /bin /usr/bin /sbin /usr/sbin 6 6 ) 7 7 8 - find_package_handle_standard_args(SETCAP DEFAULT_MSG SETCAP_EXECUTABLE) 8 + find_package_handle_standard_args(Setcap DEFAULT_MSG SETCAP_EXECUTABLE) 9 9 10 10 mark_as_advanced(SETCAP_EXECUTABLE) 11 11
+1 -1
debian/control
··· 3 3 Section: misc 4 4 Priority: optional 5 5 Standards-Version: 4.4.0 6 - Build-Depends: cmake, clang | clang-9, bison, flex, libfuse-dev, libudev-dev, pkg-config, libc6-dev-i386, linux-headers-amd64|linux-headers-generic, gcc-multilib, libcairo2-dev, libgl1-mesa-dev, libtiff5-dev, libfreetype6-dev, libelf-dev, libxml2-dev, libegl1-mesa-dev, libglu1-mesa-dev, libfontconfig1-dev, libbsd-dev, debhelper, ninja-build, python, libxrandr-dev, libxcursor-dev, libgif-dev, libavcodec-dev, libavformat-dev, libavresample-dev, libavutil-dev, libpulse-dev, libavformat-dev, libavcodec-dev, libavresample-dev, libdbus-1-dev 6 + Build-Depends: cmake, clang | clang-9, bison, flex, libfuse-dev, libudev-dev, pkg-config, libc6-dev-i386, linux-headers-amd64|linux-headers-generic, gcc-multilib, libcairo2-dev, libgl1-mesa-dev, libtiff5-dev, libfreetype6-dev, libelf-dev, libxml2-dev, libegl1-mesa-dev, libglu1-mesa-dev, libfontconfig1-dev, libbsd-dev, debhelper, ninja-build, python, libxrandr-dev, libxcursor-dev, libgif-dev, libavcodec-dev, libavformat-dev, libavresample-dev, libavutil-dev, libpulse-dev, libavformat-dev, libavcodec-dev, libavresample-dev, libdbus-1-dev, libxkbfile-dev 7 7 8 8 Package: darling 9 9 Architecture: amd64
-19
rpm/README.md
··· 1 - # Building RPMs 2 - 3 - 1. Install `docker` and `docker-compose` 4 - 2. `cd rpm` 5 - 3. Build the docker image: `docker-compose build rpm` 6 - 3. Build the rpms: `docker-compose run rpm` (Can take over half an hour) 7 - 4. Now you can run `dnf install RPMS/x84_64/darling*.rpm` 8 - 5. `setsebool -P mmap_low_allowed 1` to allow darling low level access and run 9 - 10 - ## Building on other operating systems 11 - 12 - By default, it will build for Fedora 29. To use a different OS, simply 13 - 14 - RPM_OS=fedora:27 docker-compose build rpm 15 - 16 - ## Future improvements 17 - 18 - - Everything is based off of dnf. Supporting zypper and yum will reach others 19 - - Because of the way the submodules are handled, this isn't quite ready for official releasing but this can be solved using [%autosetup in the %prep to checkout the submodules.](https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Submodules)
+2
src/buildtools/CMakeLists.txt
··· 3 3 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) 4 4 5 5 add_executable(getuuid getuuid.c) 6 + add_executable(elfdep elfdep.c) 6 7 8 + #add_subdirectory(Rez)
+182
src/buildtools/elfdep.c
··· 1 + /* 2 + This file is part of Darling. 3 + 4 + Copyright (C) 2018-2020 Lubos Dolezel 5 + 6 + Darling is free software: you can redistribute it and/or modify 7 + it under the terms of the GNU General Public License as published by 8 + the Free Software Foundation, either version 3 of the License, or 9 + (at your option) any later version. 10 + 11 + Darling is distributed in the hope that it will be useful, 12 + but WITHOUT ANY WARRANTY; without even the implied warranty of 13 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 + GNU General Public License for more details. 15 + 16 + You should have received a copy of the GNU General Public License 17 + along with Darling. If not, see <http://www.gnu.org/licenses/>. 18 + */ 19 + #include <stdio.h> 20 + #include <unistd.h> 21 + #include <fcntl.h> 22 + #include <sys/mman.h> 23 + #include <stdint.h> 24 + #include <stdbool.h> 25 + #include <stdlib.h> 26 + #include <mach-o/loader.h> 27 + #include <mach-o/fat.h> 28 + #include <string.h> 29 + #include <errno.h> 30 + 31 + bool printElfdepAny(const void* mem); 32 + bool printElfdepMH(const struct mach_header* mhdr); 33 + bool printElfdepMH64(const struct mach_header_64* mhdr); 34 + bool printFat(const struct fat_header* fhdr); 35 + bool printTaf(const struct fat_header* fhdr); 36 + 37 + int main(int argc, const char** argv) 38 + { 39 + if (argc != 2) 40 + { 41 + fprintf(stderr, "elfdep: Prints the ELF dependency (SONAME) of a Mach-O file, if any\n"); 42 + fprintf(stderr, "Usage: elfdep <macho-file>\n"); 43 + return EXIT_FAILURE; 44 + } 45 + 46 + int fd = open(argv[1], O_RDONLY); 47 + if (fd == -1) 48 + { 49 + fprintf(stderr, "Cannot open %s: %s", argv[1], strerror(errno)); 50 + return EXIT_FAILURE; 51 + } 52 + 53 + size_t length = lseek(fd, 0, SEEK_END); 54 + 55 + void* mem = mmap(NULL, length, PROT_READ, MAP_SHARED, fd, 0); 56 + if (mem == MAP_FAILED) 57 + { 58 + perror("mmap"); 59 + return EXIT_FAILURE; 60 + } 61 + 62 + close(fd); 63 + 64 + printElfdepAny(mem); 65 + 66 + munmap(mem, length); 67 + 68 + return EXIT_SUCCESS; 69 + } 70 + 71 + bool printElfdepAny(const void* mem) 72 + { 73 + const struct mach_header* mhdr = (struct mach_header*) mem; 74 + 75 + if (mhdr->magic == MH_MAGIC) 76 + return printElfdepMH(mhdr); 77 + else if (mhdr->magic == MH_MAGIC_64) 78 + return printElfdepMH64((struct mach_header_64*) mhdr); 79 + else if (mhdr->magic == FAT_MAGIC) 80 + return printFat((struct fat_header*) mhdr); 81 + else if (mhdr->magic == FAT_CIGAM) 82 + return printTaf((struct fat_header*) mhdr); 83 + else 84 + { 85 + fprintf(stderr, "File format not recognized\n"); 86 + exit(1); 87 + } 88 + } 89 + 90 + bool printElfdep(const struct load_command* lc, const void* base) 91 + { 92 + if (lc->cmd == LC_SEGMENT) 93 + { 94 + const struct segment_command* sc = (const struct segment_command*) lc; 95 + 96 + if (strcmp(sc->segname, "__TEXT") == 0) 97 + { 98 + const struct section* sect = (const struct section*)(sc+1); 99 + for (int i = 0; i < sc->nsects; i++) 100 + { 101 + if (strcmp(sect->sectname, "__elfname") == 0) 102 + { 103 + printf("%s\n", ((const char*)base) + sect->offset); 104 + return true; 105 + } 106 + sect++; 107 + } 108 + } 109 + } 110 + else if (lc->cmd == LC_SEGMENT_64) 111 + { 112 + const struct segment_command_64* sc = (const struct segment_command_64*) lc; 113 + 114 + if (strcmp(sc->segname, "__TEXT") == 0) 115 + { 116 + const struct section_64* sect = (const struct section_64*)(sc+1); 117 + for (int i = 0; i < sc->nsects; i++) 118 + { 119 + if (strcmp(sect->sectname, "__elfname") == 0) 120 + { 121 + printf("%s\n", ((const char*)base) + sect->offset); 122 + return true; 123 + } 124 + sect++; 125 + } 126 + } 127 + } 128 + return false; 129 + } 130 + 131 + bool printElfdepMH(const struct mach_header* mhdr) 132 + { 133 + const uint8_t* command = (const uint8_t*)(mhdr + 1); 134 + for (uint32_t i = 0; i < mhdr->ncmds; i++) 135 + { 136 + if (printElfdep((const struct load_command*) command, mhdr)) 137 + return true; 138 + else 139 + command += ((const struct load_command*)command)->cmdsize; 140 + } 141 + return false; 142 + } 143 + 144 + bool printElfdepMH64(const struct mach_header_64* mhdr) 145 + { 146 + const uint8_t* command = (const uint8_t*)(mhdr + 1); 147 + for (uint32_t i = 0; i < mhdr->ncmds; i++) 148 + { 149 + if (printElfdep((const struct load_command*) command, mhdr)) 150 + return true; 151 + else 152 + command += ((const struct load_command*)command)->cmdsize; 153 + } 154 + return false; 155 + } 156 + 157 + bool printFat(const struct fat_header* fhdr) 158 + { 159 + const struct fat_arch* fa = ((const struct fat_arch*) (fhdr+1)); 160 + 161 + for (uint32_t i = 0; i < fhdr->nfat_arch; i++) 162 + { 163 + if (printElfdepAny(((char*) fhdr) + fa[i].offset)) 164 + return true; 165 + } 166 + 167 + return false; 168 + } 169 + 170 + bool printTaf(const struct fat_header* fhdr) 171 + { 172 + const struct fat_arch* fa = ((const struct fat_arch*) (fhdr+1)); 173 + 174 + for (uint32_t i = 0; i < __builtin_bswap32(fhdr->nfat_arch); i++) 175 + { 176 + if (printElfdepAny(((char*) fhdr) + __builtin_bswap32(fa[i].offset))) 177 + return true; 178 + } 179 + 180 + return false; 181 + } 182 +
+1 -1
src/duct/src/commpage.c
··· 1 - #include <i386/cpu_capabilities.h> 1 + #include <machine/cpu_capabilities.h> 2 2 #include <sys/mman.h> 3 3 #include <stdint.h> 4 4
+33
src/frameworks/ApplicationServices/ATS/src/ATS.c
··· 22 22 #include <stdio.h> 23 23 #include <CoreFoundation/CoreFoundation.h> 24 24 25 + const CFStringRef kATSAutoActivationConfirmDontShowAgainKey = CFSTR("DontShow"); 26 + const CFStringRef kATSAutoActivationConfirmResultKey = CFSTR("Result"); 27 + const CFStringRef kATSValidationActivationInfo = CFSTR("activationinfo"); 28 + const CFStringRef kATSValidationActivationInfoKeep = CFSTR("activationinforetain"); 29 + const CFStringRef kATSValidationDontRunHiLevelAPITests = CFSTR("hilevelapitests"); 30 + const CFStringRef kATSValidationDynamicActivationInfo = CFSTR("getactivationinto"); 31 + const CFStringRef kATSValidationDynamicGlyphTests = CFSTR("performglyphtests"); 32 + const CFStringRef kATSValidationFontMD5 = CFSTR("md5"); 33 + const CFStringRef kATSValidationFontSummaryOnly = CFSTR("fontsummary"); 34 + const CFStringRef kATSValidationGenerateFontChecksum = CFSTR("generatechecksum"); 35 + const CFStringRef kATSValidationIgnoreDumpFiles = CFSTR("ignoredumpfiles"); 36 + const CFStringRef kATSValidationIgnoreErrors = CFSTR("ignoreerrors"); 37 + const CFStringRef kATSValidationOverallResult = CFSTR("overallresult"); 38 + const CFStringRef kATSValidationPostScriptName = CFSTR("fontname"); 39 + const CFStringRef kATSValidationResults = CFSTR("results"); 40 + const CFStringRef kATSValidationRuleAuthor = CFSTR("author"); 41 + const CFStringRef kATSValidationRuleComponents = CFSTR("components"); 42 + const CFStringRef kATSValidationRuleCoverage = CFSTR("coverage"); 43 + const CFStringRef kATSValidationRuleDescription = CFSTR("kATSFontTestDescriptionKey"); 44 + const CFStringRef kATSValidationRuleFormat = CFSTR("format"); 45 + const CFStringRef kATSValidationRuleName = CFSTR("kATSFontTestNameKey"); 46 + const CFStringRef kATSValidationRulePriority = CFSTR("priority"); 47 + const CFStringRef kATSValidationRuleResult = CFSTR("result"); 48 + const CFStringRef kATSValidationRuleSeverity = CFSTR("severity"); 49 + const CFStringRef kATSValidationRuleVersion = CFSTR("version"); 50 + const CFStringRef kATSValidationRulesList = CFSTR("ruleslist"); 51 + const CFStringRef kATSValidationRunDynamic = CFSTR("dynamic"); 52 + const CFStringRef kATSValidationSkipDuplicateFontCheck = CFSTR("skipduplicates"); 53 + const CFStringRef kATSValidationTestsFailed = CFSTR("fail"); 54 + const CFStringRef kATSValidationTestsPassed = CFSTR("pass"); 55 + const CFStringRef kATSValidationTestsRun = CFSTR("run"); 56 + const CFStringRef kATSValidationTestsWarned = CFSTR("warn"); 57 + 25 58 static int verbose = 0; 26 59 27 60 __attribute__((constructor))
+1 -1
src/frameworks/ApplicationServices/HIServices/src/HIServices.c
··· 23 23 #include <stdio.h> 24 24 #include <CoreFoundation/CoreFoundation.h> 25 25 #include <LaunchServices/LaunchServicesPriv.h> 26 - #include <CoreGraphics/CGS.h> 26 + #include <CoreGraphics/CoreGraphicsPrivate.h> 27 27 28 28 const CFStringRef kAXUIElementCopyHierarchyArrayAttributesKey = CFSTR("AXCHAA"); 29 29 const CFStringRef kAXUIElementCopyHierarchyMaxArrayCountKey = CFSTR("AXCHMAC");
+3 -1
src/frameworks/CoreServices/constants.m
··· 1 1 #include <CoreFoundation/CoreFoundation.h> 2 2 3 - const CFStringRef _kLSPIDKey = CFSTR("pid"); 4 3 const CFStringRef kUTTagClassDeviceModelCode = CFSTR("com.apple.device-model-code"); 5 4 const CFStringRef kUTTagClassFilenameExtension = CFSTR("public.filename-extension"); 6 5 const CFStringRef kUTTagClassMIMEType = CFSTR("public.mime-type"); ··· 37 36 const CFStringRef kUTTypeUTF16ExternalPlainText = CFSTR("public.utf16-external-plain-text"); 38 37 const CFStringRef kUTTypeUTF16PlainText = CFSTR("public.utf16-plain-text"); 39 38 39 + /* re-exported from LaunchServices */ 40 + const CFStringRef _kLSPIDKey = CFSTR("pid"); 40 41 const CFStringRef _kLSASNKey = CFSTR("LSASN"); 41 42 const CFStringRef _kLSApplicationTypeKey = CFSTR("ApplicationType"); 42 43 const CFStringRef _kLSApplicationUIElementTypeKey = CFSTR("UIElement"); ··· 49 50 50 51 const CFStringRef kMDItemDisplayName = CFSTR("kMDItemDisplayName"); 51 52 const CFStringRef kMDItemLastUsedDate = CFSTR("kMDItemLastUsedDate"); 53 + const CFStringRef kMDItemFinderComment = CFSTR("kMDItemFinderComment");
+21
src/frameworks/CoreServices/include/LaunchServices/LSSharedFile.h
··· 1 + #ifndef LSSHAREDFILE_H 2 + #define LSSHAREDFILE_H 3 + #include <CoreFoundation/CFString.h> 4 + 5 + extern const CFStringRef kLSSharedFileListFavoriteItems; 6 + extern const CFStringRef kLSSharedFileListFavoriteVolumes; 7 + extern const CFStringRef kLSSharedFileListGlobalLoginItems; 8 + // extern const LSSharedFileListRef kLSSharedFileListItemBeforeFirst; 9 + extern const CFStringRef kLSSharedFileListItemHidden; 10 + // extern const LSSharedFileListItemRef kLSSharedFileListItemLast; 11 + extern const CFStringRef kLSSharedFileListLoginItemHidden; 12 + extern const CFStringRef kLSSharedFileListRecentApplicationItems; 13 + extern const CFStringRef kLSSharedFileListRecentDocumentItems; 14 + extern const CFStringRef kLSSharedFileListRecentItemsMaxAmount; 15 + extern const CFStringRef kLSSharedFileListRecentServerItems; 16 + extern const CFStringRef kLSSharedFileListSessionLoginItems; 17 + extern const CFStringRef kLSSharedFileListVolumesComputerVisible; 18 + extern const CFStringRef kLSSharedFileListVolumesIDiskVisible; 19 + extern const CFStringRef kLSSharedFileListVolumesNetworkVisible; 20 + 21 + #endif
+1
src/frameworks/CoreServices/include/LaunchServices/LaunchServices.h
··· 3 3 4 4 #include <LaunchServices/LSInfo.h> 5 5 #include <LaunchServices/LSOpen.h> 6 + #include <LaunchServices/LSSharedFile.h> 6 7 #include <LaunchServices/UTCoreTypes.h> 7 8 #include <LaunchServices/UTType.h> 8 9
+1 -1
src/frameworks/CoreServices/src/FSEvents/fseventsd.m
··· 24 24 #include <stdlib.h> 25 25 #include <ext/fanotify.h> 26 26 #include <ext/file_handle.h> 27 - #include <linux/fanotify.h> 27 + #include "./linux/fanotify.h" 28 28 #include <dispatch/dispatch.h> 29 29 #include <CoreServices/FileManager.h> 30 30 #import <Foundation/NSObjCRuntime.h>
+162
src/frameworks/CoreServices/src/FSEvents/linux/fanotify.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 + #ifndef _LINUX_FANOTIFY_H 3 + #define _LINUX_FANOTIFY_H 4 + 5 + #include <linux/types.h> 6 + 7 + /* the following events that user-space can register for */ 8 + #define FAN_ACCESS 0x00000001 /* File was accessed */ 9 + #define FAN_MODIFY 0x00000002 /* File was modified */ 10 + #define FAN_ATTRIB 0x00000004 /* Metadata changed */ 11 + #define FAN_CLOSE_WRITE 0x00000008 /* Writtable file closed */ 12 + #define FAN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */ 13 + #define FAN_OPEN 0x00000020 /* File was opened */ 14 + #define FAN_MOVED_FROM 0x00000040 /* File was moved from X */ 15 + #define FAN_MOVED_TO 0x00000080 /* File was moved to Y */ 16 + #define FAN_CREATE 0x00000100 /* Subfile was created */ 17 + #define FAN_DELETE 0x00000200 /* Subfile was deleted */ 18 + #define FAN_DELETE_SELF 0x00000400 /* Self was deleted */ 19 + #define FAN_MOVE_SELF 0x00000800 /* Self was moved */ 20 + #define FAN_OPEN_EXEC 0x00001000 /* File was opened for exec */ 21 + 22 + #define FAN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */ 23 + 24 + #define FAN_OPEN_PERM 0x00010000 /* File open in perm check */ 25 + #define FAN_ACCESS_PERM 0x00020000 /* File accessed in perm check */ 26 + #define FAN_OPEN_EXEC_PERM 0x00040000 /* File open/exec in perm check */ 27 + 28 + #define FAN_ONDIR 0x40000000 /* event occurred against dir */ 29 + 30 + #define FAN_EVENT_ON_CHILD 0x08000000 /* interested in child events */ 31 + 32 + /* helper events */ 33 + #define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */ 34 + #define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) /* moves */ 35 + 36 + /* flags used for fanotify_init() */ 37 + #define FAN_CLOEXEC 0x00000001 38 + #define FAN_NONBLOCK 0x00000002 39 + 40 + /* These are NOT bitwise flags. Both bits are used together. */ 41 + #define FAN_CLASS_NOTIF 0x00000000 42 + #define FAN_CLASS_CONTENT 0x00000004 43 + #define FAN_CLASS_PRE_CONTENT 0x00000008 44 + 45 + /* Deprecated - do not use this in programs and do not add new flags here! */ 46 + #define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | \ 47 + FAN_CLASS_PRE_CONTENT) 48 + 49 + #define FAN_UNLIMITED_QUEUE 0x00000010 50 + #define FAN_UNLIMITED_MARKS 0x00000020 51 + #define FAN_ENABLE_AUDIT 0x00000040 52 + 53 + /* Flags to determine fanotify event format */ 54 + #define FAN_REPORT_TID 0x00000100 /* event->pid is thread id */ 55 + #define FAN_REPORT_FID 0x00000200 /* Report unique file id */ 56 + 57 + /* Deprecated - do not use this in programs and do not add new flags here! */ 58 + #define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \ 59 + FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE |\ 60 + FAN_UNLIMITED_MARKS) 61 + 62 + /* flags used for fanotify_modify_mark() */ 63 + #define FAN_MARK_ADD 0x00000001 64 + #define FAN_MARK_REMOVE 0x00000002 65 + #define FAN_MARK_DONT_FOLLOW 0x00000004 66 + #define FAN_MARK_ONLYDIR 0x00000008 67 + /* FAN_MARK_MOUNT is 0x00000010 */ 68 + #define FAN_MARK_IGNORED_MASK 0x00000020 69 + #define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040 70 + #define FAN_MARK_FLUSH 0x00000080 71 + /* FAN_MARK_FILESYSTEM is 0x00000100 */ 72 + 73 + /* These are NOT bitwise flags. Both bits can be used togther. */ 74 + #define FAN_MARK_INODE 0x00000000 75 + #define FAN_MARK_MOUNT 0x00000010 76 + #define FAN_MARK_FILESYSTEM 0x00000100 77 + 78 + /* Deprecated - do not use this in programs and do not add new flags here! */ 79 + #define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD |\ 80 + FAN_MARK_REMOVE |\ 81 + FAN_MARK_DONT_FOLLOW |\ 82 + FAN_MARK_ONLYDIR |\ 83 + FAN_MARK_MOUNT |\ 84 + FAN_MARK_IGNORED_MASK |\ 85 + FAN_MARK_IGNORED_SURV_MODIFY |\ 86 + FAN_MARK_FLUSH) 87 + 88 + /* Deprecated - do not use this in programs and do not add new flags here! */ 89 + #define FAN_ALL_EVENTS (FAN_ACCESS |\ 90 + FAN_MODIFY |\ 91 + FAN_CLOSE |\ 92 + FAN_OPEN) 93 + 94 + /* 95 + * All events which require a permission response from userspace 96 + */ 97 + /* Deprecated - do not use this in programs and do not add new flags here! */ 98 + #define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM |\ 99 + FAN_ACCESS_PERM) 100 + 101 + /* Deprecated - do not use this in programs and do not add new flags here! */ 102 + #define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS |\ 103 + FAN_ALL_PERM_EVENTS |\ 104 + FAN_Q_OVERFLOW) 105 + 106 + #define FANOTIFY_METADATA_VERSION 3 107 + 108 + struct fanotify_event_metadata { 109 + __u32 event_len; 110 + __u8 vers; 111 + __u8 reserved; 112 + __u16 metadata_len; 113 + __aligned_u64 mask; 114 + __s32 fd; 115 + __s32 pid; 116 + }; 117 + 118 + #define FAN_EVENT_INFO_TYPE_FID 1 119 + 120 + /* Variable length info record following event metadata */ 121 + struct fanotify_event_info_header { 122 + __u8 info_type; 123 + __u8 pad; 124 + __u16 len; 125 + }; 126 + 127 + /* Unique file identifier info record */ 128 + struct fanotify_event_info_fid { 129 + struct fanotify_event_info_header hdr; 130 + __kernel_fsid_t fsid; 131 + /* 132 + * Following is an opaque struct file_handle that can be passed as 133 + * an argument to open_by_handle_at(2). 134 + */ 135 + unsigned char handle[0]; 136 + }; 137 + 138 + struct fanotify_response { 139 + __s32 fd; 140 + __u32 response; 141 + }; 142 + 143 + /* Legit userspace responses to a _PERM event */ 144 + #define FAN_ALLOW 0x01 145 + #define FAN_DENY 0x02 146 + #define FAN_AUDIT 0x10 /* Bit mask to create audit record for result */ 147 + 148 + /* No fd set in event */ 149 + #define FAN_NOFD -1 150 + 151 + /* Helper functions to deal with fanotify_event_metadata buffers */ 152 + #define FAN_EVENT_METADATA_LEN (sizeof(struct fanotify_event_metadata)) 153 + 154 + #define FAN_EVENT_NEXT(meta, len) ((len) -= (meta)->event_len, \ 155 + (struct fanotify_event_metadata*)(((char *)(meta)) + \ 156 + (meta)->event_len)) 157 + 158 + #define FAN_EVENT_OK(meta, len) ((long)(len) >= (long)FAN_EVENT_METADATA_LEN && \ 159 + (long)(meta)->event_len >= (long)FAN_EVENT_METADATA_LEN && \ 160 + (long)(meta)->event_len <= (long)(len)) 161 + 162 + #endif /* _LINUX_FANOTIFY_H */
+16
src/frameworks/CoreServices/src/LaunchServices/constants.c
··· 24 24 25 25 const CFStringRef _kLSASNKey = CFSTR("LSASN"); 26 26 27 + const CFStringRef kLSSharedFileListFavoriteItems = CFSTR("com.apple.LSSharedFileList.FavoriteItems"); 28 + const CFStringRef kLSSharedFileListFavoriteVolumes = CFSTR("com.apple.LSSharedFileList.FavoriteVolumes"); 29 + const CFStringRef kLSSharedFileListGlobalLoginItems = CFSTR("com.apple.LSSharedFileList.GlobalLoginItems"); 30 + // const LSSharedFileListRef kLSSharedFileListItemBeforeFirst; 31 + const CFStringRef kLSSharedFileListItemHidden = CFSTR("com.apple.LSSharedFileList.ItemIsHidden"); 32 + // const LSSharedFileListItemRef kLSSharedFileListItemLast; 33 + const CFStringRef kLSSharedFileListLoginItemHidden = CFSTR("com.apple.loginitem.HideOnLaunch"); 34 + const CFStringRef kLSSharedFileListRecentApplicationItems = CFSTR("com.apple.LSSharedFileList.RecentApplications"); 35 + const CFStringRef kLSSharedFileListRecentDocumentItems = CFSTR("com.apple.LSSharedFileList.RecentDocuments"); 36 + const CFStringRef kLSSharedFileListRecentItemsMaxAmount = CFSTR("com.apple.LSSharedFileList.MaxAmount"); 37 + const CFStringRef kLSSharedFileListRecentServerItems = CFSTR("com.apple.LSSharedFileList.RecentServers"); 38 + const CFStringRef kLSSharedFileListSessionLoginItems = CFSTR("com.apple.LSSharedFileList.SessionLoginItems"); 39 + const CFStringRef kLSSharedFileListVolumesComputerVisible = CFSTR("com.apple.LSSharedFileList.FavoriteVolumes.ComputerIsVisible"); 40 + const CFStringRef kLSSharedFileListVolumesIDiskVisible = CFSTR("com.apple.LSSharedFileList.FavoriteVolumes.iDiskIsVisible"); 41 + const CFStringRef kLSSharedFileListVolumesNetworkVisible = CFSTR("com.apple.LSSharedFileList.FavoriteVolumes.NetworkIsVisible"); 42 + 27 43 const CFStringRef kUTExportedTypeDeclarationsKey = CFSTR("UTExportedTypeDeclarations"); 28 44 const CFStringRef kUTImportedTypeDeclarationsKey = CFSTR("UTImportedTypeDeclarations"); 29 45 const CFStringRef kUTTypeIdentifierKey = CFSTR("UTTypeIdentifier");
+76
src/frameworks/CoreVideo/include/CoreVideo/CVPixelBuffer.h
··· 1 + #ifndef CVPIXELBUFFER_H 2 + #define CVPIXELBUFFER_H 3 + 4 + enum 5 + { 6 + kCVPixelFormatType_1Monochrome = 0x00000001, 7 + kCVPixelFormatType_2Indexed = 0x00000002, 8 + kCVPixelFormatType_4Indexed = 0x00000004, 9 + kCVPixelFormatType_8Indexed = 0x00000008, 10 + kCVPixelFormatType_1IndexedGray_WhiteIsZero = 0x00000021, 11 + kCVPixelFormatType_2IndexedGray_WhiteIsZero = 0x00000022, 12 + kCVPixelFormatType_4IndexedGray_WhiteIsZero = 0x00000024, 13 + kCVPixelFormatType_8IndexedGray_WhiteIsZero = 0x00000028, 14 + kCVPixelFormatType_16BE555 = 0x00000010, 15 + kCVPixelFormatType_16LE555 = 'L555', 16 + kCVPixelFormatType_16LE5551 = '5551', 17 + kCVPixelFormatType_16BE565 = 'B565', 18 + kCVPixelFormatType_16LE565 = 'L565', 19 + kCVPixelFormatType_24RGB = 0x00000018, 20 + kCVPixelFormatType_24BGR = '24BG', 21 + kCVPixelFormatType_32ARGB = 0x00000020, 22 + kCVPixelFormatType_32BGRA = 'BGRA', 23 + kCVPixelFormatType_32ABGR = 'ABGR', 24 + kCVPixelFormatType_32RGBA = 'RGBA', 25 + kCVPixelFormatType_64ARGB = 'b64a', 26 + kCVPixelFormatType_48RGB = 'b48r', 27 + kCVPixelFormatType_32AlphaGray = 'b32a', 28 + kCVPixelFormatType_16Gray = 'b16g', 29 + kCVPixelFormatType_30RGB = 'R10k', 30 + kCVPixelFormatType_422YpCbCr8 = '2vuy', 31 + kCVPixelFormatType_4444YpCbCrA8 = 'v408', 32 + kCVPixelFormatType_4444YpCbCrA8R = 'r408', 33 + kCVPixelFormatType_4444AYpCbCr8 = 'y408', 34 + kCVPixelFormatType_4444AYpCbCr16 = 'y416', 35 + kCVPixelFormatType_444YpCbCr8 = 'v308', 36 + kCVPixelFormatType_422YpCbCr16 = 'v216', 37 + kCVPixelFormatType_422YpCbCr10 = 'v210', 38 + kCVPixelFormatType_444YpCbCr10 = 'v410', 39 + kCVPixelFormatType_420YpCbCr8Planar = 'y420', 40 + kCVPixelFormatType_420YpCbCr8PlanarFullRange = 'f420', 41 + kCVPixelFormatType_422YpCbCr_4A_8BiPlanar = 'a2vy', 42 + kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange = '420v', 43 + kCVPixelFormatType_420YpCbCr8BiPlanarFullRange = '420f', 44 + kCVPixelFormatType_422YpCbCr8_yuvs = 'yuvs', 45 + kCVPixelFormatType_422YpCbCr8FullRange = 'yuvf', 46 + kCVPixelFormatType_OneComponent8 = 'L008', 47 + kCVPixelFormatType_TwoComponent8 = '2C08', 48 + kCVPixelFormatType_30RGBLEPackedWideGamut = 'w30r', 49 + kCVPixelFormatType_ARGB2101010LEPacked = 'l10r', 50 + kCVPixelFormatType_OneComponent16Half = 'L00h', 51 + kCVPixelFormatType_OneComponent32Float = 'L00f', 52 + kCVPixelFormatType_TwoComponent16Half = '2C0h', 53 + kCVPixelFormatType_TwoComponent32Float = '2C0f', 54 + kCVPixelFormatType_64RGBAHalf = 'RGhA', 55 + kCVPixelFormatType_128RGBAFloat = 'RGfA', 56 + kCVPixelFormatType_14Bayer_GRBG = 'grb4', 57 + kCVPixelFormatType_14Bayer_RGGB = 'rgg4', 58 + kCVPixelFormatType_14Bayer_BGGR = 'bgg4', 59 + kCVPixelFormatType_14Bayer_GBRG = 'gbr4', 60 + kCVPixelFormatType_DisparityFloat16 = 'hdis', 61 + kCVPixelFormatType_DisparityFloat32 = 'fdis', 62 + kCVPixelFormatType_DepthFloat16 = 'hdep', 63 + kCVPixelFormatType_DepthFloat32 = 'fdep', 64 + kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange = 'x420', 65 + kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange = 'x422', 66 + kCVPixelFormatType_444YpCbCr10BiPlanarVideoRange = 'x444', 67 + kCVPixelFormatType_420YpCbCr10BiPlanarFullRange = 'xf20', 68 + kCVPixelFormatType_422YpCbCr10BiPlanarFullRange = 'xf22', 69 + kCVPixelFormatType_444YpCbCr10BiPlanarFullRange = 'xf44', 70 + kCVPixelFormatType_420YpCbCr8VideoRange_8A_TriPlanar = 'v0a8', 71 + }; 72 + 73 + extern const CFStringRef kCVPixelBufferMetalCompatibilityKey; 74 + // TODO: This header file is incomplete 75 + 76 + #endif
+1
src/frameworks/CoreVideo/src/constants.c
··· 6 6 const CFStringRef kCVPixelBufferIOSurfacePropertiesKey = CFSTR("IOSurfaceProperties"); 7 7 const CFStringRef kCVPixelBufferOpenGLCompatibilityKey = CFSTR("OpenGLCompatibility"); 8 8 const CFStringRef kCVPixelBufferPixelFormatTypeKey = CFSTR("PixelFormatType"); 9 + const CFStringRef kCVPixelBufferMetalCompatibilityKey = CFSTR("MetalCompatibility");
+8
src/frameworks/IOSurface/src/constants.m
··· 44 44 const CFStringRef kIOSurfacePixelSizeCastingAllowed = CFSTR("IOSurfacePixelSizeCastingAllowed"); 45 45 const CFStringRef kIOSurfacePlaneComponentBitDepths = CFSTR("IOSurfacePlaneComponentBitDepths"); 46 46 const CFStringRef kIOSurfacePlaneComponentBitOffsets = CFSTR("IOSurfacePlaneComponentBitOffsets"); 47 + const CFStringRef kIOSurfaceColorSpace = CFSTR("IOSurfaceColorSpace"); 48 + const CFStringRef kIOSurfaceIsDisplayable = CFSTR("IsDisplayable"); 49 + const CFStringRef kIOSurfaceName = CFSTR("IOSurfaceName"); 50 + const CFStringRef kIOSurfacePixelCastingAllowed = CFSTR("IOSurfacePixelSizeCastingAllowed"); 51 + const CFStringRef kIOSurfaceProtectionOptions = CFSTR("IOSurfaceProtectionOptions"); 52 + const CFStringRef kIOSurfaceYCbCrMatrix = CFSTR("IOSurfaceYCbCrMatrix"); 53 + const CFStringRef kIOSurfaceYCbCrMatrix_ITU_R_601_4_String = CFSTR("ITU_R_601_4"); 54 + const CFStringRef kIOSurfaceYCbCrMatrix_ITU_R_709_2_String = CFSTR("ITU_R_709_2"); 47 55 48 56 IOSurfacePropertyKey IOSurfacePropertyKeyAllocSize = @"IOSurfacePropertyKeyAllocSize"; 49 57 IOSurfacePropertyKey IOSurfacePropertyKeyWidth = @"IOSurfacePropertyKeyWidth";
+2
src/frameworks/OpenGL/CMakeLists.txt
··· 23 23 GL 24 24 GLU 25 25 EGL 26 + CoreFoundation 27 + CoreGraphics 26 28 ) 27 29 28 30 set_property(TARGET OpenGL APPEND_STRING PROPERTY LINK_FLAGS
+69 -5
src/frameworks/OpenGL/OpenGL.c
··· 5 5 6 6 #include <OpenGL/OpenGL.h> 7 7 #include <OpenGL/CGLInternal.h> 8 + #include <CoreFoundation/CFDictionary.h> 9 + #include <pthread.h> 8 10 9 11 // Try to get the right (generic) type definitions. 10 12 // In particular, we really want EGLNativeDisplayType to be void *, ··· 32 34 EGL_NONE 33 35 }; 34 36 37 + struct _CGLDisplay 38 + { 39 + EGLDisplay display; 40 + EGLConfig config; 41 + int num_config; 42 + }; 43 + 44 + static CFMutableDictionaryRef g_displays; 45 + static pthread_mutex_t g_displaysMutex = PTHREAD_MUTEX_INITIALIZER; 46 + 35 47 struct _CGLContextObj { 36 48 GLuint retain_count; 37 49 pthread_mutex_t lock; ··· 61 73 default: 62 74 return 0; 63 75 } 76 + } 77 + 78 + __attribute__((constructor)) 79 + static void _CGLInitialize(void) 80 + { 81 + g_displays = CFDictionaryCreateMutable(NULL, 0, NULL, NULL); 64 82 } 65 83 66 84 static int attributes_count(const CGLPixelFormatAttribute *attrs) { ··· 86 104 87 105 eglBindAPI(EGL_OPENGL_API); 88 106 107 + return kCGLNoError; 108 + } 109 + 110 + static struct _CGLDisplay* getCGLDisplay(CGSConnectionID cid) 111 + { 112 + struct _CGLDisplay* rv; 113 + 114 + pthread_mutex_lock(&g_displaysMutex); 115 + rv = (struct _CGLDisplay*) CFDictionaryGetValue(g_displays, (const void*)(unsigned long) cid); 116 + pthread_mutex_unlock(&g_displaysMutex); 117 + 118 + if (!rv) 119 + { 120 + EGLDisplay disp = eglGetDisplay(_CGSNativeDisplay(cid)); 121 + if (disp == EGL_NO_DISPLAY) 122 + return NULL; 123 + 124 + rv = (struct _CGLDisplay*) malloc(sizeof(*rv)); 125 + rv->display = disp; 126 + 127 + eglInitialize(rv->display, NULL, NULL); 128 + eglChooseConfig(rv->display, attribute_list, &rv->config, 1, &rv->num_config); 129 + 130 + eglBindAPI(EGL_OPENGL_API); 131 + 132 + pthread_mutex_lock(&g_displaysMutex); 133 + CFDictionaryAddValue(g_displays, (const void*)(unsigned long) cid, rv); 134 + pthread_mutex_unlock(&g_displaysMutex); 135 + } 136 + 137 + return rv; 138 + } 139 + 140 + CGLError CGLSetSurface(CGLContextObj gl, CGSConnectionID cid, CGSWindowID wid, CGSSurfaceID sid) 141 + { 142 + struct _CGLDisplay* disp = getCGLDisplay(cid); 143 + if (!disp) 144 + return kCGLBadConnection; 145 + 146 + EGLNativeWindowType window; 147 + if (sid) 148 + window = (EGLNativeWindowType) _CGSNativeWindowForSurfaceID(cid, wid, sid); 149 + else 150 + window = (EGLNativeWindowType) _CGSNativeWindowForID(cid, wid); 151 + 152 + if (!window) 153 + return kCGLBadWindow; 154 + 155 + gl->egl_surface = eglCreateWindowSurface(disp->display, disp->config, window, NULL); 156 + if (gl->egl_surface == EGL_NO_SURFACE) 157 + return kCGLBadState; 89 158 return kCGLNoError; 90 159 } 91 160 ··· 243 312 244 313 *resultp = context; 245 314 246 - return kCGLNoError; 247 - } 248 - 249 - CGLError CGLSwapBuffers(CGLWindowRef window) { 250 - eglSwapBuffers(display, window); 251 315 return kCGLNoError; 252 316 } 253 317
+4 -1
src/frameworks/OpenGL/include/OpenGL/CGLInternal.h
··· 2 2 #define _CGL_INTERNAL_H_ 3 3 4 4 #include <OpenGL/OpenGL.h> 5 + #include <CoreGraphics/CoreGraphicsPrivate.h> 6 + #include <CoreFoundation/CFDictionary.h> 5 7 6 8 #ifdef __cplusplus 7 9 extern "C" { ··· 15 17 CGL_EXPORT void CGLDestroyWindow(CGLWindowRef window); 16 18 17 19 CGL_EXPORT CGLError CGLContextMakeCurrentAndAttachToWindow(CGLContextObj context, CGLWindowRef window); 18 - CGL_EXPORT CGLError CGLSwapBuffers(CGLWindowRef window); 20 + CGLError CGLSetSurface(CGLContextObj gl, CGSConnectionID cid, CGSWindowID wid, CGSSurfaceID sid); 21 + CGLContextObj CGWindowContextCreate(CGSConnectionID cid, CGSWindowID wid, CFDictionaryRef options); 19 22 20 23 #ifdef __cplusplus 21 24 }
+9
src/frameworks/SystemConfiguration/stubs.c
··· 11 11 const CFStringRef kSCPropNetIPv6Router = CFSTR("Router"); /* Yes, they are the same */ 12 12 const CFStringRef kSCCompSystem = CFSTR("System"); 13 13 14 + const CFStringRef kSCConsoleSessionUserName = CFSTR("kCGSSessionUserNameKey"); /* value is CFString */ 15 + const CFStringRef kSCConsoleSessionUID = CFSTR("kCGSSessionUserIDKey"); /* value is CFNumber (a uid_t) */ 16 + const CFStringRef kSCConsoleSessionConsoleSet = CFSTR("kCGSSessionConsoleSetKey"); /* value is CFNumber */ 17 + const CFStringRef kSCConsoleSessionOnConsole = CFSTR("kCGSSessionOnConsoleKey"); /* value is CFBoolean */ 18 + const CFStringRef kSCConsoleSessionLoginDone = CFSTR("kCGSessionLoginDoneKey"); /* value is CFBoolean */ 19 + const CFStringRef kSCConsoleSessionID = CFSTR("kCGSSessionIDKey"); /* value is CFNumber */ 20 + const CFStringRef kSCConsoleSessionSystemSafeBoot = CFSTR("kCGSSessionSystemSafeBoot"); /* value is CFBoolean */ 21 + const CFStringRef kSCConsoleSessionLoginwindowSafeLogin = CFSTR("kCGSSessionLoginwindowSafeLogin"); /* value is CFBoolean */ 22 + 14 23 CFStringRef SCDynamicStoreKeyCreateNetworkGlobalEntity(CFAllocatorRef allocator, CFStringRef domain, CFStringRef entity) 15 24 { 16 25 STUB();
+13 -8
src/kernel/emulation/linux/ext/epoll_create.c
··· 8 8 VISIBLE 9 9 int epoll_create (int __size) 10 10 { 11 - int rv; 11 + #if defined(__NR_epoll_create) 12 + int rv; 12 13 13 - rv = LINUX_SYSCALL(__NR_epoll_create, __size); 14 - if (rv < 0) 15 - { 16 - cerror(errno_linux_to_bsd(-rv)); 17 - return -1; 18 - } 14 + rv = LINUX_SYSCALL(__NR_epoll_create, __size); 15 + if (rv < 0) 16 + { 17 + cerror(errno_linux_to_bsd(-rv)); 18 + return -1; 19 + } 19 20 20 - return rv; 21 + return rv; 22 + #else 23 + // The size argument in __NR_epoll_create is ignored 24 + return epoll_create1(0); 25 + #endif 21 26 } 22 27
+7 -1
src/kernel/emulation/linux/ext/epoll_wait.c
··· 2 2 #include "../errno.h" 3 3 #include "../base.h" 4 4 #include <linux-syscalls/linux.h> 5 + #include <string.h> 5 6 6 7 extern long cerror(int __err); 7 8 ··· 11 12 { 12 13 int rv; 13 14 14 - rv = LINUX_SYSCALL(__NR_epoll_wait, __epfd, __events, __maxevents, 15 + #if defined(__NR_epoll_wait) 16 + rv = LINUX_SYSCALL(__NR_epoll_wait, __epfd, __events, __maxevents, 15 17 __timeout); 18 + #else 19 + rv = LINUX_SYSCALL(__NR_epoll_pwait, __epfd, __events, __maxevents, 20 + __timeout, NULL); 21 + #endif 16 22 if (rv < 0) 17 23 { 18 24 cerror(errno_linux_to_bsd(-rv));
+8 -2
src/kernel/emulation/linux/ext/eventfd.c
··· 10 10 { 11 11 int rv; 12 12 13 - rv = LINUX_SYSCALL(__flags ? __NR_eventfd2 : __NR_eventfd, __count, 14 - __flags); 13 + #if defined(__x86_64__) || defined(__i386__) 14 + rv = LINUX_SYSCALL(__flags ? __NR_eventfd2 : __NR_eventfd, __count, 15 + __flags); 16 + #else 17 + // It's not clear if 0 is offically a valid flag argument. 18 + // But we don't really have a choice. 19 + rv = LINUX_SYSCALL(__NR_eventfd2, __count, __flags); 20 + #endif 15 21 if (rv < 0) 16 22 { 17 23 cerror(errno_linux_to_bsd(-rv));
+5 -1
src/kernel/emulation/linux/ext/file_handle.c
··· 135 135 return -ENOENT; 136 136 137 137 // We have the path of the mount, lets get a file descriptor 138 - fd_m = LINUX_SYSCALL(__NR_open, mount_path, LINUX_O_RDONLY, 0); 138 + #if defined(__NR_open) 139 + fd_m = LINUX_SYSCALL(__NR_open, mount_path, LINUX_O_RDONLY, 0); 140 + #else 141 + fd_m = LINUX_SYSCALL(__NR_openat, LINUX_AT_FDCWD, mount_path, LINUX_O_RDONLY, 0); 142 + #endif 139 143 if (fd_m < 0) 140 144 return fd_m; 141 145
+12 -8
src/kernel/emulation/linux/ext/inotify_init.c
··· 8 8 VISIBLE 9 9 int inotify_init (void) 10 10 { 11 - int rv; 11 + #if defined(__NR_inotify_init) 12 + int rv; 12 13 13 - rv = LINUX_SYSCALL(__NR_inotify_init); 14 - if (rv < 0) 15 - { 16 - cerror(errno_linux_to_bsd(-rv)); 17 - return -1; 18 - } 14 + rv = LINUX_SYSCALL(__NR_inotify_init); 15 + if (rv < 0) 16 + { 17 + cerror(errno_linux_to_bsd(-rv)); 18 + return -1; 19 + } 19 20 20 - return rv; 21 + return rv; 22 + #else 23 + inotify_init1(0); 24 + #endif 21 25 } 22 26
+25
src/kernel/emulation/linux/linux-syscalls/linux-arm64.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 + /* 3 + * Copyright (C) 2012 ARM Ltd. 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + * 9 + * This program is distributed in the hope that it will be useful, 10 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 + * GNU General Public License for more details. 13 + * 14 + * You should have received a copy of the GNU General Public License 15 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 + */ 17 + 18 + #define __ARCH_WANT_RENAMEAT 19 + #define __ARCH_WANT_NEW_STAT 20 + #define __ARCH_WANT_SET_GET_RLIMIT 21 + #define __ARCH_WANT_TIME32_SYSCALLS 22 + #define __ARCH_WANT_SYS_CLONE3 23 + 24 + // #include <asm-generic/unistd.h> 25 + #include "linux-generic.h"
+903
src/kernel/emulation/linux/linux-syscalls/linux-generic.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 + #define __BITS_PER_LONG 64 3 + 4 + /* 5 + * This file contains the system call numbers, based on the 6 + * layout of the x86-64 architecture, which embeds the 7 + * pointer to the syscall in the table. 8 + * 9 + * As a basic principle, no duplication of functionality 10 + * should be added, e.g. we don't use lseek when llseek 11 + * is present. New architectures should use this file 12 + * and implement the less feature-full calls in user space. 13 + */ 14 + 15 + #ifndef __SYSCALL 16 + #define __SYSCALL(x, y) 17 + #endif 18 + 19 + #if __BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT) 20 + #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32) 21 + #else 22 + #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64) 23 + #endif 24 + 25 + #ifdef __SYSCALL_COMPAT 26 + #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _comp) 27 + #define __SC_COMP_3264(_nr, _32, _64, _comp) __SYSCALL(_nr, _comp) 28 + #else 29 + #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) 30 + #define __SC_COMP_3264(_nr, _32, _64, _comp) __SC_3264(_nr, _32, _64) 31 + #endif 32 + 33 + #define __NR_io_setup 0 34 + __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) 35 + #define __NR_io_destroy 1 36 + __SYSCALL(__NR_io_destroy, sys_io_destroy) 37 + #define __NR_io_submit 2 38 + __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) 39 + #define __NR_io_cancel 3 40 + __SYSCALL(__NR_io_cancel, sys_io_cancel) 41 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 42 + #define __NR_io_getevents 4 43 + __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) 44 + #endif 45 + 46 + /* fs/xattr.c */ 47 + #define __NR_setxattr 5 48 + __SYSCALL(__NR_setxattr, sys_setxattr) 49 + #define __NR_lsetxattr 6 50 + __SYSCALL(__NR_lsetxattr, sys_lsetxattr) 51 + #define __NR_fsetxattr 7 52 + __SYSCALL(__NR_fsetxattr, sys_fsetxattr) 53 + #define __NR_getxattr 8 54 + __SYSCALL(__NR_getxattr, sys_getxattr) 55 + #define __NR_lgetxattr 9 56 + __SYSCALL(__NR_lgetxattr, sys_lgetxattr) 57 + #define __NR_fgetxattr 10 58 + __SYSCALL(__NR_fgetxattr, sys_fgetxattr) 59 + #define __NR_listxattr 11 60 + __SYSCALL(__NR_listxattr, sys_listxattr) 61 + #define __NR_llistxattr 12 62 + __SYSCALL(__NR_llistxattr, sys_llistxattr) 63 + #define __NR_flistxattr 13 64 + __SYSCALL(__NR_flistxattr, sys_flistxattr) 65 + #define __NR_removexattr 14 66 + __SYSCALL(__NR_removexattr, sys_removexattr) 67 + #define __NR_lremovexattr 15 68 + __SYSCALL(__NR_lremovexattr, sys_lremovexattr) 69 + #define __NR_fremovexattr 16 70 + __SYSCALL(__NR_fremovexattr, sys_fremovexattr) 71 + 72 + /* fs/dcache.c */ 73 + #define __NR_getcwd 17 74 + __SYSCALL(__NR_getcwd, sys_getcwd) 75 + 76 + /* fs/cookies.c */ 77 + #define __NR_lookup_dcookie 18 78 + __SC_COMP(__NR_lookup_dcookie, sys_lookup_dcookie, compat_sys_lookup_dcookie) 79 + 80 + /* fs/eventfd.c */ 81 + #define __NR_eventfd2 19 82 + __SYSCALL(__NR_eventfd2, sys_eventfd2) 83 + 84 + /* fs/eventpoll.c */ 85 + #define __NR_epoll_create1 20 86 + __SYSCALL(__NR_epoll_create1, sys_epoll_create1) 87 + #define __NR_epoll_ctl 21 88 + __SYSCALL(__NR_epoll_ctl, sys_epoll_ctl) 89 + #define __NR_epoll_pwait 22 90 + __SC_COMP(__NR_epoll_pwait, sys_epoll_pwait, compat_sys_epoll_pwait) 91 + 92 + /* fs/fcntl.c */ 93 + #define __NR_dup 23 94 + __SYSCALL(__NR_dup, sys_dup) 95 + #define __NR_dup3 24 96 + __SYSCALL(__NR_dup3, sys_dup3) 97 + #define __NR3264_fcntl 25 98 + __SC_COMP_3264(__NR3264_fcntl, sys_fcntl64, sys_fcntl, compat_sys_fcntl64) 99 + 100 + /* fs/inotify_user.c */ 101 + #define __NR_inotify_init1 26 102 + __SYSCALL(__NR_inotify_init1, sys_inotify_init1) 103 + #define __NR_inotify_add_watch 27 104 + __SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch) 105 + #define __NR_inotify_rm_watch 28 106 + __SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch) 107 + 108 + /* fs/ioctl.c */ 109 + #define __NR_ioctl 29 110 + __SC_COMP(__NR_ioctl, sys_ioctl, compat_sys_ioctl) 111 + 112 + /* fs/ioprio.c */ 113 + #define __NR_ioprio_set 30 114 + __SYSCALL(__NR_ioprio_set, sys_ioprio_set) 115 + #define __NR_ioprio_get 31 116 + __SYSCALL(__NR_ioprio_get, sys_ioprio_get) 117 + 118 + /* fs/locks.c */ 119 + #define __NR_flock 32 120 + __SYSCALL(__NR_flock, sys_flock) 121 + 122 + /* fs/namei.c */ 123 + #define __NR_mknodat 33 124 + __SYSCALL(__NR_mknodat, sys_mknodat) 125 + #define __NR_mkdirat 34 126 + __SYSCALL(__NR_mkdirat, sys_mkdirat) 127 + #define __NR_unlinkat 35 128 + __SYSCALL(__NR_unlinkat, sys_unlinkat) 129 + #define __NR_symlinkat 36 130 + __SYSCALL(__NR_symlinkat, sys_symlinkat) 131 + #define __NR_linkat 37 132 + __SYSCALL(__NR_linkat, sys_linkat) 133 + #ifdef __ARCH_WANT_RENAMEAT 134 + /* renameat is superseded with flags by renameat2 */ 135 + #define __NR_renameat 38 136 + __SYSCALL(__NR_renameat, sys_renameat) 137 + #endif /* __ARCH_WANT_RENAMEAT */ 138 + 139 + /* fs/namespace.c */ 140 + #define __NR_umount2 39 141 + __SYSCALL(__NR_umount2, sys_umount) 142 + #define __NR_mount 40 143 + __SC_COMP(__NR_mount, sys_mount, compat_sys_mount) 144 + #define __NR_pivot_root 41 145 + __SYSCALL(__NR_pivot_root, sys_pivot_root) 146 + 147 + /* fs/nfsctl.c */ 148 + #define __NR_nfsservctl 42 149 + __SYSCALL(__NR_nfsservctl, sys_ni_syscall) 150 + 151 + /* fs/open.c */ 152 + #define __NR3264_statfs 43 153 + __SC_COMP_3264(__NR3264_statfs, sys_statfs64, sys_statfs, \ 154 + compat_sys_statfs64) 155 + #define __NR3264_fstatfs 44 156 + __SC_COMP_3264(__NR3264_fstatfs, sys_fstatfs64, sys_fstatfs, \ 157 + compat_sys_fstatfs64) 158 + #define __NR3264_truncate 45 159 + __SC_COMP_3264(__NR3264_truncate, sys_truncate64, sys_truncate, \ 160 + compat_sys_truncate64) 161 + #define __NR3264_ftruncate 46 162 + __SC_COMP_3264(__NR3264_ftruncate, sys_ftruncate64, sys_ftruncate, \ 163 + compat_sys_ftruncate64) 164 + 165 + #define __NR_fallocate 47 166 + __SC_COMP(__NR_fallocate, sys_fallocate, compat_sys_fallocate) 167 + #define __NR_faccessat 48 168 + __SYSCALL(__NR_faccessat, sys_faccessat) 169 + #define __NR_chdir 49 170 + __SYSCALL(__NR_chdir, sys_chdir) 171 + #define __NR_fchdir 50 172 + __SYSCALL(__NR_fchdir, sys_fchdir) 173 + #define __NR_chroot 51 174 + __SYSCALL(__NR_chroot, sys_chroot) 175 + #define __NR_fchmod 52 176 + __SYSCALL(__NR_fchmod, sys_fchmod) 177 + #define __NR_fchmodat 53 178 + __SYSCALL(__NR_fchmodat, sys_fchmodat) 179 + #define __NR_fchownat 54 180 + __SYSCALL(__NR_fchownat, sys_fchownat) 181 + #define __NR_fchown 55 182 + __SYSCALL(__NR_fchown, sys_fchown) 183 + #define __NR_openat 56 184 + __SYSCALL(__NR_openat, sys_openat) 185 + #define __NR_close 57 186 + __SYSCALL(__NR_close, sys_close) 187 + #define __NR_vhangup 58 188 + __SYSCALL(__NR_vhangup, sys_vhangup) 189 + 190 + /* fs/pipe.c */ 191 + #define __NR_pipe2 59 192 + __SYSCALL(__NR_pipe2, sys_pipe2) 193 + 194 + /* fs/quota.c */ 195 + #define __NR_quotactl 60 196 + __SYSCALL(__NR_quotactl, sys_quotactl) 197 + 198 + /* fs/readdir.c */ 199 + #define __NR_getdents64 61 200 + __SYSCALL(__NR_getdents64, sys_getdents64) 201 + 202 + /* fs/read_write.c */ 203 + #define __NR3264_lseek 62 204 + __SC_3264(__NR3264_lseek, sys_llseek, sys_lseek) 205 + #define __NR_read 63 206 + __SYSCALL(__NR_read, sys_read) 207 + #define __NR_write 64 208 + __SYSCALL(__NR_write, sys_write) 209 + #define __NR_readv 65 210 + __SC_COMP(__NR_readv, sys_readv, compat_sys_readv) 211 + #define __NR_writev 66 212 + __SC_COMP(__NR_writev, sys_writev, compat_sys_writev) 213 + #define __NR_pread64 67 214 + __SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64) 215 + #define __NR_pwrite64 68 216 + __SC_COMP(__NR_pwrite64, sys_pwrite64, compat_sys_pwrite64) 217 + #define __NR_preadv 69 218 + __SC_COMP(__NR_preadv, sys_preadv, compat_sys_preadv) 219 + #define __NR_pwritev 70 220 + __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev) 221 + 222 + /* fs/sendfile.c */ 223 + #define __NR3264_sendfile 71 224 + __SYSCALL(__NR3264_sendfile, sys_sendfile64) 225 + 226 + /* fs/select.c */ 227 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 228 + #define __NR_pselect6 72 229 + __SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32) 230 + #define __NR_ppoll 73 231 + __SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32) 232 + #endif 233 + 234 + /* fs/signalfd.c */ 235 + #define __NR_signalfd4 74 236 + __SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4) 237 + 238 + /* fs/splice.c */ 239 + #define __NR_vmsplice 75 240 + __SC_COMP(__NR_vmsplice, sys_vmsplice, compat_sys_vmsplice) 241 + #define __NR_splice 76 242 + __SYSCALL(__NR_splice, sys_splice) 243 + #define __NR_tee 77 244 + __SYSCALL(__NR_tee, sys_tee) 245 + 246 + /* fs/stat.c */ 247 + #define __NR_readlinkat 78 248 + __SYSCALL(__NR_readlinkat, sys_readlinkat) 249 + #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) 250 + #define __NR3264_fstatat 79 251 + __SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat) 252 + #define __NR3264_fstat 80 253 + __SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat) 254 + #endif 255 + 256 + /* fs/sync.c */ 257 + #define __NR_sync 81 258 + __SYSCALL(__NR_sync, sys_sync) 259 + #define __NR_fsync 82 260 + __SYSCALL(__NR_fsync, sys_fsync) 261 + #define __NR_fdatasync 83 262 + __SYSCALL(__NR_fdatasync, sys_fdatasync) 263 + #ifdef __ARCH_WANT_SYNC_FILE_RANGE2 264 + #define __NR_sync_file_range2 84 265 + __SC_COMP(__NR_sync_file_range2, sys_sync_file_range2, \ 266 + compat_sys_sync_file_range2) 267 + #else 268 + #define __NR_sync_file_range 84 269 + __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \ 270 + compat_sys_sync_file_range) 271 + #endif 272 + 273 + /* fs/timerfd.c */ 274 + #define __NR_timerfd_create 85 275 + __SYSCALL(__NR_timerfd_create, sys_timerfd_create) 276 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 277 + #define __NR_timerfd_settime 86 278 + __SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \ 279 + sys_timerfd_settime) 280 + #define __NR_timerfd_gettime 87 281 + __SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \ 282 + sys_timerfd_gettime) 283 + #endif 284 + 285 + /* fs/utimes.c */ 286 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 287 + #define __NR_utimensat 88 288 + __SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat) 289 + #endif 290 + 291 + /* kernel/acct.c */ 292 + #define __NR_acct 89 293 + __SYSCALL(__NR_acct, sys_acct) 294 + 295 + /* kernel/capability.c */ 296 + #define __NR_capget 90 297 + __SYSCALL(__NR_capget, sys_capget) 298 + #define __NR_capset 91 299 + __SYSCALL(__NR_capset, sys_capset) 300 + 301 + /* kernel/exec_domain.c */ 302 + #define __NR_personality 92 303 + __SYSCALL(__NR_personality, sys_personality) 304 + 305 + /* kernel/exit.c */ 306 + #define __NR_exit 93 307 + __SYSCALL(__NR_exit, sys_exit) 308 + #define __NR_exit_group 94 309 + __SYSCALL(__NR_exit_group, sys_exit_group) 310 + #define __NR_waitid 95 311 + __SC_COMP(__NR_waitid, sys_waitid, compat_sys_waitid) 312 + 313 + /* kernel/fork.c */ 314 + #define __NR_set_tid_address 96 315 + __SYSCALL(__NR_set_tid_address, sys_set_tid_address) 316 + #define __NR_unshare 97 317 + __SYSCALL(__NR_unshare, sys_unshare) 318 + 319 + /* kernel/futex.c */ 320 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 321 + #define __NR_futex 98 322 + __SC_3264(__NR_futex, sys_futex_time32, sys_futex) 323 + #endif 324 + #define __NR_set_robust_list 99 325 + __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \ 326 + compat_sys_set_robust_list) 327 + #define __NR_get_robust_list 100 328 + __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \ 329 + compat_sys_get_robust_list) 330 + 331 + /* kernel/hrtimer.c */ 332 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 333 + #define __NR_nanosleep 101 334 + __SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep) 335 + #endif 336 + 337 + /* kernel/itimer.c */ 338 + #define __NR_getitimer 102 339 + __SC_COMP(__NR_getitimer, sys_getitimer, compat_sys_getitimer) 340 + #define __NR_setitimer 103 341 + __SC_COMP(__NR_setitimer, sys_setitimer, compat_sys_setitimer) 342 + 343 + /* kernel/kexec.c */ 344 + #define __NR_kexec_load 104 345 + __SC_COMP(__NR_kexec_load, sys_kexec_load, compat_sys_kexec_load) 346 + 347 + /* kernel/module.c */ 348 + #define __NR_init_module 105 349 + __SYSCALL(__NR_init_module, sys_init_module) 350 + #define __NR_delete_module 106 351 + __SYSCALL(__NR_delete_module, sys_delete_module) 352 + 353 + /* kernel/posix-timers.c */ 354 + #define __NR_timer_create 107 355 + __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create) 356 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 357 + #define __NR_timer_gettime 108 358 + __SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime) 359 + #endif 360 + #define __NR_timer_getoverrun 109 361 + __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) 362 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 363 + #define __NR_timer_settime 110 364 + __SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime) 365 + #endif 366 + #define __NR_timer_delete 111 367 + __SYSCALL(__NR_timer_delete, sys_timer_delete) 368 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 369 + #define __NR_clock_settime 112 370 + __SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime) 371 + #define __NR_clock_gettime 113 372 + __SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime) 373 + #define __NR_clock_getres 114 374 + __SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) 375 + #define __NR_clock_nanosleep 115 376 + __SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \ 377 + sys_clock_nanosleep) 378 + #endif 379 + 380 + /* kernel/printk.c */ 381 + #define __NR_syslog 116 382 + __SYSCALL(__NR_syslog, sys_syslog) 383 + 384 + /* kernel/ptrace.c */ 385 + #define __NR_ptrace 117 386 + __SYSCALL(__NR_ptrace, sys_ptrace) 387 + 388 + /* kernel/sched/core.c */ 389 + #define __NR_sched_setparam 118 390 + __SYSCALL(__NR_sched_setparam, sys_sched_setparam) 391 + #define __NR_sched_setscheduler 119 392 + __SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler) 393 + #define __NR_sched_getscheduler 120 394 + __SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler) 395 + #define __NR_sched_getparam 121 396 + __SYSCALL(__NR_sched_getparam, sys_sched_getparam) 397 + #define __NR_sched_setaffinity 122 398 + __SC_COMP(__NR_sched_setaffinity, sys_sched_setaffinity, \ 399 + compat_sys_sched_setaffinity) 400 + #define __NR_sched_getaffinity 123 401 + __SC_COMP(__NR_sched_getaffinity, sys_sched_getaffinity, \ 402 + compat_sys_sched_getaffinity) 403 + #define __NR_sched_yield 124 404 + __SYSCALL(__NR_sched_yield, sys_sched_yield) 405 + #define __NR_sched_get_priority_max 125 406 + __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max) 407 + #define __NR_sched_get_priority_min 126 408 + __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) 409 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 410 + #define __NR_sched_rr_get_interval 127 411 + __SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \ 412 + sys_sched_rr_get_interval) 413 + #endif 414 + 415 + /* kernel/signal.c */ 416 + #define __NR_restart_syscall 128 417 + __SYSCALL(__NR_restart_syscall, sys_restart_syscall) 418 + #define __NR_kill 129 419 + __SYSCALL(__NR_kill, sys_kill) 420 + #define __NR_tkill 130 421 + __SYSCALL(__NR_tkill, sys_tkill) 422 + #define __NR_tgkill 131 423 + __SYSCALL(__NR_tgkill, sys_tgkill) 424 + #define __NR_sigaltstack 132 425 + __SC_COMP(__NR_sigaltstack, sys_sigaltstack, compat_sys_sigaltstack) 426 + #define __NR_rt_sigsuspend 133 427 + __SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend) 428 + #define __NR_rt_sigaction 134 429 + __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) 430 + #define __NR_rt_sigprocmask 135 431 + __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) 432 + #define __NR_rt_sigpending 136 433 + __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) 434 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 435 + #define __NR_rt_sigtimedwait 137 436 + __SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \ 437 + sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) 438 + #endif 439 + #define __NR_rt_sigqueueinfo 138 440 + __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \ 441 + compat_sys_rt_sigqueueinfo) 442 + #define __NR_rt_sigreturn 139 443 + __SC_COMP(__NR_rt_sigreturn, sys_rt_sigreturn, compat_sys_rt_sigreturn) 444 + 445 + /* kernel/sys.c */ 446 + #define __NR_setpriority 140 447 + __SYSCALL(__NR_setpriority, sys_setpriority) 448 + #define __NR_getpriority 141 449 + __SYSCALL(__NR_getpriority, sys_getpriority) 450 + #define __NR_reboot 142 451 + __SYSCALL(__NR_reboot, sys_reboot) 452 + #define __NR_setregid 143 453 + __SYSCALL(__NR_setregid, sys_setregid) 454 + #define __NR_setgid 144 455 + __SYSCALL(__NR_setgid, sys_setgid) 456 + #define __NR_setreuid 145 457 + __SYSCALL(__NR_setreuid, sys_setreuid) 458 + #define __NR_setuid 146 459 + __SYSCALL(__NR_setuid, sys_setuid) 460 + #define __NR_setresuid 147 461 + __SYSCALL(__NR_setresuid, sys_setresuid) 462 + #define __NR_getresuid 148 463 + __SYSCALL(__NR_getresuid, sys_getresuid) 464 + #define __NR_setresgid 149 465 + __SYSCALL(__NR_setresgid, sys_setresgid) 466 + #define __NR_getresgid 150 467 + __SYSCALL(__NR_getresgid, sys_getresgid) 468 + #define __NR_setfsuid 151 469 + __SYSCALL(__NR_setfsuid, sys_setfsuid) 470 + #define __NR_setfsgid 152 471 + __SYSCALL(__NR_setfsgid, sys_setfsgid) 472 + #define __NR_times 153 473 + __SC_COMP(__NR_times, sys_times, compat_sys_times) 474 + #define __NR_setpgid 154 475 + __SYSCALL(__NR_setpgid, sys_setpgid) 476 + #define __NR_getpgid 155 477 + __SYSCALL(__NR_getpgid, sys_getpgid) 478 + #define __NR_getsid 156 479 + __SYSCALL(__NR_getsid, sys_getsid) 480 + #define __NR_setsid 157 481 + __SYSCALL(__NR_setsid, sys_setsid) 482 + #define __NR_getgroups 158 483 + __SYSCALL(__NR_getgroups, sys_getgroups) 484 + #define __NR_setgroups 159 485 + __SYSCALL(__NR_setgroups, sys_setgroups) 486 + #define __NR_uname 160 487 + __SYSCALL(__NR_uname, sys_newuname) 488 + #define __NR_sethostname 161 489 + __SYSCALL(__NR_sethostname, sys_sethostname) 490 + #define __NR_setdomainname 162 491 + __SYSCALL(__NR_setdomainname, sys_setdomainname) 492 + 493 + #ifdef __ARCH_WANT_SET_GET_RLIMIT 494 + /* getrlimit and setrlimit are superseded with prlimit64 */ 495 + #define __NR_getrlimit 163 496 + __SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit) 497 + #define __NR_setrlimit 164 498 + __SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit) 499 + #endif 500 + 501 + #define __NR_getrusage 165 502 + __SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage) 503 + #define __NR_umask 166 504 + __SYSCALL(__NR_umask, sys_umask) 505 + #define __NR_prctl 167 506 + __SYSCALL(__NR_prctl, sys_prctl) 507 + #define __NR_getcpu 168 508 + __SYSCALL(__NR_getcpu, sys_getcpu) 509 + 510 + /* kernel/time.c */ 511 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 512 + #define __NR_gettimeofday 169 513 + __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday) 514 + #define __NR_settimeofday 170 515 + __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday) 516 + #define __NR_adjtimex 171 517 + __SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex) 518 + #endif 519 + 520 + /* kernel/timer.c */ 521 + #define __NR_getpid 172 522 + __SYSCALL(__NR_getpid, sys_getpid) 523 + #define __NR_getppid 173 524 + __SYSCALL(__NR_getppid, sys_getppid) 525 + #define __NR_getuid 174 526 + __SYSCALL(__NR_getuid, sys_getuid) 527 + #define __NR_geteuid 175 528 + __SYSCALL(__NR_geteuid, sys_geteuid) 529 + #define __NR_getgid 176 530 + __SYSCALL(__NR_getgid, sys_getgid) 531 + #define __NR_getegid 177 532 + __SYSCALL(__NR_getegid, sys_getegid) 533 + #define __NR_gettid 178 534 + __SYSCALL(__NR_gettid, sys_gettid) 535 + #define __NR_sysinfo 179 536 + __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo) 537 + 538 + /* ipc/mqueue.c */ 539 + #define __NR_mq_open 180 540 + __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open) 541 + #define __NR_mq_unlink 181 542 + __SYSCALL(__NR_mq_unlink, sys_mq_unlink) 543 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 544 + #define __NR_mq_timedsend 182 545 + __SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend) 546 + #define __NR_mq_timedreceive 183 547 + __SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \ 548 + sys_mq_timedreceive) 549 + #endif 550 + #define __NR_mq_notify 184 551 + __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify) 552 + #define __NR_mq_getsetattr 185 553 + __SC_COMP(__NR_mq_getsetattr, sys_mq_getsetattr, compat_sys_mq_getsetattr) 554 + 555 + /* ipc/msg.c */ 556 + #define __NR_msgget 186 557 + __SYSCALL(__NR_msgget, sys_msgget) 558 + #define __NR_msgctl 187 559 + __SC_COMP(__NR_msgctl, sys_msgctl, compat_sys_msgctl) 560 + #define __NR_msgrcv 188 561 + __SC_COMP(__NR_msgrcv, sys_msgrcv, compat_sys_msgrcv) 562 + #define __NR_msgsnd 189 563 + __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd) 564 + 565 + /* ipc/sem.c */ 566 + #define __NR_semget 190 567 + __SYSCALL(__NR_semget, sys_semget) 568 + #define __NR_semctl 191 569 + __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) 570 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 571 + #define __NR_semtimedop 192 572 + __SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop) 573 + #endif 574 + #define __NR_semop 193 575 + __SYSCALL(__NR_semop, sys_semop) 576 + 577 + /* ipc/shm.c */ 578 + #define __NR_shmget 194 579 + __SYSCALL(__NR_shmget, sys_shmget) 580 + #define __NR_shmctl 195 581 + __SC_COMP(__NR_shmctl, sys_shmctl, compat_sys_shmctl) 582 + #define __NR_shmat 196 583 + __SC_COMP(__NR_shmat, sys_shmat, compat_sys_shmat) 584 + #define __NR_shmdt 197 585 + __SYSCALL(__NR_shmdt, sys_shmdt) 586 + 587 + /* net/socket.c */ 588 + #define __NR_socket 198 589 + __SYSCALL(__NR_socket, sys_socket) 590 + #define __NR_socketpair 199 591 + __SYSCALL(__NR_socketpair, sys_socketpair) 592 + #define __NR_bind 200 593 + __SYSCALL(__NR_bind, sys_bind) 594 + #define __NR_listen 201 595 + __SYSCALL(__NR_listen, sys_listen) 596 + #define __NR_accept 202 597 + __SYSCALL(__NR_accept, sys_accept) 598 + #define __NR_connect 203 599 + __SYSCALL(__NR_connect, sys_connect) 600 + #define __NR_getsockname 204 601 + __SYSCALL(__NR_getsockname, sys_getsockname) 602 + #define __NR_getpeername 205 603 + __SYSCALL(__NR_getpeername, sys_getpeername) 604 + #define __NR_sendto 206 605 + __SYSCALL(__NR_sendto, sys_sendto) 606 + #define __NR_recvfrom 207 607 + __SC_COMP(__NR_recvfrom, sys_recvfrom, compat_sys_recvfrom) 608 + #define __NR_setsockopt 208 609 + __SC_COMP(__NR_setsockopt, sys_setsockopt, compat_sys_setsockopt) 610 + #define __NR_getsockopt 209 611 + __SC_COMP(__NR_getsockopt, sys_getsockopt, compat_sys_getsockopt) 612 + #define __NR_shutdown 210 613 + __SYSCALL(__NR_shutdown, sys_shutdown) 614 + #define __NR_sendmsg 211 615 + __SC_COMP(__NR_sendmsg, sys_sendmsg, compat_sys_sendmsg) 616 + #define __NR_recvmsg 212 617 + __SC_COMP(__NR_recvmsg, sys_recvmsg, compat_sys_recvmsg) 618 + 619 + /* mm/filemap.c */ 620 + #define __NR_readahead 213 621 + __SC_COMP(__NR_readahead, sys_readahead, compat_sys_readahead) 622 + 623 + /* mm/nommu.c, also with MMU */ 624 + #define __NR_brk 214 625 + __SYSCALL(__NR_brk, sys_brk) 626 + #define __NR_munmap 215 627 + __SYSCALL(__NR_munmap, sys_munmap) 628 + #define __NR_mremap 216 629 + __SYSCALL(__NR_mremap, sys_mremap) 630 + 631 + /* security/keys/keyctl.c */ 632 + #define __NR_add_key 217 633 + __SYSCALL(__NR_add_key, sys_add_key) 634 + #define __NR_request_key 218 635 + __SYSCALL(__NR_request_key, sys_request_key) 636 + #define __NR_keyctl 219 637 + __SC_COMP(__NR_keyctl, sys_keyctl, compat_sys_keyctl) 638 + 639 + /* arch/example/kernel/sys_example.c */ 640 + #define __NR_clone 220 641 + __SYSCALL(__NR_clone, sys_clone) 642 + #define __NR_execve 221 643 + __SC_COMP(__NR_execve, sys_execve, compat_sys_execve) 644 + 645 + #define __NR3264_mmap 222 646 + __SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap) 647 + /* mm/fadvise.c */ 648 + #define __NR3264_fadvise64 223 649 + __SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64) 650 + 651 + /* mm/, CONFIG_MMU only */ 652 + #ifndef __ARCH_NOMMU 653 + #define __NR_swapon 224 654 + __SYSCALL(__NR_swapon, sys_swapon) 655 + #define __NR_swapoff 225 656 + __SYSCALL(__NR_swapoff, sys_swapoff) 657 + #define __NR_mprotect 226 658 + __SYSCALL(__NR_mprotect, sys_mprotect) 659 + #define __NR_msync 227 660 + __SYSCALL(__NR_msync, sys_msync) 661 + #define __NR_mlock 228 662 + __SYSCALL(__NR_mlock, sys_mlock) 663 + #define __NR_munlock 229 664 + __SYSCALL(__NR_munlock, sys_munlock) 665 + #define __NR_mlockall 230 666 + __SYSCALL(__NR_mlockall, sys_mlockall) 667 + #define __NR_munlockall 231 668 + __SYSCALL(__NR_munlockall, sys_munlockall) 669 + #define __NR_mincore 232 670 + __SYSCALL(__NR_mincore, sys_mincore) 671 + #define __NR_madvise 233 672 + __SYSCALL(__NR_madvise, sys_madvise) 673 + #define __NR_remap_file_pages 234 674 + __SYSCALL(__NR_remap_file_pages, sys_remap_file_pages) 675 + #define __NR_mbind 235 676 + __SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind) 677 + #define __NR_get_mempolicy 236 678 + __SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy) 679 + #define __NR_set_mempolicy 237 680 + __SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy) 681 + #define __NR_migrate_pages 238 682 + __SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages) 683 + #define __NR_move_pages 239 684 + __SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages) 685 + #endif 686 + 687 + #define __NR_rt_tgsigqueueinfo 240 688 + __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \ 689 + compat_sys_rt_tgsigqueueinfo) 690 + #define __NR_perf_event_open 241 691 + __SYSCALL(__NR_perf_event_open, sys_perf_event_open) 692 + #define __NR_accept4 242 693 + __SYSCALL(__NR_accept4, sys_accept4) 694 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 695 + #define __NR_recvmmsg 243 696 + __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32) 697 + #endif 698 + 699 + /* 700 + * Architectures may provide up to 16 syscalls of their own 701 + * starting with this value. 702 + */ 703 + #define __NR_arch_specific_syscall 244 704 + 705 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 706 + #define __NR_wait4 260 707 + __SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4) 708 + #endif 709 + #define __NR_prlimit64 261 710 + __SYSCALL(__NR_prlimit64, sys_prlimit64) 711 + #define __NR_fanotify_init 262 712 + __SYSCALL(__NR_fanotify_init, sys_fanotify_init) 713 + #define __NR_fanotify_mark 263 714 + __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) 715 + #define __NR_name_to_handle_at 264 716 + __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) 717 + #define __NR_open_by_handle_at 265 718 + __SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) 719 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 720 + #define __NR_clock_adjtime 266 721 + __SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime) 722 + #endif 723 + #define __NR_syncfs 267 724 + __SYSCALL(__NR_syncfs, sys_syncfs) 725 + #define __NR_setns 268 726 + __SYSCALL(__NR_setns, sys_setns) 727 + #define __NR_sendmmsg 269 728 + __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) 729 + #define __NR_process_vm_readv 270 730 + __SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \ 731 + compat_sys_process_vm_readv) 732 + #define __NR_process_vm_writev 271 733 + __SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \ 734 + compat_sys_process_vm_writev) 735 + #define __NR_kcmp 272 736 + __SYSCALL(__NR_kcmp, sys_kcmp) 737 + #define __NR_finit_module 273 738 + __SYSCALL(__NR_finit_module, sys_finit_module) 739 + #define __NR_sched_setattr 274 740 + __SYSCALL(__NR_sched_setattr, sys_sched_setattr) 741 + #define __NR_sched_getattr 275 742 + __SYSCALL(__NR_sched_getattr, sys_sched_getattr) 743 + #define __NR_renameat2 276 744 + __SYSCALL(__NR_renameat2, sys_renameat2) 745 + #define __NR_seccomp 277 746 + __SYSCALL(__NR_seccomp, sys_seccomp) 747 + #define __NR_getrandom 278 748 + __SYSCALL(__NR_getrandom, sys_getrandom) 749 + #define __NR_memfd_create 279 750 + __SYSCALL(__NR_memfd_create, sys_memfd_create) 751 + #define __NR_bpf 280 752 + __SYSCALL(__NR_bpf, sys_bpf) 753 + #define __NR_execveat 281 754 + __SC_COMP(__NR_execveat, sys_execveat, compat_sys_execveat) 755 + #define __NR_userfaultfd 282 756 + __SYSCALL(__NR_userfaultfd, sys_userfaultfd) 757 + #define __NR_membarrier 283 758 + __SYSCALL(__NR_membarrier, sys_membarrier) 759 + #define __NR_mlock2 284 760 + __SYSCALL(__NR_mlock2, sys_mlock2) 761 + #define __NR_copy_file_range 285 762 + __SYSCALL(__NR_copy_file_range, sys_copy_file_range) 763 + #define __NR_preadv2 286 764 + __SC_COMP(__NR_preadv2, sys_preadv2, compat_sys_preadv2) 765 + #define __NR_pwritev2 287 766 + __SC_COMP(__NR_pwritev2, sys_pwritev2, compat_sys_pwritev2) 767 + #define __NR_pkey_mprotect 288 768 + __SYSCALL(__NR_pkey_mprotect, sys_pkey_mprotect) 769 + #define __NR_pkey_alloc 289 770 + __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc) 771 + #define __NR_pkey_free 290 772 + __SYSCALL(__NR_pkey_free, sys_pkey_free) 773 + #define __NR_statx 291 774 + __SYSCALL(__NR_statx, sys_statx) 775 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 776 + #define __NR_io_pgetevents 292 777 + __SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents) 778 + #endif 779 + #define __NR_rseq 293 780 + __SYSCALL(__NR_rseq, sys_rseq) 781 + #define __NR_kexec_file_load 294 782 + __SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 783 + /* 295 through 402 are unassigned to sync up with generic numbers, don't use */ 784 + #if __BITS_PER_LONG == 32 785 + #define __NR_clock_gettime64 403 786 + __SYSCALL(__NR_clock_gettime64, sys_clock_gettime) 787 + #define __NR_clock_settime64 404 788 + __SYSCALL(__NR_clock_settime64, sys_clock_settime) 789 + #define __NR_clock_adjtime64 405 790 + __SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) 791 + #define __NR_clock_getres_time64 406 792 + __SYSCALL(__NR_clock_getres_time64, sys_clock_getres) 793 + #define __NR_clock_nanosleep_time64 407 794 + __SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) 795 + #define __NR_timer_gettime64 408 796 + __SYSCALL(__NR_timer_gettime64, sys_timer_gettime) 797 + #define __NR_timer_settime64 409 798 + __SYSCALL(__NR_timer_settime64, sys_timer_settime) 799 + #define __NR_timerfd_gettime64 410 800 + __SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) 801 + #define __NR_timerfd_settime64 411 802 + __SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) 803 + #define __NR_utimensat_time64 412 804 + __SYSCALL(__NR_utimensat_time64, sys_utimensat) 805 + #define __NR_pselect6_time64 413 806 + __SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64) 807 + #define __NR_ppoll_time64 414 808 + __SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64) 809 + #define __NR_io_pgetevents_time64 416 810 + __SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) 811 + #define __NR_recvmmsg_time64 417 812 + __SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64) 813 + #define __NR_mq_timedsend_time64 418 814 + __SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) 815 + #define __NR_mq_timedreceive_time64 419 816 + __SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) 817 + #define __NR_semtimedop_time64 420 818 + __SYSCALL(__NR_semtimedop_time64, sys_semtimedop) 819 + #define __NR_rt_sigtimedwait_time64 421 820 + __SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64) 821 + #define __NR_futex_time64 422 822 + __SYSCALL(__NR_futex_time64, sys_futex) 823 + #define __NR_sched_rr_get_interval_time64 423 824 + __SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) 825 + #endif 826 + 827 + #define __NR_pidfd_send_signal 424 828 + __SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal) 829 + #define __NR_io_uring_setup 425 830 + __SYSCALL(__NR_io_uring_setup, sys_io_uring_setup) 831 + #define __NR_io_uring_enter 426 832 + __SYSCALL(__NR_io_uring_enter, sys_io_uring_enter) 833 + #define __NR_io_uring_register 427 834 + __SYSCALL(__NR_io_uring_register, sys_io_uring_register) 835 + #define __NR_open_tree 428 836 + __SYSCALL(__NR_open_tree, sys_open_tree) 837 + #define __NR_move_mount 429 838 + __SYSCALL(__NR_move_mount, sys_move_mount) 839 + #define __NR_fsopen 430 840 + __SYSCALL(__NR_fsopen, sys_fsopen) 841 + #define __NR_fsconfig 431 842 + __SYSCALL(__NR_fsconfig, sys_fsconfig) 843 + #define __NR_fsmount 432 844 + __SYSCALL(__NR_fsmount, sys_fsmount) 845 + #define __NR_fspick 433 846 + __SYSCALL(__NR_fspick, sys_fspick) 847 + #define __NR_pidfd_open 434 848 + __SYSCALL(__NR_pidfd_open, sys_pidfd_open) 849 + #ifdef __ARCH_WANT_SYS_CLONE3 850 + #define __NR_clone3 435 851 + __SYSCALL(__NR_clone3, sys_clone3) 852 + #endif 853 + 854 + #undef __NR_syscalls 855 + #define __NR_syscalls 436 856 + 857 + /* 858 + * 32 bit systems traditionally used different 859 + * syscalls for off_t and loff_t arguments, while 860 + * 64 bit systems only need the off_t version. 861 + * For new 32 bit platforms, there is no need to 862 + * implement the old 32 bit off_t syscalls, so 863 + * they take different names. 864 + * Here we map the numbers so that both versions 865 + * use the same syscall table layout. 866 + */ 867 + #if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT) 868 + #define __NR_fcntl __NR3264_fcntl 869 + #define __NR_statfs __NR3264_statfs 870 + #define __NR_fstatfs __NR3264_fstatfs 871 + #define __NR_truncate __NR3264_truncate 872 + #define __NR_ftruncate __NR3264_ftruncate 873 + #define __NR_lseek __NR3264_lseek 874 + #define __NR_sendfile __NR3264_sendfile 875 + #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) 876 + #define __NR_newfstatat __NR3264_fstatat 877 + #define __NR_fstat __NR3264_fstat 878 + #endif 879 + #define __NR_mmap __NR3264_mmap 880 + #define __NR_fadvise64 __NR3264_fadvise64 881 + #ifdef __NR3264_stat 882 + #define __NR_stat __NR3264_stat 883 + #define __NR_lstat __NR3264_lstat 884 + #endif 885 + #else 886 + #define __NR_fcntl64 __NR3264_fcntl 887 + #define __NR_statfs64 __NR3264_statfs 888 + #define __NR_fstatfs64 __NR3264_fstatfs 889 + #define __NR_truncate64 __NR3264_truncate 890 + #define __NR_ftruncate64 __NR3264_ftruncate 891 + #define __NR_llseek __NR3264_lseek 892 + #define __NR_sendfile64 __NR3264_sendfile 893 + #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) 894 + #define __NR_fstatat64 __NR3264_fstatat 895 + #define __NR_fstat64 __NR3264_fstat 896 + #endif 897 + #define __NR_mmap2 __NR3264_mmap 898 + #define __NR_fadvise64_64 __NR3264_fadvise64 899 + #ifdef __NR3264_stat 900 + #define __NR_stat64 __NR3264_stat 901 + #define __NR_lstat64 __NR3264_lstat 902 + #endif 903 + #endif
+2
src/kernel/emulation/linux/linux-syscalls/linux-x86.h
··· 426 426 #define __NR_fspick 433 427 427 #define __NR_pidfd_open 434 428 428 #define __NR_clone3 435 429 + #define __NR_openat2 437 430 + #define __NR_pidfd_getfd 438 429 431 430 432 #endif /* _ASM_X86_UNISTD_32_H */
+2
src/kernel/emulation/linux/linux-syscalls/linux-x86_64.h
··· 348 348 #define __NR_fspick 433 349 349 #define __NR_pidfd_open 434 350 350 #define __NR_clone3 435 351 + #define __NR_openat2 437 352 + #define __NR_pidfd_getfd 438 351 353 352 354 #endif /* _ASM_X86_UNISTD_64_H */
+12 -6
src/kernel/emulation/linux/linux-syscalls/linux.h
··· 1 - #ifndef _ASM_X86_UNISTD_H 2 - #define _ASM_X86_UNISTD_H 1 + #ifndef _ASM_GENERAL_UNISTD_H 2 + #define _ASM_GENERAL_UNISTD_H 3 3 4 4 # ifdef __i386__ 5 - # include "linux-x86.h" 5 + // # include <asm/unistd_32.h> 6 + # include "linux-x86.h" 6 7 # elif defined(__x86_64__) 7 - # include "linux-x86_64.h" 8 + // # include <asm/unistd_64.h> 9 + # include "linux-x86_64.h" 10 + # elif defined(__arm64__) 11 + // # include <asm/unistd.h> 12 + # include "linux-arm64.h" 8 13 # else 9 - # error Missing Linux sc numbers for this arch 14 + // look in <asm/unistd.h> if you are unsure 15 + # error Missing Linux sc numbers for this arch 10 16 # endif 11 17 12 - #endif /* _ASM_X86_UNISTD_H */ 18 + #endif /* _ASM_GENERAL_UNISTD_H */
+15 -1
src/kernel/emulation/linux/select/poll.c
··· 5 5 #include <linux-syscalls/linux.h> 6 6 #include "../bsdthread/cancelable.h" 7 7 8 + struct ppoll_timespec { 9 + long tv_sec; /* seconds */ 10 + long tv_nsec; /* nanoseconds */ 11 + }; 12 + 8 13 long sys_poll(struct pollfd* fds, unsigned int nfds, int timeout) 9 14 { 10 15 CANCELATION_POINT(); ··· 15 20 { 16 21 int ret; 17 22 18 - ret = LINUX_SYSCALL(__NR_poll, fds, nfds, timeout); 23 + #if defined(__NR_poll) 24 + ret = LINUX_SYSCALL(__NR_poll, fds, nfds, timeout); 25 + #else 26 + struct ppoll_timespec timeout_ts = { 27 + .tv_sec = (timeout % 1000) * 1000000, 28 + .tv_nsec = timeout / 1000 29 + }; 30 + 31 + ret = LINUX_SYSCALL(__NR_ppoll, fds, nfds, (timeout < 0) ? NULL : &timeout_ts, NULL); 32 + #endif 19 33 if (ret < 0) 20 34 ret = errno_linux_to_bsd(ret); 21 35
+21 -17
src/kernel/emulation/linux/select/select.c
··· 13 13 14 14 long sys_select_nocancel(int nfds, void* rfds, void* wfds, void* efds, struct bsd_timeval* timeout) 15 15 { 16 - int ret; 17 - struct linux_timeval ltv; 16 + #if defined(__NR__newselect) || defined(__NR_select) 17 + int ret; 18 + struct linux_timeval ltv; 18 19 19 - if (timeout != NULL) 20 - { 21 - ltv.tv_sec = timeout->tv_sec; 22 - ltv.tv_usec = timeout->tv_usec; 23 - } 20 + if (timeout != NULL) 21 + { 22 + ltv.tv_sec = timeout->tv_sec; 23 + ltv.tv_usec = timeout->tv_usec; 24 + } 24 25 25 - #ifdef __NR__newselect 26 - ret = LINUX_SYSCALL(__NR__newselect, nfds, rfds, wfds, efds, 27 - (timeout != NULL) ? &ltv : NULL); 28 - #else 29 - ret = LINUX_SYSCALL(__NR_select, nfds, rfds, wfds, efds, 30 - (timeout != NULL) ? &ltv : NULL); 31 - #endif 32 - if (ret < 0) 33 - ret = errno_linux_to_bsd(ret); 26 + #if defined(__NR__newselect) 27 + ret = LINUX_SYSCALL(__NR__newselect, nfds, rfds, wfds, efds, 28 + (timeout != NULL) ? &ltv : NULL); 29 + #else 30 + ret = LINUX_SYSCALL(__NR_select, nfds, rfds, wfds, efds, 31 + (timeout != NULL) ? &ltv : NULL); 32 + #endif 33 + if (ret < 0) 34 + ret = errno_linux_to_bsd(ret); 34 35 35 - return ret; 36 + return ret; 37 + #else 38 + return sys_pselect_nocancel(nfds, rfds, wfds, efds, timeout, NULL); 39 + #endif 36 40 } 37 41
+22 -10
src/kernel/emulation/linux/stat/lstat.c
··· 27 27 if (ret < 0) 28 28 return errno_linux_to_bsd(ret); 29 29 30 - #ifdef __NR_lstat64 31 - ret = LINUX_SYSCALL(__NR_lstat64, vc.path, &lstat); 32 - #else 33 - ret = LINUX_SYSCALL(__NR_lstat, vc.path, &lstat); 34 - #endif 30 + #if defined(__NR_lstat64) 31 + ret = LINUX_SYSCALL(__NR_lstat64, vc.path, &lstat); 32 + #elif defined(__NR_lstat) 33 + ret = LINUX_SYSCALL(__NR_lstat, vc.path, &lstat); 34 + #else 35 + #if defined(__NR_newfstatat) 36 + int status = LINUX_SYSCALL(__NR_newfstatat, LINUX_AT_FDCWD, vc.path, &lstat, LINUX_AT_SYMLINK_NOFOLLOW); 37 + #else 38 + int status = LINUX_SYSCALL(__NR_fstatat64, LINUX_AT_FDCWD, vc.path, &lstat, LINUX_AT_SYMLINK_NOFOLLOW); 39 + #endif 40 + #endif 35 41 36 42 if (ret < 0) 37 43 return errno_linux_to_bsd(ret); ··· 56 62 if (ret < 0) 57 63 return errno_linux_to_bsd(ret); 58 64 59 - #ifdef __NR_lstat64 60 - ret = LINUX_SYSCALL(__NR_lstat64, vc.path, &lstat); 61 - #else 62 - ret = LINUX_SYSCALL(__NR_lstat, vc.path, &lstat); 63 - #endif 65 + #if defined(__NR_lstat64) 66 + ret = LINUX_SYSCALL(__NR_lstat64, vc.path, &lstat); 67 + #elif defined(__NR_lstat) 68 + ret = LINUX_SYSCALL(__NR_lstat, vc.path, &lstat); 69 + #else 70 + #if defined(__NR_newfstatat) 71 + int status = LINUX_SYSCALL(__NR_newfstatat, LINUX_AT_FDCWD, vc.path, &lstat, LINUX_AT_SYMLINK_NOFOLLOW); 72 + #else 73 + int status = LINUX_SYSCALL(__NR_fstatat64, LINUX_AT_FDCWD, vc.path, &lstat, LINUX_AT_SYMLINK_NOFOLLOW); 74 + #endif 75 + #endif 64 76 65 77 if (ret < 0) 66 78 return errno_linux_to_bsd(ret);
+5 -1
src/kernel/emulation/linux/stat/mkfifo.c
··· 28 28 if (ret < 0) 29 29 return errno_linux_to_bsd(ret); 30 30 31 - ret = LINUX_SYSCALL(__NR_mknod, vc.path, mode | LINUX_S_IFIFO, 0); 31 + #if defined(__NR_mknod) 32 + ret = LINUX_SYSCALL(__NR_mknod, vc.path, mode | LINUX_S_IFIFO, 0); 33 + #else 34 + ret = LINUX_SYSCALL(__NR_mknodat, LINUX_AT_FDCWD, vc.path, mode | LINUX_S_IFIFO, 0); 35 + #endif 32 36 33 37 if (ret < 0) 34 38 return errno_linux_to_bsd(ret);
+5 -1
src/kernel/emulation/linux/time/utimes.c
··· 30 30 if (ret < 0) 31 31 return errno_linux_to_bsd(ret); 32 32 33 - ret = LINUX_SYSCALL(__NR_utimes, vc.path, tv ? ltv: 0); 33 + #if defined(__NR_utimes) 34 + ret = LINUX_SYSCALL(__NR_utimes, vc.path, tv ? ltv: 0); 35 + #else 36 + ret = LINUX_SYSCALL(__NR_utimensat, LINUX_AT_FDCWD, vc.path, tv ? ltv: 0, 0); 37 + #endif 34 38 if (ret < 0) 35 39 ret = errno_linux_to_bsd(ret); 36 40
+10 -2
src/kernel/emulation/linux/unistd/chmod_extended.c
··· 18 18 if (ret < 0) 19 19 return errno_linux_to_bsd(ret); 20 20 21 - ret = LINUX_SYSCALL(__NR_chmod, vc.path, mode); 21 + #if defined(__NR_chmod) 22 + ret = LINUX_SYSCALL(__NR_chmod, vc.path, mode); 23 + #else 24 + ret = LINUX_SYSCALL(__NR_fchmodat, LINUX_AT_FDCWD, vc.path, mode, 0); 25 + #endif 22 26 if (ret < 0) 23 27 return errno_linux_to_bsd(ret); 24 28 25 - ret = LINUX_SYSCALL(__NR_chown, vc.path, uid, gid); 29 + #if defined(__NR_chown) 30 + ret = LINUX_SYSCALL(__NR_chown, vc.path, uid, gid); 31 + #else 32 + ret = LINUX_SYSCALL(__NR_fchownat, LINUX_AT_FDCWD, vc.path, uid, gid, 0); 33 + #endif 26 34 if (ret < 0) 27 35 return errno_linux_to_bsd(ret); 28 36
+11 -1
src/kernel/emulation/linux/unistd/dup2.c
··· 2 2 #include "../base.h" 3 3 #include "../errno.h" 4 4 #include <linux-syscalls/linux.h> 5 + #include "../duct_errno.h" 5 6 6 7 extern void kqueue_dup(int oldfd, int newfd); 7 8 8 9 long sys_dup2(int fd_from, int fd_to) 9 10 { 10 11 int ret; 12 + 13 + #if defined(__NR_dup2) 14 + ret = LINUX_SYSCALL2(__NR_dup2, fd_from, fd_to); 15 + #else 16 + // It's not clear if 0 is offically a valid flag argument. 17 + // But we don't really have a choice. 18 + ret = LINUX_SYSCALL(__NR_dup3, fd_from, fd_to, 0); 11 19 12 - ret = LINUX_SYSCALL2(__NR_dup2, fd_from, fd_to); 20 + if (ret == LINUX_EINVAL && fd_from == fd_to) 21 + ret = fd_to; 22 + #endif 13 23 if (ret < 0) 14 24 ret = errno_linux_to_bsd(ret); 15 25 else
+9 -5
src/kernel/emulation/linux/unistd/getpgrp.c
··· 5 5 6 6 long sys_getpgrp(void) 7 7 { 8 - int ret; 8 + #if defined(__NR_getpgrp) 9 + int ret; 9 10 10 - ret = LINUX_SYSCALL0(__NR_getpgrp); 11 - if (ret < 0) 12 - ret = errno_linux_to_bsd(ret); 11 + ret = LINUX_SYSCALL0(__NR_getpgrp); 12 + if (ret < 0) 13 + ret = errno_linux_to_bsd(ret); 13 14 14 - return ret; 15 + return ret; 16 + #else 17 + return sys_getpgid(0); 18 + #endif 15 19 } 16 20
+5 -1
src/kernel/emulation/linux/unistd/mknod.c
··· 21 21 if (ret < 0) 22 22 return errno_linux_to_bsd(ret); 23 23 24 - ret = LINUX_SYSCALL(__NR_mknod, vc.path, mode, dev); 24 + #if defined(__NR_mknod) 25 + ret = LINUX_SYSCALL(__NR_mknod, vc.path, mode, dev); 26 + #else 27 + ret = LINUX_SYSCALL(__NR_mknodat, LINUX_AT_FDCWD, vc.path, mode, dev); 28 + #endif 25 29 if (ret < 0) 26 30 ret = errno_linux_to_bsd(ret); 27 31
+5 -1
src/kernel/emulation/linux/unistd/pipe.c
··· 7 7 { 8 8 int ret; 9 9 10 - ret = LINUX_SYSCALL(__NR_pipe, fd); 10 + #if defined(__NR_pipe) 11 + ret = LINUX_SYSCALL(__NR_pipe, fd); 12 + #else 13 + ret = LINUX_SYSCALL(__NR_pipe2, fd, 0); 14 + #endif 11 15 if (ret < 0) 12 16 return errno_linux_to_bsd(ret); 13 17
+36 -7
src/kernel/emulation/linux/vchroot_userspace.c
··· 37 37 # include "duct_errno.h" 38 38 # include "stat/common.h" 39 39 # include "dirent/getdirentries.h" 40 + # include "common_at.h" 40 41 typedef struct linux_stat stat_t; 41 42 42 43 extern __SIZE_TYPE__ strlen(const char* s); ··· 110 111 111 112 __simple_sprintf(buf, "/proc/self/fd/%d", dfd); 112 113 113 - rv = LINUX_SYSCALL(__NR_readlink, buf, prefix_path, sizeof(prefix_path) - 1); 114 + #if defined(__NR_readlink) 115 + rv = LINUX_SYSCALL(__NR_readlink, buf, prefix_path, sizeof(prefix_path) - 1); 116 + #else 117 + rv = LINUX_SYSCALL(__NR_readlinkat, LINUX_AT_FDCWD, buf, prefix_path, sizeof(prefix_path) - 1); 118 + #endif 114 119 prefix_path[rv] = '\0'; 115 120 prefix_path_len = rv; 116 121 ··· 187 192 else 188 193 strcpy(buf, "/proc/self/cwd"); 189 194 190 - int rv = LINUX_SYSCALL(__NR_readlink, buf, ctxt.current_path, sizeof(ctxt.current_path) - 1); 195 + #if defined(__NR_readlink) 196 + int rv = LINUX_SYSCALL(__NR_readlink, buf, ctxt.current_path, sizeof(ctxt.current_path) - 1); 197 + #else 198 + int rv = LINUX_SYSCALL(__NR_readlinkat, LINUX_AT_FDCWD, buf, ctxt.current_path, sizeof(ctxt.current_path) - 1); 199 + #endif 191 200 192 201 if (rv < 0) 193 202 { ··· 308 317 if (!ctxt->unknown_component) 309 318 { 310 319 stat_t st; 311 - int status = LINUX_SYSCALL(__NR_lstat, ctxt->current_path, &st); 320 + #if defined(__NR_lstat) 321 + int status = LINUX_SYSCALL(__NR_lstat, ctxt->current_path, &st); 322 + #else 323 + #if __NR_newfstatat 324 + int status = LINUX_SYSCALL(__NR_newfstatat, LINUX_AT_FDCWD, ctxt->current_path, &st, LINUX_AT_SYMLINK_NOFOLLOW); 325 + #else 326 + int status = LINUX_SYSCALL(__NR_fstatat64, LINUX_AT_FDCWD, ctxt->current_path, &st, LINUX_AT_SYMLINK_NOFOLLOW); 327 + #endif 328 + #endif 312 329 313 330 if (icase_enabled && status == -LINUX_ENOENT) 314 331 { ··· 316 333 317 334 // Examine the directory above 318 335 ctxt->current_path[prevlen-1] = '\0'; 319 - 320 - int dfd = LINUX_SYSCALL(__NR_open, (prevlen > 1) ? ctxt->current_path : "/", LINUX_O_RDONLY); 336 + 337 + #if defined(__NR_open) 338 + int dfd = LINUX_SYSCALL(__NR_open, (prevlen > 1) ? ctxt->current_path : "/", LINUX_O_RDONLY); 339 + #else 340 + int dfd = LINUX_SYSCALL(__NR_openat, LINUX_AT_FDCWD, (prevlen > 1) ? ctxt->current_path : "/", LINUX_O_RDONLY); 341 + #endif 321 342 char dirents[4096]; // buffer space for struct linux_dirent64 entries 322 343 int len; 323 344 ··· 359 380 char link[512]; 360 381 int rv; 361 382 362 - rv = LINUX_SYSCALL(__NR_readlink, ctxt->current_path, link, sizeof(link) - 1); 383 + #if defined(__NR_readlink) 384 + rv = LINUX_SYSCALL(__NR_readlink, ctxt->current_path, link, sizeof(link) - 1); 385 + #else 386 + rv = LINUX_SYSCALL(__NR_readlinkat, LINUX_AT_FDCWD, ctxt->current_path, link, sizeof(link) - 1); 387 + #endif 363 388 364 389 if (rv < 0) 365 390 return rv; ··· 434 459 435 460 __simple_sprintf(buf, "/proc/self/fd/%d", args->fd); 436 461 437 - int rv = LINUX_SYSCALL(__NR_readlink, buf, link, sizeof(link) - 1); 462 + #if defined(__NR_readlink) 463 + int rv = LINUX_SYSCALL(__NR_readlink, buf, link, sizeof(link) - 1); 464 + #else 465 + int rv = LINUX_SYSCALL(__NR_readlinkat, LINUX_AT_FDCWD, buf, link, sizeof(link) - 1); 466 + #endif 438 467 if (rv < 0) 439 468 return rv; 440 469
+6 -1
src/kernel/emulation/linux/xattr/flistxattr.c
··· 6 6 #include "../fdpath.h" 7 7 #include <sys/stat.h> 8 8 #include "../simple.h" 9 + #include "../common_at.h" 9 10 10 11 #ifdef __NR_fstat64 11 12 #define STAT_CALL __NR_fstat64 ··· 31 32 char buf[64] = {0}; 32 33 char path[4096] = {0}; 33 34 __simple_sprintf(buf, "/proc/self/fd/%d", fd); 34 - ret = LINUX_SYSCALL(__NR_readlink, buf, path, sizeof(path) - 1); 35 + #if defined(__NR_readlink) 36 + ret = LINUX_SYSCALL(__NR_readlink, buf, path, sizeof(path) - 1); 37 + #else 38 + ret = LINUX_SYSCALL(__NR_readlinkat, LINUX_AT_FDCWD, buf, path, sizeof(path) - 1); 39 + #endif 35 40 if (ret < 0) 36 41 return errno_linux_to_bsd(ret); 37 42 path[ret] = '\0';
-8
src/libm/Source/Intel/math.h
··· 639 639 640 640 #endif /* __WANT_EXTENSIONS__ */ 641 641 642 - struct __float2 { float __sinval; float __cosval; }; 643 - struct __double2 { double __sinval; double __cosval; }; 644 - 645 - extern struct __float2 __sincosf_stret(float v); 646 - extern struct __double2 __sincos_stret(double v); 647 - extern struct __float2 __sincospif_stret(float v); 648 - extern struct __double2 __sincospi_stret(double v); 649 - 650 642 #ifdef __cplusplus 651 643 } 652 644 #endif
+8
src/libm/Source/math.h
··· 32 32 #error Unknown architecture 33 33 #endif 34 34 35 + struct __float2 { float __sinval; float __cosval; }; 36 + struct __double2 { double __sinval; double __cosval; }; 37 + 38 + extern struct __float2 __sincosf_stret(float v); 39 + extern struct __double2 __sincos_stret(double v); 40 + extern struct __float2 __sincospif_stret(float v); 41 + extern struct __double2 __sincospi_stret(double v); 42 + 35 43 #endif /* __MATH_H__ */
+2 -2
src/private-frameworks/CoreSymbolication/include/CoreSymbolication/CoreSymbolication.h
··· 21 21 #define __CORESYMBOLICATION_CORESYMBOLICATION_H__ 22 22 23 23 #include <CoreFoundation/CoreFoundation.h> 24 - #include <mach/i386/vm_types.h> 24 + #include <mach/machine/vm_types.h> 25 25 #include <mach/mach_types.h> 26 26 #include <sys/types.h> 27 27 ··· 140 140 void* CSSymbolGetSegment(void); 141 141 CSSymbolOwnerRef CSSymbolGetSymbolOwner(CSSymbolRef symbol); 142 142 void* CSSymbolGetSymbolicator(void); 143 - void* CSSymbolIsArm(void); 143 + void* CSSymbolIsArm(CSSymbolRef symbol); 144 144 void* CSSymbolIsDebugMap(void); 145 145 void* CSSymbolIsDwarf(void); 146 146 int CSSymbolIsDyldStub(CSSymbolRef symbol);
+46 -43
src/private-frameworks/CoreSymbolication/src/functions.c
··· 19 19 20 20 #include <stdio.h> 21 21 #include <stdlib.h> 22 + 23 + #include <CoreSymbolication/CoreSymbolication.h> 24 + 22 25 static int verbose = 0; 23 26 __attribute__((constructor)) static void initme(void) { 24 27 verbose = getenv("STUB_VERBOSE") != NULL; ··· 30 33 void* CSArchitectureGetFamily(void) { if (verbose) puts("STUB: CSArchitectureGetFamily called"); return NULL; } 31 34 void* CSArchitectureGetFamilyName(void) { if (verbose) puts("STUB: CSArchitectureGetFamilyName called"); return NULL; } 32 35 void* CSArchitectureIs32Bit(void) { if (verbose) puts("STUB: CSArchitectureIs32Bit called"); return NULL; } 33 - void* CSArchitectureIs64Bit(void) { if (verbose) puts("STUB: CSArchitectureIs64Bit called"); return NULL; } 36 + int CSArchitectureIs64Bit(int architecture) { if (verbose) puts("STUB: CSArchitectureIs64Bit called"); return 0; } 34 37 void* CSArchitectureIsArm(void) { if (verbose) puts("STUB: CSArchitectureIsArm called"); return NULL; } 35 38 void* CSArchitectureIsArm64(void) { if (verbose) puts("STUB: CSArchitectureIsArm64 called"); return NULL; } 36 39 void* CSArchitectureIsBigEndian(void) { if (verbose) puts("STUB: CSArchitectureIsBigEndian called"); return NULL; } ··· 43 46 void* CSEqual(void) { if (verbose) puts("STUB: CSEqual called"); return NULL; } 44 47 void* CSExceptionSafeThreadRunBlock(void) { if (verbose) puts("STUB: CSExceptionSafeThreadRunBlock called"); return NULL; } 45 48 void* CSGetRetainCount(void) { if (verbose) puts("STUB: CSGetRetainCount called"); return NULL; } 46 - void* CSIsNull(void) { if (verbose) puts("STUB: CSIsNull called"); return NULL; } 49 + void* CSIsNull(void* arg0) { if (verbose) puts("STUB: CSIsNull called"); return NULL; } 47 50 void* CSMMapArchiveCacheCopyMMapArchive(void) { if (verbose) puts("STUB: CSMMapArchiveCacheCopyMMapArchive called"); return NULL; } 48 51 void* CSMMapArchiveCacheReleaseMMapArchive(void) { if (verbose) puts("STUB: CSMMapArchiveCacheReleaseMMapArchive called"); return NULL; } 49 52 void* CSMMapArchiveCacheSetShouldStoreToDaemon(void) { if (verbose) puts("STUB: CSMMapArchiveCacheSetShouldStoreToDaemon called"); return NULL; } ··· 51 54 void* CSRangeIntersectsRange(void) { if (verbose) puts("STUB: CSRangeIntersectsRange called"); return NULL; } 52 55 void* CSRegionCopyDescriptionWithIndent(void) { if (verbose) puts("STUB: CSRegionCopyDescriptionWithIndent called"); return NULL; } 53 56 void* CSRegionForeachSourceInfo(void) { if (verbose) puts("STUB: CSRegionForeachSourceInfo called"); return NULL; } 54 - void* CSRegionForeachSymbol(void) { if (verbose) puts("STUB: CSRegionForeachSymbol called"); return NULL; } 57 + void CSRegionForeachSymbol(CSRegionRef region, void (^handler)(CSSymbolRef)) { if (verbose) puts("STUB: CSRegionForeachSymbol called"); } 55 58 void* CSRegionGetName(void) { if (verbose) puts("STUB: CSRegionGetName called"); return NULL; } 56 59 void* CSRegionGetRange(void) { if (verbose) puts("STUB: CSRegionGetRange called"); return NULL; } 57 60 void* CSRegionGetSymbolOwner(void) { if (verbose) puts("STUB: CSRegionGetSymbolOwner called"); return NULL; } 58 61 void* CSRegionGetSymbolicator(void) { if (verbose) puts("STUB: CSRegionGetSymbolicator called"); return NULL; } 59 - void* CSRelease(void) { if (verbose) puts("STUB: CSRelease called"); return NULL; } 62 + void CSRelease(CSSymbolicatorRef symbolicator) { if (verbose) puts("STUB: CSRelease called"); } 60 63 void* CSRetain(void) { if (verbose) puts("STUB: CSRetain called"); return NULL; } 61 64 void* CSSectionGetSegment(void) { if (verbose) puts("STUB: CSSectionGetSegment called"); return NULL; } 62 65 void* CSSegmentForeachSection(void) { if (verbose) puts("STUB: CSSegmentForeachSection called"); return NULL; } ··· 81 84 void* CSSymbolForeachSourceInfo(void) { if (verbose) puts("STUB: CSSymbolForeachSourceInfo called"); return NULL; } 82 85 void* CSSymbolGetFlags(void) { if (verbose) puts("STUB: CSSymbolGetFlags called"); return NULL; } 83 86 void* CSSymbolGetInstructionData(void) { if (verbose) puts("STUB: CSSymbolGetInstructionData called"); return NULL; } 84 - void* CSSymbolGetMangledName(void) { if (verbose) puts("STUB: CSSymbolGetMangledName called"); return NULL; } 85 - void* CSSymbolGetName(void) { if (verbose) puts("STUB: CSSymbolGetName called"); return NULL; } 86 - void* CSSymbolGetRange(void) { if (verbose) puts("STUB: CSSymbolGetRange called"); return NULL; } 87 + char* CSSymbolGetMangledName(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolGetMangledName called"); return NULL; } 88 + char* CSSymbolGetName(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolGetName called"); return NULL; } 89 + CFRange CSSymbolGetRange(CSSymbolRef symbol) { CFRange range = {}; if (verbose) puts("STUB: CSSymbolGetRange called"); return range; } 87 90 void* CSSymbolGetRegion(void) { if (verbose) puts("STUB: CSSymbolGetRegion called"); return NULL; } 88 91 void* CSSymbolGetSection(void) { if (verbose) puts("STUB: CSSymbolGetSection called"); return NULL; } 89 92 void* CSSymbolGetSegment(void) { if (verbose) puts("STUB: CSSymbolGetSegment called"); return NULL; } 90 - void* CSSymbolGetSymbolOwner(void) { if (verbose) puts("STUB: CSSymbolGetSymbolOwner called"); return NULL; } 93 + CSSymbolOwnerRef CSSymbolGetSymbolOwner(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolGetSymbolOwner called"); return NULL; } 91 94 void* CSSymbolGetSymbolicator(void) { if (verbose) puts("STUB: CSSymbolGetSymbolicator called"); return NULL; } 92 - void* CSSymbolIsArm(void) { if (verbose) puts("STUB: CSSymbolIsArm called"); return NULL; } 95 + void* CSSymbolIsArm(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolIsArm called"); return NULL; } 93 96 void* CSSymbolIsDebugMap(void) { if (verbose) puts("STUB: CSSymbolIsDebugMap called"); return NULL; } 94 97 void* CSSymbolIsDwarf(void) { if (verbose) puts("STUB: CSSymbolIsDwarf called"); return NULL; } 95 - void* CSSymbolIsDyldStub(void) { if (verbose) puts("STUB: CSSymbolIsDyldStub called"); return NULL; } 96 - void* CSSymbolIsExternal(void) { if (verbose) puts("STUB: CSSymbolIsExternal called"); return NULL; } 97 - void* CSSymbolIsFunction(void) { if (verbose) puts("STUB: CSSymbolIsFunction called"); return NULL; } 98 + int CSSymbolIsDyldStub(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolIsDyldStub called"); return 0; } 99 + int CSSymbolIsExternal(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolIsExternal called"); return 0; } 100 + int CSSymbolIsFunction(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolIsFunction called"); return 0; } 98 101 void* CSSymbolIsFunctionStarts(void) { if (verbose) puts("STUB: CSSymbolIsFunctionStarts called"); return NULL; } 99 102 void* CSSymbolIsKnownLength(void) { if (verbose) puts("STUB: CSSymbolIsKnownLength called"); return NULL; } 100 103 void* CSSymbolIsMangledNameSourceDwarf(void) { if (verbose) puts("STUB: CSSymbolIsMangledNameSourceDwarf called"); return NULL; } ··· 105 108 void* CSSymbolIsNameSourceDwarf(void) { if (verbose) puts("STUB: CSSymbolIsNameSourceDwarf called"); return NULL; } 106 109 void* CSSymbolIsNameSourceDwarfMIPSLinkage(void) { if (verbose) puts("STUB: CSSymbolIsNameSourceDwarfMIPSLinkage called"); return NULL; } 107 110 void* CSSymbolIsNameSourceNList(void) { if (verbose) puts("STUB: CSSymbolIsNameSourceNList called"); return NULL; } 108 - void* CSSymbolIsObjcMethod(void) { if (verbose) puts("STUB: CSSymbolIsObjcMethod called"); return NULL; } 111 + int CSSymbolIsObjcMethod(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolIsObjcMethod called"); return 0; } 109 112 void* CSSymbolIsOmitFramePointer(void) { if (verbose) puts("STUB: CSSymbolIsOmitFramePointer called"); return NULL; } 110 113 void* CSSymbolIsPrivateExternal(void) { if (verbose) puts("STUB: CSSymbolIsPrivateExternal called"); return NULL; } 111 114 void* CSSymbolIsThumb(void) { if (verbose) puts("STUB: CSSymbolIsThumb called"); return NULL; } 112 - void* CSSymbolIsUnnamed(void) { if (verbose) puts("STUB: CSSymbolIsUnnamed called"); return NULL; } 115 + int CSSymbolIsUnnamed(CSSymbolRef symbol) { if (verbose) puts("STUB: CSSymbolIsUnnamed called"); return 0; } 113 116 void* CSSymbolOwnerAddInContext(void) { if (verbose) puts("STUB: CSSymbolOwnerAddInContext called"); return NULL; } 114 117 void* CSSymbolOwnerCacheFlush(void) { if (verbose) puts("STUB: CSSymbolOwnerCacheFlush called"); return NULL; } 115 118 void* CSSymbolOwnerCacheGetEntryCount(void) { if (verbose) puts("STUB: CSSymbolOwnerCacheGetEntryCount called"); return NULL; } ··· 131 134 void* CSSymbolOwnerForeachSection(void) { if (verbose) puts("STUB: CSSymbolOwnerForeachSection called"); return NULL; } 132 135 void* CSSymbolOwnerForeachSegment(void) { if (verbose) puts("STUB: CSSymbolOwnerForeachSegment called"); return NULL; } 133 136 void* CSSymbolOwnerForeachSourceInfo(void) { if (verbose) puts("STUB: CSSymbolOwnerForeachSourceInfo called"); return NULL; } 134 - void* CSSymbolOwnerForeachSymbol(void) { if (verbose) puts("STUB: CSSymbolOwnerForeachSymbol called"); return NULL; } 135 - void* CSSymbolOwnerForeachSymbolWithMangledName(void) { if (verbose) puts("STUB: CSSymbolOwnerForeachSymbolWithMangledName called"); return NULL; } 136 - void* CSSymbolOwnerForeachSymbolWithName(void) { if (verbose) puts("STUB: CSSymbolOwnerForeachSymbolWithName called"); return NULL; } 137 - void* CSSymbolOwnerGetArchitecture(void) { if (verbose) puts("STUB: CSSymbolOwnerGetArchitecture called"); return NULL; } 138 - void* CSSymbolOwnerGetBaseAddress(void) { if (verbose) puts("STUB: CSSymbolOwnerGetBaseAddress called"); return NULL; } 137 + void CSSymbolOwnerForeachSymbol(CSSymbolOwnerRef owner, void (^symbol)(CSSymbolRef)) { if (verbose) puts("STUB: CSSymbolOwnerForeachSymbol called"); } 138 + void CSSymbolOwnerForeachSymbolWithMangledName(CSSymbolOwnerRef owner, const char* name, void (^handler)(CSSymbolRef)) { if (verbose) puts("STUB: CSSymbolOwnerForeachSymbolWithMangledName called"); } 139 + void CSSymbolOwnerForeachSymbolWithName(CSSymbolOwnerRef owner, const char* name, void (^handler)(CSSymbolRef)) { if (verbose) puts("STUB: CSSymbolOwnerForeachSymbolWithName called"); } 140 + int CSSymbolOwnerGetArchitecture(CSSymbolOwnerRef owner) { if (verbose) puts("STUB: CSSymbolOwnerGetArchitecture called"); return 0; } 141 + uintptr_t CSSymbolOwnerGetBaseAddress(CSSymbolOwnerRef owner) { if (verbose) puts("STUB: CSSymbolOwnerGetBaseAddress called"); return 0; } 139 142 void* CSSymbolOwnerGetCFUUIDBytes(void) { if (verbose) puts("STUB: CSSymbolOwnerGetCFUUIDBytes called"); return NULL; } 140 143 void* CSSymbolOwnerGetCompatibilityVersion(void) { if (verbose) puts("STUB: CSSymbolOwnerGetCompatibilityVersion called"); return NULL; } 141 144 void* CSSymbolOwnerGetCurrentVersion(void) { if (verbose) puts("STUB: CSSymbolOwnerGetCurrentVersion called"); return NULL; } 142 - void* CSSymbolOwnerGetDataFlags(void) { if (verbose) puts("STUB: CSSymbolOwnerGetDataFlags called"); return NULL; } 145 + int CSSymbolOwnerGetDataFlags(CSSymbolOwnerRef owner) { if (verbose) puts("STUB: CSSymbolOwnerGetDataFlags called"); return 0; } 143 146 void* CSSymbolOwnerGetDataTypeID(void) { if (verbose) puts("STUB: CSSymbolOwnerGetDataTypeID called"); return NULL; } 144 147 void* CSSymbolOwnerGetDsymPath(void) { if (verbose) puts("STUB: CSSymbolOwnerGetDsymPath called"); return NULL; } 145 148 void* CSSymbolOwnerGetDsymVersion(void) { if (verbose) puts("STUB: CSSymbolOwnerGetDsymVersion called"); return NULL; } 146 149 void* CSSymbolOwnerGetFlags(void) { if (verbose) puts("STUB: CSSymbolOwnerGetFlags called"); return NULL; } 147 150 void* CSSymbolOwnerGetLastModifiedTimestamp(void) { if (verbose) puts("STUB: CSSymbolOwnerGetLastModifiedTimestamp called"); return NULL; } 148 151 void* CSSymbolOwnerGetLoadTimestamp(void) { if (verbose) puts("STUB: CSSymbolOwnerGetLoadTimestamp called"); return NULL; } 149 - void* CSSymbolOwnerGetName(void) { if (verbose) puts("STUB: CSSymbolOwnerGetName called"); return NULL; } 150 - void* CSSymbolOwnerGetPath(void) { if (verbose) puts("STUB: CSSymbolOwnerGetPath called"); return NULL; } 152 + char* CSSymbolOwnerGetName(CSSymbolOwnerRef owner) { if (verbose) puts("STUB: CSSymbolOwnerGetName called"); return NULL; } 153 + char* CSSymbolOwnerGetPath(int arg0) { if (verbose) puts("STUB: CSSymbolOwnerGetPath called"); return NULL; } 151 154 void* CSSymbolOwnerGetPathForSymbolication(void) { if (verbose) puts("STUB: CSSymbolOwnerGetPathForSymbolication called"); return NULL; } 152 155 void* CSSymbolOwnerGetRegionCount(void) { if (verbose) puts("STUB: CSSymbolOwnerGetRegionCount called"); return NULL; } 153 156 void* CSSymbolOwnerGetRegionWithAddress(void) { if (verbose) puts("STUB: CSSymbolOwnerGetRegionWithAddress called"); return NULL; } 154 - void* CSSymbolOwnerGetRegionWithName(void) { if (verbose) puts("STUB: CSSymbolOwnerGetRegionWithName called"); return NULL; } 157 + CSRegionRef CSSymbolOwnerGetRegionWithName(CSSymbolOwnerRef owner, char* name) { if (verbose) puts("STUB: CSSymbolOwnerGetRegionWithName called"); return NULL; } 155 158 void* CSSymbolOwnerGetSectionWithAddress(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSectionWithAddress called"); return NULL; } 156 159 void* CSSymbolOwnerGetSectionWithName(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSectionWithName called"); return NULL; } 157 160 void* CSSymbolOwnerGetSegmentWithAddress(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSegmentWithAddress called"); return NULL; } 158 161 void* CSSymbolOwnerGetSourceInfoCount(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSourceInfoCount called"); return NULL; } 159 162 void* CSSymbolOwnerGetSourceInfoWithAddress(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSourceInfoWithAddress called"); return NULL; } 160 163 void* CSSymbolOwnerGetSymbolCount(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSymbolCount called"); return NULL; } 161 - void* CSSymbolOwnerGetSymbolWithAddress(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSymbolWithAddress called"); return NULL; } 164 + CSSymbolOwnerRef CSSymbolOwnerGetSymbolWithAddress(CSSymbolOwnerRef owner, mach_vm_address_t address) { if (verbose) puts("STUB: CSSymbolOwnerGetSymbolWithAddress called"); return NULL; } 162 165 void* CSSymbolOwnerGetSymbolWithMangledName(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSymbolWithMangledName called"); return NULL; } 163 166 void* CSSymbolOwnerGetSymbolWithName(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSymbolWithName called"); return NULL; } 164 167 void* CSSymbolOwnerGetSymbolicator(void) { if (verbose) puts("STUB: CSSymbolOwnerGetSymbolicator called"); return NULL; } 165 - void* CSSymbolOwnerGetTransientUserData(void) { if (verbose) puts("STUB: CSSymbolOwnerGetTransientUserData called"); return NULL; } 168 + uintptr_t CSSymbolOwnerGetTransientUserData(CSSymbolOwnerRef owner) { if (verbose) puts("STUB: CSSymbolOwnerGetTransientUserData called"); return 0; } 166 169 void* CSSymbolOwnerGetUUID(void) { if (verbose) puts("STUB: CSSymbolOwnerGetUUID called"); return NULL; } 167 170 void* CSSymbolOwnerGetUnloadTimestamp(void) { if (verbose) puts("STUB: CSSymbolOwnerGetUnloadTimestamp called"); return NULL; } 168 171 void* CSSymbolOwnerGetVersion(void) { if (verbose) puts("STUB: CSSymbolOwnerGetVersion called"); return NULL; } ··· 179 182 void* CSSymbolOwnerIsMutable(void) { if (verbose) puts("STUB: CSSymbolOwnerIsMutable called"); return NULL; } 180 183 void* CSSymbolOwnerIsObjCGCSupported(void) { if (verbose) puts("STUB: CSSymbolOwnerIsObjCGCSupported called"); return NULL; } 181 184 void* CSSymbolOwnerIsObjCRetainReleaseSupported(void) { if (verbose) puts("STUB: CSSymbolOwnerIsObjCRetainReleaseSupported called"); return NULL; } 182 - void* CSSymbolOwnerIsObject(void) { if (verbose) puts("STUB: CSSymbolOwnerIsObject called"); return NULL; } 185 + void* CSSymbolOwnerIsObject(CSSymbolOwnerRef owner) { if (verbose) puts("STUB: CSSymbolOwnerIsObject called"); return NULL; } 183 186 void* CSSymbolOwnerIsObsolete(void) { if (verbose) puts("STUB: CSSymbolOwnerIsObsolete called"); return NULL; } 184 187 void* CSSymbolOwnerIsPIE(void) { if (verbose) puts("STUB: CSSymbolOwnerIsPIE called"); return NULL; } 185 188 void* CSSymbolOwnerIsProtected(void) { if (verbose) puts("STUB: CSSymbolOwnerIsProtected called"); return NULL; } ··· 193 196 void* CSSymbolOwnerSetPath(void) { if (verbose) puts("STUB: CSSymbolOwnerSetPath called"); return NULL; } 194 197 void* CSSymbolOwnerSetPathForSymbolication(void) { if (verbose) puts("STUB: CSSymbolOwnerSetPathForSymbolication called"); return NULL; } 195 198 void* CSSymbolOwnerSetRelocationCount(void) { if (verbose) puts("STUB: CSSymbolOwnerSetRelocationCount called"); return NULL; } 196 - void* CSSymbolOwnerSetTransientUserData(void) { if (verbose) puts("STUB: CSSymbolOwnerSetTransientUserData called"); return NULL; } 199 + void CSSymbolOwnerSetTransientUserData(CSSymbolOwnerRef owner, uint32_t generation) { if (verbose) puts("STUB: CSSymbolOwnerSetTransientUserData called"); } 197 200 void* CSSymbolOwnerSetUnloadTimestamp(void) { if (verbose) puts("STUB: CSSymbolOwnerSetUnloadTimestamp called"); return NULL; } 198 201 void* CSSymbolicatorAddSymbolOwner(void) { if (verbose) puts("STUB: CSSymbolicatorAddSymbolOwner called"); return NULL; } 199 202 void* CSSymbolicatorApplyMutableContextBlock(void) { if (verbose) puts("STUB: CSSymbolicatorApplyMutableContextBlock called"); return NULL; } ··· 202 205 void* CSSymbolicatorCreateWithBinaryImageList(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithBinaryImageList called"); return NULL; } 203 206 void* CSSymbolicatorCreateWithBinaryImageListCountPidFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithBinaryImageListCountPidFlagsAndNotification called"); return NULL; } 204 207 void* CSSymbolicatorCreateWithMachKernel(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithMachKernel called"); return NULL; } 205 - void* CSSymbolicatorCreateWithMachKernelFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithMachKernelFlagsAndNotification called"); return NULL; } 208 + void* CSSymbolicatorCreateWithMachKernelFlagsAndNotification(int arg0, void* arg1) { if (verbose) puts("STUB: CSSymbolicatorCreateWithMachKernelFlagsAndNotification called"); return NULL; } 206 209 void* CSSymbolicatorCreateWithPathAndArchitecture(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithPathAndArchitecture called"); return NULL; } 207 210 void* CSSymbolicatorCreateWithPathArchitectureFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithPathArchitectureFlagsAndNotification called"); return NULL; } 208 211 void* CSSymbolicatorCreateWithPid(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithPid called"); return NULL; } ··· 211 214 void* CSSymbolicatorCreateWithSignatureAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithSignatureAndNotification called"); return NULL; } 212 215 void* CSSymbolicatorCreateWithSignatureFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithSignatureFlagsAndNotification called"); return NULL; } 213 216 void* CSSymbolicatorCreateWithTask(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithTask called"); return NULL; } 214 - void* CSSymbolicatorCreateWithTaskFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithTaskFlagsAndNotification called"); return NULL; } 217 + CSSymbolicatorRef CSSymbolicatorCreateWithTaskFlagsAndNotification(task_t task, uint32_t flags, void (^handler)(uint32_t notification_type, CSNotificationData data)) { if (verbose) puts("STUB: CSSymbolicatorCreateWithTaskFlagsAndNotification called"); return NULL; } 215 218 void* CSSymbolicatorCreateWithTaskPidFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithTaskPidFlagsAndNotification called"); return NULL; } 216 219 void* CSSymbolicatorCreateWithURLAndArchitecture(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithURLAndArchitecture called"); return NULL; } 217 220 void* CSSymbolicatorCreateWithURLArchitectureFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorCreateWithURLArchitectureFlagsAndNotification called"); return NULL; } ··· 225 228 void* CSSymbolicatorForeachSharedCacheSymbolicatorWithFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSharedCacheSymbolicatorWithFlagsAndNotification called"); return NULL; } 226 229 void* CSSymbolicatorForeachSourceInfoAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSourceInfoAtTime called"); return NULL; } 227 230 void* CSSymbolicatorForeachSymbolAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolAtTime called"); return NULL; } 228 - void* CSSymbolicatorForeachSymbolOwnerAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerAtTime called"); return NULL; } 231 + int CSSymbolicatorForeachSymbolOwnerAtTime(CSSymbolicatorRef symbolicator, int time, void (^handler)(CSSymbolOwnerRef t)) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerAtTime called"); return 0; } 229 232 void* CSSymbolicatorForeachSymbolOwnerWithCFUUIDBytesAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithCFUUIDBytesAtTime called"); return NULL; } 230 - void* CSSymbolicatorForeachSymbolOwnerWithFlagsAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithFlagsAtTime called"); return NULL; } 231 - void* CSSymbolicatorForeachSymbolOwnerWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithNameAtTime called"); return NULL; } 232 - void* CSSymbolicatorForeachSymbolOwnerWithPathAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithPathAtTime called"); return NULL; } 233 + int CSSymbolicatorForeachSymbolOwnerWithFlagsAtTime(CSSymbolicatorRef symbolicator, int flags, int time, void (^handler)(CSSymbolOwnerRef t)) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithFlagsAtTime called"); return 0; } 234 + int CSSymbolicatorForeachSymbolOwnerWithNameAtTime(CSSymbolicatorRef symbolicator, const char* name, int time, void (^handler)(CSSymbolOwnerRef t)) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithNameAtTime called"); return 0; } 235 + int CSSymbolicatorForeachSymbolOwnerWithPathAtTime(CSSymbolicatorRef symbolicator, const char* path, int time, void (^handler)(CSSymbolOwnerRef t)) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithPathAtTime called"); return 0; } 233 236 void* CSSymbolicatorForeachSymbolOwnerWithUUIDAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolOwnerWithUUIDAtTime called"); return NULL; } 234 - void* CSSymbolicatorForeachSymbolWithMangledNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolWithMangledNameAtTime called"); return NULL; } 235 - void* CSSymbolicatorForeachSymbolWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolWithNameAtTime called"); return NULL; } 237 + void CSSymbolicatorForeachSymbolWithMangledNameAtTime(CSSymbolicatorRef symbolicator, const char* name, int time, void (^handler)(CSSymbolRef t)) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolWithMangledNameAtTime called"); } 238 + void CSSymbolicatorForeachSymbolWithNameAtTime(CSSymbolicatorRef symbolicator, const char* name, int time, void (^handler)(CSSymbolRef t)) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolWithNameAtTime called"); } 236 239 void* CSSymbolicatorForeachSymbolicatorWithPath(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolicatorWithPath called"); return NULL; } 237 240 void* CSSymbolicatorForeachSymbolicatorWithPathFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolicatorWithPathFlagsAndNotification called"); return NULL; } 238 241 void* CSSymbolicatorForeachSymbolicatorWithURL(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolicatorWithURL called"); return NULL; } 239 242 void* CSSymbolicatorForeachSymbolicatorWithURLFlagsAndNotification(void) { if (verbose) puts("STUB: CSSymbolicatorForeachSymbolicatorWithURLFlagsAndNotification called"); return NULL; } 240 - void* CSSymbolicatorGetAOutSymbolOwner(void) { if (verbose) puts("STUB: CSSymbolicatorGetAOutSymbolOwner called"); return NULL; } 241 - void* CSSymbolicatorGetArchitecture(void) { if (verbose) puts("STUB: CSSymbolicatorGetArchitecture called"); return NULL; } 243 + void* CSSymbolicatorGetAOutSymbolOwner(int arg0) { if (verbose) puts("STUB: CSSymbolicatorGetAOutSymbolOwner called"); return NULL; } 244 + int CSSymbolicatorGetArchitecture(CSSymbolicatorRef symbolicator) { if (verbose) puts("STUB: CSSymbolicatorGetArchitecture called"); return 0; } 242 245 void* CSSymbolicatorGetFlagsForDebugMapOnlyData(void) { if (verbose) puts("STUB: CSSymbolicatorGetFlagsForDebugMapOnlyData called"); return NULL; } 243 246 void* CSSymbolicatorGetFlagsForDsymOnlyData(void) { if (verbose) puts("STUB: CSSymbolicatorGetFlagsForDsymOnlyData called"); return NULL; } 244 247 void* CSSymbolicatorGetFlagsForDwarfOnlyData(void) { if (verbose) puts("STUB: CSSymbolicatorGetFlagsForDwarfOnlyData called"); return NULL; } 245 248 void* CSSymbolicatorGetFlagsForFunctionStartsOnlyData(void) { if (verbose) puts("STUB: CSSymbolicatorGetFlagsForFunctionStartsOnlyData called"); return NULL; } 246 249 void* CSSymbolicatorGetFlagsForNListOnlyData(void) { if (verbose) puts("STUB: CSSymbolicatorGetFlagsForNListOnlyData called"); return NULL; } 247 250 void* CSSymbolicatorGetFlagsForNoSymbolOrSourceInfoData(void) { if (verbose) puts("STUB: CSSymbolicatorGetFlagsForNoSymbolOrSourceInfoData called"); return NULL; } 248 - void* CSSymbolicatorGetPid(void) { if (verbose) puts("STUB: CSSymbolicatorGetPid called"); return NULL; } 251 + pid_t CSSymbolicatorGetPid(CSSymbolicatorRef symbolicator) { if (verbose) puts("STUB: CSSymbolicatorGetPid called"); return 0; } 249 252 void* CSSymbolicatorGetRegionCountAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetRegionCountAtTime called"); return NULL; } 250 253 void* CSSymbolicatorGetRegionWithAddressAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetRegionWithAddressAtTime called"); return NULL; } 251 254 void* CSSymbolicatorGetRegionWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetRegionWithNameAtTime called"); return NULL; } ··· 258 261 void* CSSymbolicatorGetSymbolCountAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolCountAtTime called"); return NULL; } 259 262 void* CSSymbolicatorGetSymbolOwner(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwner called"); return NULL; } 260 263 void* CSSymbolicatorGetSymbolOwnerCountAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerCountAtTime called"); return NULL; } 261 - void* CSSymbolicatorGetSymbolOwnerWithAddressAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerWithAddressAtTime called"); return NULL; } 264 + CSSymbolOwnerRef CSSymbolicatorGetSymbolOwnerWithAddressAtTime(CSSymbolicatorRef symbolicator, mach_vm_address_t address, int time) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerWithAddressAtTime called"); return NULL; } 262 265 void* CSSymbolicatorGetSymbolOwnerWithCFUUIDBytesAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerWithCFUUIDBytesAtTime called"); return NULL; } 263 266 void* CSSymbolicatorGetSymbolOwnerWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerWithNameAtTime called"); return NULL; } 264 - void* CSSymbolicatorGetSymbolOwnerWithUUIDAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerWithUUIDAtTime called"); return NULL; } 265 - void* CSSymbolicatorGetSymbolWithAddressAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolWithAddressAtTime called"); return NULL; } 267 + CSSymbolOwnerRef CSSymbolicatorGetSymbolOwnerWithUUIDAtTime(CSSymbolicatorRef symbolicator, CFUUIDRef uuid, int time) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolOwnerWithUUIDAtTime called"); return NULL; } 268 + CSSymbolRef CSSymbolicatorGetSymbolWithAddressAtTime(CSSymbolicatorRef symbolicator, mach_vm_address_t addr, time_t time) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolWithAddressAtTime called"); return NULL; } 266 269 void* CSSymbolicatorGetSymbolWithMangledNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolWithMangledNameAtTime called"); return NULL; } 267 270 void* CSSymbolicatorGetSymbolWithMangledNameFromSymbolOwnerWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolWithMangledNameFromSymbolOwnerWithNameAtTime called"); return NULL; } 268 271 void* CSSymbolicatorGetSymbolWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolWithNameAtTime called"); return NULL; } 269 272 void* CSSymbolicatorGetSymbolWithNameFromSymbolOwnerWithNameAtTime(void) { if (verbose) puts("STUB: CSSymbolicatorGetSymbolWithNameFromSymbolOwnerWithNameAtTime called"); return NULL; } 270 - void* CSSymbolicatorGetTask(void) { if (verbose) puts("STUB: CSSymbolicatorGetTask called"); return NULL; } 273 + task_t CSSymbolicatorGetTask(CSSymbolicatorRef symbolicator) { if (verbose) puts("STUB: CSSymbolicatorGetTask called"); return 0; } 271 274 void* CSSymbolicatorIsKernelSymbolicator(void) { if (verbose) puts("STUB: CSSymbolicatorIsKernelSymbolicator called"); return NULL; } 272 275 void* CSSymbolicatorIsTaskTranslated(void) { if (verbose) puts("STUB: CSSymbolicatorIsTaskTranslated called"); return NULL; } 273 276 void* CSSymbolicatorIsTaskValid(void) { if (verbose) puts("STUB: CSSymbolicatorIsTaskValid called"); return NULL; } ··· 275 278 void* CSSymbolicatorResymbolicateFail(void) { if (verbose) puts("STUB: CSSymbolicatorResymbolicateFail called"); return NULL; } 276 279 void* CSSymbolicatorResymbolicateFromDebugSymbolsInfo(void) { if (verbose) puts("STUB: CSSymbolicatorResymbolicateFromDebugSymbolsInfo called"); return NULL; } 277 280 void* CSSymbolicatorSetForceGlobalSafeMachVMReads(void) { if (verbose) puts("STUB: CSSymbolicatorSetForceGlobalSafeMachVMReads called"); return NULL; } 278 - void* CSSymbolicatorSubscribeToTaskMainNotification(void) { if (verbose) puts("STUB: CSSymbolicatorSubscribeToTaskMainNotification called"); return NULL; } 281 + void CSSymbolicatorSubscribeToTaskMainNotification(CSSymbolicatorRef symbolicator) { if (verbose) puts("STUB: CSSymbolicatorSubscribeToTaskMainNotification called"); } 279 282 void* CSTotalBytesMapped(void) { if (verbose) puts("STUB: CSTotalBytesMapped called"); return NULL; } 280 283 void* CSUUIDCFUUIDBytesToPath(void) { if (verbose) puts("STUB: CSUUIDCFUUIDBytesToPath called"); return NULL; } 281 284 void* CSUUIDCFUUIDBytesToString(void) { if (verbose) puts("STUB: CSUUIDCFUUIDBytesToString called"); return NULL; }
+15 -6
tools/darling-stub-gen
··· 4 4 5 5 # Data 6 6 library = False 7 + iossupport_system = False 7 8 framework = False 8 9 private_framework = False 9 10 10 11 # Constants 11 12 library_prefix = "/usr/lib/" 13 + iossupport_system_prefix = "/System/iOSSupport" 12 14 framework_prefix = "/System/Library/Frameworks/" 13 15 private_framework_prefix = "/System/Library/PrivateFrameworks/" 14 16 ··· 84 86 85 87 full_path = sys.argv[1] 86 88 output_dir = sys.argv[2] 89 + validate_path = full_path 87 90 88 91 try: 89 92 os.makedirs(output_dir) 90 93 except FileExistsError: 91 94 pass 92 95 93 - if full_path.endswith(".dylib"): 96 + if full_path.startswith(iossupport_system_prefix): 97 + iossupport_system = True 98 + validate_path = full_path[len(iossupport_system_prefix):] 99 + 100 + if validate_path.endswith(".dylib"): 94 101 library = True 95 - target_name = extract_library_name(full_path) 96 - elif len(full_path) > len(framework_prefix) and full_path[:len(framework_prefix)] == framework_prefix: 102 + target_name = extract_library_name(validate_path) 103 + elif len(validate_path) > len(framework_prefix) and validate_path[:len(framework_prefix)] == framework_prefix: 97 104 framework = True 98 - target_name = extract_framework_name(full_path) 99 - elif len(full_path) > len(private_framework_prefix) and full_path[ 105 + target_name = extract_framework_name(validate_path) 106 + elif len(validate_path) > len(private_framework_prefix) and validate_path[ 100 107 :len(private_framework_prefix)] == private_framework_prefix: 101 108 private_framework = True 102 - target_name = extract_framework_name(full_path) 109 + target_name = extract_framework_name(validate_path) 103 110 else: 104 111 print("Failed to recognize Mach-O location") 105 112 target_name = None ··· 262 269 else: 263 270 cmake.write("add_framework(%s\n" % target_name) 264 271 cmake.write(" FAT\n CURRENT_VERSION\n") 272 + if iossupport_system: 273 + cmake.write(" IOSSUPPORT\n") 265 274 if private_framework: 266 275 cmake.write(" PRIVATE\n") 267 276 cmake.write(" VERSION \"A\"\n\n")