From cd38b72319e885dd5502ba9a528d02494af4c148 Mon Sep 17 00:00:00 2001 From: mostobriv Date: Wed, 5 Nov 2025 01:28:31 +0700 Subject: [PATCH] Initial round of macros gathering --- macrodefs_enums/ios/AppleArchive/AADefs.h | 7 + .../ios/AppleArchive/AppleArchive.h | 13 + macrodefs_enums/ios/AppleEXR.h | 29 + macrodefs_enums/ios/AppleTextureEncoder.h | 26 + macrodefs_enums/ios/AssertMacros.h | 15 + macrodefs_enums/ios/Availability.h | 46 + macrodefs_enums/ios/AvailabilityInternal.h | 67 + .../ios/AvailabilityInternalLegacy.h | 1541 ++++++++++ macrodefs_enums/ios/AvailabilityMacros.h | 838 ++++++ macrodefs_enums/ios/AvailabilityVersions.h | 440 +++ macrodefs_enums/ios/Block.h | 7 + .../ios/CommonCrypto/CommonDigest.h | 64 + macrodefs_enums/ios/CommonCrypto/CommonHMAC.h | 11 + macrodefs_enums/ios/ConditionalMacros.h | 113 + macrodefs_enums/ios/MacTypes.h | 18 + macrodefs_enums/ios/Spatial/Base.h | 46 + macrodefs_enums/ios/TargetConditionals.h | 58 + macrodefs_enums/ios/___wctype.h | 12 + macrodefs_enums/ios/__libunwind_config.h | 46 + macrodefs_enums/ios/_ctermid.h | 7 + macrodefs_enums/ios/_ctype.h | 33 + macrodefs_enums/ios/_inttypes.h | 268 ++ macrodefs_enums/ios/_langinfo.h | 68 + macrodefs_enums/ios/_locale.h | 26 + macrodefs_enums/ios/_mb_cur_max.h | 7 + macrodefs_enums/ios/_regex.h | 57 + macrodefs_enums/ios/_static_assert.h | 7 + macrodefs_enums/ios/_stdio.h | 61 + macrodefs_enums/ios/_stdlib.h | 28 + macrodefs_enums/ios/_time.h | 41 + macrodefs_enums/ios/_types.h | 18 + macrodefs_enums/ios/_wchar.h | 9 + macrodefs_enums/ios/_wctype.h | 7 + macrodefs_enums/ios/arm/_endian.h | 9 + macrodefs_enums/ios/arm/_limits.h | 7 + macrodefs_enums/ios/arm/_mcontext.h | 13 + macrodefs_enums/ios/arm/_param.h | 14 + .../ios/arm/cpu_capabilities_public.h | 73 + macrodefs_enums/ios/arm/endian.h | 11 + macrodefs_enums/ios/arm/limits.h | 43 + macrodefs_enums/ios/arm/param.h | 50 + macrodefs_enums/ios/arm/signal.h | 7 + macrodefs_enums/ios/arm/types.h | 8 + macrodefs_enums/ios/arm64/hv/hv_kern_types.h | 9 + macrodefs_enums/ios/arpa/nameser.h | 297 ++ macrodefs_enums/ios/arpa/nameser_compat.h | 263 ++ macrodefs_enums/ios/asl.h | 137 + macrodefs_enums/ios/assert.h | 7 + macrodefs_enums/ios/bank/bank_types.h | 26 + macrodefs_enums/ios/bsm/audit.h | 179 ++ macrodefs_enums/ios/bzlib.h | 34 + macrodefs_enums/ios/cache.h | 8 + macrodefs_enums/ios/checkint.h | 7 + macrodefs_enums/ios/complex.h | 13 + macrodefs_enums/ios/copyfile.h | 73 + macrodefs_enums/ios/cpio.h | 26 + macrodefs_enums/ios/db.h | 56 + macrodefs_enums/ios/dirent.h | 22 + macrodefs_enums/ios/dispatch/base.h | 82 + macrodefs_enums/ios/dispatch/data.h | 24 + macrodefs_enums/ios/dispatch/dispatch.h | 7 + macrodefs_enums/ios/dispatch/io.h | 49 + macrodefs_enums/ios/dispatch/once.h | 14 + macrodefs_enums/ios/dispatch/queue.h | 123 + macrodefs_enums/ios/dispatch/source.h | 159 + macrodefs_enums/ios/dispatch/time.h | 25 + macrodefs_enums/ios/dlfcn.h | 30 + macrodefs_enums/ios/dns_sd.h | 118 + macrodefs_enums/ios/dns_util.h | 39 + macrodefs_enums/ios/execinfo.h | 7 + macrodefs_enums/ios/expat.h | 41 + macrodefs_enums/ios/expat_config.h | 124 + macrodefs_enums/ios/expat_external.h | 15 + macrodefs_enums/ios/fenv.h | 30 + macrodefs_enums/ios/float.h | 80 + macrodefs_enums/ios/fmtmsg.h | 46 + macrodefs_enums/ios/fnmatch.h | 18 + macrodefs_enums/ios/fstab.h | 3 + macrodefs_enums/ios/fts.h | 62 + macrodefs_enums/ios/ftw.h | 27 + macrodefs_enums/ios/getopt.h | 13 + macrodefs_enums/ios/glob.h | 37 + macrodefs_enums/ios/grp.h | 3 + macrodefs_enums/ios/iconv.h | 26 + macrodefs_enums/ios/ifaddrs.h | 7 + macrodefs_enums/ios/iso646.h | 37 + macrodefs_enums/ios/libDER/libDER_config.h | 22 + .../ios/libkern/OSAtomicDeprecated.h | 7 + macrodefs_enums/ios/libkern/OSAtomicQueue.h | 7 + macrodefs_enums/ios/libkern/OSCacheControl.h | 20 + macrodefs_enums/ios/libkern/OSReturn.h | 103 + .../ios/libkern/OSSpinLockDeprecated.h | 15 + macrodefs_enums/ios/libkern/OSTypes.h | 7 + .../ios/libkern/arm/_OSByteOrder.h | 7 + macrodefs_enums/ios/libunwind.h | 7 + macrodefs_enums/ios/libxml/DOCBparser.h | 3 + macrodefs_enums/ios/libxml/HTMLtree.h | 19 + macrodefs_enums/ios/libxml/catalog.h | 3 + macrodefs_enums/ios/libxml/encoding.h | 7 + macrodefs_enums/ios/libxml/globals.h | 116 + macrodefs_enums/ios/libxml/nanoftp.h | 11 + macrodefs_enums/ios/libxml/parser.h | 37 + macrodefs_enums/ios/libxml/parserInternals.h | 100 + macrodefs_enums/ios/libxml/schemasInternals.h | 541 ++++ macrodefs_enums/ios/libxml/tree.h | 22 + macrodefs_enums/ios/libxml/xinclude.h | 3 + macrodefs_enums/ios/libxml/xmlexports.h | 13 + macrodefs_enums/ios/libxml/xmlstring.h | 7 + macrodefs_enums/ios/libxml/xmlversion.h | 19 + macrodefs_enums/ios/libxml/xmlwriter.h | 10 + macrodefs_enums/ios/libxml/xpath.h | 18 + macrodefs_enums/ios/libxml/xpathInternals.h | 22 + .../ios/libxml2/libxml/DOCBparser.h | 3 + macrodefs_enums/ios/libxml2/libxml/HTMLtree.h | 19 + macrodefs_enums/ios/libxml2/libxml/catalog.h | 3 + macrodefs_enums/ios/libxml2/libxml/encoding.h | 7 + macrodefs_enums/ios/libxml2/libxml/globals.h | 116 + macrodefs_enums/ios/libxml2/libxml/nanoftp.h | 11 + macrodefs_enums/ios/libxml2/libxml/parser.h | 37 + .../ios/libxml2/libxml/parserInternals.h | 100 + .../ios/libxml2/libxml/schemasInternals.h | 541 ++++ macrodefs_enums/ios/libxml2/libxml/tree.h | 22 + macrodefs_enums/ios/libxml2/libxml/xinclude.h | 3 + .../ios/libxml2/libxml/xmlexports.h | 13 + .../ios/libxml2/libxml/xmlstring.h | 7 + .../ios/libxml2/libxml/xmlversion.h | 19 + .../ios/libxml2/libxml/xmlwriter.h | 10 + macrodefs_enums/ios/libxml2/libxml/xpath.h | 18 + .../ios/libxml2/libxml/xpathInternals.h | 22 + macrodefs_enums/ios/limits.h | 77 + macrodefs_enums/ios/locale.h | 14 + macrodefs_enums/ios/mach-o/arch.h | 3 + .../ios/mach-o/compact_unwind_encoding.h | 10 + macrodefs_enums/ios/mach-o/dyld.h | 37 + macrodefs_enums/ios/mach-o/dyld_images.h | 12 + macrodefs_enums/ios/mach-o/fat.h | 17 + macrodefs_enums/ios/mach-o/fixup-chains.h | 7 + macrodefs_enums/ios/mach-o/getsect.h | 3 + macrodefs_enums/ios/mach-o/ldsyms.h | 3 + macrodefs_enums/ios/mach-o/loader.h | 521 ++++ macrodefs_enums/ios/mach-o/nlist.h | 127 + macrodefs_enums/ios/mach-o/ranlib.h | 3 + macrodefs_enums/ios/mach-o/reloc.h | 14 + macrodefs_enums/ios/mach-o/stab.h | 56 + macrodefs_enums/ios/mach-o/swap.h | 3 + macrodefs_enums/ios/mach-o/utils.h | 7 + macrodefs_enums/ios/mach/arm/_structs.h | 62 + macrodefs_enums/ios/mach/arm/asm.h | 19 + macrodefs_enums/ios/mach/arm/exception.h | 46 + macrodefs_enums/ios/mach/arm/processor_info.h | 17 + macrodefs_enums/ios/mach/arm/thread_state.h | 8 + macrodefs_enums/ios/mach/arm/thread_status.h | 156 + macrodefs_enums/ios/mach/arm/traps.h | 8 + macrodefs_enums/ios/mach/arm/vm_param.h | 54 + macrodefs_enums/ios/mach/arm/vm_types.h | 7 + macrodefs_enums/ios/mach/boolean.h | 11 + macrodefs_enums/ios/mach/clock.h | 7 + macrodefs_enums/ios/mach/clock_priv.h | 7 + macrodefs_enums/ios/mach/clock_reply.h | 7 + macrodefs_enums/ios/mach/clock_types.h | 48 + macrodefs_enums/ios/mach/doubleagent_types.h | 21 + macrodefs_enums/ios/mach/error.h | 42 + macrodefs_enums/ios/mach/exc.h | 7 + macrodefs_enums/ios/mach/exception_types.h | 103 + macrodefs_enums/ios/mach/host_info.h | 108 + macrodefs_enums/ios/mach/host_notify.h | 14 + macrodefs_enums/ios/mach/host_priv.h | 7 + macrodefs_enums/ios/mach/host_reboot.h | 9 + macrodefs_enums/ios/mach/host_security.h | 7 + macrodefs_enums/ios/mach/host_special_ports.h | 76 + macrodefs_enums/ios/mach/kern_return.h | 223 ++ macrodefs_enums/ios/mach/kmod.h | 21 + macrodefs_enums/ios/mach/mach.h | 17 + macrodefs_enums/ios/mach/mach_error.h | 7 + macrodefs_enums/ios/mach/mach_eventlink.h | 7 + macrodefs_enums/ios/mach/mach_host.h | 7 + macrodefs_enums/ios/mach/mach_init.h | 18 + macrodefs_enums/ios/mach/mach_param.h | 29 + macrodefs_enums/ios/mach/mach_port.h | 7 + macrodefs_enums/ios/mach/mach_types.h | 58 + macrodefs_enums/ios/mach/mach_voucher.h | 7 + macrodefs_enums/ios/mach/mach_voucher_types.h | 102 + macrodefs_enums/ios/mach/machine.h | 411 +++ .../ios/mach/machine/thread_state.h | 8 + macrodefs_enums/ios/mach/memory_entry.h | 7 + .../ios/mach/memory_object_types.h | 140 + macrodefs_enums/ios/mach/message.h | 360 +++ macrodefs_enums/ios/mach/mig.h | 36 + macrodefs_enums/ios/mach/mig_errors.h | 24 + macrodefs_enums/ios/mach/ndr.h | 41 + macrodefs_enums/ios/mach/notify.h | 25 + macrodefs_enums/ios/mach/policy.h | 60 + macrodefs_enums/ios/mach/port.h | 206 ++ macrodefs_enums/ios/mach/processor.h | 7 + macrodefs_enums/ios/mach/processor_info.h | 47 + macrodefs_enums/ios/mach/processor_set.h | 7 + macrodefs_enums/ios/mach/rpc.h | 12 + macrodefs_enums/ios/mach/sync_policy.h | 15 + macrodefs_enums/ios/mach/task.h | 7 + macrodefs_enums/ios/mach/task_info.h | 188 ++ macrodefs_enums/ios/mach/task_inspect.h | 7 + macrodefs_enums/ios/mach/task_policy.h | 74 + macrodefs_enums/ios/mach/task_special_ports.h | 21 + macrodefs_enums/ios/mach/thread_act.h | 7 + macrodefs_enums/ios/mach/thread_info.h | 79 + macrodefs_enums/ios/mach/thread_policy.h | 132 + .../ios/mach/thread_special_ports.h | 14 + macrodefs_enums/ios/mach/thread_status.h | 16 + macrodefs_enums/ios/mach/thread_switch.h | 12 + macrodefs_enums/ios/mach/time_value.h | 11 + macrodefs_enums/ios/mach/vm_attributes.h | 24 + macrodefs_enums/ios/mach/vm_behavior.h | 29 + macrodefs_enums/ios/mach/vm_inherit.h | 20 + macrodefs_enums/ios/mach/vm_map.h | 7 + macrodefs_enums/ios/mach/vm_prot.h | 114 + macrodefs_enums/ios/mach/vm_purgable.h | 128 + macrodefs_enums/ios/mach/vm_region.h | 103 + macrodefs_enums/ios/mach/vm_statistics.h | 270 ++ macrodefs_enums/ios/mach/vm_sync.h | 21 + macrodefs_enums/ios/mach/vm_types.h | 21 + .../ios/mach_debug/lockgroup_info.h | 11 + .../ios/mach_debug/mach_debug_types.h | 30 + macrodefs_enums/ios/mach_debug/zone_info.h | 42 + macrodefs_enums/ios/malloc/_malloc_type.h | 7 + macrodefs_enums/ios/malloc/_ptrcheck.h | 7 + macrodefs_enums/ios/malloc/malloc.h | 17 + macrodefs_enums/ios/math.h | 111 + macrodefs_enums/ios/membership.h | 79 + macrodefs_enums/ios/mpool.h | 19 + macrodefs_enums/ios/nameser.h | 297 ++ macrodefs_enums/ios/ndbm.h | 14 + macrodefs_enums/ios/net/ethernet.h | 77 + macrodefs_enums/ios/net/if.h | 174 ++ macrodefs_enums/ios/net/if_types.h | 87 + macrodefs_enums/ios/net/if_var.h | 65 + macrodefs_enums/ios/net/if_var_status.h | 122 + macrodefs_enums/ios/net/net_kev.h | 69 + macrodefs_enums/ios/net/pfkeyv2.h | 196 ++ macrodefs_enums/ios/netdb.h | 79 + macrodefs_enums/ios/netinet/icmp6.h | 451 +++ macrodefs_enums/ios/netinet/in.h | 410 +++ macrodefs_enums/ios/netinet/in_pcb.h | 35 + macrodefs_enums/ios/netinet/ip.h | 123 + macrodefs_enums/ios/netinet/ip6.h | 107 + macrodefs_enums/ios/netinet/ip_icmp.h | 138 + macrodefs_enums/ios/netinet/tcp.h | 153 + macrodefs_enums/ios/netinet/tcp_timer.h | 71 + macrodefs_enums/ios/netinet/tcp_var.h | 61 + macrodefs_enums/ios/netinet/udp.h | 10 + macrodefs_enums/ios/netinet6/in6.h | 240 ++ macrodefs_enums/ios/netinet6/ipsec.h | 79 + macrodefs_enums/ios/netinet6/scope6_var.h | 11 + macrodefs_enums/ios/nl_types.h | 8 + macrodefs_enums/ios/notify.h | 38 + macrodefs_enums/ios/notify_keys.h | 3 + macrodefs_enums/ios/ntsid.h | 7 + macrodefs_enums/ios/objc/NSObjCRuntime.h | 18 + macrodefs_enums/ios/objc/objc-api.h | 47 + macrodefs_enums/ios/objc/objc.h | 24 + macrodefs_enums/ios/objc/runtime.h | 101 + macrodefs_enums/ios/os/activity.h | 11 + macrodefs_enums/ios/os/atomic.h | 7 + macrodefs_enums/ios/os/availability.h | 14 + macrodefs_enums/ios/os/base.h | 110 + macrodefs_enums/ios/os/lock.h | 17 + macrodefs_enums/ios/os/log.h | 12 + macrodefs_enums/ios/os/object.h | 29 + .../ios/os/os_sync_wait_on_address.h | 7 + macrodefs_enums/ios/os/signpost.h | 14 + macrodefs_enums/ios/os/trace.h | 22 + macrodefs_enums/ios/os/trace_base.h | 23 + macrodefs_enums/ios/os/workgroup_base.h | 34 + macrodefs_enums/ios/os/workgroup_interval.h | 7 + macrodefs_enums/ios/os/workgroup_object.h | 7 + macrodefs_enums/ios/paths.h | 3 + macrodefs_enums/ios/printf.h | 27 + macrodefs_enums/ios/pthread.h | 86 + macrodefs_enums/ios/pthread/pthread.h | 86 + macrodefs_enums/ios/pthread/pthread_impl.h | 32 + macrodefs_enums/ios/pthread/pthread_spis.h | 16 + macrodefs_enums/ios/pthread_impl.h | 32 + macrodefs_enums/ios/pthread_spis.h | 16 + macrodefs_enums/ios/pwd.h | 21 + macrodefs_enums/ios/readpassphrase.h | 13 + macrodefs_enums/ios/resolv.h | 374 +++ macrodefs_enums/ios/rpc/auth.h | 16 + macrodefs_enums/ios/rpc/auth_unix.h | 8 + macrodefs_enums/ios/rpc/clnt.h | 46 + macrodefs_enums/ios/rpc/rpc_msg.h | 39 + macrodefs_enums/ios/rpc/svc.h | 14 + macrodefs_enums/ios/rpc/types.h | 23 + macrodefs_enums/ios/rpc/xdr.h | 33 + macrodefs_enums/ios/rpcsvc/bootparam_prot.h | 26 + macrodefs_enums/ios/rpcsvc/klm_prot.h | 21 + macrodefs_enums/ios/rpcsvc/mount.h | 30 + macrodefs_enums/ios/rpcsvc/nfs_prot.h | 53 + macrodefs_enums/ios/rpcsvc/nlm_prot.h | 87 + macrodefs_enums/ios/rpcsvc/rex.h | 112 + macrodefs_enums/ios/rpcsvc/rnusers.h | 27 + macrodefs_enums/ios/rpcsvc/rquota.h | 23 + macrodefs_enums/ios/rpcsvc/rstat.h | 35 + macrodefs_enums/ios/rpcsvc/rusers.h | 42 + macrodefs_enums/ios/rpcsvc/rwall.h | 18 + macrodefs_enums/ios/rpcsvc/sm_inter.h | 23 + macrodefs_enums/ios/rpcsvc/spray.h | 25 + macrodefs_enums/ios/rpcsvc/yp.h | 82 + macrodefs_enums/ios/rpcsvc/yppasswd.h | 18 + macrodefs_enums/ios/runetype.h | 9 + macrodefs_enums/ios/sandbox.h | 11 + macrodefs_enums/ios/secure/_common.h | 7 + macrodefs_enums/ios/secure/_string.h | 7 + macrodefs_enums/ios/setjmp.h | 14 + macrodefs_enums/ios/simd/base.h | 43 + macrodefs_enums/ios/simd/common.h | 61 + macrodefs_enums/ios/simd/conversion.h | 58 + macrodefs_enums/ios/simd/geometry.h | 64 + macrodefs_enums/ios/simd/logic.h | 16 + macrodefs_enums/ios/simd/matrix.h | 43 + macrodefs_enums/ios/spawn.h | 14 + macrodefs_enums/ios/sqlite3.h | 2598 +++++++++++++++++ macrodefs_enums/ios/stdint.h | 125 + macrodefs_enums/ios/sys/__endian.h | 20 + .../ios/sys/_pthread/_pthread_types.h | 15 + macrodefs_enums/ios/sys/_types.h | 7 + macrodefs_enums/ios/sys/_types/_fd_def.h | 12 + macrodefs_enums/ios/sys/_types/_fd_setsize.h | 8 + macrodefs_enums/ios/sys/_types/_graftdmg_un.h | 18 + macrodefs_enums/ios/sys/_types/_guid_t.h | 7 + macrodefs_enums/ios/sys/_types/_null.h | 8 + macrodefs_enums/ios/sys/_types/_o_dsync.h | 7 + macrodefs_enums/ios/sys/_types/_o_sync.h | 7 + macrodefs_enums/ios/sys/_types/_os_inline.h | 7 + .../ios/sys/_types/_posix_vdisable.h | 7 + macrodefs_enums/ios/sys/_types/_s_ifmt.h | 41 + macrodefs_enums/ios/sys/_types/_seek_set.h | 11 + macrodefs_enums/ios/sys/_types/_sigaltstack.h | 7 + macrodefs_enums/ios/sys/_types/_timespec.h | 7 + macrodefs_enums/ios/sys/_types/_timeval.h | 7 + macrodefs_enums/ios/sys/_types/_timeval32.h | 7 + macrodefs_enums/ios/sys/_types/_ucontext.h | 7 + macrodefs_enums/ios/sys/_types/_ucontext64.h | 7 + macrodefs_enums/ios/sys/acl.h | 53 + macrodefs_enums/ios/sys/aio.h | 53 + macrodefs_enums/ios/sys/attr.h | 521 ++++ macrodefs_enums/ios/sys/cdefs.h | 157 + macrodefs_enums/ios/sys/clonefile.h | 11 + macrodefs_enums/ios/sys/dir.h | 7 + macrodefs_enums/ios/sys/dirent.h | 36 + macrodefs_enums/ios/sys/errno.h | 130 + macrodefs_enums/ios/sys/event.h | 213 ++ macrodefs_enums/ios/sys/fcntl.h | 253 ++ macrodefs_enums/ios/sys/fileport.h | 8 + macrodefs_enums/ios/sys/filio.h | 28 + macrodefs_enums/ios/sys/ioccom.h | 24 + macrodefs_enums/ios/sys/ioctl.h | 10 + macrodefs_enums/ios/sys/ipc.h | 31 + macrodefs_enums/ios/sys/kauth.h | 60 + macrodefs_enums/ios/sys/lctx.h | 9 + macrodefs_enums/ios/sys/lockstat.h | 3 + macrodefs_enums/ios/sys/mman.h | 135 + macrodefs_enums/ios/sys/mount.h | 201 ++ macrodefs_enums/ios/sys/msg.h | 15 + macrodefs_enums/ios/sys/param.h | 144 + macrodefs_enums/ios/sys/paths.h | 3 + macrodefs_enums/ios/sys/poll.h | 34 + macrodefs_enums/ios/sys/proc.h | 88 + macrodefs_enums/ios/sys/qos.h | 23 + macrodefs_enums/ios/sys/queue.h | 3 + macrodefs_enums/ios/sys/quota.h | 73 + macrodefs_enums/ios/sys/rbtree.h | 12 + macrodefs_enums/ios/sys/resource.h | 231 ++ macrodefs_enums/ios/sys/sem.h | 35 + macrodefs_enums/ios/sys/semaphore.h | 10 + macrodefs_enums/ios/sys/shm.h | 28 + macrodefs_enums/ios/sys/signal.h | 195 ++ macrodefs_enums/ios/sys/snapshot.h | 12 + macrodefs_enums/ios/sys/socket.h | 389 +++ macrodefs_enums/ios/sys/socketvar.h | 14 + macrodefs_enums/ios/sys/sockio.h | 220 ++ macrodefs_enums/ios/sys/spawn.h | 46 + macrodefs_enums/ios/sys/stat.h | 115 + macrodefs_enums/ios/sys/statvfs.h | 9 + macrodefs_enums/ios/sys/stdio.h | 11 + macrodefs_enums/ios/sys/syscall.h | 517 ++++ macrodefs_enums/ios/sys/sysctl.h | 353 +++ macrodefs_enums/ios/sys/syslimits.h | 33 + macrodefs_enums/ios/sys/syslog.h | 85 + macrodefs_enums/ios/sys/termios.h | 203 ++ macrodefs_enums/ios/sys/time.h | 23 + macrodefs_enums/ios/sys/timex.h | 95 + macrodefs_enums/ios/sys/ttycom.h | 181 ++ macrodefs_enums/ios/sys/ttydefaults.h | 75 + macrodefs_enums/ios/sys/types.h | 12 + macrodefs_enums/ios/sys/ucred.h | 22 + macrodefs_enums/ios/sys/un.h | 18 + macrodefs_enums/ios/sys/unistd.h | 91 + macrodefs_enums/ios/sys/utsname.h | 7 + macrodefs_enums/ios/sys/vsock.h | 18 + macrodefs_enums/ios/sys/wait.h | 52 + macrodefs_enums/ios/sys/xattr.h | 23 + macrodefs_enums/ios/sysexits.h | 89 + macrodefs_enums/ios/tar.h | 38 + macrodefs_enums/ios/tgmath.h | 10 + macrodefs_enums/ios/ttyent.h | 8 + macrodefs_enums/ios/ulimit.h | 8 + macrodefs_enums/ios/unicode/platform.h | 161 + macrodefs_enums/ios/unicode/putil.h | 9 + macrodefs_enums/ios/unicode/stringoptions.h | 155 + macrodefs_enums/ios/unicode/uchar.h | 136 + macrodefs_enums/ios/unicode/uconfig.h | 68 + macrodefs_enums/ios/unicode/uidna.h | 10 + macrodefs_enums/ios/unicode/uiter.h | 19 + macrodefs_enums/ios/unicode/umachine.h | 98 + macrodefs_enums/ios/unicode/utext.h | 26 + macrodefs_enums/ios/unicode/utf16.h | 20 + macrodefs_enums/ios/unicode/utf8.h | 12 + macrodefs_enums/ios/unicode/utf_old.h | 67 + macrodefs_enums/ios/unicode/utypes.h | 54 + macrodefs_enums/ios/unicode/uvernum.h | 70 + macrodefs_enums/ios/unicode/uversion.h | 28 + macrodefs_enums/ios/unistd.h | 319 ++ macrodefs_enums/ios/unwind.h | 7 + macrodefs_enums/ios/unwind_arm_ehabi.h | 10 + macrodefs_enums/ios/usbuf.h | 137 + macrodefs_enums/ios/util.h | 27 + macrodefs_enums/ios/utmpx.h | 34 + macrodefs_enums/ios/vis.h | 59 + .../ios/voucher/ipc_pthread_priority_types.h | 13 + macrodefs_enums/ios/wordexp.h | 23 + macrodefs_enums/ios/xattr_flags.h | 86 + macrodefs_enums/ios/xpc/activity.h | 7 + macrodefs_enums/ios/xpc/availability.h | 7 + macrodefs_enums/ios/xpc/base.h | 82 + macrodefs_enums/ios/xpc/connection.h | 37 + macrodefs_enums/ios/xpc/session.h | 7 + macrodefs_enums/ios/xpc/xpc.h | 82 + macrodefs_enums/ios/zconf.h | 21 + macrodefs_enums/ios/zlib.h | 68 + 438 files changed, 30067 insertions(+) create mode 100644 macrodefs_enums/ios/AppleArchive/AADefs.h create mode 100644 macrodefs_enums/ios/AppleArchive/AppleArchive.h create mode 100644 macrodefs_enums/ios/AppleEXR.h create mode 100644 macrodefs_enums/ios/AppleTextureEncoder.h create mode 100644 macrodefs_enums/ios/AssertMacros.h create mode 100644 macrodefs_enums/ios/Availability.h create mode 100644 macrodefs_enums/ios/AvailabilityInternal.h create mode 100644 macrodefs_enums/ios/AvailabilityInternalLegacy.h create mode 100644 macrodefs_enums/ios/AvailabilityMacros.h create mode 100644 macrodefs_enums/ios/AvailabilityVersions.h create mode 100644 macrodefs_enums/ios/Block.h create mode 100644 macrodefs_enums/ios/CommonCrypto/CommonDigest.h create mode 100644 macrodefs_enums/ios/CommonCrypto/CommonHMAC.h create mode 100644 macrodefs_enums/ios/ConditionalMacros.h create mode 100644 macrodefs_enums/ios/MacTypes.h create mode 100644 macrodefs_enums/ios/Spatial/Base.h create mode 100644 macrodefs_enums/ios/TargetConditionals.h create mode 100644 macrodefs_enums/ios/___wctype.h create mode 100644 macrodefs_enums/ios/__libunwind_config.h create mode 100644 macrodefs_enums/ios/_ctermid.h create mode 100644 macrodefs_enums/ios/_ctype.h create mode 100644 macrodefs_enums/ios/_inttypes.h create mode 100644 macrodefs_enums/ios/_langinfo.h create mode 100644 macrodefs_enums/ios/_locale.h create mode 100644 macrodefs_enums/ios/_mb_cur_max.h create mode 100644 macrodefs_enums/ios/_regex.h create mode 100644 macrodefs_enums/ios/_static_assert.h create mode 100644 macrodefs_enums/ios/_stdio.h create mode 100644 macrodefs_enums/ios/_stdlib.h create mode 100644 macrodefs_enums/ios/_time.h create mode 100644 macrodefs_enums/ios/_types.h create mode 100644 macrodefs_enums/ios/_wchar.h create mode 100644 macrodefs_enums/ios/_wctype.h create mode 100644 macrodefs_enums/ios/arm/_endian.h create mode 100644 macrodefs_enums/ios/arm/_limits.h create mode 100644 macrodefs_enums/ios/arm/_mcontext.h create mode 100644 macrodefs_enums/ios/arm/_param.h create mode 100644 macrodefs_enums/ios/arm/cpu_capabilities_public.h create mode 100644 macrodefs_enums/ios/arm/endian.h create mode 100644 macrodefs_enums/ios/arm/limits.h create mode 100644 macrodefs_enums/ios/arm/param.h create mode 100644 macrodefs_enums/ios/arm/signal.h create mode 100644 macrodefs_enums/ios/arm/types.h create mode 100644 macrodefs_enums/ios/arm64/hv/hv_kern_types.h create mode 100644 macrodefs_enums/ios/arpa/nameser.h create mode 100644 macrodefs_enums/ios/arpa/nameser_compat.h create mode 100644 macrodefs_enums/ios/asl.h create mode 100644 macrodefs_enums/ios/assert.h create mode 100644 macrodefs_enums/ios/bank/bank_types.h create mode 100644 macrodefs_enums/ios/bsm/audit.h create mode 100644 macrodefs_enums/ios/bzlib.h create mode 100644 macrodefs_enums/ios/cache.h create mode 100644 macrodefs_enums/ios/checkint.h create mode 100644 macrodefs_enums/ios/complex.h create mode 100644 macrodefs_enums/ios/copyfile.h create mode 100644 macrodefs_enums/ios/cpio.h create mode 100644 macrodefs_enums/ios/db.h create mode 100644 macrodefs_enums/ios/dirent.h create mode 100644 macrodefs_enums/ios/dispatch/base.h create mode 100644 macrodefs_enums/ios/dispatch/data.h create mode 100644 macrodefs_enums/ios/dispatch/dispatch.h create mode 100644 macrodefs_enums/ios/dispatch/io.h create mode 100644 macrodefs_enums/ios/dispatch/once.h create mode 100644 macrodefs_enums/ios/dispatch/queue.h create mode 100644 macrodefs_enums/ios/dispatch/source.h create mode 100644 macrodefs_enums/ios/dispatch/time.h create mode 100644 macrodefs_enums/ios/dlfcn.h create mode 100644 macrodefs_enums/ios/dns_sd.h create mode 100644 macrodefs_enums/ios/dns_util.h create mode 100644 macrodefs_enums/ios/execinfo.h create mode 100644 macrodefs_enums/ios/expat.h create mode 100644 macrodefs_enums/ios/expat_config.h create mode 100644 macrodefs_enums/ios/expat_external.h create mode 100644 macrodefs_enums/ios/fenv.h create mode 100644 macrodefs_enums/ios/float.h create mode 100644 macrodefs_enums/ios/fmtmsg.h create mode 100644 macrodefs_enums/ios/fnmatch.h create mode 100644 macrodefs_enums/ios/fstab.h create mode 100644 macrodefs_enums/ios/fts.h create mode 100644 macrodefs_enums/ios/ftw.h create mode 100644 macrodefs_enums/ios/getopt.h create mode 100644 macrodefs_enums/ios/glob.h create mode 100644 macrodefs_enums/ios/grp.h create mode 100644 macrodefs_enums/ios/iconv.h create mode 100644 macrodefs_enums/ios/ifaddrs.h create mode 100644 macrodefs_enums/ios/iso646.h create mode 100644 macrodefs_enums/ios/libDER/libDER_config.h create mode 100644 macrodefs_enums/ios/libkern/OSAtomicDeprecated.h create mode 100644 macrodefs_enums/ios/libkern/OSAtomicQueue.h create mode 100644 macrodefs_enums/ios/libkern/OSCacheControl.h create mode 100644 macrodefs_enums/ios/libkern/OSReturn.h create mode 100644 macrodefs_enums/ios/libkern/OSSpinLockDeprecated.h create mode 100644 macrodefs_enums/ios/libkern/OSTypes.h create mode 100644 macrodefs_enums/ios/libkern/arm/_OSByteOrder.h create mode 100644 macrodefs_enums/ios/libunwind.h create mode 100644 macrodefs_enums/ios/libxml/DOCBparser.h create mode 100644 macrodefs_enums/ios/libxml/HTMLtree.h create mode 100644 macrodefs_enums/ios/libxml/catalog.h create mode 100644 macrodefs_enums/ios/libxml/encoding.h create mode 100644 macrodefs_enums/ios/libxml/globals.h create mode 100644 macrodefs_enums/ios/libxml/nanoftp.h create mode 100644 macrodefs_enums/ios/libxml/parser.h create mode 100644 macrodefs_enums/ios/libxml/parserInternals.h create mode 100644 macrodefs_enums/ios/libxml/schemasInternals.h create mode 100644 macrodefs_enums/ios/libxml/tree.h create mode 100644 macrodefs_enums/ios/libxml/xinclude.h create mode 100644 macrodefs_enums/ios/libxml/xmlexports.h create mode 100644 macrodefs_enums/ios/libxml/xmlstring.h create mode 100644 macrodefs_enums/ios/libxml/xmlversion.h create mode 100644 macrodefs_enums/ios/libxml/xmlwriter.h create mode 100644 macrodefs_enums/ios/libxml/xpath.h create mode 100644 macrodefs_enums/ios/libxml/xpathInternals.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/DOCBparser.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/HTMLtree.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/catalog.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/encoding.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/globals.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/nanoftp.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/parser.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/parserInternals.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/schemasInternals.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/tree.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xinclude.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xmlexports.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xmlstring.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xmlversion.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xmlwriter.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xpath.h create mode 100644 macrodefs_enums/ios/libxml2/libxml/xpathInternals.h create mode 100644 macrodefs_enums/ios/limits.h create mode 100644 macrodefs_enums/ios/locale.h create mode 100644 macrodefs_enums/ios/mach-o/arch.h create mode 100644 macrodefs_enums/ios/mach-o/compact_unwind_encoding.h create mode 100644 macrodefs_enums/ios/mach-o/dyld.h create mode 100644 macrodefs_enums/ios/mach-o/dyld_images.h create mode 100644 macrodefs_enums/ios/mach-o/fat.h create mode 100644 macrodefs_enums/ios/mach-o/fixup-chains.h create mode 100644 macrodefs_enums/ios/mach-o/getsect.h create mode 100644 macrodefs_enums/ios/mach-o/ldsyms.h create mode 100644 macrodefs_enums/ios/mach-o/loader.h create mode 100644 macrodefs_enums/ios/mach-o/nlist.h create mode 100644 macrodefs_enums/ios/mach-o/ranlib.h create mode 100644 macrodefs_enums/ios/mach-o/reloc.h create mode 100644 macrodefs_enums/ios/mach-o/stab.h create mode 100644 macrodefs_enums/ios/mach-o/swap.h create mode 100644 macrodefs_enums/ios/mach-o/utils.h create mode 100644 macrodefs_enums/ios/mach/arm/_structs.h create mode 100644 macrodefs_enums/ios/mach/arm/asm.h create mode 100644 macrodefs_enums/ios/mach/arm/exception.h create mode 100644 macrodefs_enums/ios/mach/arm/processor_info.h create mode 100644 macrodefs_enums/ios/mach/arm/thread_state.h create mode 100644 macrodefs_enums/ios/mach/arm/thread_status.h create mode 100644 macrodefs_enums/ios/mach/arm/traps.h create mode 100644 macrodefs_enums/ios/mach/arm/vm_param.h create mode 100644 macrodefs_enums/ios/mach/arm/vm_types.h create mode 100644 macrodefs_enums/ios/mach/boolean.h create mode 100644 macrodefs_enums/ios/mach/clock.h create mode 100644 macrodefs_enums/ios/mach/clock_priv.h create mode 100644 macrodefs_enums/ios/mach/clock_reply.h create mode 100644 macrodefs_enums/ios/mach/clock_types.h create mode 100644 macrodefs_enums/ios/mach/doubleagent_types.h create mode 100644 macrodefs_enums/ios/mach/error.h create mode 100644 macrodefs_enums/ios/mach/exc.h create mode 100644 macrodefs_enums/ios/mach/exception_types.h create mode 100644 macrodefs_enums/ios/mach/host_info.h create mode 100644 macrodefs_enums/ios/mach/host_notify.h create mode 100644 macrodefs_enums/ios/mach/host_priv.h create mode 100644 macrodefs_enums/ios/mach/host_reboot.h create mode 100644 macrodefs_enums/ios/mach/host_security.h create mode 100644 macrodefs_enums/ios/mach/host_special_ports.h create mode 100644 macrodefs_enums/ios/mach/kern_return.h create mode 100644 macrodefs_enums/ios/mach/kmod.h create mode 100644 macrodefs_enums/ios/mach/mach.h create mode 100644 macrodefs_enums/ios/mach/mach_error.h create mode 100644 macrodefs_enums/ios/mach/mach_eventlink.h create mode 100644 macrodefs_enums/ios/mach/mach_host.h create mode 100644 macrodefs_enums/ios/mach/mach_init.h create mode 100644 macrodefs_enums/ios/mach/mach_param.h create mode 100644 macrodefs_enums/ios/mach/mach_port.h create mode 100644 macrodefs_enums/ios/mach/mach_types.h create mode 100644 macrodefs_enums/ios/mach/mach_voucher.h create mode 100644 macrodefs_enums/ios/mach/mach_voucher_types.h create mode 100644 macrodefs_enums/ios/mach/machine.h create mode 100644 macrodefs_enums/ios/mach/machine/thread_state.h create mode 100644 macrodefs_enums/ios/mach/memory_entry.h create mode 100644 macrodefs_enums/ios/mach/memory_object_types.h create mode 100644 macrodefs_enums/ios/mach/message.h create mode 100644 macrodefs_enums/ios/mach/mig.h create mode 100644 macrodefs_enums/ios/mach/mig_errors.h create mode 100644 macrodefs_enums/ios/mach/ndr.h create mode 100644 macrodefs_enums/ios/mach/notify.h create mode 100644 macrodefs_enums/ios/mach/policy.h create mode 100644 macrodefs_enums/ios/mach/port.h create mode 100644 macrodefs_enums/ios/mach/processor.h create mode 100644 macrodefs_enums/ios/mach/processor_info.h create mode 100644 macrodefs_enums/ios/mach/processor_set.h create mode 100644 macrodefs_enums/ios/mach/rpc.h create mode 100644 macrodefs_enums/ios/mach/sync_policy.h create mode 100644 macrodefs_enums/ios/mach/task.h create mode 100644 macrodefs_enums/ios/mach/task_info.h create mode 100644 macrodefs_enums/ios/mach/task_inspect.h create mode 100644 macrodefs_enums/ios/mach/task_policy.h create mode 100644 macrodefs_enums/ios/mach/task_special_ports.h create mode 100644 macrodefs_enums/ios/mach/thread_act.h create mode 100644 macrodefs_enums/ios/mach/thread_info.h create mode 100644 macrodefs_enums/ios/mach/thread_policy.h create mode 100644 macrodefs_enums/ios/mach/thread_special_ports.h create mode 100644 macrodefs_enums/ios/mach/thread_status.h create mode 100644 macrodefs_enums/ios/mach/thread_switch.h create mode 100644 macrodefs_enums/ios/mach/time_value.h create mode 100644 macrodefs_enums/ios/mach/vm_attributes.h create mode 100644 macrodefs_enums/ios/mach/vm_behavior.h create mode 100644 macrodefs_enums/ios/mach/vm_inherit.h create mode 100644 macrodefs_enums/ios/mach/vm_map.h create mode 100644 macrodefs_enums/ios/mach/vm_prot.h create mode 100644 macrodefs_enums/ios/mach/vm_purgable.h create mode 100644 macrodefs_enums/ios/mach/vm_region.h create mode 100644 macrodefs_enums/ios/mach/vm_statistics.h create mode 100644 macrodefs_enums/ios/mach/vm_sync.h create mode 100644 macrodefs_enums/ios/mach/vm_types.h create mode 100644 macrodefs_enums/ios/mach_debug/lockgroup_info.h create mode 100644 macrodefs_enums/ios/mach_debug/mach_debug_types.h create mode 100644 macrodefs_enums/ios/mach_debug/zone_info.h create mode 100644 macrodefs_enums/ios/malloc/_malloc_type.h create mode 100644 macrodefs_enums/ios/malloc/_ptrcheck.h create mode 100644 macrodefs_enums/ios/malloc/malloc.h create mode 100644 macrodefs_enums/ios/math.h create mode 100644 macrodefs_enums/ios/membership.h create mode 100644 macrodefs_enums/ios/mpool.h create mode 100644 macrodefs_enums/ios/nameser.h create mode 100644 macrodefs_enums/ios/ndbm.h create mode 100644 macrodefs_enums/ios/net/ethernet.h create mode 100644 macrodefs_enums/ios/net/if.h create mode 100644 macrodefs_enums/ios/net/if_types.h create mode 100644 macrodefs_enums/ios/net/if_var.h create mode 100644 macrodefs_enums/ios/net/if_var_status.h create mode 100644 macrodefs_enums/ios/net/net_kev.h create mode 100644 macrodefs_enums/ios/net/pfkeyv2.h create mode 100644 macrodefs_enums/ios/netdb.h create mode 100644 macrodefs_enums/ios/netinet/icmp6.h create mode 100644 macrodefs_enums/ios/netinet/in.h create mode 100644 macrodefs_enums/ios/netinet/in_pcb.h create mode 100644 macrodefs_enums/ios/netinet/ip.h create mode 100644 macrodefs_enums/ios/netinet/ip6.h create mode 100644 macrodefs_enums/ios/netinet/ip_icmp.h create mode 100644 macrodefs_enums/ios/netinet/tcp.h create mode 100644 macrodefs_enums/ios/netinet/tcp_timer.h create mode 100644 macrodefs_enums/ios/netinet/tcp_var.h create mode 100644 macrodefs_enums/ios/netinet/udp.h create mode 100644 macrodefs_enums/ios/netinet6/in6.h create mode 100644 macrodefs_enums/ios/netinet6/ipsec.h create mode 100644 macrodefs_enums/ios/netinet6/scope6_var.h create mode 100644 macrodefs_enums/ios/nl_types.h create mode 100644 macrodefs_enums/ios/notify.h create mode 100644 macrodefs_enums/ios/notify_keys.h create mode 100644 macrodefs_enums/ios/ntsid.h create mode 100644 macrodefs_enums/ios/objc/NSObjCRuntime.h create mode 100644 macrodefs_enums/ios/objc/objc-api.h create mode 100644 macrodefs_enums/ios/objc/objc.h create mode 100644 macrodefs_enums/ios/objc/runtime.h create mode 100644 macrodefs_enums/ios/os/activity.h create mode 100644 macrodefs_enums/ios/os/atomic.h create mode 100644 macrodefs_enums/ios/os/availability.h create mode 100644 macrodefs_enums/ios/os/base.h create mode 100644 macrodefs_enums/ios/os/lock.h create mode 100644 macrodefs_enums/ios/os/log.h create mode 100644 macrodefs_enums/ios/os/object.h create mode 100644 macrodefs_enums/ios/os/os_sync_wait_on_address.h create mode 100644 macrodefs_enums/ios/os/signpost.h create mode 100644 macrodefs_enums/ios/os/trace.h create mode 100644 macrodefs_enums/ios/os/trace_base.h create mode 100644 macrodefs_enums/ios/os/workgroup_base.h create mode 100644 macrodefs_enums/ios/os/workgroup_interval.h create mode 100644 macrodefs_enums/ios/os/workgroup_object.h create mode 100644 macrodefs_enums/ios/paths.h create mode 100644 macrodefs_enums/ios/printf.h create mode 100644 macrodefs_enums/ios/pthread.h create mode 100644 macrodefs_enums/ios/pthread/pthread.h create mode 100644 macrodefs_enums/ios/pthread/pthread_impl.h create mode 100644 macrodefs_enums/ios/pthread/pthread_spis.h create mode 100644 macrodefs_enums/ios/pthread_impl.h create mode 100644 macrodefs_enums/ios/pthread_spis.h create mode 100644 macrodefs_enums/ios/pwd.h create mode 100644 macrodefs_enums/ios/readpassphrase.h create mode 100644 macrodefs_enums/ios/resolv.h create mode 100644 macrodefs_enums/ios/rpc/auth.h create mode 100644 macrodefs_enums/ios/rpc/auth_unix.h create mode 100644 macrodefs_enums/ios/rpc/clnt.h create mode 100644 macrodefs_enums/ios/rpc/rpc_msg.h create mode 100644 macrodefs_enums/ios/rpc/svc.h create mode 100644 macrodefs_enums/ios/rpc/types.h create mode 100644 macrodefs_enums/ios/rpc/xdr.h create mode 100644 macrodefs_enums/ios/rpcsvc/bootparam_prot.h create mode 100644 macrodefs_enums/ios/rpcsvc/klm_prot.h create mode 100644 macrodefs_enums/ios/rpcsvc/mount.h create mode 100644 macrodefs_enums/ios/rpcsvc/nfs_prot.h create mode 100644 macrodefs_enums/ios/rpcsvc/nlm_prot.h create mode 100644 macrodefs_enums/ios/rpcsvc/rex.h create mode 100644 macrodefs_enums/ios/rpcsvc/rnusers.h create mode 100644 macrodefs_enums/ios/rpcsvc/rquota.h create mode 100644 macrodefs_enums/ios/rpcsvc/rstat.h create mode 100644 macrodefs_enums/ios/rpcsvc/rusers.h create mode 100644 macrodefs_enums/ios/rpcsvc/rwall.h create mode 100644 macrodefs_enums/ios/rpcsvc/sm_inter.h create mode 100644 macrodefs_enums/ios/rpcsvc/spray.h create mode 100644 macrodefs_enums/ios/rpcsvc/yp.h create mode 100644 macrodefs_enums/ios/rpcsvc/yppasswd.h create mode 100644 macrodefs_enums/ios/runetype.h create mode 100644 macrodefs_enums/ios/sandbox.h create mode 100644 macrodefs_enums/ios/secure/_common.h create mode 100644 macrodefs_enums/ios/secure/_string.h create mode 100644 macrodefs_enums/ios/setjmp.h create mode 100644 macrodefs_enums/ios/simd/base.h create mode 100644 macrodefs_enums/ios/simd/common.h create mode 100644 macrodefs_enums/ios/simd/conversion.h create mode 100644 macrodefs_enums/ios/simd/geometry.h create mode 100644 macrodefs_enums/ios/simd/logic.h create mode 100644 macrodefs_enums/ios/simd/matrix.h create mode 100644 macrodefs_enums/ios/spawn.h create mode 100644 macrodefs_enums/ios/sqlite3.h create mode 100644 macrodefs_enums/ios/stdint.h create mode 100644 macrodefs_enums/ios/sys/__endian.h create mode 100644 macrodefs_enums/ios/sys/_pthread/_pthread_types.h create mode 100644 macrodefs_enums/ios/sys/_types.h create mode 100644 macrodefs_enums/ios/sys/_types/_fd_def.h create mode 100644 macrodefs_enums/ios/sys/_types/_fd_setsize.h create mode 100644 macrodefs_enums/ios/sys/_types/_graftdmg_un.h create mode 100644 macrodefs_enums/ios/sys/_types/_guid_t.h create mode 100644 macrodefs_enums/ios/sys/_types/_null.h create mode 100644 macrodefs_enums/ios/sys/_types/_o_dsync.h create mode 100644 macrodefs_enums/ios/sys/_types/_o_sync.h create mode 100644 macrodefs_enums/ios/sys/_types/_os_inline.h create mode 100644 macrodefs_enums/ios/sys/_types/_posix_vdisable.h create mode 100644 macrodefs_enums/ios/sys/_types/_s_ifmt.h create mode 100644 macrodefs_enums/ios/sys/_types/_seek_set.h create mode 100644 macrodefs_enums/ios/sys/_types/_sigaltstack.h create mode 100644 macrodefs_enums/ios/sys/_types/_timespec.h create mode 100644 macrodefs_enums/ios/sys/_types/_timeval.h create mode 100644 macrodefs_enums/ios/sys/_types/_timeval32.h create mode 100644 macrodefs_enums/ios/sys/_types/_ucontext.h create mode 100644 macrodefs_enums/ios/sys/_types/_ucontext64.h create mode 100644 macrodefs_enums/ios/sys/acl.h create mode 100644 macrodefs_enums/ios/sys/aio.h create mode 100644 macrodefs_enums/ios/sys/attr.h create mode 100644 macrodefs_enums/ios/sys/cdefs.h create mode 100644 macrodefs_enums/ios/sys/clonefile.h create mode 100644 macrodefs_enums/ios/sys/dir.h create mode 100644 macrodefs_enums/ios/sys/dirent.h create mode 100644 macrodefs_enums/ios/sys/errno.h create mode 100644 macrodefs_enums/ios/sys/event.h create mode 100644 macrodefs_enums/ios/sys/fcntl.h create mode 100644 macrodefs_enums/ios/sys/fileport.h create mode 100644 macrodefs_enums/ios/sys/filio.h create mode 100644 macrodefs_enums/ios/sys/ioccom.h create mode 100644 macrodefs_enums/ios/sys/ioctl.h create mode 100644 macrodefs_enums/ios/sys/ipc.h create mode 100644 macrodefs_enums/ios/sys/kauth.h create mode 100644 macrodefs_enums/ios/sys/lctx.h create mode 100644 macrodefs_enums/ios/sys/lockstat.h create mode 100644 macrodefs_enums/ios/sys/mman.h create mode 100644 macrodefs_enums/ios/sys/mount.h create mode 100644 macrodefs_enums/ios/sys/msg.h create mode 100644 macrodefs_enums/ios/sys/param.h create mode 100644 macrodefs_enums/ios/sys/paths.h create mode 100644 macrodefs_enums/ios/sys/poll.h create mode 100644 macrodefs_enums/ios/sys/proc.h create mode 100644 macrodefs_enums/ios/sys/qos.h create mode 100644 macrodefs_enums/ios/sys/queue.h create mode 100644 macrodefs_enums/ios/sys/quota.h create mode 100644 macrodefs_enums/ios/sys/rbtree.h create mode 100644 macrodefs_enums/ios/sys/resource.h create mode 100644 macrodefs_enums/ios/sys/sem.h create mode 100644 macrodefs_enums/ios/sys/semaphore.h create mode 100644 macrodefs_enums/ios/sys/shm.h create mode 100644 macrodefs_enums/ios/sys/signal.h create mode 100644 macrodefs_enums/ios/sys/snapshot.h create mode 100644 macrodefs_enums/ios/sys/socket.h create mode 100644 macrodefs_enums/ios/sys/socketvar.h create mode 100644 macrodefs_enums/ios/sys/sockio.h create mode 100644 macrodefs_enums/ios/sys/spawn.h create mode 100644 macrodefs_enums/ios/sys/stat.h create mode 100644 macrodefs_enums/ios/sys/statvfs.h create mode 100644 macrodefs_enums/ios/sys/stdio.h create mode 100644 macrodefs_enums/ios/sys/syscall.h create mode 100644 macrodefs_enums/ios/sys/sysctl.h create mode 100644 macrodefs_enums/ios/sys/syslimits.h create mode 100644 macrodefs_enums/ios/sys/syslog.h create mode 100644 macrodefs_enums/ios/sys/termios.h create mode 100644 macrodefs_enums/ios/sys/time.h create mode 100644 macrodefs_enums/ios/sys/timex.h create mode 100644 macrodefs_enums/ios/sys/ttycom.h create mode 100644 macrodefs_enums/ios/sys/ttydefaults.h create mode 100644 macrodefs_enums/ios/sys/types.h create mode 100644 macrodefs_enums/ios/sys/ucred.h create mode 100644 macrodefs_enums/ios/sys/un.h create mode 100644 macrodefs_enums/ios/sys/unistd.h create mode 100644 macrodefs_enums/ios/sys/utsname.h create mode 100644 macrodefs_enums/ios/sys/vsock.h create mode 100644 macrodefs_enums/ios/sys/wait.h create mode 100644 macrodefs_enums/ios/sys/xattr.h create mode 100644 macrodefs_enums/ios/sysexits.h create mode 100644 macrodefs_enums/ios/tar.h create mode 100644 macrodefs_enums/ios/tgmath.h create mode 100644 macrodefs_enums/ios/ttyent.h create mode 100644 macrodefs_enums/ios/ulimit.h create mode 100644 macrodefs_enums/ios/unicode/platform.h create mode 100644 macrodefs_enums/ios/unicode/putil.h create mode 100644 macrodefs_enums/ios/unicode/stringoptions.h create mode 100644 macrodefs_enums/ios/unicode/uchar.h create mode 100644 macrodefs_enums/ios/unicode/uconfig.h create mode 100644 macrodefs_enums/ios/unicode/uidna.h create mode 100644 macrodefs_enums/ios/unicode/uiter.h create mode 100644 macrodefs_enums/ios/unicode/umachine.h create mode 100644 macrodefs_enums/ios/unicode/utext.h create mode 100644 macrodefs_enums/ios/unicode/utf16.h create mode 100644 macrodefs_enums/ios/unicode/utf8.h create mode 100644 macrodefs_enums/ios/unicode/utf_old.h create mode 100644 macrodefs_enums/ios/unicode/utypes.h create mode 100644 macrodefs_enums/ios/unicode/uvernum.h create mode 100644 macrodefs_enums/ios/unicode/uversion.h create mode 100644 macrodefs_enums/ios/unistd.h create mode 100644 macrodefs_enums/ios/unwind.h create mode 100644 macrodefs_enums/ios/unwind_arm_ehabi.h create mode 100644 macrodefs_enums/ios/usbuf.h create mode 100644 macrodefs_enums/ios/util.h create mode 100644 macrodefs_enums/ios/utmpx.h create mode 100644 macrodefs_enums/ios/vis.h create mode 100644 macrodefs_enums/ios/voucher/ipc_pthread_priority_types.h create mode 100644 macrodefs_enums/ios/wordexp.h create mode 100644 macrodefs_enums/ios/xattr_flags.h create mode 100644 macrodefs_enums/ios/xpc/activity.h create mode 100644 macrodefs_enums/ios/xpc/availability.h create mode 100644 macrodefs_enums/ios/xpc/base.h create mode 100644 macrodefs_enums/ios/xpc/connection.h create mode 100644 macrodefs_enums/ios/xpc/session.h create mode 100644 macrodefs_enums/ios/xpc/xpc.h create mode 100644 macrodefs_enums/ios/zconf.h create mode 100644 macrodefs_enums/ios/zlib.h diff --git a/macrodefs_enums/ios/AppleArchive/AADefs.h b/macrodefs_enums/ios/AppleArchive/AADefs.h new file mode 100644 index 000000000..5e0a06363 --- /dev/null +++ b/macrodefs_enums/ios/AppleArchive/AADefs.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AppleArchive/AADefs.h + +enum macro_api_version { +/*line: 15*/ APPLE_ARCHIVE_API_VERSION = 0x4b0, // 1200 +}; + diff --git a/macrodefs_enums/ios/AppleArchive/AppleArchive.h b/macrodefs_enums/ios/AppleArchive/AppleArchive.h new file mode 100644 index 000000000..538fa6894 --- /dev/null +++ b/macrodefs_enums/ios/AppleArchive/AppleArchive.h @@ -0,0 +1,13 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AppleArchive/AppleArchive.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 21 +// #define APPLE_ARCHIVE_AVAILABLE __API_AVAILABLE + +// Line: 28 +// #define APPLE_ARCHIVE_SWIFT_PRIVATE __attribute__((swift_private)) + +// Line: 35 +// #define APPLE_ARCHIVE_INLINE static inline __attribute__((always_inline,overloadable)) APPLE_ARCHIVE_SWIFT_PRIVATE + diff --git a/macrodefs_enums/ios/AppleEXR.h b/macrodefs_enums/ios/AppleEXR.h new file mode 100644 index 000000000..9c71ab582 --- /dev/null +++ b/macrodefs_enums/ios/AppleEXR.h @@ -0,0 +1,29 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AppleEXR.h + +enum macro_apple_exr_h { +/*line: 176*/ AppleEXR_h = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 204 +// #define AXR_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED + +// Line: 233 +// #define AXR_AVAILABILITY_v1 __API_AVAILABLE(macos(11.0),iios(14.0),ttvos(14.0),wwatchos(7.0)) + +// Line: 234 +// #define AXR_ENUM_AVAILABILITY_v1 __API_AVAILABLE(macos(11.0),iios(14.0),ttvos(14.0),wwatchos(7.0)) + +// Line: 235 +// #define AXR_AVAILABILITY_v2 __API_AVAILABLE(macos(12.3), iios(15.3),ttvos(15.3),wwatchos(8.3)) + +// Line: 236 +// #define AXR_ENUM_AVAILABILITY_v2 __API_AVAILABLE(macos(12.3), iios(15.3),ttvos(15.3),wwatchos(8.3)) + +// Line: 237 +// #define AXR_AVAILABILITY_v3 __API_AVAILABLE(macos(13.0), iios(16.1),ttvos(16.1),wwatchos(9.1)) + +// Line: 238 +// #define AXR_ENUM_AVAILABILITY_v3 __API_AVAILABLE(macos(13.0), iios(16.1),ttvos(16.1),wwatchos(9.1)) + diff --git a/macrodefs_enums/ios/AppleTextureEncoder.h b/macrodefs_enums/ios/AppleTextureEncoder.h new file mode 100644 index 000000000..f41764989 --- /dev/null +++ b/macrodefs_enums/ios/AppleTextureEncoder.h @@ -0,0 +1,26 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AppleTextureEncoder.h + +enum macro_apple_texture_encoder_h { +/*line: 12*/ _AppleTextureEncoder_h_ = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 70 +// #define AT_AVAILABILITY_v1 __API_AVAILABLE(macos(10.12),iios(10.0),ttvos(10.0),wwatchos(5.0)) + +// Line: 71 +// #define AT_ENUM_AVAILABILITY_v1 __API_AVAILABLE(macos(10.12),iios(10.0),ttvos(10.0),wwatchos(5.0)) + +// Line: 72 +// #define AT_AVAILABILITY_v2 __API_AVAILABLE(macos(10.15),iios(13.0),ttvos(13.0),wwatchos(6.0)) + +// Line: 73 +// #define AT_ENUM_AVAILABILITY_v2 __API_AVAILABLE(macos(10.15),iios(13.0),ttvos(13.0),wwatchos(6.0)) + +// Line: 74 +// #define AT_AVAILABILITY_v3 __API_AVAILABLE(macos(10.15.4),iios(13.2.2),ttvos(13.2.2),wwatchos(6.2)) + +// Line: 75 +// #define AT_ENUM_AVAILABILITY_v3 __API_AVAILABLE(macos(10.15.4),iios(13.2.2),ttvos(13.2.2),wwatchos(6.2)) + diff --git a/macrodefs_enums/ios/AssertMacros.h b/macrodefs_enums/ios/AssertMacros.h new file mode 100644 index 000000000..d0758809a --- /dev/null +++ b/macrodefs_enums/ios/AssertMacros.h @@ -0,0 +1,15 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AssertMacros.h + +enum macro_assert_macros { +/* In macOS High Sierra and iOS 11, if we haven't set this yet, it now defaults to off. */ +/*line: 1318*/ __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES = 0x0, // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 141 +// #define DEBUG_ASSERT_PRODUCTION_CODE !DEBUG + +// Line: 245 +// #define DEBUG_ASSERT_ERROR_TYPE long + diff --git a/macrodefs_enums/ios/Availability.h b/macrodefs_enums/ios/Availability.h new file mode 100644 index 000000000..89ea3acad --- /dev/null +++ b/macrodefs_enums/ios/Availability.h @@ -0,0 +1,46 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/Availability.h + +enum macro_api_to_be_deprecated { +/*line: 132*/ __API_TO_BE_DEPRECATED = 0x186a0, // 100000 +/*line: 136*/ __API_TO_BE_DEPRECATED_MACOS = 0x186a0, // 100000 +/*line: 139*/ __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION = 0x186a0, // 100000 +/*line: 143*/ __API_TO_BE_DEPRECATED_IOS = 0x186a0, // 100000 +/*line: 146*/ __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION = 0x186a0, // 100000 +/*line: 149*/ __API_TO_BE_DEPRECATED_MACCATALYST = 0x186a0, // 100000 +/*line: 152*/ __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION = 0x186a0, // 100000 +/*line: 156*/ __API_TO_BE_DEPRECATED_WATCHOS = 0x186a0, // 100000 +/*line: 159*/ __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION = 0x186a0, // 100000 +/*line: 163*/ __API_TO_BE_DEPRECATED_TVOS = 0x186a0, // 100000 +/*line: 166*/ __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION = 0x186a0, // 100000 +/*line: 172*/ __API_TO_BE_DEPRECATED_DRIVERKIT = 0x186a0, // 100000 +/*line: 176*/ __API_TO_BE_DEPRECATED_VISIONOS = 0x186a0, // 100000 +/*line: 179*/ __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION = 0x186a0, // 100000 +/*line: 187*/ __API_TO_BE_DEPRECATED_KERNELKIT = 0x186a0, // 100000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 299 +// #define __OSX_UNAVAILABLE __OS_AVAILABILITY(macosx,unavailable) + +// Line: 325 +// #define __IOS_UNAVAILABLE __OS_AVAILABILITY(ios,unavailable) + +// Line: 327 +// #define __IOS_PROHIBITED __OS_AVAILABILITY(ios,unavailable) + +// Line: 354 +// #define __TVOS_UNAVAILABLE __OS_AVAILABILITY(tvos,unavailable) + +// Line: 356 +// #define __TVOS_PROHIBITED __OS_AVAILABILITY(tvos,unavailable) + +// Line: 383 +// #define __WATCHOS_UNAVAILABLE __OS_AVAILABILITY(watchos,unavailable) + +// Line: 385 +// #define __WATCHOS_PROHIBITED __OS_AVAILABILITY(watchos,unavailable) + +// Line: 411 +// #define __SWIFT_UNAVAILABLE __OS_AVAILABILITY(swift,unavailable) + diff --git a/macrodefs_enums/ios/AvailabilityInternal.h b/macrodefs_enums/ios/AvailabilityInternal.h new file mode 100644 index 000000000..0d7fd72de --- /dev/null +++ b/macrodefs_enums/ios/AvailabilityInternal.h @@ -0,0 +1,67 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AvailabilityInternal.h + +// Depends on identifiers +enum macro_iphone_os_version { +/*line: 50*/ __IPHONE_OS_VERSION_MIN_REQUIRED = 0x11170, // __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ +/*line: 51*/ __IPHONE_OS_VERSION_MAX_ALLOWED = 0x2c114, // __IPHONE_18_5 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 130 +// #define __AVAILABILITY_INTERNAL_DEPRECATED __attribute__((deprecated)) + +// Line: 142 +// #define __AVAILABILITY_INTERNAL_UNAVAILABLE __attribute__((unavailable)) + +// Line: 143 +// #define __AVAILABILITY_INTERNAL_WEAK_IMPORT __attribute__((weak_import)) + +// Line: 151 +// #define __API_UNAVAILABLE_PLATFORM_macos macos,unavailable + +// Line: 155 +// #define __API_UNAVAILABLE_PLATFORM_macosx macos,unavailable + +// Line: 159 +// #define __API_UNAVAILABLE_PLATFORM_macOSApplicationExtension macOSApplicationExtension,unavailable + +// Line: 163 +// #define __API_UNAVAILABLE_PLATFORM_ios ios,unavailable + +// Line: 167 +// #define __API_UNAVAILABLE_PLATFORM_iOSApplicationExtension iOSApplicationExtension,unavailable + +// Line: 171 +// #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable + +// Line: 175 +// #define __API_UNAVAILABLE_PLATFORM_macCatalystApplicationExtension macCatalystApplicationExtension,unavailable + +// Line: 179 +// #define __API_UNAVAILABLE_PLATFORM_watchos watchos,unavailable + +// Line: 183 +// #define __API_UNAVAILABLE_PLATFORM_watchOSApplicationExtension watchOSApplicationExtension,unavailable + +// Line: 187 +// #define __API_UNAVAILABLE_PLATFORM_tvos tvos,unavailable + +// Line: 191 +// #define __API_UNAVAILABLE_PLATFORM_tvOSApplicationExtension tvOSApplicationExtension,unavailable + +// Line: 196 +// #define __API_UNAVAILABLE_PLATFORM_driverkit driverkit,unavailable + +// Line: 200 +// #define __API_UNAVAILABLE_PLATFORM_visionos visionos,unavailable + +// Line: 204 +// #define __API_UNAVAILABLE_PLATFORM_visionOSApplicationExtension visionOSApplicationExtension,unavailable + +// Line: 206 +// #define __API_UNAVAILABLE_PLATFORM_kernelkit kernelkit,unavailable + +// Line: 216 +// #define __API_APPLY_TO any(record, enum, enum_constant, function, objc_method, objc_category, objc_protocol, objc_interface, objc_property, type_alias, variable, field) + diff --git a/macrodefs_enums/ios/AvailabilityInternalLegacy.h b/macrodefs_enums/ios/AvailabilityInternalLegacy.h new file mode 100644 index 000000000..af0cc3ad6 --- /dev/null +++ b/macrodefs_enums/ios/AvailabilityInternalLegacy.h @@ -0,0 +1,1541 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AvailabilityInternalLegacy.h + +enum macro_enable_legacy_availability { +/*line: 57*/ __ENABLE_LEGACY_IPHONE_AVAILABILITY = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 67 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0 __attribute__((availability(ios,introduced=2.0))) + +// Line: 68 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.0,deprecated=10.0))) + +// Line: 74 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.0,deprecated=10.1))) + +// Line: 80 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.0,deprecated=10.2))) + +// Line: 86 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.0,deprecated=10.3))) + +// Line: 92 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=2.0,deprecated=11.0))) + +// Line: 93 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0 __attribute__((availability(ios,introduced=2.0,deprecated=2.0))) + +// Line: 99 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1 __attribute__((availability(ios,introduced=2.0,deprecated=2.1))) + +// Line: 105 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.0,deprecated=2.2))) + +// Line: 111 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.0,deprecated=3.0))) + +// Line: 117 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.0,deprecated=3.1))) + +// Line: 123 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.0,deprecated=3.2))) + +// Line: 129 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.0,deprecated=4.0))) + +// Line: 135 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.0,deprecated=4.1))) + +// Line: 141 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.0,deprecated=4.2))) + +// Line: 147 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.0,deprecated=4.3))) + +// Line: 153 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.0,deprecated=5.0))) + +// Line: 159 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.0,deprecated=5.1))) + +// Line: 165 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.0,deprecated=6.0))) + +// Line: 171 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.0,deprecated=6.1))) + +// Line: 177 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.0,deprecated=7.0))) + +// Line: 183 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.0,deprecated=7.1))) + +// Line: 189 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.0,deprecated=8.0))) + +// Line: 195 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.0,deprecated=8.1))) + +// Line: 201 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.0,deprecated=8.2))) + +// Line: 207 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.0,deprecated=8.3))) + +// Line: 213 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.0,deprecated=8.4))) + +// Line: 219 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.0,deprecated=9.0))) + +// Line: 225 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.0,deprecated=9.1))) + +// Line: 231 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.0,deprecated=9.2))) + +// Line: 237 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.0,deprecated=9.3))) + +// Line: 243 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.0))) + +// Line: 245 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1 __attribute__((availability(ios,introduced=2.1))) + +// Line: 246 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.1,deprecated=10.0))) + +// Line: 252 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.1,deprecated=10.1))) + +// Line: 258 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.1,deprecated=10.2))) + +// Line: 264 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.1,deprecated=10.3))) + +// Line: 270 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1 __attribute__((availability(ios,introduced=2.1,deprecated=2.1))) + +// Line: 276 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.1,deprecated=2.2))) + +// Line: 282 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.1,deprecated=3.0))) + +// Line: 288 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.1,deprecated=3.1))) + +// Line: 294 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.1,deprecated=3.2))) + +// Line: 300 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.1,deprecated=4.0))) + +// Line: 306 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.1,deprecated=4.1))) + +// Line: 312 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.1,deprecated=4.2))) + +// Line: 318 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.1,deprecated=4.3))) + +// Line: 324 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.1,deprecated=5.0))) + +// Line: 330 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.1,deprecated=5.1))) + +// Line: 336 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.1,deprecated=6.0))) + +// Line: 342 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.1,deprecated=6.1))) + +// Line: 348 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.1,deprecated=7.0))) + +// Line: 354 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.1,deprecated=7.1))) + +// Line: 360 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.1,deprecated=8.0))) + +// Line: 366 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.1,deprecated=8.1))) + +// Line: 372 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.1,deprecated=8.2))) + +// Line: 378 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.1,deprecated=8.3))) + +// Line: 384 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.1,deprecated=8.4))) + +// Line: 390 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.1,deprecated=9.0))) + +// Line: 396 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.1,deprecated=9.1))) + +// Line: 402 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.1,deprecated=9.2))) + +// Line: 408 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.1,deprecated=9.3))) + +// Line: 414 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.1))) + +// Line: 416 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2 __attribute__((availability(ios,introduced=2.2))) + +// Line: 417 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.2,deprecated=10.0))) + +// Line: 423 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.2,deprecated=10.1))) + +// Line: 429 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.2,deprecated=10.2))) + +// Line: 435 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.2,deprecated=10.3))) + +// Line: 441 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.2,deprecated=2.2))) + +// Line: 447 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.2,deprecated=3.0))) + +// Line: 453 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.2,deprecated=3.1))) + +// Line: 459 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.2,deprecated=3.2))) + +// Line: 465 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.2,deprecated=4.0))) + +// Line: 471 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.2,deprecated=4.1))) + +// Line: 477 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.2,deprecated=4.2))) + +// Line: 483 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.2,deprecated=4.3))) + +// Line: 489 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.2,deprecated=5.0))) + +// Line: 495 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.2,deprecated=5.1))) + +// Line: 501 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.2,deprecated=6.0))) + +// Line: 507 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.2,deprecated=6.1))) + +// Line: 513 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.2,deprecated=7.0))) + +// Line: 519 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.2,deprecated=7.1))) + +// Line: 525 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.2,deprecated=8.0))) + +// Line: 531 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.2,deprecated=8.1))) + +// Line: 537 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.2,deprecated=8.2))) + +// Line: 543 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.2,deprecated=8.3))) + +// Line: 549 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.2,deprecated=8.4))) + +// Line: 555 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.2,deprecated=9.0))) + +// Line: 561 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.2,deprecated=9.1))) + +// Line: 567 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.2,deprecated=9.2))) + +// Line: 573 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.2,deprecated=9.3))) + +// Line: 579 +// #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.2))) + +// Line: 581 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0 __attribute__((availability(ios,introduced=3.0))) + +// Line: 582 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.0,deprecated=10.0))) + +// Line: 588 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.0,deprecated=10.1))) + +// Line: 594 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.0,deprecated=10.2))) + +// Line: 600 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.0,deprecated=10.3))) + +// Line: 606 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=3.0,deprecated=3.0))) + +// Line: 612 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=3.0,deprecated=3.1))) + +// Line: 618 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.0,deprecated=3.2))) + +// Line: 624 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.0,deprecated=4.0))) + +// Line: 630 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.0,deprecated=4.1))) + +// Line: 636 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.0,deprecated=4.2))) + +// Line: 642 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.0,deprecated=4.3))) + +// Line: 648 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.0,deprecated=5.0))) + +// Line: 654 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.0,deprecated=5.1))) + +// Line: 660 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.0,deprecated=6.0))) + +// Line: 666 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.0,deprecated=6.1))) + +// Line: 672 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.0,deprecated=7.0))) + +// Line: 678 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.0,deprecated=7.1))) + +// Line: 684 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.0,deprecated=8.0))) + +// Line: 690 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.0,deprecated=8.1))) + +// Line: 696 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.0,deprecated=8.2))) + +// Line: 702 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.0,deprecated=8.3))) + +// Line: 708 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.0,deprecated=8.4))) + +// Line: 714 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.0,deprecated=9.0))) + +// Line: 720 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.0,deprecated=9.1))) + +// Line: 726 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.0,deprecated=9.2))) + +// Line: 732 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.0,deprecated=9.3))) + +// Line: 738 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.0))) + +// Line: 740 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1 __attribute__((availability(ios,introduced=3.1))) + +// Line: 741 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.1,deprecated=10.0))) + +// Line: 747 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.1,deprecated=10.1))) + +// Line: 753 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.1,deprecated=10.2))) + +// Line: 759 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.1,deprecated=10.3))) + +// Line: 765 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=3.1,deprecated=3.1))) + +// Line: 771 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.1,deprecated=3.2))) + +// Line: 777 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.1,deprecated=4.0))) + +// Line: 783 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.1,deprecated=4.1))) + +// Line: 789 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.1,deprecated=4.2))) + +// Line: 795 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.1,deprecated=4.3))) + +// Line: 801 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.1,deprecated=5.0))) + +// Line: 807 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.1,deprecated=5.1))) + +// Line: 813 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.1,deprecated=6.0))) + +// Line: 819 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.1,deprecated=6.1))) + +// Line: 825 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.1,deprecated=7.0))) + +// Line: 831 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.1,deprecated=7.1))) + +// Line: 837 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.1,deprecated=8.0))) + +// Line: 843 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.1,deprecated=8.1))) + +// Line: 849 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.1,deprecated=8.2))) + +// Line: 855 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.1,deprecated=8.3))) + +// Line: 861 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.1,deprecated=8.4))) + +// Line: 867 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.1,deprecated=9.0))) + +// Line: 873 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.1,deprecated=9.1))) + +// Line: 879 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.1,deprecated=9.2))) + +// Line: 885 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.1,deprecated=9.3))) + +// Line: 891 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.1))) + +// Line: 893 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2 __attribute__((availability(ios,introduced=3.2))) + +// Line: 894 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.2,deprecated=10.0))) + +// Line: 900 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.2,deprecated=10.1))) + +// Line: 906 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.2,deprecated=10.2))) + +// Line: 912 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.2,deprecated=10.3))) + +// Line: 918 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.2,deprecated=3.2))) + +// Line: 924 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.2,deprecated=4.0))) + +// Line: 930 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.2,deprecated=4.1))) + +// Line: 936 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.2,deprecated=4.2))) + +// Line: 942 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.2,deprecated=4.3))) + +// Line: 948 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.2,deprecated=5.0))) + +// Line: 954 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.2,deprecated=5.1))) + +// Line: 960 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.2,deprecated=6.0))) + +// Line: 966 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.2,deprecated=6.1))) + +// Line: 972 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.2,deprecated=7.0))) + +// Line: 978 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.2,deprecated=7.1))) + +// Line: 984 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.2,deprecated=8.0))) + +// Line: 990 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.2,deprecated=8.1))) + +// Line: 996 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.2,deprecated=8.2))) + +// Line: 1002 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.2,deprecated=8.3))) + +// Line: 1008 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.2,deprecated=8.4))) + +// Line: 1014 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.2,deprecated=9.0))) + +// Line: 1020 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.2,deprecated=9.1))) + +// Line: 1026 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.2,deprecated=9.2))) + +// Line: 1032 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.2,deprecated=9.3))) + +// Line: 1038 +// #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.2))) + +// Line: 1040 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0 __attribute__((availability(ios,introduced=4.0))) + +// Line: 1041 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.0,deprecated=10.0))) + +// Line: 1047 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.0,deprecated=10.1))) + +// Line: 1053 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.0,deprecated=10.2))) + +// Line: 1059 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.0,deprecated=10.3))) + +// Line: 1070 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) + +// Line: 1076 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=4.0,deprecated=4.1))) + +// Line: 1082 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.0,deprecated=4.2))) + +// Line: 1088 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.0,deprecated=4.3))) + +// Line: 1094 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.0,deprecated=5.0))) + +// Line: 1100 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.0,deprecated=5.1))) + +// Line: 1106 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.0,deprecated=6.0))) + +// Line: 1112 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.0,deprecated=6.1))) + +// Line: 1118 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.0,deprecated=7.0))) + +// Line: 1124 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.0,deprecated=7.1))) + +// Line: 1130 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.0,deprecated=8.0))) + +// Line: 1136 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.0,deprecated=8.1))) + +// Line: 1142 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.0,deprecated=8.2))) + +// Line: 1148 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.0,deprecated=8.3))) + +// Line: 1154 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.0,deprecated=8.4))) + +// Line: 1160 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.0,deprecated=9.0))) + +// Line: 1166 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.0,deprecated=9.1))) + +// Line: 1172 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.0,deprecated=9.2))) + +// Line: 1178 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.0,deprecated=9.3))) + +// Line: 1184 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.0))) + +// Line: 1186 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1 __attribute__((availability(ios,introduced=4.1))) + +// Line: 1187 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.1,deprecated=10.0))) + +// Line: 1193 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.1,deprecated=10.1))) + +// Line: 1199 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.1,deprecated=10.2))) + +// Line: 1205 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.1,deprecated=10.3))) + +// Line: 1211 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=4.1,deprecated=4.1))) + +// Line: 1217 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.1,deprecated=4.2))) + +// Line: 1223 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.1,deprecated=4.3))) + +// Line: 1229 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.1,deprecated=5.0))) + +// Line: 1235 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.1,deprecated=5.1))) + +// Line: 1241 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.1,deprecated=6.0))) + +// Line: 1247 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.1,deprecated=6.1))) + +// Line: 1253 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.1,deprecated=7.0))) + +// Line: 1259 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.1,deprecated=7.1))) + +// Line: 1265 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.1,deprecated=8.0))) + +// Line: 1271 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.1,deprecated=8.1))) + +// Line: 1277 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.1,deprecated=8.2))) + +// Line: 1283 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.1,deprecated=8.3))) + +// Line: 1289 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.1,deprecated=8.4))) + +// Line: 1295 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.1,deprecated=9.0))) + +// Line: 1301 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.1,deprecated=9.1))) + +// Line: 1307 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.1,deprecated=9.2))) + +// Line: 1313 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.1,deprecated=9.3))) + +// Line: 1319 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.1))) + +// Line: 1321 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2 __attribute__((availability(ios,introduced=4.2))) + +// Line: 1322 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.2,deprecated=10.0))) + +// Line: 1328 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.2,deprecated=10.1))) + +// Line: 1334 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.2,deprecated=10.2))) + +// Line: 1340 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.2,deprecated=10.3))) + +// Line: 1346 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.2,deprecated=4.2))) + +// Line: 1352 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.2,deprecated=4.3))) + +// Line: 1358 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.2,deprecated=5.0))) + +// Line: 1364 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.2,deprecated=5.1))) + +// Line: 1370 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.2,deprecated=6.0))) + +// Line: 1376 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.2,deprecated=6.1))) + +// Line: 1382 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.2,deprecated=7.0))) + +// Line: 1388 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.2,deprecated=7.1))) + +// Line: 1394 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.2,deprecated=8.0))) + +// Line: 1400 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.2,deprecated=8.1))) + +// Line: 1406 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.2,deprecated=8.2))) + +// Line: 1412 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.2,deprecated=8.3))) + +// Line: 1418 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.2,deprecated=8.4))) + +// Line: 1424 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.2,deprecated=9.0))) + +// Line: 1430 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.2,deprecated=9.1))) + +// Line: 1436 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.2,deprecated=9.2))) + +// Line: 1442 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.2,deprecated=9.3))) + +// Line: 1448 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.2))) + +// Line: 1450 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3 __attribute__((availability(ios,introduced=4.3))) + +// Line: 1451 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.3,deprecated=10.0))) + +// Line: 1457 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.3,deprecated=10.1))) + +// Line: 1463 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.3,deprecated=10.2))) + +// Line: 1469 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.3,deprecated=10.3))) + +// Line: 1475 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.3,deprecated=4.3))) + +// Line: 1481 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.3,deprecated=5.0))) + +// Line: 1487 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.3,deprecated=5.1))) + +// Line: 1493 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.3,deprecated=6.0))) + +// Line: 1499 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.3,deprecated=6.1))) + +// Line: 1505 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.3,deprecated=7.0))) + +// Line: 1511 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.3,deprecated=7.1))) + +// Line: 1517 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.3,deprecated=8.0))) + +// Line: 1523 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.3,deprecated=8.1))) + +// Line: 1529 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.3,deprecated=8.2))) + +// Line: 1535 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.3,deprecated=8.3))) + +// Line: 1541 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.3,deprecated=8.4))) + +// Line: 1547 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.3,deprecated=9.0))) + +// Line: 1553 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.3,deprecated=9.1))) + +// Line: 1559 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.3,deprecated=9.2))) + +// Line: 1565 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.3,deprecated=9.3))) + +// Line: 1571 +// #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.3))) + +// Line: 1573 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0 __attribute__((availability(ios,introduced=5.0))) + +// Line: 1574 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=5.0,deprecated=10.0))) + +// Line: 1580 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=5.0,deprecated=10.1))) + +// Line: 1586 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=5.0,deprecated=10.2))) + +// Line: 1592 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=5.0,deprecated=10.3))) + +// Line: 1598 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=5.0,deprecated=11.0))) + +// Line: 1599 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=5.0,deprecated=5.0))) + +// Line: 1605 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=5.0,deprecated=5.1))) + +// Line: 1611 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=5.0,deprecated=6.0))) + +// Line: 1617 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=5.0,deprecated=6.1))) + +// Line: 1623 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=5.0,deprecated=7.0))) + +// Line: 1629 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=5.0,deprecated=7.1))) + +// Line: 1635 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=5.0,deprecated=8.0))) + +// Line: 1641 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=5.0,deprecated=8.1))) + +// Line: 1647 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=5.0,deprecated=8.2))) + +// Line: 1653 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=5.0,deprecated=8.3))) + +// Line: 1659 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=5.0,deprecated=8.4))) + +// Line: 1665 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=5.0,deprecated=9.0))) + +// Line: 1671 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=5.0,deprecated=9.1))) + +// Line: 1677 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=5.0,deprecated=9.2))) + +// Line: 1683 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=5.0,deprecated=9.3))) + +// Line: 1689 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=5.0))) + +// Line: 1691 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1 __attribute__((availability(ios,introduced=5.1))) + +// Line: 1692 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=5.1,deprecated=10.0))) + +// Line: 1698 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=5.1,deprecated=10.1))) + +// Line: 1704 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=5.1,deprecated=10.2))) + +// Line: 1710 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=5.1,deprecated=10.3))) + +// Line: 1716 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=5.1,deprecated=5.1))) + +// Line: 1722 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=5.1,deprecated=6.0))) + +// Line: 1728 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=5.1,deprecated=6.1))) + +// Line: 1734 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=5.1,deprecated=7.0))) + +// Line: 1740 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=5.1,deprecated=7.1))) + +// Line: 1746 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=5.1,deprecated=8.0))) + +// Line: 1752 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=5.1,deprecated=8.1))) + +// Line: 1758 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=5.1,deprecated=8.2))) + +// Line: 1764 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=5.1,deprecated=8.3))) + +// Line: 1770 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=5.1,deprecated=8.4))) + +// Line: 1776 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=5.1,deprecated=9.0))) + +// Line: 1782 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=5.1,deprecated=9.1))) + +// Line: 1788 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=5.1,deprecated=9.2))) + +// Line: 1794 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=5.1,deprecated=9.3))) + +// Line: 1800 +// #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=5.1))) + +// Line: 1802 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0 __attribute__((availability(ios,introduced=6.0))) + +// Line: 1803 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=6.0,deprecated=10.0))) + +// Line: 1809 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=6.0,deprecated=10.1))) + +// Line: 1815 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=6.0,deprecated=10.2))) + +// Line: 1821 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=6.0,deprecated=10.3))) + +// Line: 1827 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=6.0,deprecated=6.0))) + +// Line: 1833 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=6.0,deprecated=6.1))) + +// Line: 1839 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=6.0,deprecated=7.0))) + +// Line: 1845 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=6.0,deprecated=7.1))) + +// Line: 1851 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=6.0,deprecated=8.0))) + +// Line: 1857 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=6.0,deprecated=8.1))) + +// Line: 1863 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=6.0,deprecated=8.2))) + +// Line: 1869 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=6.0,deprecated=8.3))) + +// Line: 1875 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=6.0,deprecated=8.4))) + +// Line: 1881 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=6.0,deprecated=9.0))) + +// Line: 1887 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=6.0,deprecated=9.1))) + +// Line: 1893 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=6.0,deprecated=9.2))) + +// Line: 1899 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=6.0,deprecated=9.3))) + +// Line: 1905 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=6.0))) + +// Line: 1907 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1 __attribute__((availability(ios,introduced=6.1))) + +// Line: 1908 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=6.1,deprecated=10.0))) + +// Line: 1914 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=6.1,deprecated=10.1))) + +// Line: 1920 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=6.1,deprecated=10.2))) + +// Line: 1926 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=6.1,deprecated=10.3))) + +// Line: 1932 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=6.1,deprecated=6.1))) + +// Line: 1938 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=6.1,deprecated=7.0))) + +// Line: 1944 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=6.1,deprecated=7.1))) + +// Line: 1950 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=6.1,deprecated=8.0))) + +// Line: 1956 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=6.1,deprecated=8.1))) + +// Line: 1962 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=6.1,deprecated=8.2))) + +// Line: 1968 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=6.1,deprecated=8.3))) + +// Line: 1974 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=6.1,deprecated=8.4))) + +// Line: 1980 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=6.1,deprecated=9.0))) + +// Line: 1986 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=6.1,deprecated=9.1))) + +// Line: 1992 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=6.1,deprecated=9.2))) + +// Line: 1998 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=6.1,deprecated=9.3))) + +// Line: 2004 +// #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=6.1))) + +// Line: 2006 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0 __attribute__((availability(ios,introduced=7.0))) + +// Line: 2007 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=7.0,deprecated=10.0))) + +// Line: 2013 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=7.0,deprecated=10.1))) + +// Line: 2019 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=7.0,deprecated=10.2))) + +// Line: 2025 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=7.0,deprecated=10.3))) + +// Line: 2031 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=7.0,deprecated=11.0))) + +// Line: 2032 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_11_3 __attribute__((availability(ios,introduced=7.0,deprecated=11.3))) + +// Line: 2038 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=7.0,deprecated=7.0))) + +// Line: 2044 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=7.0,deprecated=7.1))) + +// Line: 2050 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=7.0,deprecated=8.0))) + +// Line: 2056 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=7.0,deprecated=8.1))) + +// Line: 2062 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=7.0,deprecated=8.2))) + +// Line: 2068 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=7.0,deprecated=8.3))) + +// Line: 2074 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=7.0,deprecated=8.4))) + +// Line: 2080 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=7.0,deprecated=9.0))) + +// Line: 2086 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=7.0,deprecated=9.1))) + +// Line: 2092 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=7.0,deprecated=9.2))) + +// Line: 2098 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=7.0,deprecated=9.3))) + +// Line: 2104 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=7.0))) + +// Line: 2106 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1 __attribute__((availability(ios,introduced=7.1))) + +// Line: 2107 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=7.1,deprecated=10.0))) + +// Line: 2113 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=7.1,deprecated=10.1))) + +// Line: 2119 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=7.1,deprecated=10.2))) + +// Line: 2125 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=7.1,deprecated=10.3))) + +// Line: 2131 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=7.1,deprecated=7.1))) + +// Line: 2137 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=7.1,deprecated=8.0))) + +// Line: 2143 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=7.1,deprecated=8.1))) + +// Line: 2149 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=7.1,deprecated=8.2))) + +// Line: 2155 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=7.1,deprecated=8.3))) + +// Line: 2161 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=7.1,deprecated=8.4))) + +// Line: 2167 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=7.1,deprecated=9.0))) + +// Line: 2173 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=7.1,deprecated=9.1))) + +// Line: 2179 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=7.1,deprecated=9.2))) + +// Line: 2185 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=7.1,deprecated=9.3))) + +// Line: 2191 +// #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=7.1))) + +// Line: 2193 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0 __attribute__((availability(ios,introduced=8.0))) + +// Line: 2194 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.0,deprecated=10.0))) + +// Line: 2200 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.0,deprecated=10.1))) + +// Line: 2206 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.0,deprecated=10.2))) + +// Line: 2212 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.0,deprecated=10.3))) + +// Line: 2223 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_3 __attribute__((availability(ios,introduced=8.0,deprecated=11.3))) + +// Line: 2224 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_12_0 __attribute__((availability(ios,introduced=8.0,deprecated=12.0))) + +// Line: 2225 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=8.0,deprecated=8.0))) + +// Line: 2231 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=8.0,deprecated=8.1))) + +// Line: 2237 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.0,deprecated=8.2))) + +// Line: 2243 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.0,deprecated=8.3))) + +// Line: 2249 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.0,deprecated=8.4))) + +// Line: 2255 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.0,deprecated=9.0))) + +// Line: 2261 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.0,deprecated=9.1))) + +// Line: 2267 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.0,deprecated=9.2))) + +// Line: 2273 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.0,deprecated=9.3))) + +// Line: 2279 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.0))) + +// Line: 2281 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1 __attribute__((availability(ios,introduced=8.1))) + +// Line: 2282 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.1,deprecated=10.0))) + +// Line: 2288 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.1,deprecated=10.1))) + +// Line: 2294 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.1,deprecated=10.2))) + +// Line: 2300 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.1,deprecated=10.3))) + +// Line: 2306 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=8.1,deprecated=8.1))) + +// Line: 2312 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.1,deprecated=8.2))) + +// Line: 2318 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.1,deprecated=8.3))) + +// Line: 2324 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.1,deprecated=8.4))) + +// Line: 2330 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.1,deprecated=9.0))) + +// Line: 2336 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.1,deprecated=9.1))) + +// Line: 2342 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.1,deprecated=9.2))) + +// Line: 2348 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.1,deprecated=9.3))) + +// Line: 2354 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.1))) + +// Line: 2356 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2 __attribute__((availability(ios,introduced=8.2))) + +// Line: 2357 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.2,deprecated=10.0))) + +// Line: 2363 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.2,deprecated=10.1))) + +// Line: 2369 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.2,deprecated=10.2))) + +// Line: 2375 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.2,deprecated=10.3))) + +// Line: 2381 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.2,deprecated=8.2))) + +// Line: 2387 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.2,deprecated=8.3))) + +// Line: 2393 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.2,deprecated=8.4))) + +// Line: 2399 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.2,deprecated=9.0))) + +// Line: 2405 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.2,deprecated=9.1))) + +// Line: 2411 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.2,deprecated=9.2))) + +// Line: 2417 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.2,deprecated=9.3))) + +// Line: 2423 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.2))) + +// Line: 2425 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3 __attribute__((availability(ios,introduced=8.3))) + +// Line: 2426 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.3,deprecated=10.0))) + +// Line: 2432 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.3,deprecated=10.1))) + +// Line: 2438 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.3,deprecated=10.2))) + +// Line: 2444 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.3,deprecated=10.3))) + +// Line: 2450 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.3,deprecated=8.3))) + +// Line: 2456 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.3,deprecated=8.4))) + +// Line: 2462 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.3,deprecated=9.0))) + +// Line: 2468 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.3,deprecated=9.1))) + +// Line: 2474 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.3,deprecated=9.2))) + +// Line: 2480 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.3,deprecated=9.3))) + +// Line: 2486 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.3))) + +// Line: 2488 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4 __attribute__((availability(ios,introduced=8.4))) + +// Line: 2489 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.4,deprecated=10.0))) + +// Line: 2495 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.4,deprecated=10.1))) + +// Line: 2501 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.4,deprecated=10.2))) + +// Line: 2507 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.4,deprecated=10.3))) + +// Line: 2513 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.4,deprecated=8.4))) + +// Line: 2519 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.4,deprecated=9.0))) + +// Line: 2525 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.4,deprecated=9.1))) + +// Line: 2531 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.4,deprecated=9.2))) + +// Line: 2537 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.4,deprecated=9.3))) + +// Line: 2543 +// #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.4))) + +// Line: 2545 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0 __attribute__((availability(ios,introduced=9.0))) + +// Line: 2546 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.0,deprecated=10.0))) + +// Line: 2552 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.0,deprecated=10.1))) + +// Line: 2558 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.0,deprecated=10.2))) + +// Line: 2564 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.0,deprecated=10.3))) + +// Line: 2570 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=9.0,deprecated=9.0))) + +// Line: 2576 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=9.0,deprecated=9.1))) + +// Line: 2582 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.0,deprecated=9.2))) + +// Line: 2588 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.0,deprecated=9.3))) + +// Line: 2594 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.0))) + +// Line: 2596 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1 __attribute__((availability(ios,introduced=9.1))) + +// Line: 2597 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.1,deprecated=10.0))) + +// Line: 2603 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.1,deprecated=10.1))) + +// Line: 2609 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.1,deprecated=10.2))) + +// Line: 2615 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.1,deprecated=10.3))) + +// Line: 2621 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=9.1,deprecated=9.1))) + +// Line: 2627 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.1,deprecated=9.2))) + +// Line: 2633 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.1,deprecated=9.3))) + +// Line: 2639 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.1))) + +// Line: 2641 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2 __attribute__((availability(ios,introduced=9.2))) + +// Line: 2642 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.2,deprecated=10.0))) + +// Line: 2648 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.2,deprecated=10.1))) + +// Line: 2654 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.2,deprecated=10.2))) + +// Line: 2660 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.2,deprecated=10.3))) + +// Line: 2666 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.2,deprecated=9.2))) + +// Line: 2672 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.2,deprecated=9.3))) + +// Line: 2678 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.2))) + +// Line: 2680 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3 __attribute__((availability(ios,introduced=9.3))) + +// Line: 2681 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.3,deprecated=10.0))) + +// Line: 2687 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.3,deprecated=10.1))) + +// Line: 2693 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.3,deprecated=10.2))) + +// Line: 2699 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.3,deprecated=10.3))) + +// Line: 2705 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.3,deprecated=9.3))) + +// Line: 2711 +// #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.3))) + +// Line: 2713 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0 __attribute__((availability(ios,introduced=10.0))) + +// Line: 2714 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=10.0,deprecated=10.0))) + +// Line: 2720 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=10.0,deprecated=10.1))) + +// Line: 2726 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.0,deprecated=10.2))) + +// Line: 2732 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.0,deprecated=10.3))) + +// Line: 2738 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=10.0,deprecated=11.0))) + +// Line: 2739 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_12_0 __attribute__((availability(ios,introduced=10.0,deprecated=12.0))) + +// Line: 2740 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.0))) + +// Line: 2742 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_1 __attribute__((availability(ios,introduced=10.1))) + +// Line: 2743 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=10.1,deprecated=10.1))) + +// Line: 2749 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.1,deprecated=10.2))) + +// Line: 2755 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.1,deprecated=10.3))) + +// Line: 2761 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.1))) + +// Line: 2763 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_2 __attribute__((availability(ios,introduced=10.2))) + +// Line: 2764 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.2,deprecated=10.2))) + +// Line: 2770 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.2,deprecated=10.3))) + +// Line: 2776 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.2))) + +// Line: 2778 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_3 __attribute__((availability(ios,introduced=10.3))) + +// Line: 2779 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.3,deprecated=10.3))) + +// Line: 2785 +// #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.3))) + +// Line: 2787 +// #define __AVAILABILITY_INTERNAL__IPHONE_11 __attribute__((availability(ios,introduced=11))) + +// Line: 2788 +// #define __AVAILABILITY_INTERNAL__IPHONE_11_0 __attribute__((availability(ios,introduced=11.0))) + +// Line: 2789 +// #define __AVAILABILITY_INTERNAL__IPHONE_11_3 __attribute__((availability(ios,introduced=11.3))) + +// Line: 2790 +// #define __AVAILABILITY_INTERNAL__IPHONE_12_0 __attribute__((availability(ios,introduced=12.0))) + +// Line: 2791 +// #define __AVAILABILITY_INTERNAL__IPHONE_13_0 __attribute__((availability(ios,introduced=13.0))) + +// Line: 2793 +// #define __AVAILABILITY_INTERNAL__IPHONE_NA __attribute__((availability(ios,unavailable))) + +// Line: 2794 +// #define __AVAILABILITY_INTERNAL__IPHONE_NA__IPHONE_NA __attribute__((availability(ios,unavailable))) + +// Line: 2795 +// #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA __attribute__((availability(ios,unavailable))) + +// Line: 2817 +// #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0))) + +// Line: 2818 +// #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) + diff --git a/macrodefs_enums/ios/AvailabilityMacros.h b/macrodefs_enums/ios/AvailabilityMacros.h new file mode 100644 index 000000000..0e789cd4b --- /dev/null +++ b/macrodefs_enums/ios/AvailabilityMacros.h @@ -0,0 +1,838 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AvailabilityMacros.h + +// Depends on identifiers +enum macro_os_version { +/*line: 106*/ MAC_OS_X_VERSION_MIN_REQUIRED = 0x41a, // MAC_OS_X_VERSION_10_5 +/*line: 120*/ MAC_OS_X_VERSION_MAX_ALLOWED = 0x222e0, // MAC_OS_VERSION_14_0 +}; + +enum macro_availability_flags { +/*line: 208*/ __AVAILABILITY_MACROS_USES_AVAILABILITY = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_iphone_compatibility { +/*line: 218*/ __IPHONE_COMPAT_VERSION = 0x9c40, // __IPHONE_4_0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 138 +// #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import)) + +// Line: 150 +// #define DEPRECATED_ATTRIBUTE __attribute__((deprecated)) + +// Line: 176 +// #define UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) + +// Line: 195 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE + +// Line: 202 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER DEPRECATED_ATTRIBUTE + +// Line: 227 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_COMPAT_VERSION) + +// Line: 243 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 257 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 270 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_COMPAT_VERSION) + +// Line: 286 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 300 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 314 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 327 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_COMPAT_VERSION) + +// Line: 343 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 357 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 371 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 385 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 398 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_COMPAT_VERSION) + +// Line: 414 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 428 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 442 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 456 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 470 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 483 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_COMPAT_VERSION) + +// Line: 499 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 513 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 527 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 541 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 555 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 569 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 582 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_COMPAT_VERSION) + +// Line: 598 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 612 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 626 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 640 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 654 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 668 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 682 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 695 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_COMPAT_VERSION) + +// Line: 711 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 725 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 739 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 753 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 767 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 781 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 795 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 809 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 823 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_13, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 836 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_COMPAT_VERSION) + +// Line: 852 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 866 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 880 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 894 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 908 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 922 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 936 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 950 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 964 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 977 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_COMPAT_VERSION) + +// Line: 993 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1007 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1021 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1035 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1049 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1063 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1077 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1091 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1105 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1119 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1132 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_COMPAT_VERSION) + +// Line: 1148 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1162 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1176 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1190 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1204 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1218 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1232 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1246 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1260 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1274 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1288 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1301 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10_2, __IPHONE_COMPAT_VERSION) + +// Line: 1317 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1331 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1345 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1359 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1373 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1387 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1401 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1415 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1429 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1443 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1457 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1471 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1484 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10_3, __IPHONE_COMPAT_VERSION) + +// Line: 1500 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1514 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1528 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1542 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1556 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1570 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1584 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1598 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1612 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1626 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1640 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1654 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1668 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1681 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_COMPAT_VERSION) + +// Line: 1697 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1711 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1725 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1739 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1753 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1767 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1781 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1795 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1809 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1823 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1837 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1851 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1865 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1879 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1892 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_2, __IPHONE_COMPAT_VERSION) + +// Line: 1908 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1922 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1936 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1950 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1964 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1978 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 1992 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2006 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2020 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2034 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2048 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2062 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2076 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2090 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2104 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2117 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_3, __IPHONE_COMPAT_VERSION) + +// Line: 2133 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2147 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2161 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2175 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2189 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2203 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2217 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2231 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2245 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2259 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2273 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2287 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2301 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2315 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2329 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2343 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2356 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_4, __IPHONE_COMPAT_VERSION) + +// Line: 2372 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2386 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2400 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2414 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2428 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2442 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2456 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2470 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2484 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2498 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2512 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2526 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2540 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2554 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2568 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2582 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2596 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2609 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_COMPAT_VERSION) + +// Line: 2625 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2639 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2653 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2667 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2681 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2695 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2709 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2723 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2737 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2751 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2765 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2779 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2793 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2807 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2821 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2835 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2849 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2863 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2876 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_1, __IPHONE_COMPAT_VERSION) + +// Line: 2892 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2906 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2920 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2934 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2948 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2962 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2976 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 2990 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3004 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3018 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3032 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3046 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3060 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3074 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3088 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3102 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3116 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3130 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3144 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3157 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_2, __IPHONE_COMPAT_VERSION) + +// Line: 3173 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3187 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3201 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3215 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3229 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3243 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3257 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3271 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3285 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3299 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3313 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3327 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3341 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3355 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3369 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3383 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3397 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3411 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3425 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3439 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3452 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_4, __IPHONE_COMPAT_VERSION) + +// Line: 3468 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3482 +// #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3496 +// #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3510 +// #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3524 +// #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3538 +// #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3552 +// #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3566 +// #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3580 +// #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3594 +// #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3608 +// #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3622 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3636 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3650 +// #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3664 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3678 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3692 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3706 +// #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3720 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3734 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3748 +// #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3761 +// #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_COMPAT_VERSION) + +// Line: 3776 +// #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_14, __IPHONE_COMPAT_VERSION) + +// Line: 3791 +// #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_15, __IPHONE_COMPAT_VERSION) + +// Line: 3806 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3819 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3832 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3845 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3859 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3872 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3885 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3898 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3911 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3924 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3937 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3950 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3963 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_13, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + +// Line: 3976 +// #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_14_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) + diff --git a/macrodefs_enums/ios/AvailabilityVersions.h b/macrodefs_enums/ios/AvailabilityVersions.h new file mode 100644 index 000000000..107f06072 --- /dev/null +++ b/macrodefs_enums/ios/AvailabilityVersions.h @@ -0,0 +1,440 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/AvailabilityVersions.h + +enum macro_macos_version { +/*line: 27*/ __MAC_10_0 = 0x3e8, // 1000 +/*line: 28*/ __MAC_10_1 = 0x3f2, // 1010 +/*line: 29*/ __MAC_10_2 = 0x3fc, // 1020 +/*line: 30*/ __MAC_10_3 = 0x406, // 1030 +/*line: 31*/ __MAC_10_4 = 0x410, // 1040 +/*line: 32*/ __MAC_10_5 = 0x41a, // 1050 +/*line: 33*/ __MAC_10_6 = 0x424, // 1060 +/*line: 34*/ __MAC_10_7 = 0x42e, // 1070 +/*line: 35*/ __MAC_10_8 = 0x438, // 1080 +/*line: 36*/ __MAC_10_9 = 0x442, // 1090 +/*line: 37*/ __MAC_10_10 = 0x18a88, // 101000 +/*line: 38*/ __MAC_10_10_2 = 0x18a8a, // 101002 +/*line: 39*/ __MAC_10_10_3 = 0x18a8b, // 101003 +/*line: 40*/ __MAC_10_11 = 0x18aec, // 101100 +/*line: 41*/ __MAC_10_11_2 = 0x18aee, // 101102 +/*line: 42*/ __MAC_10_11_3 = 0x18aef, // 101103 +/*line: 43*/ __MAC_10_11_4 = 0x18af0, // 101104 +/*line: 44*/ __MAC_10_12 = 0x18b50, // 101200 +/*line: 45*/ __MAC_10_12_1 = 0x18b51, // 101201 +/*line: 46*/ __MAC_10_12_2 = 0x18b52, // 101202 +/*line: 47*/ __MAC_10_12_4 = 0x18b54, // 101204 +/*line: 48*/ __MAC_10_13 = 0x18bb4, // 101300 +/*line: 49*/ __MAC_10_13_1 = 0x18bb5, // 101301 +/*line: 50*/ __MAC_10_13_2 = 0x18bb6, // 101302 +/*line: 51*/ __MAC_10_13_4 = 0x18bb8, // 101304 +/*line: 52*/ __MAC_10_14 = 0x18c18, // 101400 +/*line: 53*/ __MAC_10_14_1 = 0x18c19, // 101401 +/*line: 54*/ __MAC_10_14_4 = 0x18c1c, // 101404 +/*line: 55*/ __MAC_10_14_5 = 0x18c1d, // 101405 +/*line: 56*/ __MAC_10_14_6 = 0x18c1e, // 101406 +/*line: 57*/ __MAC_10_15 = 0x18c7c, // 101500 +/*line: 58*/ __MAC_10_15_1 = 0x18c7d, // 101501 +/*line: 59*/ __MAC_10_15_4 = 0x18c80, // 101504 +/*line: 60*/ __MAC_10_16 = 0x18ce0, // 101600 +/*line: 61*/ __MAC_11_0 = 0x1adb0, // 110000 +/*line: 62*/ __MAC_11_1 = 0x1ae14, // 110100 +/*line: 63*/ __MAC_11_3 = 0x1aedc, // 110300 +/*line: 64*/ __MAC_11_4 = 0x1af40, // 110400 +/*line: 65*/ __MAC_11_5 = 0x1afa4, // 110500 +/*line: 66*/ __MAC_11_6 = 0x1b008, // 110600 +/*line: 67*/ __MAC_12_0 = 0x1d4c0, // 120000 +/*line: 68*/ __MAC_12_1 = 0x1d524, // 120100 +/*line: 69*/ __MAC_12_2 = 0x1d588, // 120200 +/*line: 70*/ __MAC_12_3 = 0x1d5ec, // 120300 +/*line: 71*/ __MAC_12_4 = 0x1d650, // 120400 +/*line: 72*/ __MAC_12_5 = 0x1d6b4, // 120500 +/*line: 73*/ __MAC_12_6 = 0x1d718, // 120600 +/*line: 74*/ __MAC_12_7 = 0x1d77c, // 120700 +/*line: 75*/ __MAC_13_0 = 0x1fbd0, // 130000 +/*line: 76*/ __MAC_13_1 = 0x1fc34, // 130100 +/*line: 77*/ __MAC_13_1 = 0x1fc34, // 130100 +/*line: 78*/ __MAC_13_2 = 0x1fc98, // 130200 +/*line: 79*/ __MAC_13_3 = 0x1fcfc, // 130300 +/*line: 80*/ __MAC_13_4 = 0x1fd60, // 130400 +/*line: 81*/ __MAC_13_5 = 0x1fdc4, // 130500 +/*line: 82*/ __MAC_13_6 = 0x1fe28, // 130600 +/*line: 83*/ __MAC_13_7 = 0x1fe8c, // 130700 +/*line: 84*/ __MAC_14_0 = 0x222e0, // 140000 +/*line: 85*/ __MAC_14_1 = 0x22344, // 140100 +/*line: 86*/ __MAC_14_2 = 0x223a8, // 140200 +/*line: 87*/ __MAC_14_3 = 0x2240c, // 140300 +/*line: 88*/ __MAC_14_4 = 0x22470, // 140400 +/*line: 89*/ __MAC_14_5 = 0x224d4, // 140500 +/*line: 90*/ __MAC_14_6 = 0x22538, // 140600 +/*line: 91*/ __MAC_14_7 = 0x2259c, // 140700 +/*line: 92*/ __MAC_15_0 = 0x249f0, // 150000 +/*line: 93*/ __MAC_15_1 = 0x24a54, // 150100 +/*line: 94*/ __MAC_15_2 = 0x24ab8, // 150200 +/*line: 95*/ __MAC_15_3 = 0x24b1c, // 150300 +/*line: 96*/ __MAC_15_4 = 0x24b80, // 150400 +/*line: 97*/ __MAC_15_5 = 0x24be4, // 150500 +}; + +enum macro_ios_version { +/* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ +/*line: 100*/ __IPHONE_2_0 = 0x4e20, // 20000 +/*line: 101*/ __IPHONE_2_1 = 0x4e84, // 20100 +/*line: 102*/ __IPHONE_2_2 = 0x4ee8, // 20200 +/*line: 103*/ __IPHONE_3_0 = 0x7530, // 30000 +/*line: 104*/ __IPHONE_3_1 = 0x7594, // 30100 +/*line: 105*/ __IPHONE_3_2 = 0x75f8, // 30200 +/*line: 106*/ __IPHONE_4_0 = 0x9c40, // 40000 +/*line: 107*/ __IPHONE_4_1 = 0x9ca4, // 40100 +/*line: 108*/ __IPHONE_4_2 = 0x9d08, // 40200 +/*line: 109*/ __IPHONE_4_3 = 0x9d6c, // 40300 +/*line: 110*/ __IPHONE_5_0 = 0xc350, // 50000 +/*line: 111*/ __IPHONE_5_1 = 0xc3b4, // 50100 +/*line: 112*/ __IPHONE_6_0 = 0xea60, // 60000 +/*line: 113*/ __IPHONE_6_1 = 0xeac4, // 60100 +/*line: 114*/ __IPHONE_7_0 = 0x11170, // 70000 +/*line: 115*/ __IPHONE_7_1 = 0x111d4, // 70100 +/*line: 116*/ __IPHONE_8_0 = 0x13880, // 80000 +/*line: 117*/ __IPHONE_8_1 = 0x138e4, // 80100 +/*line: 118*/ __IPHONE_8_2 = 0x13948, // 80200 +/*line: 119*/ __IPHONE_8_3 = 0x139ac, // 80300 +/*line: 120*/ __IPHONE_8_4 = 0x13a10, // 80400 +/*line: 121*/ __IPHONE_9_0 = 0x15f90, // 90000 +/*line: 122*/ __IPHONE_9_1 = 0x15ff4, // 90100 +/*line: 123*/ __IPHONE_9_2 = 0x16058, // 90200 +/*line: 124*/ __IPHONE_9_3 = 0x160bc, // 90300 +/*line: 125*/ __IPHONE_10_0 = 0x186a0, // 100000 +/*line: 126*/ __IPHONE_10_1 = 0x18704, // 100100 +/*line: 127*/ __IPHONE_10_2 = 0x18768, // 100200 +/*line: 128*/ __IPHONE_10_3 = 0x187cc, // 100300 +/*line: 129*/ __IPHONE_11_0 = 0x1adb0, // 110000 +/*line: 130*/ __IPHONE_11_1 = 0x1ae14, // 110100 +/*line: 131*/ __IPHONE_11_2 = 0x1ae78, // 110200 +/*line: 132*/ __IPHONE_11_3 = 0x1aedc, // 110300 +/*line: 133*/ __IPHONE_11_4 = 0x1af40, // 110400 +/*line: 134*/ __IPHONE_12_0 = 0x1d4c0, // 120000 +/*line: 135*/ __IPHONE_12_1 = 0x1d524, // 120100 +/*line: 136*/ __IPHONE_12_2 = 0x1d588, // 120200 +/*line: 137*/ __IPHONE_12_3 = 0x1d5ec, // 120300 +/*line: 138*/ __IPHONE_12_4 = 0x1d650, // 120400 +/*line: 139*/ __IPHONE_13_0 = 0x1fbd0, // 130000 +/*line: 140*/ __IPHONE_13_1 = 0x1fc34, // 130100 +/*line: 141*/ __IPHONE_13_2 = 0x1fc98, // 130200 +/*line: 142*/ __IPHONE_13_3 = 0x1fcfc, // 130300 +/*line: 143*/ __IPHONE_13_4 = 0x1fd60, // 130400 +/*line: 144*/ __IPHONE_13_5 = 0x1fdc4, // 130500 +/*line: 145*/ __IPHONE_13_6 = 0x1fe28, // 130600 +/*line: 146*/ __IPHONE_13_7 = 0x1fe8c, // 130700 +/*line: 147*/ __IPHONE_14_0 = 0x222e0, // 140000 +/*line: 148*/ __IPHONE_14_1 = 0x22344, // 140100 +/*line: 149*/ __IPHONE_14_2 = 0x223a8, // 140200 +/*line: 150*/ __IPHONE_14_3 = 0x2240c, // 140300 +/*line: 151*/ __IPHONE_14_5 = 0x224d4, // 140500 +/*line: 152*/ __IPHONE_14_4 = 0x22470, // 140400 +/*line: 153*/ __IPHONE_14_5 = 0x224d4, // 140500 +/*line: 154*/ __IPHONE_14_6 = 0x22538, // 140600 +/*line: 155*/ __IPHONE_14_7 = 0x2259c, // 140700 +/*line: 156*/ __IPHONE_14_8 = 0x22600, // 140800 +/*line: 157*/ __IPHONE_15_0 = 0x249f0, // 150000 +/*line: 158*/ __IPHONE_15_1 = 0x24a54, // 150100 +/*line: 159*/ __IPHONE_15_2 = 0x24ab8, // 150200 +/*line: 160*/ __IPHONE_15_3 = 0x24b1c, // 150300 +/*line: 161*/ __IPHONE_15_4 = 0x24b80, // 150400 +/*line: 162*/ __IPHONE_15_5 = 0x24be4, // 150500 +/*line: 163*/ __IPHONE_15_6 = 0x24c48, // 150600 +/*line: 164*/ __IPHONE_15_7 = 0x24cac, // 150700 +/*line: 165*/ __IPHONE_15_8 = 0x24d10, // 150800 +/*line: 166*/ __IPHONE_16_0 = 0x27100, // 160000 +/*line: 167*/ __IPHONE_16_1 = 0x27164, // 160100 +/*line: 168*/ __IPHONE_16_2 = 0x271c8, // 160200 +/*line: 169*/ __IPHONE_16_3 = 0x2722c, // 160300 +/*line: 170*/ __IPHONE_16_4 = 0x27290, // 160400 +/*line: 171*/ __IPHONE_16_5 = 0x272f4, // 160500 +/*line: 172*/ __IPHONE_16_6 = 0x27358, // 160600 +/*line: 173*/ __IPHONE_16_7 = 0x273bc, // 160700 +/*line: 174*/ __IPHONE_17_0 = 0x29810, // 170000 +/*line: 175*/ __IPHONE_17_1 = 0x29874, // 170100 +/*line: 176*/ __IPHONE_17_2 = 0x298d8, // 170200 +/*line: 177*/ __IPHONE_17_3 = 0x2993c, // 170300 +/*line: 178*/ __IPHONE_17_4 = 0x299a0, // 170400 +/*line: 179*/ __IPHONE_17_5 = 0x29a04, // 170500 +/*line: 180*/ __IPHONE_17_6 = 0x29a68, // 170600 +/*line: 181*/ __IPHONE_17_7 = 0x29acc, // 170700 +/*line: 182*/ __IPHONE_18_0 = 0x2bf20, // 180000 +/*line: 183*/ __IPHONE_18_1 = 0x2bf84, // 180100 +/*line: 184*/ __IPHONE_18_2 = 0x2bfe8, // 180200 +/*line: 185*/ __IPHONE_18_3 = 0x2c04c, // 180300 +/*line: 186*/ __IPHONE_18_4 = 0x2c0b0, // 180400 +/*line: 187*/ __IPHONE_18_5 = 0x2c114, // 180500 +}; + +enum macro_watchos_version { +/* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ +/*line: 190*/ __WATCHOS_1_0 = 0x2710, // 10000 +/*line: 191*/ __WATCHOS_2_0 = 0x4e20, // 20000 +/*line: 192*/ __WATCHOS_2_1 = 0x4e84, // 20100 +/*line: 193*/ __WATCHOS_2_2 = 0x4ee8, // 20200 +/*line: 194*/ __WATCHOS_3_0 = 0x7530, // 30000 +/*line: 195*/ __WATCHOS_3_1 = 0x7594, // 30100 +/*line: 196*/ __WATCHOS_3_1_1 = 0x7595, // 30101 +/*line: 197*/ __WATCHOS_3_2 = 0x75f8, // 30200 +/*line: 198*/ __WATCHOS_4_0 = 0x9c40, // 40000 +/*line: 199*/ __WATCHOS_4_1 = 0x9ca4, // 40100 +/*line: 200*/ __WATCHOS_4_2 = 0x9d08, // 40200 +/*line: 201*/ __WATCHOS_4_3 = 0x9d6c, // 40300 +/*line: 202*/ __WATCHOS_5_0 = 0xc350, // 50000 +/*line: 203*/ __WATCHOS_5_1 = 0xc3b4, // 50100 +/*line: 204*/ __WATCHOS_5_2 = 0xc418, // 50200 +/*line: 205*/ __WATCHOS_5_3 = 0xc47c, // 50300 +/*line: 206*/ __WATCHOS_6_0 = 0xea60, // 60000 +/*line: 207*/ __WATCHOS_6_1 = 0xeac4, // 60100 +/*line: 208*/ __WATCHOS_6_2 = 0xeb28, // 60200 +/*line: 209*/ __WATCHOS_7_0 = 0x11170, // 70000 +/*line: 210*/ __WATCHOS_7_1 = 0x111d4, // 70100 +/*line: 211*/ __WATCHOS_7_2 = 0x11238, // 70200 +/*line: 212*/ __WATCHOS_7_3 = 0x1129c, // 70300 +/*line: 213*/ __WATCHOS_7_4 = 0x11300, // 70400 +/*line: 214*/ __WATCHOS_7_5 = 0x11364, // 70500 +/*line: 215*/ __WATCHOS_7_6 = 0x113c8, // 70600 +/*line: 216*/ __WATCHOS_8_0 = 0x13880, // 80000 +/*line: 217*/ __WATCHOS_8_1 = 0x138e4, // 80100 +/*line: 218*/ __WATCHOS_8_3 = 0x139ac, // 80300 +/*line: 219*/ __WATCHOS_8_4 = 0x13a10, // 80400 +/*line: 220*/ __WATCHOS_8_5 = 0x13a74, // 80500 +/*line: 221*/ __WATCHOS_8_6 = 0x13ad8, // 80600 +/*line: 222*/ __WATCHOS_8_7 = 0x13b3c, // 80700 +/*line: 223*/ __WATCHOS_8_8 = 0x13ba0, // 80800 +/*line: 224*/ __WATCHOS_9_0 = 0x15f90, // 90000 +/*line: 225*/ __WATCHOS_9_1 = 0x15ff4, // 90100 +/*line: 226*/ __WATCHOS_9_2 = 0x16058, // 90200 +/*line: 227*/ __WATCHOS_9_3 = 0x160bc, // 90300 +/*line: 228*/ __WATCHOS_9_4 = 0x16120, // 90400 +/*line: 229*/ __WATCHOS_9_5 = 0x16184, // 90500 +/*line: 230*/ __WATCHOS_9_6 = 0x161e8, // 90600 +/*line: 231*/ __WATCHOS_10_0 = 0x186a0, // 100000 +/*line: 232*/ __WATCHOS_10_1 = 0x18704, // 100100 +/*line: 233*/ __WATCHOS_10_2 = 0x18768, // 100200 +/*line: 234*/ __WATCHOS_10_3 = 0x187cc, // 100300 +/*line: 235*/ __WATCHOS_10_4 = 0x18830, // 100400 +/*line: 236*/ __WATCHOS_10_5 = 0x18894, // 100500 +/*line: 237*/ __WATCHOS_10_6 = 0x188f8, // 100600 +/*line: 238*/ __WATCHOS_10_7 = 0x1895c, // 100700 +/*line: 239*/ __WATCHOS_11_0 = 0x1adb0, // 110000 +/*line: 240*/ __WATCHOS_11_1 = 0x1ae14, // 110100 +/*line: 241*/ __WATCHOS_11_2 = 0x1ae78, // 110200 +/*line: 242*/ __WATCHOS_11_3 = 0x1aedc, // 110300 +/*line: 243*/ __WATCHOS_11_4 = 0x1af40, // 110400 +/*line: 244*/ __WATCHOS_11_5 = 0x1afa4, // 110500 +}; + +enum macro_tvos_version { +/* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ +/*line: 247*/ __TVOS_9_0 = 0x15f90, // 90000 +/*line: 248*/ __TVOS_9_1 = 0x15ff4, // 90100 +/*line: 249*/ __TVOS_9_2 = 0x16058, // 90200 +/*line: 250*/ __TVOS_10_0 = 0x186a0, // 100000 +/*line: 251*/ __TVOS_10_0_1 = 0x186a1, // 100001 +/*line: 252*/ __TVOS_10_1 = 0x18704, // 100100 +/*line: 253*/ __TVOS_10_2 = 0x18768, // 100200 +/*line: 254*/ __TVOS_11_0 = 0x1adb0, // 110000 +/*line: 255*/ __TVOS_11_1 = 0x1ae14, // 110100 +/*line: 256*/ __TVOS_11_2 = 0x1ae78, // 110200 +/*line: 257*/ __TVOS_11_3 = 0x1aedc, // 110300 +/*line: 258*/ __TVOS_11_4 = 0x1af40, // 110400 +/*line: 259*/ __TVOS_12_0 = 0x1d4c0, // 120000 +/*line: 260*/ __TVOS_12_1 = 0x1d524, // 120100 +/*line: 261*/ __TVOS_12_2 = 0x1d588, // 120200 +/*line: 262*/ __TVOS_12_3 = 0x1d5ec, // 120300 +/*line: 263*/ __TVOS_12_4 = 0x1d650, // 120400 +/*line: 264*/ __TVOS_13_0 = 0x1fbd0, // 130000 +/*line: 265*/ __TVOS_13_2 = 0x1fc98, // 130200 +/*line: 266*/ __TVOS_13_3 = 0x1fcfc, // 130300 +/*line: 267*/ __TVOS_13_4 = 0x1fd60, // 130400 +/*line: 268*/ __TVOS_14_0 = 0x222e0, // 140000 +/*line: 269*/ __TVOS_14_1 = 0x22344, // 140100 +/*line: 270*/ __TVOS_14_2 = 0x223a8, // 140200 +/*line: 271*/ __TVOS_14_3 = 0x2240c, // 140300 +/*line: 272*/ __TVOS_14_5 = 0x224d4, // 140500 +/*line: 273*/ __TVOS_14_6 = 0x22538, // 140600 +/*line: 274*/ __TVOS_14_7 = 0x2259c, // 140700 +/*line: 275*/ __TVOS_15_0 = 0x249f0, // 150000 +/*line: 276*/ __TVOS_15_1 = 0x24a54, // 150100 +/*line: 277*/ __TVOS_15_2 = 0x24ab8, // 150200 +/*line: 278*/ __TVOS_15_3 = 0x24b1c, // 150300 +/*line: 279*/ __TVOS_15_4 = 0x24b80, // 150400 +/*line: 280*/ __TVOS_15_5 = 0x24be4, // 150500 +/*line: 281*/ __TVOS_15_6 = 0x24c48, // 150600 +/*line: 282*/ __TVOS_16_0 = 0x27100, // 160000 +/*line: 283*/ __TVOS_16_1 = 0x27164, // 160100 +/*line: 284*/ __TVOS_16_2 = 0x271c8, // 160200 +/*line: 285*/ __TVOS_16_3 = 0x2722c, // 160300 +/*line: 286*/ __TVOS_16_4 = 0x27290, // 160400 +/*line: 287*/ __TVOS_16_5 = 0x272f4, // 160500 +/*line: 288*/ __TVOS_16_6 = 0x27358, // 160600 +/*line: 289*/ __TVOS_17_0 = 0x29810, // 170000 +/*line: 290*/ __TVOS_17_1 = 0x29874, // 170100 +/*line: 291*/ __TVOS_17_2 = 0x298d8, // 170200 +/*line: 292*/ __TVOS_17_3 = 0x2993c, // 170300 +/*line: 293*/ __TVOS_17_4 = 0x299a0, // 170400 +/*line: 294*/ __TVOS_17_5 = 0x29a04, // 170500 +/*line: 295*/ __TVOS_17_6 = 0x29a68, // 170600 +/*line: 296*/ __TVOS_18_0 = 0x2bf20, // 180000 +/*line: 297*/ __TVOS_18_1 = 0x2bf84, // 180100 +/*line: 298*/ __TVOS_18_2 = 0x2bfe8, // 180200 +/*line: 299*/ __TVOS_18_3 = 0x2c04c, // 180300 +/*line: 300*/ __TVOS_18_4 = 0x2c0b0, // 180400 +/*line: 301*/ __TVOS_18_5 = 0x2c114, // 180500 +}; + +enum macro_bridgeos_version { +/* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ +/*line: 304*/ __BRIDGEOS_2_0 = 0x4e20, // 20000 +/*line: 305*/ __BRIDGEOS_3_0 = 0x7530, // 30000 +/*line: 306*/ __BRIDGEOS_3_1 = 0x7594, // 30100 +/*line: 307*/ __BRIDGEOS_3_4 = 0x76c0, // 30400 +/*line: 308*/ __BRIDGEOS_4_0 = 0x9c40, // 40000 +/*line: 309*/ __BRIDGEOS_4_1 = 0x9ca4, // 40100 +/*line: 310*/ __BRIDGEOS_5_0 = 0xc350, // 50000 +/*line: 311*/ __BRIDGEOS_5_1 = 0xc3b4, // 50100 +/*line: 312*/ __BRIDGEOS_5_3 = 0xc47c, // 50300 +/*line: 313*/ __BRIDGEOS_6_0 = 0xea60, // 60000 +/*line: 314*/ __BRIDGEOS_6_2 = 0xeb28, // 60200 +/*line: 315*/ __BRIDGEOS_6_4 = 0xebf0, // 60400 +/*line: 316*/ __BRIDGEOS_6_5 = 0xec54, // 60500 +/*line: 317*/ __BRIDGEOS_6_6 = 0xecb8, // 60600 +/*line: 318*/ __BRIDGEOS_7_0 = 0x11170, // 70000 +/*line: 319*/ __BRIDGEOS_7_1 = 0x111d4, // 70100 +/*line: 320*/ __BRIDGEOS_7_1 = 0x111d4, // 70100 +/*line: 321*/ __BRIDGEOS_7_2 = 0x11238, // 70200 +/*line: 322*/ __BRIDGEOS_7_3 = 0x1129c, // 70300 +/*line: 323*/ __BRIDGEOS_7_4 = 0x11300, // 70400 +/*line: 324*/ __BRIDGEOS_7_6 = 0x113c8, // 70600 +/*line: 325*/ __BRIDGEOS_8_0 = 0x13880, // 80000 +/*line: 326*/ __BRIDGEOS_8_1 = 0x138e4, // 80100 +/*line: 327*/ __BRIDGEOS_8_2 = 0x13948, // 80200 +/*line: 328*/ __BRIDGEOS_8_3 = 0x139ac, // 80300 +/*line: 329*/ __BRIDGEOS_8_4 = 0x13a10, // 80400 +/*line: 330*/ __BRIDGEOS_8_5 = 0x13a74, // 80500 +/*line: 331*/ __BRIDGEOS_8_6 = 0x13ad8, // 80600 +/*line: 332*/ __BRIDGEOS_9_0 = 0x15f90, // 90000 +/*line: 333*/ __BRIDGEOS_9_1 = 0x15ff4, // 90100 +/*line: 334*/ __BRIDGEOS_9_2 = 0x16058, // 90200 +/*line: 335*/ __BRIDGEOS_9_3 = 0x160bc, // 90300 +/*line: 336*/ __BRIDGEOS_9_4 = 0x16120, // 90400 +/*line: 337*/ __BRIDGEOS_9_5 = 0x16184, // 90500 +}; + +enum macro_driverkit_version { +/*line: 340*/ __DRIVERKIT_19_0 = 0x2e630, // 190000 +/*line: 341*/ __DRIVERKIT_20_0 = 0x30d40, // 200000 +/*line: 342*/ __DRIVERKIT_21_0 = 0x33450, // 210000 +/*line: 343*/ __DRIVERKIT_22_0 = 0x35b60, // 220000 +/*line: 344*/ __DRIVERKIT_22_4 = 0x35cf0, // 220400 +/*line: 345*/ __DRIVERKIT_22_5 = 0x35d54, // 220500 +/*line: 346*/ __DRIVERKIT_22_6 = 0x35db8, // 220600 +/*line: 347*/ __DRIVERKIT_23_0 = 0x38270, // 230000 +/*line: 348*/ __DRIVERKIT_23_1 = 0x382d4, // 230100 +/*line: 349*/ __DRIVERKIT_23_2 = 0x38338, // 230200 +/*line: 350*/ __DRIVERKIT_23_3 = 0x3839c, // 230300 +/*line: 351*/ __DRIVERKIT_23_4 = 0x38400, // 230400 +/*line: 352*/ __DRIVERKIT_23_5 = 0x38464, // 230500 +/*line: 353*/ __DRIVERKIT_23_6 = 0x384c8, // 230600 +/*line: 354*/ __DRIVERKIT_24_0 = 0x3a980, // 240000 +/*line: 355*/ __DRIVERKIT_24_1 = 0x3a9e4, // 240100 +/*line: 356*/ __DRIVERKIT_24_2 = 0x3aa48, // 240200 +/*line: 357*/ __DRIVERKIT_24_3 = 0x3aaac, // 240300 +/*line: 358*/ __DRIVERKIT_24_4 = 0x3ab10, // 240400 +/*line: 359*/ __DRIVERKIT_24_5 = 0x3ab74, // 240500 +}; + +enum macro_visionos_version { +/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ +/*line: 362*/ __VISIONOS_1_0 = 0x2710, // 10000 +/*line: 363*/ __VISIONOS_1_1 = 0x2774, // 10100 +/*line: 364*/ __VISIONOS_1_2 = 0x27d8, // 10200 +/*line: 365*/ __VISIONOS_1_3 = 0x283c, // 10300 +/*line: 366*/ __VISIONOS_2_0 = 0x4e20, // 20000 +/*line: 367*/ __VISIONOS_2_1 = 0x4e84, // 20100 +/*line: 368*/ __VISIONOS_2_2 = 0x4ee8, // 20200 +/*line: 369*/ __VISIONOS_2_3 = 0x4f4c, // 20300 +/*line: 370*/ __VISIONOS_2_4 = 0x4fb0, // 20400 +/*line: 371*/ __VISIONOS_2_5 = 0x5014, // 20500 +}; + +enum macro_macos_compatibility_version { +/*line: 389*/ MAC_OS_X_VERSION_10_0 = 0x3e8, // __MAC_10_0 +/*line: 390*/ MAC_OS_X_VERSION_10_1 = 0x3f2, // __MAC_10_1 +/*line: 391*/ MAC_OS_X_VERSION_10_2 = 0x3fc, // __MAC_10_2 +/*line: 392*/ MAC_OS_X_VERSION_10_3 = 0x406, // __MAC_10_3 +/*line: 393*/ MAC_OS_X_VERSION_10_4 = 0x410, // __MAC_10_4 +/*line: 394*/ MAC_OS_X_VERSION_10_5 = 0x41a, // __MAC_10_5 +/*line: 395*/ MAC_OS_X_VERSION_10_6 = 0x424, // __MAC_10_6 +/*line: 396*/ MAC_OS_X_VERSION_10_7 = 0x42e, // __MAC_10_7 +/*line: 397*/ MAC_OS_X_VERSION_10_8 = 0x438, // __MAC_10_8 +/*line: 398*/ MAC_OS_X_VERSION_10_9 = 0x442, // __MAC_10_9 +/*line: 399*/ MAC_OS_X_VERSION_10_10 = 0x18a88, // __MAC_10_10 +/*line: 400*/ MAC_OS_X_VERSION_10_10_2 = 0x18a8a, // __MAC_10_10_2 +/*line: 401*/ MAC_OS_X_VERSION_10_10_3 = 0x18a8b, // __MAC_10_10_3 +/*line: 402*/ MAC_OS_X_VERSION_10_11 = 0x18aec, // __MAC_10_11 +/*line: 403*/ MAC_OS_X_VERSION_10_11_2 = 0x18aee, // __MAC_10_11_2 +/*line: 404*/ MAC_OS_X_VERSION_10_11_3 = 0x18aef, // __MAC_10_11_3 +/*line: 405*/ MAC_OS_X_VERSION_10_11_4 = 0x18af0, // __MAC_10_11_4 +/*line: 406*/ MAC_OS_X_VERSION_10_12 = 0x18b50, // __MAC_10_12 +/*line: 407*/ MAC_OS_X_VERSION_10_12_1 = 0x18b51, // __MAC_10_12_1 +/*line: 408*/ MAC_OS_X_VERSION_10_12_2 = 0x18b52, // __MAC_10_12_2 +/*line: 409*/ MAC_OS_X_VERSION_10_12_4 = 0x18b54, // __MAC_10_12_4 +/*line: 410*/ MAC_OS_X_VERSION_10_13 = 0x18bb4, // __MAC_10_13 +/*line: 411*/ MAC_OS_X_VERSION_10_13_1 = 0x18bb5, // __MAC_10_13_1 +/*line: 412*/ MAC_OS_X_VERSION_10_13_2 = 0x18bb6, // __MAC_10_13_2 +/*line: 413*/ MAC_OS_X_VERSION_10_13_4 = 0x18bb8, // __MAC_10_13_4 +/*line: 414*/ MAC_OS_X_VERSION_10_14 = 0x18c18, // __MAC_10_14 +/*line: 415*/ MAC_OS_X_VERSION_10_14_1 = 0x18c19, // __MAC_10_14_1 +/*line: 416*/ MAC_OS_X_VERSION_10_14_4 = 0x18c1c, // __MAC_10_14_4 +/*line: 417*/ MAC_OS_X_VERSION_10_14_5 = 0x18c1d, // __MAC_10_14_5 +/*line: 418*/ MAC_OS_X_VERSION_10_14_6 = 0x18c1e, // __MAC_10_14_6 +/*line: 419*/ MAC_OS_X_VERSION_10_15 = 0x18c7c, // __MAC_10_15 +/*line: 420*/ MAC_OS_X_VERSION_10_15_1 = 0x18c7d, // __MAC_10_15_1 +/*line: 421*/ MAC_OS_X_VERSION_10_15_4 = 0x18c80, // __MAC_10_15_4 +/*line: 422*/ MAC_OS_X_VERSION_10_16 = 0x18ce0, // __MAC_10_16 +/*line: 423*/ MAC_OS_VERSION_11_0 = 0x1adb0, // __MAC_11_0 +/*line: 424*/ MAC_OS_VERSION_11_1 = 0x1ae14, // __MAC_11_1 +/*line: 425*/ MAC_OS_VERSION_11_3 = 0x1aedc, // __MAC_11_3 +/*line: 426*/ MAC_OS_VERSION_11_4 = 0x1af40, // __MAC_11_4 +/*line: 427*/ MAC_OS_VERSION_11_5 = 0x1afa4, // __MAC_11_5 +/*line: 428*/ MAC_OS_VERSION_11_6 = 0x1b008, // __MAC_11_6 +/*line: 429*/ MAC_OS_VERSION_12_0 = 0x1d4c0, // __MAC_12_0 +/*line: 430*/ MAC_OS_VERSION_12_1 = 0x1d524, // __MAC_12_1 +/*line: 431*/ MAC_OS_VERSION_12_2 = 0x1d588, // __MAC_12_2 +/*line: 432*/ MAC_OS_VERSION_12_3 = 0x1d5ec, // __MAC_12_3 +/*line: 433*/ MAC_OS_VERSION_12_4 = 0x1d650, // __MAC_12_4 +/*line: 434*/ MAC_OS_VERSION_12_5 = 0x1d6b4, // __MAC_12_5 +/*line: 435*/ MAC_OS_VERSION_12_6 = 0x1d718, // __MAC_12_6 +/*line: 436*/ MAC_OS_VERSION_12_7 = 0x1d77c, // __MAC_12_7 +/*line: 437*/ MAC_OS_VERSION_13_0 = 0x1fbd0, // __MAC_13_0 +/*line: 438*/ MAC_OS_VERSION_13_1 = 0x1fc34, // __MAC_13_1 +/*line: 439*/ MAC_OS_VERSION_13_1 = 0x1fc34, // __MAC_13_1 +/*line: 440*/ MAC_OS_VERSION_13_2 = 0x1fc98, // __MAC_13_2 +/*line: 441*/ MAC_OS_VERSION_13_3 = 0x1fcfc, // __MAC_13_3 +/*line: 442*/ MAC_OS_VERSION_13_4 = 0x1fd60, // __MAC_13_4 +/*line: 443*/ MAC_OS_VERSION_13_5 = 0x1fdc4, // __MAC_13_5 +/*line: 444*/ MAC_OS_VERSION_13_6 = 0x1fe28, // __MAC_13_6 +/*line: 445*/ MAC_OS_VERSION_13_7 = 0x1fe8c, // __MAC_13_7 +/*line: 446*/ MAC_OS_VERSION_14_0 = 0x222e0, // __MAC_14_0 +/*line: 447*/ MAC_OS_VERSION_14_1 = 0x22344, // __MAC_14_1 +/*line: 448*/ MAC_OS_VERSION_14_2 = 0x223a8, // __MAC_14_2 +/*line: 449*/ MAC_OS_VERSION_14_3 = 0x2240c, // __MAC_14_3 +/*line: 450*/ MAC_OS_VERSION_14_4 = 0x22470, // __MAC_14_4 +/*line: 451*/ MAC_OS_VERSION_14_5 = 0x224d4, // __MAC_14_5 +/*line: 452*/ MAC_OS_VERSION_14_6 = 0x22538, // __MAC_14_6 +/*line: 453*/ MAC_OS_VERSION_14_7 = 0x2259c, // __MAC_14_7 +/*line: 454*/ MAC_OS_VERSION_15_0 = 0x249f0, // __MAC_15_0 +/*line: 455*/ MAC_OS_VERSION_15_1 = 0x24a54, // __MAC_15_1 +/*line: 456*/ MAC_OS_VERSION_15_2 = 0x24ab8, // __MAC_15_2 +/*line: 457*/ MAC_OS_VERSION_15_3 = 0x24b1c, // __MAC_15_3 +/*line: 458*/ MAC_OS_VERSION_15_4 = 0x24b80, // __MAC_15_4 +/*line: 459*/ MAC_OS_VERSION_15_5 = 0x24be4, // __MAC_15_5 +}; + +enum macro_availability_version { +/*line: 468*/ __AVAILABILITY_VERSIONS_VERSION_HASH = 0x59401ec, // 93585900U +}; + diff --git a/macrodefs_enums/ios/Block.h b/macrodefs_enums/ios/Block.h new file mode 100644 index 000000000..3cce83974 --- /dev/null +++ b/macrodefs_enums/ios/Block.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/Block.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 17 +// #define BLOCK_EXPORT extern + diff --git a/macrodefs_enums/ios/CommonCrypto/CommonDigest.h b/macrodefs_enums/ios/CommonCrypto/CommonDigest.h new file mode 100644 index 000000000..3afcdaf69 --- /dev/null +++ b/macrodefs_enums/ios/CommonCrypto/CommonDigest.h @@ -0,0 +1,64 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/CommonCrypto/CommonDigest.h + +enum macro_md2_constants { +/*** MD2 ***/ +/*line: 68*/ CC_MD2_DIGEST_LENGTH = 0x10, /* digest length in bytes */ // 16 +/*line: 69*/ CC_MD2_BLOCK_BYTES = 0x40, /* block size in bytes */ // 64 +}; + +enum macro_md4_constants { +/*** MD4 ***/ +/*line: 94*/ CC_MD4_DIGEST_LENGTH = 0x10, /* digest length in bytes */ // 16 +/*line: 95*/ CC_MD4_BLOCK_BYTES = 0x40, /* block size in bytes */ // 64 +}; + +enum macro_md5_constants { +/*** MD5 ***/ +/*line: 121*/ CC_MD5_DIGEST_LENGTH = 0x10, /* digest length in bytes */ // 16 +/*line: 122*/ CC_MD5_BLOCK_BYTES = 0x40, /* block size in bytes */ // 64 +}; + +enum macro_sha1_constants { +/*** SHA1 ***/ +/*line: 147*/ CC_SHA1_DIGEST_LENGTH = 0x14, /* digest length in bytes */ // 20 +/*line: 148*/ CC_SHA1_BLOCK_BYTES = 0x40, /* block size in bytes */ // 64 +}; + +enum macro_sha224_constants { +/*** SHA224 ***/ +/*line: 168*/ CC_SHA224_DIGEST_LENGTH = 0x1c, /* digest length in bytes */ // 28 +/*line: 169*/ CC_SHA224_BLOCK_BYTES = 0x40, /* block size in bytes */ // 64 +}; + +enum macro_sha256_constants { +/*** SHA256 ***/ +/*line: 193*/ CC_SHA256_DIGEST_LENGTH = 0x20, /* digest length in bytes */ // 32 +/*line: 194*/ CC_SHA256_BLOCK_BYTES = 0x40, /* block size in bytes */ // 64 +}; + +enum macro_sha384_constants { +/*** SHA384 ***/ +/*line: 211*/ CC_SHA384_DIGEST_LENGTH = 0x30, /* digest length in bytes */ // 48 +/*line: 212*/ CC_SHA384_BLOCK_BYTES = 0x80, /* block size in bytes */ // 128 +}; + +enum macro_sha512_constants { +/*** SHA512 ***/ +/*line: 236*/ CC_SHA512_DIGEST_LENGTH = 0x40, /* digest length in bytes */ // 64 +/*line: 237*/ CC_SHA512_BLOCK_BYTES = 0x80, /* block size in bytes */ // 128 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 70 +// #define CC_MD2_BLOCK_LONG (CC_MD2_BLOCK_BYTES / sizeof(CC_LONG)) + +// Line: 96 +// #define CC_MD4_BLOCK_LONG (CC_MD4_BLOCK_BYTES / sizeof(CC_LONG)) + +// Line: 123 +// #define CC_MD5_BLOCK_LONG (CC_MD5_BLOCK_BYTES / sizeof(CC_LONG)) + +// Line: 149 +// #define CC_SHA1_BLOCK_LONG (CC_SHA1_BLOCK_BYTES / sizeof(CC_LONG)) + diff --git a/macrodefs_enums/ios/CommonCrypto/CommonHMAC.h b/macrodefs_enums/ios/CommonCrypto/CommonHMAC.h new file mode 100644 index 000000000..dcccebd22 --- /dev/null +++ b/macrodefs_enums/ios/CommonCrypto/CommonHMAC.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/CommonCrypto/CommonHMAC.h + +enum macro_hmac_context_size { +/*! + @typedef CCHmacContext + @abstract HMAC context. + */ +/*line: 64*/ CC_HMAC_CONTEXT_SIZE = 0x60, // 96 +}; + diff --git a/macrodefs_enums/ios/ConditionalMacros.h b/macrodefs_enums/ios/ConditionalMacros.h new file mode 100644 index 000000000..ef726d68c --- /dev/null +++ b/macrodefs_enums/ios/ConditionalMacros.h @@ -0,0 +1,113 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ConditionalMacros.h + +// enum macro_universal_interfaces_version { +// /**************************************************************************************************** +// UNIVERSAL_INTERFACES_VERSION + +// 0x0400 --> version 4.0 (Mac OS X only) +// 0x0335 --> version 3.4 +// 0x0331 --> version 3.3.1 +// 0x0330 --> version 3.3 +// 0x0320 --> version 3.2 +// 0x0310 --> version 3.1 +// 0x0301 --> version 3.0.1 +// 0x0300 --> version 3.0 +// 0x0210 --> version 2.1 +// This conditional did not exist prior to version 2.1 +// ****************************************************************************************************/ +// /*line: 55*/ UNIVERSAL_INTERFACES_VERSION = 0x400, // 0x0400 +// }; + +// enum macro_pragma_flags { +// /* +// gcc based compilers used on Mac OS X +// */ +// /*line: 110*/ PRAGMA_IMPORT = 0x0, // 0 +// /*line: 111*/ PRAGMA_ONCE = 0x0, // 0 +// }; + +// enum macro_pragma_pack { +// /*line: 114*/ PRAGMA_STRUCT_PACK = 0x1, // 1 +// /*line: 115*/ PRAGMA_STRUCT_PACKPUSH = 0x1, // 1 +// }; + +// enum macro_pragma_struct_align { +// /*line: 122*/ PRAGMA_STRUCT_ALIGN = 0x0, // 0 +// }; + +// enum macro_pragma_flags { +// /*line: 127*/ PRAGMA_ENUM_PACK = 0x0, // 0 +// /*line: 128*/ PRAGMA_ENUM_ALWAYSINT = 0x0, // 0 +// /*line: 129*/ PRAGMA_ENUM_OPTIONS = 0x0, // 0 +// }; + +// enum macro_type_extended { +// /*line: 132*/ TYPE_EXTENDED = 0x0, // 0 +// }; + +// enum macro_type_flags { +// /*line: 141*/ TYPE_LONGDOUBLE_IS_DOUBLE = 0x0, // 0 +// /*line: 144*/ TYPE_LONGLONG = 0x1, // 1 +// }; + +// enum macro_function_flags { +// /*line: 146*/ FUNCTION_PASCAL = 0x0, // 0 +// /*line: 147*/ FUNCTION_DECLSPEC = 0x0, // 0 +// /*line: 148*/ FUNCTION_WIN32CC = 0x0, // 0 +// }; + +// enum macro_target_api { +// /* Looks like MachO style compiler */ +// /*line: 394*/ TARGET_API_MAC_OS8 = 0x0, // 0 +// /*line: 395*/ TARGET_API_MAC_CARBON = 0x1, // 1 +// /*line: 396*/ TARGET_API_MAC_OSX = 0x1, // 1 +// }; + +// enum macro_target_carbon { +// /*line: 440*/ TARGET_CARBON = 0x1, // 1 +// }; + +// enum macro_old_routine_names { +// /*line: 503*/ OLDROUTINENAMES = 0x0, // 0 +// }; + +// enum macro_opaque_toolbox_structs { +// /*line: 573*/ OPAQUE_TOOLBOX_STRUCTS = 0x1, // 1 +// }; + +// enum macro_opaque_upp_types { +// /*line: 577*/ OPAQUE_UPP_TYPES = 0x1, // 1 +// }; + +// enum macro_accessor_calls_are_functions { +// /*line: 581*/ ACCESSOR_CALLS_ARE_FUNCTIONS = 0x1, // 1 +// }; + +// enum macro_carbon_status { +// /*line: 585*/ CALL_NOT_IN_CARBON = 0x0, // 0 +// }; + +// enum macro_mixedmode_calls { +// /*line: 589*/ MIXEDMODE_CALLS_ARE_FUNCTIONS = 0x1, // 1 +// }; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 478 +// #define PRAGMA_ALIGN_SUPPORTED ..PRAGMA_ALIGN_SUPPORTED_is_obsolete.. + +// Line: 479 +// #define GENERATINGPOWERPC ..GENERATINGPOWERPC_is_obsolete.. + +// Line: 480 +// #define GENERATING68K ..GENERATING68K_is_obsolete.. + +// Line: 481 +// #define GENERATING68881 ..GENERATING68881_is_obsolete.. + +// Line: 482 +// #define GENERATINGCFM ..GENERATINGCFM_is_obsolete.. + +// Line: 483 +// #define CFMSYSTEMCALLS ..CFMSYSTEMCALLS_is_obsolete.. + diff --git a/macrodefs_enums/ios/MacTypes.h b/macrodefs_enums/ios/MacTypes.h new file mode 100644 index 000000000..f4dcc406c --- /dev/null +++ b/macrodefs_enums/ios/MacTypes.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/MacTypes.h + +enum macro_carbon_flags { +/*line: 78*/ ALLOW_OBSOLETE_CARBON_MACMEMORY = 0x0, // 0 +/*line: 79*/ ALLOW_OBSOLETE_CARBON_OSUTILS = 0x0, // 0 +}; + +// Depends on identifiers +enum macro_darwin_null { +/*line: 89*/ NULL = 0x0, // __DARWIN_NULL +/*line: 96*/ nil = 0x0, // __DARWIN_NULL +}; + +enum macro_invalid_id { +/*line: 396*/ kInvalidID = 0x0, // 0 +}; + diff --git a/macrodefs_enums/ios/Spatial/Base.h b/macrodefs_enums/ios/Spatial/Base.h new file mode 100644 index 000000000..1a3889bcd --- /dev/null +++ b/macrodefs_enums/ios/Spatial/Base.h @@ -0,0 +1,46 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/Spatial/Base.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 4 +// #define SPDefaultTolerance sqrt(__DBL_EPSILON__) + +// Line: 22 +// #define SPATIAL_REFINED_FOR_SWIFT __attribute__((swift_private)) + +// Line: 28 +// #define SPATIAL_OVERLOADABLE __attribute__((__overloadable__)) + +// Line: 33 +// #define SPATIAL_INLINE static inline + +// Line: 38 +// #define _sp_simd_isnan isnan + +// Line: 44 +// #define _sp_simd_isfinite isfinite + +// Line: 50 +// #define _sp_simd_floor floor + +// Line: 56 +// #define _sp_simd_ceil ceil + +// Line: 62 +// #define _sp_simd_cos cos + +// Line: 68 +// #define _sp_simd_sin sin + +// Line: 74 +// #define _sp_simd_atan2 atan2 + +// Line: 80 +// #define _sp_simd_asin asin + +// Line: 86 +// #define _sp_simd_atan atan + +// Line: 92 +// #define _sp_simd_acos acos + diff --git a/macrodefs_enums/ios/TargetConditionals.h b/macrodefs_enums/ios/TargetConditionals.h new file mode 100644 index 000000000..31a977546 --- /dev/null +++ b/macrodefs_enums/ios/TargetConditionals.h @@ -0,0 +1,58 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/TargetConditionals.h + +// whole file is conditional stuff +// enum macro_target_os_flags { +// // This has to always be defined in the header due to limitations in define_target_os_macros +// /*line: 266*/ TARGET_OS_RTKIT = 0x0, // 0 +// /*line: 273*/ TARGET_RT_LITTLE_ENDIAN = 0x1, // 1 +// /*line: 274*/ TARGET_RT_BIG_ENDIAN = 0x0, // 0 +// /*line: 280*/ TARGET_RT_64_BIT = 0x1, // 1 +// /*line: 288*/ TARGET_RT_MAC_CFM = 0x0, // 0 +// /*line: 289*/ TARGET_RT_MAC_MACHO = 0x1, // 1 +// }; + +// enum macro_cpu_arm64 { +// /*line: 344*/ TARGET_CPU_ARM64 = 0x1, // 1 +// }; + +// enum macro_target_cpu { +// /*line: 481*/ TARGET_CPU_PPC = 0x0, // 0 +// }; + +// enum macro_target_cpu { +// /*line: 485*/ TARGET_CPU_PPC64 = 0x0, // 0 +// }; + +// enum macro_target_cpu { +// /*line: 489*/ TARGET_CPU_68K = 0x0, // 0 +// }; + +// enum macro_cpu_x86 { +// /*line: 493*/ TARGET_CPU_X86 = 0x0, // 0 +// }; + +// enum macro_cpu_x86_64 { +// /*line: 497*/ TARGET_CPU_X86_64 = 0x0, // 0 +// }; + +// enum macro_target_cpu { +// /*line: 501*/ TARGET_CPU_ARM = 0x0, // 0 +// }; + +// enum macro_target_cpu { +// /*line: 509*/ TARGET_CPU_MIPS = 0x0, // 0 +// }; + +// enum macro_cpu_family { +// /*line: 513*/ TARGET_CPU_SPARC = 0x0, // 0 +// }; + +// enum macro_target_cpu { +// /*line: 517*/ TARGET_CPU_ALPHA = 0x0, // 0 +// }; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 521 +// #define TARGET_ABI_USES_IOS_VALUES (!TARGET_CPU_X86_64 || (TARGET_OS_IPHONE && !TARGET_OS_MACCATALYST)) + diff --git a/macrodefs_enums/ios/___wctype.h b/macrodefs_enums/ios/___wctype.h new file mode 100644 index 000000000..fab84b826 --- /dev/null +++ b/macrodefs_enums/ios/___wctype.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/___wctype.h + +// Depends on identifiers +enum macro_weof { +/*line: 68*/ WEOF = -0x1, // __DARWIN_WEOF +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 72 +// #define __DARWIN_WCTYPE_TOP_inline __header_inline + diff --git a/macrodefs_enums/ios/__libunwind_config.h b/macrodefs_enums/ios/__libunwind_config.h new file mode 100644 index 000000000..64a695187 --- /dev/null +++ b/macrodefs_enums/ios/__libunwind_config.h @@ -0,0 +1,46 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/__libunwind_config.h + +enum macro_libunwind_version { +/*line: 12*/ _LIBUNWIND_VERSION = 0x3a98, // 15000 +}; + +enum macro_highest_dwarf_register { +/*line: 19*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86 = 0x8, // 8 +/*line: 20*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64 = 0x20, // 32 +/*line: 21*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC = 0x70, // 112 +/*line: 22*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 = 0x74, // 116 +/*line: 23*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64 = 0x5f, // 95 +/*line: 24*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM = 0x11f, // 287 +/*line: 25*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K = 0x20, // 32 +/*line: 26*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS = 0x41, // 65 +/*line: 27*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC = 0x1f, // 31 +/*line: 28*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC64 = 0x1f, // 31 +/*line: 29*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON = 0x22, // 34 +/*line: 30*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV = 0x40, // 64 +/*line: 31*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE = 0x8f, // 143 +/*line: 32*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_S390X = 0x53, // 83 +/*line: 33*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH = 0x40, // 64 +}; + +enum macro_libunwind_config { +/*line: 192*/ _LIBUNWIND_TARGET_X86_64 = 0x1, // 1 +/*line: 193*/ _LIBUNWIND_TARGET_PPC = 0x1, // 1 +/*line: 194*/ _LIBUNWIND_TARGET_PPC64 = 0x1, // 1 +/*line: 195*/ _LIBUNWIND_TARGET_AARCH64 = 0x1, // 1 +/*line: 196*/ _LIBUNWIND_TARGET_ARM = 0x1, // 1 +/*line: 197*/ _LIBUNWIND_TARGET_OR1K = 0x1, // 1 +/*line: 198*/ _LIBUNWIND_TARGET_MIPS_O32 = 0x1, // 1 +/*line: 199*/ _LIBUNWIND_TARGET_MIPS_NEWABI = 0x1, // 1 +/*line: 200*/ _LIBUNWIND_TARGET_SPARC = 0x1, // 1 +/*line: 201*/ _LIBUNWIND_TARGET_SPARC64 = 0x1, // 1 +/*line: 202*/ _LIBUNWIND_TARGET_HEXAGON = 0x1, // 1 +/*line: 203*/ _LIBUNWIND_TARGET_RISCV = 0x1, // 1 +/*line: 204*/ _LIBUNWIND_TARGET_VE = 0x1, // 1 +/*line: 205*/ _LIBUNWIND_TARGET_S390X = 0x1, // 1 +/*line: 206*/ _LIBUNWIND_TARGET_LOONGARCH = 0x1, // 1 +/*line: 207*/ _LIBUNWIND_CONTEXT_SIZE = 0xa7, // 167 +/*line: 208*/ _LIBUNWIND_CURSOR_SIZE = 0xcc, // 204 +/*line: 209*/ _LIBUNWIND_HIGHEST_DWARF_REGISTER = 0x11f, // 287 +}; + diff --git a/macrodefs_enums/ios/_ctermid.h b/macrodefs_enums/ios/_ctermid.h new file mode 100644 index 000000000..0c5da7e15 --- /dev/null +++ b/macrodefs_enums/ios/_ctermid.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_ctermid.h + +enum macro_ctermid_size { +/*line: 34*/ L_ctermid = 0x400, /* size for ctermid(); PATH_MAX */ // 1024 +}; + diff --git a/macrodefs_enums/ios/_ctype.h b/macrodefs_enums/ios/_ctype.h new file mode 100644 index 000000000..9afc52551 --- /dev/null +++ b/macrodefs_enums/ios/_ctype.h @@ -0,0 +1,33 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_ctype.h + +enum macro_ctype_flags { +/*line: 76*/ _CTYPE_A = 0x100, /* Alpha */ // 0x00000100L +/*line: 77*/ _CTYPE_C = 0x200, /* Control */ // 0x00000200L +/*line: 78*/ _CTYPE_D = 0x400, /* Digit */ // 0x00000400L +/*line: 79*/ _CTYPE_G = 0x800, /* Graph */ // 0x00000800L +/*line: 80*/ _CTYPE_L = 0x1000, /* Lower */ // 0x00001000L +/*line: 81*/ _CTYPE_P = 0x2000, /* Punct */ // 0x00002000L +/*line: 82*/ _CTYPE_S = 0x4000, /* Space */ // 0x00004000L +/*line: 83*/ _CTYPE_U = 0x8000, /* Upper */ // 0x00008000L +/*line: 84*/ _CTYPE_X = 0x10000, /* X digit */ // 0x00010000L +/*line: 85*/ _CTYPE_B = 0x20000, /* Blank */ // 0x00020000L +/*line: 86*/ _CTYPE_R = 0x40000, /* Print */ // 0x00040000L +/*line: 87*/ _CTYPE_I = 0x80000, /* Ideogram */ // 0x00080000L +/*line: 88*/ _CTYPE_T = 0x100000, /* Special */ // 0x00100000L +/*line: 89*/ _CTYPE_Q = 0x200000, /* Phonogram */ // 0x00200000L +/*line: 90*/ _CTYPE_SW0 = 0x20000000, /* 0 width character */ // 0x20000000L +/*line: 91*/ _CTYPE_SW1 = 0x40000000, /* 1 width character */ // 0x40000000L +/*line: 92*/ _CTYPE_SW2 = 0x80000000, /* 2 width character */ // 0x80000000L +/*line: 93*/ _CTYPE_SW3 = 0xc0000000, /* 3 width character */ // 0xc0000000L +/*line: 94*/ _CTYPE_SWM = 0xe0000000, /* Mask for screen width data */ // 0xe0000000L +/*line: 95*/ _CTYPE_SWS = 0x1e, /* Bits to shift to get width */ // 30 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 121 +// #define __DARWIN_CTYPE_inline __header_inline + +// Line: 123 +// #define __DARWIN_CTYPE_TOP_inline __header_inline + diff --git a/macrodefs_enums/ios/_inttypes.h b/macrodefs_enums/ios/_inttypes.h new file mode 100644 index 000000000..06ba2df6d --- /dev/null +++ b/macrodefs_enums/ios/_inttypes.h @@ -0,0 +1,268 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_inttypes.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 68 +// #define PRIdLEAST8 PRId8 + +// Line: 69 +// #define PRIiLEAST8 PRIi8 + +// Line: 70 +// #define PRIoLEAST8 PRIo8 + +// Line: 71 +// #define PRIuLEAST8 PRIu8 + +// Line: 72 +// #define PRIxLEAST8 PRIx8 + +// Line: 73 +// #define PRIXLEAST8 PRIX8 + +// Line: 75 +// #define PRIdLEAST16 PRId16 + +// Line: 76 +// #define PRIiLEAST16 PRIi16 + +// Line: 77 +// #define PRIoLEAST16 PRIo16 + +// Line: 78 +// #define PRIuLEAST16 PRIu16 + +// Line: 79 +// #define PRIxLEAST16 PRIx16 + +// Line: 80 +// #define PRIXLEAST16 PRIX16 + +// Line: 82 +// #define PRIdLEAST32 PRId32 + +// Line: 83 +// #define PRIiLEAST32 PRIi32 + +// Line: 84 +// #define PRIoLEAST32 PRIo32 + +// Line: 85 +// #define PRIuLEAST32 PRIu32 + +// Line: 86 +// #define PRIxLEAST32 PRIx32 + +// Line: 87 +// #define PRIXLEAST32 PRIX32 + +// Line: 89 +// #define PRIdLEAST64 PRId64 + +// Line: 90 +// #define PRIiLEAST64 PRIi64 + +// Line: 91 +// #define PRIoLEAST64 PRIo64 + +// Line: 92 +// #define PRIuLEAST64 PRIu64 + +// Line: 93 +// #define PRIxLEAST64 PRIx64 + +// Line: 94 +// #define PRIXLEAST64 PRIX64 + +// Line: 96 +// #define PRIdFAST8 PRId8 + +// Line: 97 +// #define PRIiFAST8 PRIi8 + +// Line: 98 +// #define PRIoFAST8 PRIo8 + +// Line: 99 +// #define PRIuFAST8 PRIu8 + +// Line: 100 +// #define PRIxFAST8 PRIx8 + +// Line: 101 +// #define PRIXFAST8 PRIX8 + +// Line: 103 +// #define PRIdFAST16 PRId16 + +// Line: 104 +// #define PRIiFAST16 PRIi16 + +// Line: 105 +// #define PRIoFAST16 PRIo16 + +// Line: 106 +// #define PRIuFAST16 PRIu16 + +// Line: 107 +// #define PRIxFAST16 PRIx16 + +// Line: 108 +// #define PRIXFAST16 PRIX16 + +// Line: 110 +// #define PRIdFAST32 PRId32 + +// Line: 111 +// #define PRIiFAST32 PRIi32 + +// Line: 112 +// #define PRIoFAST32 PRIo32 + +// Line: 113 +// #define PRIuFAST32 PRIu32 + +// Line: 114 +// #define PRIxFAST32 PRIx32 + +// Line: 115 +// #define PRIXFAST32 PRIX32 + +// Line: 117 +// #define PRIdFAST64 PRId64 + +// Line: 118 +// #define PRIiFAST64 PRIi64 + +// Line: 119 +// #define PRIoFAST64 PRIo64 + +// Line: 120 +// #define PRIuFAST64 PRIu64 + +// Line: 121 +// #define PRIxFAST64 PRIx64 + +// Line: 122 +// #define PRIXFAST64 PRIX64 + +// Line: 163 +// #define SCNdLEAST8 SCNd8 + +// Line: 164 +// #define SCNiLEAST8 SCNi8 + +// Line: 165 +// #define SCNoLEAST8 SCNo8 + +// Line: 166 +// #define SCNuLEAST8 SCNu8 + +// Line: 167 +// #define SCNxLEAST8 SCNx8 + +// Line: 169 +// #define SCNdLEAST16 SCNd16 + +// Line: 170 +// #define SCNiLEAST16 SCNi16 + +// Line: 171 +// #define SCNoLEAST16 SCNo16 + +// Line: 172 +// #define SCNuLEAST16 SCNu16 + +// Line: 173 +// #define SCNxLEAST16 SCNx16 + +// Line: 175 +// #define SCNdLEAST32 SCNd32 + +// Line: 176 +// #define SCNiLEAST32 SCNi32 + +// Line: 177 +// #define SCNoLEAST32 SCNo32 + +// Line: 178 +// #define SCNuLEAST32 SCNu32 + +// Line: 179 +// #define SCNxLEAST32 SCNx32 + +// Line: 181 +// #define SCNdLEAST64 SCNd64 + +// Line: 182 +// #define SCNiLEAST64 SCNi64 + +// Line: 183 +// #define SCNoLEAST64 SCNo64 + +// Line: 184 +// #define SCNuLEAST64 SCNu64 + +// Line: 185 +// #define SCNxLEAST64 SCNx64 + +// Line: 187 +// #define SCNdFAST8 SCNd8 + +// Line: 188 +// #define SCNiFAST8 SCNi8 + +// Line: 189 +// #define SCNoFAST8 SCNo8 + +// Line: 190 +// #define SCNuFAST8 SCNu8 + +// Line: 191 +// #define SCNxFAST8 SCNx8 + +// Line: 193 +// #define SCNdFAST16 SCNd16 + +// Line: 194 +// #define SCNiFAST16 SCNi16 + +// Line: 195 +// #define SCNoFAST16 SCNo16 + +// Line: 196 +// #define SCNuFAST16 SCNu16 + +// Line: 197 +// #define SCNxFAST16 SCNx16 + +// Line: 199 +// #define SCNdFAST32 SCNd32 + +// Line: 200 +// #define SCNiFAST32 SCNi32 + +// Line: 201 +// #define SCNoFAST32 SCNo32 + +// Line: 202 +// #define SCNuFAST32 SCNu32 + +// Line: 203 +// #define SCNxFAST32 SCNx32 + +// Line: 205 +// #define SCNdFAST64 SCNd64 + +// Line: 206 +// #define SCNiFAST64 SCNi64 + +// Line: 207 +// #define SCNoFAST64 SCNo64 + +// Line: 208 +// #define SCNuFAST64 SCNu64 + +// Line: 209 +// #define SCNxFAST64 SCNx64 + diff --git a/macrodefs_enums/ios/_langinfo.h b/macrodefs_enums/ios/_langinfo.h new file mode 100644 index 000000000..c05910138 --- /dev/null +++ b/macrodefs_enums/ios/_langinfo.h @@ -0,0 +1,68 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_langinfo.h + +enum macro_locale_info { +/*line: 38*/ CODESET = 0x0, /* codeset name */ // 0 +/*line: 39*/ D_T_FMT = 0x1, /* string for formatting date and time */ // 1 +/*line: 40*/ D_FMT = 0x2, /* date format string */ // 2 +/*line: 41*/ T_FMT = 0x3, /* time format string */ // 3 +/*line: 42*/ T_FMT_AMPM = 0x4, /* a.m. or p.m. time formatting string */ // 4 +/*line: 43*/ AM_STR = 0x5, /* Ante Meridian affix */ // 5 +/*line: 44*/ PM_STR = 0x6, /* Post Meridian affix */ // 6 +/* week day names */ +/*line: 47*/ DAY_1 = 0x7, // 7 +/*line: 48*/ DAY_2 = 0x8, // 8 +/*line: 49*/ DAY_3 = 0x9, // 9 +/*line: 50*/ DAY_4 = 0xa, // 10 +/*line: 51*/ DAY_5 = 0xb, // 11 +/*line: 52*/ DAY_6 = 0xc, // 12 +/*line: 53*/ DAY_7 = 0xd, // 13 +/* abbreviated week day names */ +/*line: 56*/ ABDAY_1 = 0xe, // 14 +/*line: 57*/ ABDAY_2 = 0xf, // 15 +/*line: 58*/ ABDAY_3 = 0x10, // 16 +/*line: 59*/ ABDAY_4 = 0x11, // 17 +/*line: 60*/ ABDAY_5 = 0x12, // 18 +/*line: 61*/ ABDAY_6 = 0x13, // 19 +/*line: 62*/ ABDAY_7 = 0x14, // 20 +/* month names */ +/*line: 65*/ MON_1 = 0x15, // 21 +/*line: 66*/ MON_2 = 0x16, // 22 +/*line: 67*/ MON_3 = 0x17, // 23 +/*line: 68*/ MON_4 = 0x18, // 24 +/*line: 69*/ MON_5 = 0x19, // 25 +/*line: 70*/ MON_6 = 0x1a, // 26 +/*line: 71*/ MON_7 = 0x1b, // 27 +/*line: 72*/ MON_8 = 0x1c, // 28 +/*line: 73*/ MON_9 = 0x1d, // 29 +/*line: 74*/ MON_10 = 0x1e, // 30 +/*line: 75*/ MON_11 = 0x1f, // 31 +/*line: 76*/ MON_12 = 0x20, // 32 +/* abbreviated month names */ +/*line: 79*/ ABMON_1 = 0x21, // 33 +/*line: 80*/ ABMON_2 = 0x22, // 34 +/*line: 81*/ ABMON_3 = 0x23, // 35 +/*line: 82*/ ABMON_4 = 0x24, // 36 +/*line: 83*/ ABMON_5 = 0x25, // 37 +/*line: 84*/ ABMON_6 = 0x26, // 38 +/*line: 85*/ ABMON_7 = 0x27, // 39 +/*line: 86*/ ABMON_8 = 0x28, // 40 +/*line: 87*/ ABMON_9 = 0x29, // 41 +/*line: 88*/ ABMON_10 = 0x2a, // 42 +/*line: 89*/ ABMON_11 = 0x2b, // 43 +/*line: 90*/ ABMON_12 = 0x2c, // 44 +/*line: 92*/ ERA = 0x2d, /* era description segments */ // 45 +/*line: 93*/ ERA_D_FMT = 0x2e, /* era date format string */ // 46 +/*line: 94*/ ERA_D_T_FMT = 0x2f, /* era date and time format string */ // 47 +/*line: 95*/ ERA_T_FMT = 0x30, /* era time format string */ // 48 +/*line: 96*/ ALT_DIGITS = 0x31, /* alternative symbols for digits */ // 49 +/*line: 98*/ RADIXCHAR = 0x32, /* radix char */ // 50 +/*line: 99*/ THOUSEP = 0x33, /* separator for thousands */ // 51 +/*line: 101*/ YESEXPR = 0x34, /* affirmative response expression */ // 52 +/*line: 102*/ NOEXPR = 0x35, /* negative response expression */ // 53 +/*line: 105*/ YESSTR = 0x36, /* affirmative response for yes/no queries */ // 54 +/*line: 106*/ NOSTR = 0x37, /* negative response for yes/no queries */ // 55 +/*line: 109*/ CRNCYSTR = 0x38, /* currency symbol */ // 56 +/*line: 112*/ D_MD_ORDER = 0x39, /* month/day order (local extension) */ // 57 +}; + diff --git a/macrodefs_enums/ios/_locale.h b/macrodefs_enums/ios/_locale.h new file mode 100644 index 000000000..c8eecb05c --- /dev/null +++ b/macrodefs_enums/ios/_locale.h @@ -0,0 +1,26 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_locale.h + +// Depends on identifiers +enum macro_locale_masks { +/*line: 75*/ LC_ALL_MASK = 0x3f, // (LC_COLLATE_MASK|LC_CTYPE_MASK|LC_MESSAGES_MASK|LC_MONETARY_MASK|LC_NUMERIC_MASK|LC_TIME_MASK) +/*line: 81*/ LC_COLLATE_MASK = 0x1, // (1<<0) +/*line: 82*/ LC_CTYPE_MASK = 0x2, // (1<<1) +/*line: 83*/ LC_MESSAGES_MASK = 0x4, // (1<<2) +/*line: 84*/ LC_MONETARY_MASK = 0x8, // (1<<3) +/*line: 85*/ LC_NUMERIC_MASK = 0x10, // (1<<4) +/*line: 86*/ LC_TIME_MASK = 0x20, // (1<<5) +}; + +// Depends on identifiers +enum macro_locale_mask { +/*line: 88*/ _LC_NUM_MASK = 0x6, // 6 +/*line: 89*/ _LC_LAST_MASK = 0x20, // (1<<(_LC_NUM_MASK-1)) +}; + +// Depends on identifiers +enum macro_locale_constant { +/*line: 91*/ LC_GLOBAL_LOCALE = -0x1, // ((locale_t)-1) +/*line: 92*/ LC_C_LOCALE = 0x0, // ((locale_t)NULL) +}; + diff --git a/macrodefs_enums/ios/_mb_cur_max.h b/macrodefs_enums/ios/_mb_cur_max.h new file mode 100644 index 000000000..5042ac130 --- /dev/null +++ b/macrodefs_enums/ios/_mb_cur_max.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_mb_cur_max.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 37 +// #define MB_CUR_MAX (___mb_cur_max()) + diff --git a/macrodefs_enums/ios/_regex.h b/macrodefs_enums/ios/_regex.h new file mode 100644 index 000000000..102333ba3 --- /dev/null +++ b/macrodefs_enums/ios/_regex.h @@ -0,0 +1,57 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_regex.h + +enum macro_regex_compile_flags { +/*line: 129*/ REG_BASIC = 0x0, /* Basic regular expressions (synonym for 0) */ // 0000 +/*line: 132*/ REG_EXTENDED = 0x1, /* Extended regular expressions */ // 0001 +/*line: 133*/ REG_ICASE = 0x2, /* Compile ignoring upper/lower case */ // 0002 +/*line: 134*/ REG_NOSUB = 0x4, /* Compile only reporting success/failure */ // 0004 +/*line: 135*/ REG_NEWLINE = 0x8, /* Compile for newline-sensitive matching */ // 0010 +/*line: 138*/ REG_NOSPEC = 0x10, /* Compile turning off all special characters */ // 0020 +/*line: 143*/ REG_LITERAL = 0x10, // REG_NOSPEC +/*line: 146*/ REG_PEND = 0x20, /* Use re_endp as end pointer */ // 0040 +/*line: 151*/ REG_MINIMAL = 0x40, /* Compile using minimal repetition */ // 0100 +/*line: 152*/ REG_UNGREEDY = 0x40, // REG_MINIMAL +/*line: 155*/ REG_DUMP = 0x80, /* Unused */ // 0200 +/*line: 160*/ REG_ENHANCED = 0x100, /* Additional (non-POSIX) features */ // 0400 +}; + +enum macro_regex_error { +/********************/ +/*line: 167*/ REG_ENOSYS = -0x1, /* Reserved */ // (-1) +/*line: 168*/ REG_NOMATCH = 0x1, /* regexec() function failed to match */ // 1 +/*line: 169*/ REG_BADPAT = 0x2, /* invalid regular expression */ // 2 +/*line: 170*/ REG_ECOLLATE = 0x3, /* invalid collating element */ // 3 +/*line: 171*/ REG_ECTYPE = 0x4, /* invalid character class */ // 4 +/*line: 172*/ REG_EESCAPE = 0x5, /* trailing backslash (\) */ // 5 +/*line: 173*/ REG_ESUBREG = 0x6, /* invalid backreference number */ // 6 +/*line: 174*/ REG_EBRACK = 0x7, /* brackets ([ ]) not balanced */ // 7 +/*line: 175*/ REG_EPAREN = 0x8, /* parentheses not balanced */ // 8 +/*line: 176*/ REG_EBRACE = 0x9, /* braces not balanced */ // 9 +/*line: 177*/ REG_BADBR = 0xa, /* invalid repetition count(s) */ // 10 +/*line: 178*/ REG_ERANGE = 0xb, /* invalid character range */ // 11 +/*line: 179*/ REG_ESPACE = 0xc, /* out of memory */ // 12 +/*line: 180*/ REG_BADRPT = 0xd, /* repetition-operator operand invalid */ // 13 +/*line: 183*/ REG_EMPTY = 0xe, /* Unused */ // 14 +/*line: 184*/ REG_ASSERT = 0xf, /* Unused */ // 15 +/*line: 185*/ REG_INVARG = 0x10, /* invalid argument to regex routine */ // 16 +/*line: 186*/ REG_ILLSEQ = 0x11, /* illegal byte sequence */ // 17 +/*line: 188*/ REG_ATOI = 0xff, /* convert name to number (!) */ // 255 +/*line: 189*/ REG_ITOA = 0x100, /* convert number to name (!) */ // 0400 +}; + +enum macro_regex_exec_flags { +/*******************/ +/*line: 195*/ REG_NOTBOL = 0x1, /* First character not at beginning of line */ // 00001 +/*line: 196*/ REG_NOTEOL = 0x2, /* Last character not at end of line */ // 00002 +/*line: 199*/ REG_STARTEND = 0x4, /* String start/end in pmatch[0] */ // 00004 +/*line: 200*/ REG_TRACE = 0x100, /* Unused */ // 00400 +/*line: 201*/ REG_LARGE = 0x200, /* Unused */ // 01000 +/*line: 202*/ REG_BACKR = 0x400, /* force use of backref code */ // 02000 +}; + +// Depends on identifiers +enum macro_reg_backtracking_matcher { +/*line: 207*/ REG_BACKTRACKING_MATCHER = 0x400, // REG_BACKR +}; + diff --git a/macrodefs_enums/ios/_static_assert.h b/macrodefs_enums/ios/_static_assert.h new file mode 100644 index 000000000..d51513bae --- /dev/null +++ b/macrodefs_enums/ios/_static_assert.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_static_assert.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define static_assert _Static_assert + diff --git a/macrodefs_enums/ios/_stdio.h b/macrodefs_enums/ios/_stdio.h new file mode 100644 index 000000000..8ed597d96 --- /dev/null +++ b/macrodefs_enums/ios/_stdio.h @@ -0,0 +1,61 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_stdio.h + +enum macro_stdio_flags { +/*line: 172*/ __SLBF = 0x1, /* line buffered */ // 0x0001 +/*line: 173*/ __SNBF = 0x2, /* unbuffered */ // 0x0002 +/*line: 174*/ __SRD = 0x4, /* OK to read */ // 0x0004 +/*line: 175*/ __SWR = 0x8, /* OK to write */ // 0x0008 +/* RD and WR are never simultaneously asserted */ +/*line: 177*/ __SRW = 0x10, /* open for reading & writing */ // 0x0010 +/*line: 178*/ __SEOF = 0x20, /* found EOF */ // 0x0020 +/*line: 179*/ __SERR = 0x40, /* found error */ // 0x0040 +/*line: 180*/ __SMBF = 0x80, /* _buf is from malloc */ // 0x0080 +/*line: 181*/ __SAPP = 0x100, /* fdopen()ed in append mode */ // 0x0100 +/*line: 182*/ __SSTR = 0x200, /* this is an sprintf/snprintf string */ // 0x0200 +/*line: 183*/ __SOPT = 0x400, /* do fseek() optimisation */ // 0x0400 +/*line: 184*/ __SNPT = 0x800, /* do not do fseek() optimisation */ // 0x0800 +/*line: 185*/ __SOFF = 0x1000, /* set iff _offset is in fact correct */ // 0x1000 +/*line: 186*/ __SMOD = 0x2000, /* true => fgetln modified _p text */ // 0x2000 +/*line: 187*/ __SALC = 0x4000, /* allocate string space dynamically */ // 0x4000 +/*line: 188*/ __SIGN = 0x8000, /* ignore this file in _fwalk */ // 0x8000 +}; + +enum macro_buffering_mode { +/* + * The following three definitions are for ANSI C, which took them + * from System V, which brilliantly took internal interface macros and + * made them official arguments to setvbuf(), without renaming them. + * Hence, these ugly _IOxxx names are *supposed* to appear in user code. + * + * Although numbered as their counterparts above, the implementation + * does not rely on this. + */ +/*line: 199*/ _IOFBF = 0x0, /* setvbuf should set fully buffered */ // 0 +/*line: 200*/ _IOLBF = 0x1, /* setvbuf should set line buffered */ // 1 +/*line: 201*/ _IONBF = 0x2, /* setvbuf should set unbuffered */ // 2 +}; + +enum macro_stdio_constants { +/*line: 203*/ BUFSIZ = 0x400, /* size of buffer used by setbuf */ // 1024 +/*line: 204*/ EOF = -0x1, // (-1) +}; + +enum macro_system_limits { +/* must be == _POSIX_STREAM_MAX */ +/*line: 207*/ FOPEN_MAX = 0x14, /* must be <= OPEN_MAX */ // 20 +/*line: 208*/ FILENAME_MAX = 0x400, /* must be <= PATH_MAX */ // 1024 +/*line: 214*/ L_tmpnam = 0x400, /* XXX must be == PATH_MAX */ // 1024 +/*line: 215*/ TMP_MAX = 0x1269ae40, // 308915776 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 217 +// #define stdin __stdinp + +// Line: 218 +// #define stdout __stdoutp + +// Line: 219 +// #define stderr __stderrp + diff --git a/macrodefs_enums/ios/_stdlib.h b/macrodefs_enums/ios/_stdlib.h new file mode 100644 index 000000000..5acc4aa56 --- /dev/null +++ b/macrodefs_enums/ios/_stdlib.h @@ -0,0 +1,28 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_stdlib.h + +enum macro_exit_status { +/*line: 121*/ EXIT_FAILURE = 0x1, // 1 +/*line: 122*/ EXIT_SUCCESS = 0x0, // 0 +}; + +enum macro_rand_max { +/*line: 124*/ RAND_MAX = 0x7fffffff, // 0x7fffffff +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 61 +// #define _LIBC_COUNT__MB_LEN_MAX _LIBC_UNSAFE_INDEXABLE + +// Line: 62 +// #define _LIBC_COUNT__PATH_MAX _LIBC_UNSAFE_INDEXABLE + +// Line: 135 +// #define MB_CUR_MAX __mb_cur_max + +// Line: 297 +// #define __bsearch_noescape __attribute__((__noescape__)) + +// Line: 330 +// #define __sort_noescape __attribute__((__noescape__)) + diff --git a/macrodefs_enums/ios/_time.h b/macrodefs_enums/ios/_time.h new file mode 100644 index 000000000..a8f47c299 --- /dev/null +++ b/macrodefs_enums/ios/_time.h @@ -0,0 +1,41 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_time.h + +// Depends on identifiers +enum macro_clocks_per_sec { +/*line: 93*/ CLOCKS_PER_SEC = 0xf4240, /* [XSI] */ // ((clock_t)1000000) +}; + +enum macro_time_utc { +/* ISO/IEC 9899:201x 7.27.2.5 The timespec_get function */ +/*line: 200*/ TIME_UTC = 0x1, /* time elapsed since epoch */ // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 151 +// #define __CLOCK_AVAILABILITY __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) + +// Line: 158 +// #define CLOCK_REALTIME _CLOCK_REALTIME + +// Line: 160 +// #define CLOCK_MONOTONIC _CLOCK_MONOTONIC + +// Line: 163 +// #define CLOCK_MONOTONIC_RAW _CLOCK_MONOTONIC_RAW + +// Line: 165 +// #define CLOCK_MONOTONIC_RAW_APPROX _CLOCK_MONOTONIC_RAW_APPROX + +// Line: 167 +// #define CLOCK_UPTIME_RAW _CLOCK_UPTIME_RAW + +// Line: 169 +// #define CLOCK_UPTIME_RAW_APPROX _CLOCK_UPTIME_RAW_APPROX + +// Line: 172 +// #define CLOCK_PROCESS_CPUTIME_ID _CLOCK_PROCESS_CPUTIME_ID + +// Line: 174 +// #define CLOCK_THREAD_CPUTIME_ID _CLOCK_THREAD_CPUTIME_ID + diff --git a/macrodefs_enums/ios/_types.h b/macrodefs_enums/ios/_types.h new file mode 100644 index 000000000..89354b869 --- /dev/null +++ b/macrodefs_enums/ios/_types.h @@ -0,0 +1,18 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_types.h + +// Depends on identifiers +enum macro_wchar_max { +/*line: 52*/ __DARWIN_WCHAR_MAX = 0x7fffffff, // __WCHAR_MAX__ +}; + +// Depends on identifiers +enum macro_darwin_wchar { +/*line: 58*/ __DARWIN_WCHAR_MIN = -0x80000000, // (-0x7fffffff-1) +/*line: 62*/ __DARWIN_WEOF = -0x1, // ((__darwin_wint_t)-1) +}; + +enum macro_fortify_source { +/*line: 68*/ _FORTIFY_SOURCE = 0x2, /* on by default */ // 2 +}; + diff --git a/macrodefs_enums/ios/_wchar.h b/macrodefs_enums/ios/_wchar.h new file mode 100644 index 000000000..6d149391a --- /dev/null +++ b/macrodefs_enums/ios/_wchar.h @@ -0,0 +1,9 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_wchar.h + +// Depends on identifiers +enum macro_wchar_range { +/*line: 83*/ WCHAR_MIN = -0x80000000, // __DARWIN_WCHAR_MIN +/*line: 87*/ WCHAR_MAX = 0x7fffffff, // __DARWIN_WCHAR_MAX +}; + diff --git a/macrodefs_enums/ios/_wctype.h b/macrodefs_enums/ios/_wctype.h new file mode 100644 index 000000000..3d3b8a10b --- /dev/null +++ b/macrodefs_enums/ios/_wctype.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/_wctype.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 39 +// #define __DARWIN_WCTYPE_TOP_inline __header_inline + diff --git a/macrodefs_enums/ios/arm/_endian.h b/macrodefs_enums/ios/arm/_endian.h new file mode 100644 index 000000000..f0a776749 --- /dev/null +++ b/macrodefs_enums/ios/arm/_endian.h @@ -0,0 +1,9 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/_endian.h + +// Depends on identifiers +enum macro_arm_byte_order { +/*line: 97*/ __DARWIN_BYTE_ORDER = 0x4d2, // __DARWIN_LITTLE_ENDIAN +/*line: 101*/ BYTE_ORDER = 0x4d2, // __DARWIN_BYTE_ORDER +}; + diff --git a/macrodefs_enums/ios/arm/_limits.h b/macrodefs_enums/ios/arm/_limits.h new file mode 100644 index 000000000..171cd715e --- /dev/null +++ b/macrodefs_enums/ios/arm/_limits.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/_limits.h + +enum macro_arm_darwin_clk_tck { +/*line: 9*/ __DARWIN_CLK_TCK = 0x64, /* ticks per second */ // 100 +}; + diff --git a/macrodefs_enums/ios/arm/_mcontext.h b/macrodefs_enums/ios/arm/_mcontext.h new file mode 100644 index 000000000..a0c45ec45 --- /dev/null +++ b/macrodefs_enums/ios/arm/_mcontext.h @@ -0,0 +1,13 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/_mcontext.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 40 +// #define _STRUCT_MCONTEXT32 struct __darwin_mcontext32 + +// Line: 63 +// #define _STRUCT_MCONTEXT64 struct __darwin_mcontext64 + +// Line: 86 +// #define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64 + diff --git a/macrodefs_enums/ios/arm/_param.h b/macrodefs_enums/ios/arm/_param.h new file mode 100644 index 000000000..50d6a97d3 --- /dev/null +++ b/macrodefs_enums/ios/arm/_param.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/_param.h + +// Depends on identifiers +enum macro_arm_darwin_alignbytes { +/* + * Round p (pointer or byte index) up to a correctly-aligned value for all + * data types (int, long, ...). The result is unsigned int and must be + * cast to any desired pointer type. + */ +/*line: 17*/ __DARWIN_ALIGNBYTES = -0x1, // (sizeof(__darwin_size_t)-1) +/*line: 20*/ __DARWIN_ALIGNBYTES32 = -0x1, // (sizeof(__uint32_t)-1) +}; + diff --git a/macrodefs_enums/ios/arm/cpu_capabilities_public.h b/macrodefs_enums/ios/arm/cpu_capabilities_public.h new file mode 100644 index 000000000..12ecd3040 --- /dev/null +++ b/macrodefs_enums/ios/arm/cpu_capabilities_public.h @@ -0,0 +1,73 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/cpu_capabilities_public.h + +enum macro_arm_cpu_capabilities { +/* + * Clang needs those bits to remain constant. + * Existing entries should never be updated as they are ABI. + * Adding new entries to the end and bumping CAP_BIT_NB is okay. + */ +/*line: 49*/ CAP_BIT_FEAT_FlagM = 0x0, // 0 +/*line: 50*/ CAP_BIT_FEAT_FlagM2 = 0x1, // 1 +/*line: 51*/ CAP_BIT_FEAT_FHM = 0x2, // 2 +/*line: 52*/ CAP_BIT_FEAT_DotProd = 0x3, // 3 +/*line: 53*/ CAP_BIT_FEAT_SHA3 = 0x4, // 4 +/*line: 54*/ CAP_BIT_FEAT_RDM = 0x5, // 5 +/*line: 55*/ CAP_BIT_FEAT_LSE = 0x6, // 6 +/*line: 56*/ CAP_BIT_FEAT_SHA256 = 0x7, // 7 +/*line: 57*/ CAP_BIT_FEAT_SHA512 = 0x8, // 8 +/*line: 58*/ CAP_BIT_FEAT_SHA1 = 0x9, // 9 +/*line: 59*/ CAP_BIT_FEAT_AES = 0xa, // 10 +/*line: 60*/ CAP_BIT_FEAT_PMULL = 0xb, // 11 +/*line: 61*/ CAP_BIT_FEAT_SPECRES = 0xc, // 12 +/*line: 62*/ CAP_BIT_FEAT_SB = 0xd, // 13 +/*line: 63*/ CAP_BIT_FEAT_FRINTTS = 0xe, // 14 +/*line: 64*/ CAP_BIT_FEAT_LRCPC = 0xf, // 15 +/*line: 65*/ CAP_BIT_FEAT_LRCPC2 = 0x10, // 16 +/*line: 66*/ CAP_BIT_FEAT_FCMA = 0x11, // 17 +/*line: 67*/ CAP_BIT_FEAT_JSCVT = 0x12, // 18 +/*line: 68*/ CAP_BIT_FEAT_PAuth = 0x13, // 19 +/*line: 69*/ CAP_BIT_FEAT_PAuth2 = 0x14, // 20 +/*line: 70*/ CAP_BIT_FEAT_FPAC = 0x15, // 21 +/*line: 71*/ CAP_BIT_FEAT_DPB = 0x16, // 22 +/*line: 72*/ CAP_BIT_FEAT_DPB2 = 0x17, // 23 +/*line: 73*/ CAP_BIT_FEAT_BF16 = 0x18, // 24 +/*line: 74*/ CAP_BIT_FEAT_I8MM = 0x19, // 25 +/*line: 75*/ CAP_BIT_FEAT_WFxT = 0x1a, // 26 +/*line: 76*/ CAP_BIT_FEAT_RPRES = 0x1b, // 27 +/*line: 77*/ CAP_BIT_FEAT_ECV = 0x1c, // 28 +/*line: 78*/ CAP_BIT_FEAT_AFP = 0x1d, // 29 +/*line: 79*/ CAP_BIT_FEAT_LSE2 = 0x1e, // 30 +/*line: 80*/ CAP_BIT_FEAT_CSV2 = 0x1f, // 31 +/*line: 81*/ CAP_BIT_FEAT_CSV3 = 0x20, // 32 +/*line: 82*/ CAP_BIT_FEAT_DIT = 0x21, // 33 +/*line: 83*/ CAP_BIT_FEAT_FP16 = 0x22, // 34 +/*line: 84*/ CAP_BIT_FEAT_SSBS = 0x23, // 35 +/*line: 85*/ CAP_BIT_FEAT_BTI = 0x24, // 36 +/* SME */ +/*line: 89*/ CAP_BIT_FEAT_SME = 0x28, // 40 +/*line: 90*/ CAP_BIT_FEAT_SME2 = 0x29, // 41 +/*line: 91*/ CAP_BIT_FEAT_SME_F64F64 = 0x2a, // 42 +/*line: 92*/ CAP_BIT_FEAT_SME_I16I64 = 0x2b, // 43 +/*line: 94*/ CAP_BIT_AdvSIMD = 0x31, // 49 +/*line: 95*/ CAP_BIT_AdvSIMD_HPFPCvt = 0x32, // 50 +/*line: 96*/ CAP_BIT_FEAT_CRC32 = 0x33, // 51 +/*line: 98*/ CAP_BIT_SME_F32F32 = 0x34, // 52 +/*line: 99*/ CAP_BIT_SME_BI32I32 = 0x35, // 53 +/*line: 100*/ CAP_BIT_SME_B16F32 = 0x36, // 54 +/*line: 101*/ CAP_BIT_SME_F16F32 = 0x37, // 55 +/*line: 102*/ CAP_BIT_SME_I8I32 = 0x38, // 56 +/*line: 103*/ CAP_BIT_SME_I16I32 = 0x39, // 57 +/*line: 105*/ CAP_BIT_FEAT_PACIMP = 0x3a, // 58 +/*line: 108*/ CAP_BIT_FEAT_HBC = 0x40, // 64 +/*line: 109*/ CAP_BIT_FEAT_EBF16 = 0x41, // 65 +/*line: 110*/ CAP_BIT_FEAT_SPECRES2 = 0x42, // 66 +/*line: 111*/ CAP_BIT_FEAT_CSSC = 0x43, // 67 +/*line: 112*/ CAP_BIT_FEAT_FPACCOMBINE = 0x44, // 68 +/*line: 115*/ CAP_BIT_FP_SyncExceptions = 0x49, // 73 +/* Legacy definitions for backwards compatibility */ +/*line: 118*/ CAP_BIT_CRC32 = 0x33, // CAP_BIT_FEAT_CRC32 +/* Total number of FEAT bits. */ +/*line: 121*/ CAP_BIT_NB = 0x4a, // 74 +}; + diff --git a/macrodefs_enums/ios/arm/endian.h b/macrodefs_enums/ios/arm/endian.h new file mode 100644 index 000000000..f30fc15ad --- /dev/null +++ b/macrodefs_enums/ios/arm/endian.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/endian.h + +enum macro_arm_quad_word_order { +/* + * Define the order of 32-bit words in 64-bit words. + */ +/*line: 56*/ _QUAD_HIGHWORD = 0x1, // 1 +/*line: 57*/ _QUAD_LOWWORD = 0x0, // 0 +}; + diff --git a/macrodefs_enums/ios/arm/limits.h b/macrodefs_enums/ios/arm/limits.h new file mode 100644 index 000000000..f220b7448 --- /dev/null +++ b/macrodefs_enums/ios/arm/limits.h @@ -0,0 +1,43 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/limits.h + +enum macro_arm_type_limits { +/*line: 54*/ MB_LEN_MAX = 0x6, /* Allow 31 bit UTF2 */ // 6 +/*line: 57*/ CLK_TCK = 0x64, /* ticks per second */ // __DARWIN_CLK_TCK +/*line: 70*/ CHAR_BIT = 0x8, /* number of bits in a char */ // 8 +/* + * According to ANSI (section 2.2.4.2), the values below must be usable by + * #if preprocessing directives. Additionally, the expression must have the + * same type as would an expression that is an object of the corresponding + * type converted according to the integral promotions. The subtraction for + * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an + * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). + * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values + * are written as hex so that GCC will be quiet about large integer constants. + */ +/*line: 82*/ SCHAR_MAX = 0x7f, /* min value for a signed char */ // 127 +/*line: 83*/ SCHAR_MIN = -0x80, /* max value for a signed char */ // (-128) +/*line: 85*/ UCHAR_MAX = 0xff, /* max value for an unsigned char */ // 255 +/*line: 86*/ CHAR_MAX = 0x7f, /* max value for a char */ // 127 +/*line: 87*/ CHAR_MIN = -0x80, /* min value for a char */ // (-128) +/*line: 89*/ USHRT_MAX = 0xffff, /* max value for an unsigned short */ // 65535 +/*line: 90*/ SHRT_MAX = 0x7fff, /* max value for a short */ // 32767 +/*line: 91*/ SHRT_MIN = -0x8000, /* min value for a short */ // (-32768) +/*line: 93*/ UINT_MAX = 0xffffffff, /* max value for an unsigned int */ // 0xffffffff +/*line: 94*/ INT_MAX = 0x7fffffff, /* max value for an int */ // 2147483647 +/*line: 95*/ INT_MIN = -0x80000000, /* min value for an int */ // (-2147483647-1) +/*line: 98*/ ULONG_MAX = 0xffffffffffffffff, /* max unsigned long */ // 0xffffffffffffffffUL +/*line: 99*/ LONG_MAX = 0x7fffffffffffffff, /* max signed long */ // 0x7fffffffffffffffL +/*line: 100*/ LONG_MIN = -0x8000000000000000, /* min signed long */ // (-0x7fffffffffffffffL-1) +/*line: 107*/ ULLONG_MAX = 0xffffffffffffffff, /* max unsigned long long */ // 0xffffffffffffffffULL +/*line: 108*/ LLONG_MAX = 0x7fffffffffffffff, /* max signed long long */ // 0x7fffffffffffffffLL +/*line: 109*/ LLONG_MIN = -0x8000000000000000, /* min signed long long */ // (-0x7fffffffffffffffLL-1) +/*line: 115*/ LONG_BIT = 0x40, // 64 +/*line: 119*/ SSIZE_MAX = 0x7fffffffffffffff, /* max value for a ssize_t */ // LONG_MAX +/*line: 120*/ WORD_BIT = 0x20, // 32 +/*line: 123*/ SIZE_T_MAX = 0xffffffffffffffff, /* max value for a size_t */ // ULONG_MAX +/*line: 125*/ UQUAD_MAX = 0xffffffffffffffff, // ULLONG_MAX +/*line: 126*/ QUAD_MAX = 0x7fffffffffffffff, // LLONG_MAX +/*line: 127*/ QUAD_MIN = -0x8000000000000000, // LLONG_MIN +}; + diff --git a/macrodefs_enums/ios/arm/param.h b/macrodefs_enums/ios/arm/param.h new file mode 100644 index 000000000..f327ae2cb --- /dev/null +++ b/macrodefs_enums/ios/arm/param.h @@ -0,0 +1,50 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arm/param.h + +// Depends on identifiers +enum macro_arm_alignbytes { +/* + * Round p (pointer or byte index) up to a correctly-aligned value for all + * data types (int, long, ...). The result is unsigned int and must be + * cast to any desired pointer type. + */ +/*line: 60*/ ALIGNBYTES = -0x1, // __DARWIN_ALIGNBYTES +}; + +// Depends on identifiers +enum macro_arm_params { +/*line: 63*/ NBPG = 0x1000, /* bytes/page */ // 4096 +/*line: 64*/ PGOFSET = 0xfff, /* byte offset into page */ // (NBPG-1) +/*line: 65*/ PGSHIFT = 0xc, /* LOG2(NBPG) */ // 12 +/*line: 67*/ DEV_BSIZE = 0x200, // 512 +/*line: 68*/ DEV_BSHIFT = 0x9, /* log2(DEV_BSIZE) */ // 9 +/*line: 69*/ BLKDEV_IOSIZE = 0x800, // 2048 +/*line: 70*/ MAXPHYS = 0x10000, /* max raw I/O transfer size */ // (64*1024) +/*line: 72*/ CLSIZE = 0x1, // 1 +/*line: 73*/ CLSIZELOG2 = 0x0, // 0 +}; + +// Depends on identifiers +enum macro_arm_mbuf_sizes { +/* + * Constants related to network buffer management. + * MCLBYTES must be no larger than CLBYTES (the software page size), and, + * on machines that exchange pages of input or output buffers with mbuf + * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple + * of the hardware page size. + */ +/*line: 82*/ MSIZESHIFT = 0x8, /* 256 */ // 8 +/*line: 83*/ MSIZE = 0x100, /* size of an mbuf */ // (1< 19931104)". Do not + * compare for equality; rather, use it to determine whether your libbind.a + * contains a new enough lib/nameser/ to support the feature you need. + */ +/*line: 75*/ __NAMESER = 0x1328dbe, /*%< New interface version stamp. */ // 20090302 +/* + * Define constants based on RFC0883, RFC1034, RFC 1035 + */ +/*line: 79*/ NS_PACKETSZ = 0x200, /*%< default UDP packet size */ // 512 +/*line: 80*/ NS_MAXDNAME = 0x401, /*%< maximum domain name (presentation format)*/ // 1025 +/*line: 81*/ NS_MAXMSG = 0xffff, /*%< maximum message size */ // 65535 +/*line: 82*/ NS_MAXCDNAME = 0xff, /*%< maximum compressed domain name */ // 255 +/*line: 83*/ NS_MAXLABEL = 0x3f, /*%< maximum length of domain label */ // 63 +/*line: 84*/ NS_MAXLABELS = 0x80, /*%< theoretical max #/labels per domain name */ // 128 +/*line: 85*/ NS_MAXNNAME = 0x100, /*%< maximum uncompressed (binary) domain name*/ // 256 +/*line: 87*/ NS_HFIXEDSZ = 0xc, /*%< #/bytes of fixed data in header */ // 12 +/*line: 88*/ NS_QFIXEDSZ = 0x4, /*%< #/bytes of fixed data in query */ // 4 +/*line: 89*/ NS_RRFIXEDSZ = 0xa, /*%< #/bytes of fixed data in r record */ // 10 +/*line: 90*/ NS_INT32SZ = 0x4, /*%< #/bytes of data in a u_int32_t */ // 4 +/*line: 91*/ NS_INT16SZ = 0x2, /*%< #/bytes of data in a u_int16_t */ // 2 +/*line: 92*/ NS_INT8SZ = 0x1, /*%< #/bytes of data in a u_int8_t */ // 1 +/*line: 93*/ NS_INADDRSZ = 0x4, /*%< IPv4 T_A */ // 4 +/*line: 94*/ NS_IN6ADDRSZ = 0x10, /*%< IPv6 T_AAAA */ // 16 +/*line: 95*/ NS_CMPRSFLGS = 0xc0, /*%< Flag bits indicating name compression. */ // 0xc0 +/*line: 96*/ NS_DEFAULTPORT = 0x35, /*%< For both TCP and UDP. */ // 53 +}; + +enum macro_tsig_flags { +/*line: 314*/ NS_TSIG_FUDGE = 0x12c, // 300 +/*line: 315*/ NS_TSIG_TCP_COUNT = 0x64, // 100 +}; + +enum macro_tsig_errors { +/*line: 318*/ NS_TSIG_ERROR_NO_TSIG = -0xa, // -10 +/*line: 319*/ NS_TSIG_ERROR_NO_SPACE = -0xb, // -11 +/*line: 320*/ NS_TSIG_ERROR_FORMERR = -0xc, // -12 +}; + +// Depends on identifiers +enum macro_dns_key_flags { +/* Flags field of the KEY RR rdata. */ +/*line: 445*/ NS_KEY_TYPEMASK = 0xc000, /*%< Mask for "type" bits */ // 0xC000 +/*line: 446*/ NS_KEY_TYPE_AUTH_CONF = 0x0, /*%< Key usable for both */ // 0x0000 +/*line: 447*/ NS_KEY_TYPE_CONF_ONLY = 0x8000, /*%< Key usable for confidentiality */ // 0x8000 +/*line: 448*/ NS_KEY_TYPE_AUTH_ONLY = 0x4000, /*%< Key usable for authentication */ // 0x4000 +/*line: 449*/ NS_KEY_TYPE_NO_KEY = 0xc000, /*%< No key usable for either; no key */ // 0xC000 +/* The type bits can also be interpreted independently, as single bits: */ +/*line: 451*/ NS_KEY_NO_AUTH = 0x8000, /*%< Key unusable for authentication */ // 0x8000 +/*line: 452*/ NS_KEY_NO_CONF = 0x4000, /*%< Key unusable for confidentiality */ // 0x4000 +/*line: 453*/ NS_KEY_RESERVED2 = 0x2000, /* Security is *mandatory* if bit=0 */ // 0x2000 +/*line: 454*/ NS_KEY_EXTENDED_FLAGS = 0x1000, /*%< reserved - must be zero */ // 0x1000 +/*line: 455*/ NS_KEY_RESERVED4 = 0x800, /*%< reserved - must be zero */ // 0x0800 +/*line: 456*/ NS_KEY_RESERVED5 = 0x400, /*%< reserved - must be zero */ // 0x0400 +/*line: 457*/ NS_KEY_NAME_TYPE = 0x300, /*%< these bits determine the type */ // 0x0300 +/*line: 458*/ NS_KEY_NAME_USER = 0x0, /*%< key is assoc. with user */ // 0x0000 +/*line: 459*/ NS_KEY_NAME_ENTITY = 0x200, /*%< key is assoc. with entity eg host */ // 0x0200 +/*line: 460*/ NS_KEY_NAME_ZONE = 0x100, /*%< key is zone key */ // 0x0100 +/*line: 461*/ NS_KEY_NAME_RESERVED = 0x300, /*%< reserved meaning */ // 0x0300 +/*line: 462*/ NS_KEY_RESERVED8 = 0x80, /*%< reserved - must be zero */ // 0x0080 +/*line: 463*/ NS_KEY_RESERVED9 = 0x40, /*%< reserved - must be zero */ // 0x0040 +/*line: 464*/ NS_KEY_RESERVED10 = 0x20, /*%< reserved - must be zero */ // 0x0020 +/*line: 465*/ NS_KEY_RESERVED11 = 0x10, /*%< reserved - must be zero */ // 0x0010 +/*line: 466*/ NS_KEY_SIGNATORYMASK = 0xf, /*%< key can sign RR's of same name */ // 0x000F +/*line: 467*/ NS_KEY_RESERVED_BITMASK = 0x2cf0, // (NS_KEY_RESERVED2|NS_KEY_RESERVED4|NS_KEY_RESERVED5|NS_KEY_RESERVED8|NS_KEY_RESERVED9|NS_KEY_RESERVED10|NS_KEY_RESERVED11) +/*line: 474*/ NS_KEY_RESERVED_BITMASK2 = 0xffff, /*%< no bits defined here */ // 0xFFFF +/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */ +/*line: 476*/ NS_ALG_MD5RSA = 0x1, /*%< MD5 with RSA */ // 1 +/*line: 477*/ NS_ALG_DH = 0x2, /*%< Diffie Hellman KEY */ // 2 +/*line: 478*/ NS_ALG_DSA = 0x3, /*%< DSA KEY */ // 3 +/*line: 479*/ NS_ALG_DSS = 0x3, // NS_ALG_DSA +/*line: 480*/ NS_ALG_EXPIRE_ONLY = 0xfd, /*%< No alg, no security */ // 253 +/*line: 481*/ NS_ALG_PRIVATE_OID = 0xfe, /*%< Key begins with OID giving alg */ // 254 +/* value 0 is reserved */ +/*line: 484*/ NS_KEY_PROT_TLS = 0x1, // 1 +/*line: 485*/ NS_KEY_PROT_EMAIL = 0x2, // 2 +/*line: 486*/ NS_KEY_PROT_DNSSEC = 0x3, // 3 +/*line: 487*/ NS_KEY_PROT_IPSEC = 0x4, // 4 +/*line: 488*/ NS_KEY_PROT_ANY = 0xff, // 255 +}; + +enum macro_md5rsa_bits { +/* Signatures */ +/*line: 491*/ NS_MD5RSA_MIN_BITS = 0x200, /*%< Size of a mod or exp in bits */ // 512 +/*line: 492*/ NS_MD5RSA_MAX_BITS = 0x1000, // 4096 +}; + +enum macro_dsa_sizes { +/*line: 500*/ NS_DSA_SIG_SIZE = 0x29, // 41 +/*line: 501*/ NS_DSA_MIN_SIZE = 0xd5, // 213 +/*line: 502*/ NS_DSA_MAX_BYTES = 0x195, // 405 +}; + +enum macro_ns_sig_offsets { +/* Offsets into SIG record rdata to find various values */ +/*line: 505*/ NS_SIG_TYPE = 0x0, /*%< Type flags */ // 0 +/*line: 506*/ NS_SIG_ALG = 0x2, /*%< Algorithm */ // 2 +/*line: 507*/ NS_SIG_LABELS = 0x3, /*%< How many labels in name */ // 3 +/*line: 508*/ NS_SIG_OTTL = 0x4, /*%< Original TTL */ // 4 +/*line: 509*/ NS_SIG_EXPIR = 0x8, /*%< Expiration time */ // 8 +/*line: 510*/ NS_SIG_SIGNED = 0xc, /*%< Signature time */ // 12 +/*line: 511*/ NS_SIG_FOOT = 0x10, /*%< Key footprint */ // 16 +/*line: 512*/ NS_SIG_SIGNER = 0x12, /*%< Domain name of who signed it */ // 18 +/* How RR types are represented as bit-flags in NXT records */ +/*line: 514*/ NS_NXT_BITS = 0x8, // 8 +/*line: 518*/ NS_NXT_MAX = 0x7f, // 127 +}; + +enum macro_edns_flags { +/*% + * EDNS0 extended flags and option codes, host order. + */ +/*line: 523*/ NS_OPT_DNSSEC_OK = 0x8000, // 0x8000U +/*line: 524*/ NS_OPT_NSID = 0x3, // 3 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 102 +// #define ns_sect res_9_ns_sect + +// Line: 133 +// #define ns_msg res_9_ns_msg + +// Line: 159 +// #define _ns_flagdata _res_9_ns_flagdata + +// Line: 176 +// #define ns_rr res_9_ns_rr + +// Line: 216 +// #define ns_flag res_9_ns_flag + +// Line: 236 +// #define ns_opcode res_9_ns_opcode + +// Line: 252 +// #define ns_rcode res_9_ns_rcode + +// Line: 278 +// #define ns_update_operation res_9_ns_update_operation + +// Line: 290 +// #define ns_tsig_key res_9_ns_tsig_key + +// Line: 303 +// #define ns_tcp_tsig_state res_9_ns_tcp_tsig_state + +// Line: 407 +// #define ns_class res_9_ns_class + +// Line: 424 +// #define ns_key_types res_9_ns_key_types + +// Line: 434 +// #define ns_cert_types res_9_ns_cert_types + +// Line: 494 +// #define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) + +// Line: 496 +// #define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) + +// Line: 497 +// #define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) + +// Line: 498 +// #define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) + +// Line: 570 +// #define ns_msg_getflag res_9_ns_msg_getflag + +// Line: 571 +// #define ns_get16 res_9_ns_get16 + +// Line: 572 +// #define ns_get32 res_9_ns_get32 + +// Line: 573 +// #define ns_put16 res_9_ns_put16 + +// Line: 574 +// #define ns_put32 res_9_ns_put32 + +// Line: 575 +// #define ns_initparse res_9_ns_initparse + +// Line: 576 +// #define ns_skiprr res_9_ns_skiprr + +// Line: 577 +// #define ns_parserr res_9_ns_parserr + +// Line: 578 +// #define ns_parserr2 res_9_ns_parserr2 + +// Line: 579 +// #define ns_sprintrr res_9_ns_sprintrr + +// Line: 580 +// #define ns_sprintrrf res_9_ns_sprintrrf + +// Line: 581 +// #define ns_format_ttl res_9_ns_format_ttl + +// Line: 582 +// #define ns_parse_ttl res_9_ns_parse_ttl + +// Line: 583 +// #define ns_datetosecs res_9_ns_datetosecs + +// Line: 584 +// #define ns_name_ntol res_9_ns_name_ntol + +// Line: 585 +// #define ns_name_ntop res_9_ns_name_ntop + +// Line: 586 +// #define ns_name_pton res_9_ns_name_pton + +// Line: 587 +// #define ns_name_pton2 res_9_ns_name_pton2 + +// Line: 588 +// #define ns_name_unpack res_9_ns_name_unpack + +// Line: 589 +// #define ns_name_unpack2 res_9_ns_name_unpack2 + +// Line: 590 +// #define ns_name_pack res_9_ns_name_pack + +// Line: 591 +// #define ns_name_compress res_9_ns_name_compress + +// Line: 592 +// #define ns_name_uncompress res_9_ns_name_uncompress + +// Line: 593 +// #define ns_name_skip res_9_ns_name_skip + +// Line: 594 +// #define ns_name_rollback res_9_ns_name_rollback + +// Line: 595 +// #define ns_sign res_9_ns_sign + +// Line: 596 +// #define ns_sign2 res_9_ns_sign2 + +// Line: 597 +// #define ns_sign_tcp res_9_ns_sign_tcp + +// Line: 598 +// #define ns_sign_tcp2 res_9_ns_sign_tcp2 + +// Line: 599 +// #define ns_sign_tcp_init res_9_ns_sign_tcp_init + +// Line: 600 +// #define ns_find_tsig res_9_ns_find_tsig + +// Line: 601 +// #define ns_verify res_9_ns_verify + +// Line: 602 +// #define ns_verify_tcp res_9_ns_verify_tcp + +// Line: 603 +// #define ns_verify_tcp_init res_9_ns_verify_tcp_init + +// Line: 604 +// #define ns_samedomain res_9_ns_samedomain + +// Line: 605 +// #define ns_subdomain res_9_ns_subdomain + +// Line: 606 +// #define ns_makecanon res_9_ns_makecanon + +// Line: 607 +// #define ns_samename res_9_ns_samename + +// Line: 608 +// #define ns_rdata_unpack res_9_ns_rdata_unpack + +// Line: 609 +// #define ns_rdata_equal res_9_ns_rdata_equal + +// Line: 610 +// #define ns_rdata_refers res_9_ns_rdata_refers + diff --git a/macrodefs_enums/ios/arpa/nameser_compat.h b/macrodefs_enums/ios/arpa/nameser_compat.h new file mode 100644 index 000000000..3ab65186d --- /dev/null +++ b/macrodefs_enums/ios/arpa/nameser_compat.h @@ -0,0 +1,263 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/arpa/nameser_compat.h + +enum macro_bind_version { +/*line: 42*/ __BIND = 0x1306c1d, /* (DEAD) interface version stamp. */ // 19950621 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 101 +// #define PACKETSZ NS_PACKETSZ + +// Line: 102 +// #define MAXDNAME NS_MAXDNAME + +// Line: 103 +// #define MAXCDNAME NS_MAXCDNAME + +// Line: 104 +// #define MAXLABEL NS_MAXLABEL + +// Line: 105 +// #define HFIXEDSZ NS_HFIXEDSZ + +// Line: 106 +// #define QFIXEDSZ NS_QFIXEDSZ + +// Line: 107 +// #define RRFIXEDSZ NS_RRFIXEDSZ + +// Line: 108 +// #define INT32SZ NS_INT32SZ + +// Line: 109 +// #define INT16SZ NS_INT16SZ + +// Line: 110 +// #define INADDRSZ NS_INADDRSZ + +// Line: 111 +// #define IN6ADDRSZ NS_IN6ADDRSZ + +// Line: 112 +// #define INDIR_MASK NS_CMPRSFLGS + +// Line: 113 +// #define NAMESERVER_PORT NS_DEFAULTPORT + +// Line: 115 +// #define S_ZONE ns_s_zn + +// Line: 116 +// #define S_PREREQ ns_s_pr + +// Line: 117 +// #define S_UPDATE ns_s_ud + +// Line: 118 +// #define S_ADDT ns_s_ar + +// Line: 120 +// #define QUERY ns_o_query + +// Line: 121 +// #define IQUERY ns_o_iquery + +// Line: 122 +// #define STATUS ns_o_status + +// Line: 123 +// #define NS_NOTIFY_OP ns_o_notify + +// Line: 124 +// #define NS_UPDATE_OP ns_o_update + +// Line: 126 +// #define NOERROR ns_r_noerror + +// Line: 127 +// #define FORMERR ns_r_formerr + +// Line: 128 +// #define SERVFAIL ns_r_servfail + +// Line: 129 +// #define NXDOMAIN ns_r_nxdomain + +// Line: 130 +// #define NOTIMP ns_r_notimpl + +// Line: 131 +// #define REFUSED ns_r_refused + +// Line: 132 +// #define YXDOMAIN ns_r_yxdomain + +// Line: 133 +// #define YXRRSET ns_r_yxrrset + +// Line: 134 +// #define NXRRSET ns_r_nxrrset + +// Line: 135 +// #define NOTAUTH ns_r_notauth + +// Line: 136 +// #define NOTZONE ns_r_notzone + +// Line: 138 +// #define DELETE ns_uop_delete + +// Line: 139 +// #define ADD ns_uop_add + +// Line: 141 +// #define T_A ns_t_a + +// Line: 142 +// #define T_NS ns_t_ns + +// Line: 143 +// #define T_MD ns_t_md + +// Line: 144 +// #define T_MF ns_t_mf + +// Line: 145 +// #define T_CNAME ns_t_cname + +// Line: 146 +// #define T_SOA ns_t_soa + +// Line: 147 +// #define T_MB ns_t_mb + +// Line: 148 +// #define T_MG ns_t_mg + +// Line: 149 +// #define T_MR ns_t_mr + +// Line: 150 +// #define T_NULL ns_t_null + +// Line: 151 +// #define T_WKS ns_t_wks + +// Line: 152 +// #define T_PTR ns_t_ptr + +// Line: 153 +// #define T_HINFO ns_t_hinfo + +// Line: 154 +// #define T_MINFO ns_t_minfo + +// Line: 155 +// #define T_MX ns_t_mx + +// Line: 156 +// #define T_TXT ns_t_txt + +// Line: 157 +// #define T_RP ns_t_rp + +// Line: 158 +// #define T_AFSDB ns_t_afsdb + +// Line: 159 +// #define T_X25 ns_t_x25 + +// Line: 160 +// #define T_ISDN ns_t_isdn + +// Line: 161 +// #define T_RT ns_t_rt + +// Line: 162 +// #define T_NSAP ns_t_nsap + +// Line: 163 +// #define T_NSAP_PTR ns_t_nsap_ptr + +// Line: 164 +// #define T_SIG ns_t_sig + +// Line: 165 +// #define T_KEY ns_t_key + +// Line: 166 +// #define T_PX ns_t_px + +// Line: 167 +// #define T_GPOS ns_t_gpos + +// Line: 168 +// #define T_AAAA ns_t_aaaa + +// Line: 169 +// #define T_LOC ns_t_loc + +// Line: 170 +// #define T_NXT ns_t_nxt + +// Line: 171 +// #define T_EID ns_t_eid + +// Line: 172 +// #define T_NIMLOC ns_t_nimloc + +// Line: 173 +// #define T_SRV ns_t_srv + +// Line: 174 +// #define T_ATMA ns_t_atma + +// Line: 175 +// #define T_NAPTR ns_t_naptr + +// Line: 176 +// #define T_OPT ns_t_opt + +// Line: 177 +// #define T_IXFR ns_t_ixfr + +// Line: 178 +// #define T_AXFR ns_t_axfr + +// Line: 179 +// #define T_MAILB ns_t_mailb + +// Line: 180 +// #define T_MAILA ns_t_maila + +// Line: 181 +// #define T_ANY ns_t_any + +// Line: 183 +// #define C_IN ns_c_in + +// Line: 184 +// #define C_CHAOS ns_c_chaos + +// Line: 185 +// #define C_HS ns_c_hs + +// Line: 187 +// #define C_NONE ns_c_none + +// Line: 188 +// #define C_ANY ns_c_any + +// Line: 190 +// #define GETSHORT NS_GET16 + +// Line: 191 +// #define GETLONG NS_GET32 + +// Line: 192 +// #define PUTSHORT NS_PUT16 + +// Line: 193 +// #define PUTLONG NS_PUT32 + diff --git a/macrodefs_enums/ios/asl.h b/macrodefs_enums/ios/asl.h new file mode 100644 index 000000000..5a40d30c8 --- /dev/null +++ b/macrodefs_enums/ios/asl.h @@ -0,0 +1,137 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/asl.h + +enum macro_asl_api_version { +/* Version number encodes the date YYYYMMDD */ +/*line: 34*/ ASL_API_VERSION = 0x13377d1, // 20150225 +}; + +enum macro_log_level { +/*! @defineblock Log Message Priority Levels + * Log levels of the message. + */ +/*line: 73*/ ASL_LEVEL_EMERG = 0x0, // 0 +/*line: 74*/ ASL_LEVEL_ALERT = 0x1, // 1 +/*line: 75*/ ASL_LEVEL_CRIT = 0x2, // 2 +/*line: 76*/ ASL_LEVEL_ERR = 0x3, // 3 +/*line: 77*/ ASL_LEVEL_WARNING = 0x4, // 4 +/*line: 78*/ ASL_LEVEL_NOTICE = 0x5, // 5 +/*line: 79*/ ASL_LEVEL_INFO = 0x6, // 6 +/*line: 80*/ ASL_LEVEL_DEBUG = 0x7, // 7 +}; + +enum macro_query_operations { +/*! @defineblock Attribute Matching + * Attribute value comparison operations. + */ +/*line: 103*/ ASL_QUERY_OP_CASEFOLD = 0x10, // 0x0010 +/*line: 104*/ ASL_QUERY_OP_PREFIX = 0x20, // 0x0020 +/*line: 105*/ ASL_QUERY_OP_SUFFIX = 0x40, // 0x0040 +/*line: 106*/ ASL_QUERY_OP_SUBSTRING = 0x60, // 0x0060 +/*line: 107*/ ASL_QUERY_OP_NUMERIC = 0x80, // 0x0080 +/*line: 108*/ ASL_QUERY_OP_REGEX = 0x100, // 0x0100 +}; + +enum macro_query_operation { +/*line: 110*/ ASL_QUERY_OP_EQUAL = 0x1, // 0x0001 +/*line: 111*/ ASL_QUERY_OP_GREATER = 0x2, // 0x0002 +/*line: 112*/ ASL_QUERY_OP_GREATER_EQUAL = 0x3, // 0x0003 +/*line: 113*/ ASL_QUERY_OP_LESS = 0x4, // 0x0004 +/*line: 114*/ ASL_QUERY_OP_LESS_EQUAL = 0x5, // 0x0005 +/*line: 115*/ ASL_QUERY_OP_NOT_EQUAL = 0x6, // 0x0006 +/*line: 116*/ ASL_QUERY_OP_TRUE = 0x7, // 0x0007 +}; + +enum macro_asl_object_type { +/*! @defineblock ASL Object Types + * The library uses only one opaque type - asl_object_t. + * Many of the routines can operate on several different types. + * For example, asl_search() can be used to search a list of messages, + * an ASL database directory or data file, or the main ASL database. + * It can even be used to check a single message against a query + * message, or against another message to check for exact match. + * + * The first three types are container objects - messages, queries, + * and lists of messages or queries. The following types are + * abstractions for ASL data files and ASL data stores (directories + * containing data files). + * + * ASL_TYPE_CLIENT is a high-level object that abstracts ASL + * interactions. It may access ASL stores or files directly, + * and it may communicate with ASL daemons. + * + */ +/*line: 175*/ ASL_TYPE_UNDEF = 0xffffffff, // 0xffffffff +/*line: 176*/ ASL_TYPE_MSG = 0x0, // 0 +/*line: 177*/ ASL_TYPE_QUERY = 0x1, // 1 +/*line: 178*/ ASL_TYPE_LIST = 0x2, // 2 +/*line: 179*/ ASL_TYPE_FILE = 0x3, // 3 +/*line: 180*/ ASL_TYPE_STORE = 0x4, // 4 +/*line: 181*/ ASL_TYPE_CLIENT = 0x5, // 5 +}; + +enum macro_match_direction { +/*! @defineblock search directions + * Used for asl_store_match(), asl_file_match(), and asl_match(). + */ +/*line: 189*/ ASL_MATCH_DIRECTION_FORWARD = 0x1, // 1 +/*line: 190*/ ASL_MATCH_DIRECTION_REVERSE = -0x1, // -1 +}; + +enum macro_asl_filter_mask { +/*! @defineblock Filter Masks + * Used in client-side filtering, which determines which + * messages are sent by the client to the syslogd server. + */ +/*line: 199*/ ASL_FILTER_MASK_EMERG = 0x1, // 0x01 +/*line: 200*/ ASL_FILTER_MASK_ALERT = 0x2, // 0x02 +/*line: 201*/ ASL_FILTER_MASK_CRIT = 0x4, // 0x04 +/*line: 202*/ ASL_FILTER_MASK_ERR = 0x8, // 0x08 +/*line: 203*/ ASL_FILTER_MASK_WARNING = 0x10, // 0x10 +/*line: 204*/ ASL_FILTER_MASK_NOTICE = 0x20, // 0x20 +/*line: 205*/ ASL_FILTER_MASK_INFO = 0x40, // 0x40 +/*line: 206*/ ASL_FILTER_MASK_DEBUG = 0x80, // 0x80 +}; + +enum macro_asl_options { +/*! @defineblock Client Creation Options + * Options for asl_open(). + * Note that ASL_OPT_NO_DELAY no longer has any effect. + */ +/*line: 224*/ ASL_OPT_STDERR = 0x1, // 0x00000001 +/*line: 225*/ ASL_OPT_NO_DELAY = 0x2, // 0x00000002 +/*line: 226*/ ASL_OPT_NO_REMOTE = 0x4, // 0x00000004 +}; + +enum macro_file_store_options { +/*! @defineblock File and Store Open Options + * Options for asl_open_path(). + */ +/*line: 234*/ ASL_OPT_OPEN_WRITE = 0x1, // 0x00000001 +/*line: 235*/ ASL_OPT_CREATE_STORE = 0x2, // 0x00000002 +}; + +enum macro_log_descriptor_type { +/*! @defineblock File Descriptor Types + * Instructions on how to treat the file descriptor in asl_log_descriptor(). + */ +/*line: 243*/ ASL_LOG_DESCRIPTOR_READ = 0x1, // 1 +/*line: 244*/ ASL_LOG_DESCRIPTOR_WRITE = 0x2, // 2 +}; + +enum macro_asl_encoding { +/*! @defineblock Text Encoding Types + * These are used by the library when formatting messages to be written + * to file descriptors associated with an ASL client handle with + * asl_add_output_file(). The syslog(1) manual page describes text encoding + * in detail. ASL_ENCODE_ASL corresponds to the "vis" encoding option + * described in the syslog(1) manual. ASL_ENCODE_XML should be used in + * combination with ASL_MSG_FMT_XML to ensure that special XML characters + * are correctly encoded. + */ +/*line: 275*/ ASL_ENCODE_NONE = 0x0, // 0 +/*line: 276*/ ASL_ENCODE_SAFE = 0x1, // 1 +/*line: 277*/ ASL_ENCODE_ASL = 0x2, // 2 +/*line: 278*/ ASL_ENCODE_XML = 0x3, // 3 +}; + diff --git a/macrodefs_enums/ios/assert.h b/macrodefs_enums/ios/assert.h new file mode 100644 index 000000000..784eda28f --- /dev/null +++ b/macrodefs_enums/ios/assert.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/assert.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 61 +// #define __ASSERT_FILE_NAME __FILE_NAME__ + diff --git a/macrodefs_enums/ios/bank/bank_types.h b/macrodefs_enums/ios/bank/bank_types.h new file mode 100644 index 000000000..7e93b22f6 --- /dev/null +++ b/macrodefs_enums/ios/bank/bank_types.h @@ -0,0 +1,26 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/bank/bank_types.h + +// Depends on identifiers +enum macro_voucher_attr_bank { +/*line: 36*/ MACH_VOUCHER_ATTR_BANK_NULL = 0x259, // ((mach_voucher_attr_recipe_command_t)601) +/*line: 37*/ MACH_VOUCHER_ATTR_BANK_CREATE = 0x262, // ((mach_voucher_attr_recipe_command_t)610) +/*line: 38*/ MACH_VOUCHER_ATTR_BANK_MODIFY_PERSONA = 0x263, // ((mach_voucher_attr_recipe_command_t)611) +}; + +enum macro_voucher_size { +/*line: 40*/ MACH_VOUCHER_BANK_CONTENT_SIZE = 0x1f4, // (500) +}; + +enum macro_bank_persona_type { +/*line: 43*/ BANK_ORIGINATOR_PID = 0x1, // 0x1 +/*line: 44*/ BANK_PERSONA_TOKEN = 0x2, // 0x2 +/*line: 45*/ BANK_PERSONA_ID = 0x3, // 0x3 +/*line: 46*/ BANK_PERSONA_ADOPT_ANY = 0x4, // 0x4 +/*line: 47*/ BANK_ORIGINATOR_PROXIMATE_PID = 0x5, // 0x5 +}; + +enum macro_adoption_allowed { +/*line: 50*/ PROC_PERSONA_INFO_FLAG_ADOPTION_ALLOWED = 0x1, // 0x1 +}; + diff --git a/macrodefs_enums/ios/bsm/audit.h b/macrodefs_enums/ios/bsm/audit.h new file mode 100644 index 000000000..6cedd2fc5 --- /dev/null +++ b/macrodefs_enums/ios/bsm/audit.h @@ -0,0 +1,179 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/bsm/audit.h + +// Depends on identifiers +enum macro_audit_constants { +/*line: 38*/ AUDIT_RECORD_MAGIC = 0x828a0f1b, // 0x828a0f1b +/*line: 39*/ MAX_AUDIT_RECORDS = 0x14, // 20 +/*line: 40*/ MAXAUDITDATA = 0x7fff, // (0x8000-1) +/*line: 41*/ MAX_AUDIT_RECORD_SIZE = 0x7fff, // MAXAUDITDATA +/*line: 42*/ MIN_AUDIT_FILE_SIZE = 0x80000, // (512*1024) +}; + +enum macro_audit_hard_limit { +/* + * Minimum noumber of free blocks on the filesystem containing the audit + * log necessary to avoid a hard log rotation. DO NOT SET THIS VALUE TO 0 + * as the kernel does an unsigned compare, plus we want to leave a few blocks + * free so userspace can terminate the log, etc. + */ +/*line: 50*/ AUDIT_HARD_LIMIT_FREE_BLOCKS = 0x4, // 4 +}; + +enum macro_audit_trigger { +/* + * Triggers for the audit daemon. + */ +/*line: 55*/ AUDIT_TRIGGER_MIN = 0x1, // 1 +/*line: 56*/ AUDIT_TRIGGER_LOW_SPACE = 0x1, /* Below low watermark. */ // 1 +/*line: 57*/ AUDIT_TRIGGER_ROTATE_KERNEL = 0x2, /* Kernel requests rotate. */ // 2 +/*line: 58*/ AUDIT_TRIGGER_READ_FILE = 0x3, /* Re-read config file. */ // 3 +/*line: 59*/ AUDIT_TRIGGER_CLOSE_AND_DIE = 0x4, /* Terminate audit. */ // 4 +/*line: 60*/ AUDIT_TRIGGER_NO_SPACE = 0x5, /* Below min free space. */ // 5 +/*line: 61*/ AUDIT_TRIGGER_ROTATE_USER = 0x6, /* User requests rotate. */ // 6 +/*line: 62*/ AUDIT_TRIGGER_INITIALIZE = 0x7, /* User initialize of auditd. */ // 7 +/*line: 63*/ AUDIT_TRIGGER_EXPIRE_TRAILS = 0x8, /* User expiration of trails. */ // 8 +/*line: 64*/ AUDIT_TRIGGER_MAX = 0x8, // 8 +}; + +// Depends on identifiers +enum macro_audit_ids { +/* + * Pre-defined audit IDs + */ +/*line: 75*/ AU_DEFAUDITID = -0x1, // (uid_t)(-1) +/*line: 76*/ AU_DEFAUDITSID = 0x0, // 0 +/*line: 77*/ AU_ASSIGN_ASID = -0x1, // -1 +}; + +enum macro_ipc_type { +/* + * IPC types. + */ +/*line: 82*/ AT_IPC_MSG = 0x1, /* Message IPC id. */ // ((unsignedchar)1) +/*line: 83*/ AT_IPC_SEM = 0x2, /* Semaphore IPC id. */ // ((unsignedchar)2) +/*line: 84*/ AT_IPC_SHM = 0x3, /* Shared mem IPC id. */ // ((unsignedchar)3) +}; + +enum macro_audit_flags { +/* + * Audit conditions. + */ +/*line: 89*/ AUC_UNSET = 0x0, // 0 +/*line: 90*/ AUC_AUDITING = 0x1, // 1 +/*line: 91*/ AUC_NOAUDIT = 0x2, // 2 +/*line: 92*/ AUC_DISABLED = -0x1, // -1 +/* + * auditon(2) commands. + */ +/*line: 97*/ A_OLDGETPOLICY = 0x2, // 2 +/*line: 98*/ A_OLDSETPOLICY = 0x3, // 3 +/*line: 99*/ A_GETKMASK = 0x4, // 4 +/*line: 100*/ A_SETKMASK = 0x5, // 5 +/*line: 101*/ A_OLDGETQCTRL = 0x6, // 6 +/*line: 102*/ A_OLDSETQCTRL = 0x7, // 7 +/*line: 103*/ A_GETCWD = 0x8, // 8 +/*line: 104*/ A_GETCAR = 0x9, // 9 +/*line: 105*/ A_GETSTAT = 0xc, // 12 +/*line: 106*/ A_SETSTAT = 0xd, // 13 +/*line: 107*/ A_SETUMASK = 0xe, // 14 +/*line: 108*/ A_SETSMASK = 0xf, // 15 +/*line: 109*/ A_OLDGETCOND = 0x14, // 20 +/*line: 110*/ A_OLDSETCOND = 0x15, // 21 +/*line: 111*/ A_GETCLASS = 0x16, // 22 +/*line: 112*/ A_SETCLASS = 0x17, // 23 +/*line: 113*/ A_GETPINFO = 0x18, // 24 +/*line: 114*/ A_SETPMASK = 0x19, // 25 +/*line: 115*/ A_SETFSIZE = 0x1a, // 26 +/*line: 116*/ A_GETFSIZE = 0x1b, // 27 +/*line: 117*/ A_GETPINFO_ADDR = 0x1c, // 28 +/*line: 118*/ A_GETKAUDIT = 0x1d, // 29 +/*line: 119*/ A_SETKAUDIT = 0x1e, // 30 +/*line: 120*/ A_SENDTRIGGER = 0x1f, // 31 +/*line: 121*/ A_GETSINFO_ADDR = 0x20, // 32 +/*line: 122*/ A_GETPOLICY = 0x21, // 33 +/*line: 123*/ A_SETPOLICY = 0x22, // 34 +/*line: 124*/ A_GETQCTRL = 0x23, // 35 +/*line: 125*/ A_SETQCTRL = 0x24, // 36 +/*line: 126*/ A_GETCOND = 0x25, // 37 +/*line: 127*/ A_SETCOND = 0x26, // 38 +/*line: 128*/ A_GETSFLAGS = 0x27, // 39 +/*line: 129*/ A_SETSFLAGS = 0x28, // 40 +/*line: 130*/ A_GETCTLMODE = 0x29, // 41 +/*line: 131*/ A_SETCTLMODE = 0x2a, // 42 +/*line: 132*/ A_GETEXPAFTER = 0x2b, // 43 +/*line: 133*/ A_SETEXPAFTER = 0x2c, // 44 +}; + +enum macro_audit_policy { +/* + * Audit policy controls. + */ +/*line: 138*/ AUDIT_CNT = 0x1, // 0x0001 +/*line: 139*/ AUDIT_AHLT = 0x2, // 0x0002 +/*line: 140*/ AUDIT_ARGV = 0x4, // 0x0004 +/*line: 141*/ AUDIT_ARGE = 0x8, // 0x0008 +/*line: 142*/ AUDIT_SEQ = 0x10, // 0x0010 +/*line: 143*/ AUDIT_WINDATA = 0x20, // 0x0020 +/*line: 144*/ AUDIT_USER = 0x40, // 0x0040 +/*line: 145*/ AUDIT_GROUP = 0x80, // 0x0080 +/*line: 146*/ AUDIT_TRAIL = 0x100, // 0x0100 +/*line: 147*/ AUDIT_PATH = 0x200, // 0x0200 +/*line: 148*/ AUDIT_SCNT = 0x400, // 0x0400 +/*line: 149*/ AUDIT_PUBLIC = 0x800, // 0x0800 +/*line: 150*/ AUDIT_ZONENAME = 0x1000, // 0x1000 +/*line: 151*/ AUDIT_PERZONE = 0x2000, // 0x2000 +}; + +// Depends on identifiers +enum macro_audit_queue_limits { +/* + * Default audit queue control parameters. + */ +/*line: 156*/ AQ_HIWATER = 0x64, // 100 +/*line: 157*/ AQ_MAXHIGH = 0x2710, // 10000 +/*line: 158*/ AQ_LOWATER = 0xa, // 10 +/*line: 159*/ AQ_BUFSZ = 0x7fff, // MAXAUDITDATA +/*line: 160*/ AQ_MAXBUFSZ = 0x100000, // 1048576 +}; + +enum macro_fs_minfree { +/* + * Default minimum percentage free space on file system. + */ +/*line: 165*/ AU_FS_MINFREE = 0x14, // 20 +}; + +enum macro_address_family { +/* + * Type definitions used indicating the length of variable length addresses + * in tokens containing addresses, such as header fields. + */ +/*line: 171*/ AU_IPv4 = 0x4, // 4 +/*line: 172*/ AU_IPv6 = 0x10, // 16 +}; + +enum macro_reserved_audit_class { +/* + * Reserved audit class mask indicating which classes are unable to have + * events added or removed by unentitled processes. + */ +/*line: 178*/ AU_CLASS_MASK_RESERVED = 0x10000000, // 0x10000000 +}; + +enum macro_audit_control_mode { +/* + * Audit control modes + */ +/*line: 183*/ AUDIT_CTLMODE_NORMAL = 0x1, // ((unsignedchar)1) +/*line: 184*/ AUDIT_CTLMODE_EXTERNAL = 0x2, // ((unsignedchar)2) +}; + +enum macro_expire_op_mode { +/* + * Audit file expire_after op modes + */ +/*line: 189*/ AUDIT_EXPIRE_OP_AND = 0x0, // ((unsignedchar)0) +/*line: 190*/ AUDIT_EXPIRE_OP_OR = 0x1, // ((unsignedchar)1) +}; + diff --git a/macrodefs_enums/ios/bzlib.h b/macrodefs_enums/ios/bzlib.h new file mode 100644 index 000000000..fc100fa13 --- /dev/null +++ b/macrodefs_enums/ios/bzlib.h @@ -0,0 +1,34 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/bzlib.h + +enum macro_bz_action { +/*line: 29*/ BZ_RUN = 0x0, // 0 +/*line: 30*/ BZ_FLUSH = 0x1, // 1 +/*line: 31*/ BZ_FINISH = 0x2, // 2 +}; + +enum macro_bzlib_status { +/*line: 33*/ BZ_OK = 0x0, // 0 +/*line: 34*/ BZ_RUN_OK = 0x1, // 1 +/*line: 35*/ BZ_FLUSH_OK = 0x2, // 2 +/*line: 36*/ BZ_FINISH_OK = 0x3, // 3 +/*line: 37*/ BZ_STREAM_END = 0x4, // 4 +/*line: 38*/ BZ_SEQUENCE_ERROR = -0x1, // (-1) +/*line: 39*/ BZ_PARAM_ERROR = -0x2, // (-2) +/*line: 40*/ BZ_MEM_ERROR = -0x3, // (-3) +/*line: 41*/ BZ_DATA_ERROR = -0x4, // (-4) +/*line: 42*/ BZ_DATA_ERROR_MAGIC = -0x5, // (-5) +/*line: 43*/ BZ_IO_ERROR = -0x6, // (-6) +/*line: 44*/ BZ_UNEXPECTED_EOF = -0x7, // (-7) +/*line: 45*/ BZ_OUTBUFF_FULL = -0x8, // (-8) +/*line: 46*/ BZ_CONFIG_ERROR = -0x9, // (-9) +}; + +enum macro_max_unused { +/*line: 135*/ BZ_MAX_UNUSED = 0x1388, // 5000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 94 +// #define BZ_EXTERN extern + diff --git a/macrodefs_enums/ios/cache.h b/macrodefs_enums/ios/cache.h new file mode 100644 index 000000000..ceead5673 --- /dev/null +++ b/macrodefs_enums/ios/cache.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/cache.h + +enum macro_cache_attributes_version { +/*line: 436*/ CACHE_ATTRIBUTES_VERSION_1 = 0x1, // 1 +/*line: 437*/ CACHE_ATTRIBUTES_VERSION_2 = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/checkint.h b/macrodefs_enums/ios/checkint.h new file mode 100644 index 000000000..6571ae1ff --- /dev/null +++ b/macrodefs_enums/ios/checkint.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/checkint.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 54 +// #define __CHECKINT_INLINE static inline __attribute__((always_inline)) + diff --git a/macrodefs_enums/ios/complex.h b/macrodefs_enums/ios/complex.h new file mode 100644 index 000000000..4fc489ff2 --- /dev/null +++ b/macrodefs_enums/ios/complex.h @@ -0,0 +1,13 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/complex.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 37 +// #define complex _Complex + +// Line: 40 +// #define _Complex_I (__extension__ 1.0iF) + +// Line: 42 +// #define I _Complex_I + diff --git a/macrodefs_enums/ios/copyfile.h b/macrodefs_enums/ios/copyfile.h new file mode 100644 index 000000000..f62784cfa --- /dev/null +++ b/macrodefs_enums/ios/copyfile.h @@ -0,0 +1,73 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/copyfile.h + +enum macro_copyfile_states { +/*line: 68*/ COPYFILE_STATE_SRC_FD = 0x1, // 1 +/*line: 69*/ COPYFILE_STATE_SRC_FILENAME = 0x2, // 2 +/*line: 70*/ COPYFILE_STATE_DST_FD = 0x3, // 3 +/*line: 71*/ COPYFILE_STATE_DST_FILENAME = 0x4, // 4 +/*line: 72*/ COPYFILE_STATE_QUARANTINE = 0x5, // 5 +/*line: 73*/ COPYFILE_STATE_STATUS_CB = 0x6, // 6 +/*line: 74*/ COPYFILE_STATE_STATUS_CTX = 0x7, // 7 +/*line: 75*/ COPYFILE_STATE_COPIED = 0x8, // 8 +/*line: 76*/ COPYFILE_STATE_XATTRNAME = 0x9, // 9 +/*line: 77*/ COPYFILE_STATE_WAS_CLONED = 0xa, // 10 +/*line: 78*/ COPYFILE_STATE_SRC_BSIZE = 0xb, // 11 +/*line: 79*/ COPYFILE_STATE_DST_BSIZE = 0xc, // 12 +/*line: 80*/ COPYFILE_STATE_BSIZE = 0xd, // 13 +/*line: 81*/ COPYFILE_STATE_FORBID_CROSS_MOUNT = 0xe, // 14 +/*line: 82*/ COPYFILE_STATE_NOCPROTECT = 0xf, // 15 +/*line: 83*/ COPYFILE_STATE_PRESERVE_SUID = 0x10, // 16 +/*line: 84*/ COPYFILE_STATE_RECURSIVE_SRC_FTSENT = 0x11, // 17 +/*line: 85*/ COPYFILE_STATE_FORBID_DST_EXISTING_SYMLINKS = 0x12, // 18 +}; + +enum macro_copyfile_flags { +/* flags for copyfile */ +/*line: 92*/ COPYFILE_ACL = 0x1, // (1<<0) +/*line: 93*/ COPYFILE_STAT = 0x2, // (1<<1) +/*line: 94*/ COPYFILE_XATTR = 0x4, // (1<<2) +/*line: 95*/ COPYFILE_DATA = 0x8, // (1<<3) +/*line: 97*/ COPYFILE_SECURITY = 0x3, // (COPYFILE_STAT|COPYFILE_ACL) +/*line: 98*/ COPYFILE_METADATA = 0x7, // (COPYFILE_SECURITY|COPYFILE_XATTR) +/*line: 99*/ COPYFILE_ALL = 0xf, // (COPYFILE_METADATA|COPYFILE_DATA) +/*line: 101*/ COPYFILE_RECURSIVE = 0x8000, /* Descend into hierarchies */ // (1<<15) +/*line: 102*/ COPYFILE_CHECK = 0x10000, /* return flags for xattr or acls if set */ // (1<<16) +/*line: 103*/ COPYFILE_EXCL = 0x20000, /* fail if destination exists */ // (1<<17) +/*line: 104*/ COPYFILE_NOFOLLOW_SRC = 0x40000, /* don't follow if source is a symlink */ // (1<<18) +/*line: 105*/ COPYFILE_NOFOLLOW_DST = 0x80000, /* don't follow if dst is a symlink */ // (1<<19) +/*line: 106*/ COPYFILE_MOVE = 0x100000, /* unlink src after copy */ // (1<<20) +/*line: 107*/ COPYFILE_UNLINK = 0x200000, /* unlink dst before copy */ // (1<<21) +/*line: 108*/ COPYFILE_NOFOLLOW = 0xc0000, // (COPYFILE_NOFOLLOW_SRC|COPYFILE_NOFOLLOW_DST) +/*line: 110*/ COPYFILE_PACK = 0x400000, // (1<<22) +/*line: 111*/ COPYFILE_UNPACK = 0x800000, // (1<<23) +/*line: 113*/ COPYFILE_CLONE = 0x1000000, // (1<<24) +/*line: 114*/ COPYFILE_CLONE_FORCE = 0x2000000, // (1<<25) +/*line: 116*/ COPYFILE_RUN_IN_PLACE = 0x4000000, // (1<<26) +/*line: 118*/ COPYFILE_DATA_SPARSE = 0x8000000, // (1<<27) +/*line: 120*/ COPYFILE_PRESERVE_DST_TRACKED = 0x10000000, // (1<<28) +/*line: 122*/ COPYFILE_VERBOSE = 0x40000000, // (1<<30) +}; + +enum macro_copyfile_recurse_options { +/*line: 124*/ COPYFILE_RECURSE_ERROR = 0x0, // 0 +/*line: 125*/ COPYFILE_RECURSE_FILE = 0x1, // 1 +/*line: 126*/ COPYFILE_RECURSE_DIR = 0x2, // 2 +/*line: 127*/ COPYFILE_RECURSE_DIR_CLEANUP = 0x3, // 3 +/*line: 128*/ COPYFILE_COPY_DATA = 0x4, // 4 +/*line: 129*/ COPYFILE_COPY_XATTR = 0x5, // 5 +}; + +enum macro_copyfile_event { +/*line: 131*/ COPYFILE_START = 0x1, // 1 +/*line: 132*/ COPYFILE_FINISH = 0x2, // 2 +/*line: 133*/ COPYFILE_ERR = 0x3, // 3 +/*line: 134*/ COPYFILE_PROGRESS = 0x4, // 4 +}; + +enum macro_copyfile_callback_command { +/*line: 136*/ COPYFILE_CONTINUE = 0x0, // 0 +/*line: 137*/ COPYFILE_SKIP = 0x1, // 1 +/*line: 138*/ COPYFILE_QUIT = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/cpio.h b/macrodefs_enums/ios/cpio.h new file mode 100644 index 000000000..13b6b0581 --- /dev/null +++ b/macrodefs_enums/ios/cpio.h @@ -0,0 +1,26 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/cpio.h + +enum macro_file_flags { +/*line: 32*/ C_ISSOCK = 0xc000, /* Socket. */ // 0140000 +/*line: 33*/ C_ISLNK = 0xa000, /* Symbolic link. */ // 0120000 +/*line: 34*/ C_ISCTG = 0x9000, /* Reserved. */ // 0110000 +/*line: 35*/ C_ISREG = 0x8000, /* Regular file. */ // 0100000 +/*line: 36*/ C_ISBLK = 0x6000, /* Block special. */ // 0060000 +/*line: 37*/ C_ISDIR = 0x4000, /* Directory. */ // 0040000 +/*line: 38*/ C_ISCHR = 0x2000, /* Character special. */ // 0020000 +/*line: 39*/ C_ISFIFO = 0x1000, /* FIFO. */ // 0010000 +/*line: 40*/ C_ISUID = 0x800, /* Set user ID. */ // 0004000 +/*line: 41*/ C_ISGID = 0x400, /* Set group ID. */ // 0002000 +/*line: 42*/ C_ISVTX = 0x200, /* On directories, restricted deletion flag. */ // 0001000 +/*line: 43*/ C_IRUSR = 0x100, /* Read by owner. */ // 0000400 +/*line: 44*/ C_IWUSR = 0x80, /* Write by owner. */ // 0000200 +/*line: 45*/ C_IXUSR = 0x40, /* Execute by owner. */ // 0000100 +/*line: 46*/ C_IRGRP = 0x20, /* Read by group. */ // 0000040 +/*line: 47*/ C_IWGRP = 0x10, /* Write by group. */ // 0000020 +/*line: 48*/ C_IXGRP = 0x8, /* Execute by group. */ // 0000010 +/*line: 49*/ C_IROTH = 0x4, /* Read by others. */ // 0000004 +/*line: 50*/ C_IWOTH = 0x2, /* Write by others. */ // 0000002 +/*line: 51*/ C_IXOTH = 0x1, /* Execute by others. */ // 0000001 +}; + diff --git a/macrodefs_enums/ios/db.h b/macrodefs_enums/ios/db.h new file mode 100644 index 000000000..cf8c128e8 --- /dev/null +++ b/macrodefs_enums/ios/db.h @@ -0,0 +1,56 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/db.h + +enum macro_return_code { +/*line: 45*/ RET_ERROR = -0x1, /* Return values. */ // -1 +/*line: 46*/ RET_SUCCESS = 0x0, // 0 +/*line: 47*/ RET_SPECIAL = 0x1, // 1 +}; + +enum macro_db_limits { +/*line: 49*/ MAX_PAGE_NUMBER = 0xffffffff, /* >= # of pages in a file */ // 0xffffffff +/*line: 51*/ MAX_PAGE_OFFSET = 0xffff, /* >= # of bytes in a page */ // 65535 +/*line: 53*/ MAX_REC_NUMBER = 0xffffffff, /* >= # of records in a tree */ // 0xffffffff +}; + +enum macro_routine_flags { +/* Routine flags. */ +/*line: 63*/ R_CURSOR = 0x1, /* del, put, seq */ // 1 +/*line: 64*/ __R_UNUSED = 0x2, /* UNUSED */ // 2 +/*line: 65*/ R_FIRST = 0x3, /* seq */ // 3 +/*line: 66*/ R_IAFTER = 0x4, /* put (RECNO) */ // 4 +/*line: 67*/ R_IBEFORE = 0x5, /* put (RECNO) */ // 5 +/*line: 68*/ R_LAST = 0x6, /* seq (BTREE, RECNO) */ // 6 +/*line: 69*/ R_NEXT = 0x7, /* seq */ // 7 +/*line: 70*/ R_NOOVERWRITE = 0x8, /* put */ // 8 +/*line: 71*/ R_PREV = 0x9, /* seq (BTREE, RECNO) */ // 9 +/*line: 72*/ R_SETCURSOR = 0xa, /* put (RECNO) */ // 10 +/*line: 73*/ R_RECNOSYNC = 0xb, /* sync (RECNO) */ // 11 +}; + +enum macro_db_flags { +/*line: 91*/ DB_LOCK = 0x20000000, /* Do locking. */ // 0x20000000 +/*line: 92*/ DB_SHMEM = 0x40000000, /* Use shared memory. */ // 0x40000000 +/*line: 93*/ DB_TXN = 0x80000000, /* Do transactions. */ // 0x80000000 +}; + +enum macro_btree_constants { +/*line: 113*/ BTREEMAGIC = 0x53162, // 0x053162 +/*line: 114*/ BTREEVERSION = 0x3, // 3 +}; + +enum macro_duplicate_keys { +/*line: 118*/ R_DUP = 0x1, /* duplicate keys */ // 0x01 +}; + +enum macro_hash_constants { +/*line: 131*/ HASHMAGIC = 0x61561, // 0x061561 +/*line: 132*/ HASHVERSION = 0x2, // 2 +}; + +enum macro_record_flags { +/*line: 147*/ R_FIXEDLEN = 0x1, /* fixed-length records */ // 0x01 +/*line: 148*/ R_NOKEY = 0x2, /* key not required */ // 0x02 +/*line: 149*/ R_SNAPSHOT = 0x4, /* snapshot the input */ // 0x04 +}; + diff --git a/macrodefs_enums/ios/dirent.h b/macrodefs_enums/ios/dirent.h new file mode 100644 index 000000000..05864a61d --- /dev/null +++ b/macrodefs_enums/ios/dirent.h @@ -0,0 +1,22 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dirent.h + +enum macro_dirblksiz { +/* definitions for library routines operating on directories. */ +/*line: 92*/ DIRBLKSIZ = 0x400, // 1024 +}; + +enum macro_directory_flags { +/* flags for opendir2 */ +/*line: 95*/ DTF_HIDEW = 0x1, /* hide whiteout entries */ // 0x0001 +/*line: 96*/ DTF_NODUP = 0x2, /* don't return duplicate names */ // 0x0002 +/*line: 97*/ DTF_REWIND = 0x4, /* rewind after reading union stack */ // 0x0004 +/*line: 98*/ __DTF_READALL = 0x8, /* everything has been read */ // 0x0008 +/*line: 99*/ __DTF_SKIPREAD = 0x10, /* assume internal buffer is populated */ // 0x0010 +/*line: 100*/ __DTF_ATEND = 0x20, /* there's nothing more to read in the kernel */ // 0x0020 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 156 +// #define __scandir_noescape __attribute__((__noescape__)) + diff --git a/macrodefs_enums/ios/dispatch/base.h b/macrodefs_enums/ios/dispatch/base.h new file mode 100644 index 000000000..bea5e16f0 --- /dev/null +++ b/macrodefs_enums/ios/dispatch/base.h @@ -0,0 +1,82 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/base.h + +// Depends on identifiers +enum macro_dispatch_nonnull { +/*line: 47*/ DISPATCH_NONNULL1 = 0x1, // __attribute__((__nonnull__(1))) +/*line: 48*/ DISPATCH_NONNULL2 = 0x2, // __attribute__((__nonnull__(2))) +/*line: 49*/ DISPATCH_NONNULL3 = 0x3, // __attribute__((__nonnull__(3))) +/*line: 50*/ DISPATCH_NONNULL4 = 0x4, // __attribute__((__nonnull__(4))) +/*line: 51*/ DISPATCH_NONNULL5 = 0x5, // __attribute__((__nonnull__(5))) +/*line: 52*/ DISPATCH_NONNULL6 = 0x6, // __attribute__((__nonnull__(6))) +/*line: 53*/ DISPATCH_NONNULL7 = 0x7, // __attribute__((__nonnull__(7))) +}; + +enum macro_swift3_overlay { +/*line: 320*/ DISPATCH_SWIFT3_OVERLAY = 0x0, // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 45 +// #define DISPATCH_NORETURN __attribute__((__noreturn__)) + +// Line: 46 +// #define DISPATCH_NOTHROW __attribute__((__nothrow__)) + +// Line: 58 +// #define DISPATCH_NONNULL_ALL __attribute__((__nonnull__)) + +// Line: 60 +// #define DISPATCH_SENTINEL __attribute__((__sentinel__)) + +// Line: 61 +// #define DISPATCH_PURE __attribute__((__pure__)) + +// Line: 62 +// #define DISPATCH_CONST __attribute__((__const__)) + +// Line: 63 +// #define DISPATCH_WARN_RESULT __attribute__((__warn_unused_result__)) + +// Line: 64 +// #define DISPATCH_MALLOC __attribute__((__malloc__)) + +// Line: 65 +// #define DISPATCH_ALWAYS_INLINE __attribute__((__always_inline__)) + +// Line: 66 +// #define DISPATCH_UNAVAILABLE __attribute__((__unavailable__)) + +// Line: 148 +// #define DISPATCH_FALLTHROUGH __attribute__((__fallthrough__)) + +// Line: 188 +// #define DISPATCH_INLINE static __inline__ + +// Line: 202 +// #define DISPATCH_NOT_TAIL_CALLED __attribute__((__not_tail_called__)) + +// Line: 214 +// #define DISPATCH_NOESCAPE __attribute__((__noescape__)) + +// Line: 220 +// #define DISPATCH_COLD __attribute__((__cold__)) + +// Line: 270 +// #define DISPATCH_RETURNS_RETAINED_BLOCK __attribute__((__ns_returns_retained__)) + +// Line: 277 +// #define __DISPATCH_ENUM_ATTR __attribute__((__enum_extensibility__(open))) + +// Line: 278 +// #define __DISPATCH_ENUM_ATTR_CLOSED __attribute__((__enum_extensibility__(closed))) + +// Line: 285 +// #define __DISPATCH_OPTIONS_ATTR __attribute__((__flag_enum__)) + +// Line: 337 +// #define DISPATCH_REFINED_FOR_SWIFT __attribute__((__swift_private__)) + +// Line: 349 +// #define DISPATCH_TRANSPARENT_UNION __attribute__((__transparent_union__)) + diff --git a/macrodefs_enums/ios/dispatch/data.h b/macrodefs_enums/ios/dispatch/data.h new file mode 100644 index 000000000..f0d94daaa --- /dev/null +++ b/macrodefs_enums/ios/dispatch/data.h @@ -0,0 +1,24 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/data.h + +// Depends on identifiers +enum macro_data_destructor { +/*! + * @const DISPATCH_DATA_DESTRUCTOR_DEFAULT + * @discussion The default destructor for dispatch data objects. + * Used at data object creation to indicate that the supplied buffer should + * be copied into internal storage managed by the system. + */ +/*line: 63*/ DISPATCH_DATA_DESTRUCTOR_DEFAULT = 0x0, // NULL +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 52 +// #define dispatch_data_empty DISPATCH_GLOBAL_OBJECT(dispatch_data_t, _dispatch_data_empty) + +// Line: 81 +// #define DISPATCH_DATA_DESTRUCTOR_FREE (_dispatch_data_destructor_free) + +// Line: 91 +// #define DISPATCH_DATA_DESTRUCTOR_MUNMAP (_dispatch_data_destructor_munmap) + diff --git a/macrodefs_enums/ios/dispatch/dispatch.h b/macrodefs_enums/ios/dispatch/dispatch.h new file mode 100644 index 000000000..0bb4af528 --- /dev/null +++ b/macrodefs_enums/ios/dispatch/dispatch.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/dispatch.h + +enum macro_dispatch_api_version { +/*line: 57*/ DISPATCH_API_VERSION = 0x133f010, // 20181008 +}; + diff --git a/macrodefs_enums/ios/dispatch/io.h b/macrodefs_enums/ios/dispatch/io.h new file mode 100644 index 000000000..d1d067c3d --- /dev/null +++ b/macrodefs_enums/ios/dispatch/io.h @@ -0,0 +1,49 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/io.h + +enum macro_io_type { +/*! + * @typedef dispatch_io_type_t + * The type of a dispatch I/O channel: + * + * @const DISPATCH_IO_STREAM A dispatch I/O channel representing a stream of + * bytes. Read and write operations on a channel of this type are performed + * serially (in order of creation) and read/write data at the file pointer + * position that is current at the time the operation starts executing. + * Operations of different type (read vs. write) may be performed simultaneously. + * Offsets passed to operations on a channel of this type are ignored. + * + * @const DISPATCH_IO_RANDOM A dispatch I/O channel representing a random + * access file. Read and write operations on a channel of this type may be + * performed concurrently and read/write data at the specified offset. Offsets + * are interpreted relative to the file pointer position current at the time the + * I/O channel is created. Attempting to create a channel of this type for a + * file descriptor that is not seekable will result in an error. + */ +/*line: 191*/ DISPATCH_IO_STREAM = 0x0, // 0 +/*line: 192*/ DISPATCH_IO_RANDOM = 0x1, // 1 +}; + +enum macro_io_stop { +/*! + * @typedef dispatch_io_close_flags_t + * The type of flags you can set on a dispatch_io_close() call + * + * @const DISPATCH_IO_STOP Stop outstanding operations on a channel when + * the channel is closed. + */ +/*line: 438*/ DISPATCH_IO_STOP = 0x1, // 0x1 +}; + +enum macro_io_strict_interval { +/*! + * @typedef dispatch_io_interval_flags_t + * Type of flags to set on dispatch_io_set_interval() + * + * @const DISPATCH_IO_STRICT_INTERVAL Enqueue I/O handlers at a channel's + * interval setting even if the amount of data ready to be delivered is inferior + * to the low water mark (or zero). + */ +/*line: 577*/ DISPATCH_IO_STRICT_INTERVAL = 0x1, // 0x1 +}; + diff --git a/macrodefs_enums/ios/dispatch/once.h b/macrodefs_enums/ios/dispatch/once.h new file mode 100644 index 000000000..a465eda32 --- /dev/null +++ b/macrodefs_enums/ios/dispatch/once.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/once.h + +enum macro_dispatch_once_flags { +/*line: 47*/ DISPATCH_ONCE_INLINE_FASTPATH = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 92 +// #define dispatch_once _dispatch_once + +// Line: 119 +// #define dispatch_once_f _dispatch_once_f + diff --git a/macrodefs_enums/ios/dispatch/queue.h b/macrodefs_enums/ios/dispatch/queue.h new file mode 100644 index 000000000..aa0bb20ff --- /dev/null +++ b/macrodefs_enums/ios/dispatch/queue.h @@ -0,0 +1,123 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/queue.h + +// enum macro_dispatch_apply_auto { +// /*line: 453*/ DISPATCH_APPLY_AUTO_AVAILABLE = 0x1, // 1 +// }; + +// Depends on identifiers +enum macro_dispatch_apply_auto { + /*line: 477*/ DISPATCH_APPLY_AUTO = 0x0, // ((dispatch_queue_t_Nonnull)0) +}; + +enum macro_dispatch_queue_priority { + /*! + * @typedef dispatch_queue_priority_t + * Type of dispatch_queue_priority + * + * @constant DISPATCH_QUEUE_PRIORITY_HIGH + * Items dispatched to the queue will run at high priority, + * i.e. the queue will be scheduled for execution before + * any default priority or low priority queue. + * + * @constant DISPATCH_QUEUE_PRIORITY_DEFAULT + * Items dispatched to the queue will run at the default + * priority, i.e. the queue will be scheduled for execution + * after all high priority queues have been scheduled, but + * before any low priority queues have been scheduled. + * + * @constant DISPATCH_QUEUE_PRIORITY_LOW + * Items dispatched to the queue will run at low priority, + * i.e. the queue will be scheduled for execution after all + * default priority and high priority queues have been + * scheduled. + * + * @constant DISPATCH_QUEUE_PRIORITY_BACKGROUND + * Items dispatched to the queue will run at background priority, i.e. the + * queue will be scheduled for execution after all higher priority queues have + * been scheduled and the system will run items on this queue on a thread with + * background status as per setpriority(2) (i.e. disk I/O is throttled and the + * thread's scheduling priority is set to lowest value). + */ + /*line: 652*/ DISPATCH_QUEUE_PRIORITY_HIGH = 0x2, // 2 + /*line: 653*/ DISPATCH_QUEUE_PRIORITY_DEFAULT = 0x0, // 0 + /*line: 654*/ DISPATCH_QUEUE_PRIORITY_LOW = -0x2, // (-2) +}; + +// Depends on identifiers +enum macro_dispatch_queue_serial { + /*! + * @const DISPATCH_QUEUE_SERIAL + * + * @discussion + * An attribute that can be used to create a dispatch queue that invokes + * blocks serially in FIFO order. + * + * See dispatch_queue_serial_t. + */ + /*line: 721*/ DISPATCH_QUEUE_SERIAL = 0x0, // NULL +}; + +// Depends on identifiers +enum macro_queue_serial_inactive { + /*! + * @const DISPATCH_QUEUE_SERIAL_INACTIVE + * + * @discussion + * An attribute that can be used to create a dispatch queue that invokes + * blocks serially in FIFO order, and that is initially inactive. + * + * See dispatch_queue_attr_make_initially_inactive(). + */ + /*line: 732*/ DISPATCH_QUEUE_SERIAL_INACTIVE = + 0x0, // dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_SERIAL) +}; + +// Depends on identifiers +enum macro_default_target_queue { + /*! + * @const DISPATCH_TARGET_QUEUE_DEFAULT + * @discussion Constant to pass to the dispatch_queue_create_with_target(), + * dispatch_set_target_queue() and dispatch_source_create() functions to + * indicate that the default target queue for the object type in question + * should be used. + */ + /*line: 980*/ DISPATCH_TARGET_QUEUE_DEFAULT = 0x0, // NULL +}; + +// Depends on identifiers +enum macro_current_queue_label { + /*! + * @const DISPATCH_CURRENT_QUEUE_LABEL + * @discussion Constant to pass to the dispatch_queue_get_label() function to + * retrieve the label of the current queue. + */ + /*line: 1099*/ DISPATCH_CURRENT_QUEUE_LABEL = 0x0, // NULL +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 454 +// #define DISPATCH_APPLY_QUEUE_ARG_NULLABILITY _Nullable + +// Line: 655 +// #define DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN + +// Line: 745 +// #define DISPATCH_QUEUE_CONCURRENT +// DISPATCH_GLOBAL_OBJECT(dispatch_queue_attr_t, \ +// _dispatch_queue_attr_concurrent) + +// Line: 762 +// #define DISPATCH_QUEUE_CONCURRENT_INACTIVE +// dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_CONCURRENT) + +// Line: 812 +// #define DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL +// dispatch_queue_attr_make_with_autorelease_frequency(\ DISPATCH_QUEUE_SERIAL, +// DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM) + +// Line: 827 +// #define DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL +// dispatch_queue_attr_make_with_autorelease_frequency(\ +// DISPATCH_QUEUE_CONCURRENT, +// DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM) diff --git a/macrodefs_enums/ios/dispatch/source.h b/macrodefs_enums/ios/dispatch/source.h new file mode 100644 index 000000000..efa8ecf06 --- /dev/null +++ b/macrodefs_enums/ios/dispatch/source.h @@ -0,0 +1,159 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/source.h + +enum macro_dispatch_send_dead { +/*! + * @typedef dispatch_source_mach_send_flags_t + * Type of dispatch_source_mach_send flags + * + * @constant DISPATCH_MACH_SEND_DEAD + * The receive right corresponding to the given send right was destroyed. + */ +/*line: 220*/ DISPATCH_MACH_SEND_DEAD = 0x1, // 0x1 +}; + +enum macro_dispatch_source_flags { +/*! + * @typedef dispatch_source_memorypressure_flags_t + * Type of dispatch_source_memorypressure flags + * + * @constant DISPATCH_MEMORYPRESSURE_NORMAL + * The system memory pressure condition has returned to normal. + * + * @constant DISPATCH_MEMORYPRESSURE_WARN + * The system memory pressure condition has changed to warning. + * + * @constant DISPATCH_MEMORYPRESSURE_CRITICAL + * The system memory pressure condition has changed to critical. + * + * @discussion + * Elevated memory pressure is a system-wide condition that applications + * registered for this source should react to by changing their future memory + * use behavior, e.g. by reducing cache sizes of newly initiated operations + * until memory pressure returns back to normal. + * NOTE: applications should NOT traverse and discard existing caches for past + * operations when the system memory pressure enters an elevated state, as that + * is likely to trigger VM operations that will further aggravate system memory + * pressure. + */ +/*line: 255*/ DISPATCH_MEMORYPRESSURE_NORMAL = 0x1, // 0x01 +/*line: 256*/ DISPATCH_MEMORYPRESSURE_WARN = 0x2, // 0x02 +/*line: 257*/ DISPATCH_MEMORYPRESSURE_CRITICAL = 0x4, // 0x04 +/*! + * @typedef dispatch_source_proc_flags_t + * Type of dispatch_source_proc flags + * + * @constant DISPATCH_PROC_EXIT + * The process has exited (perhaps cleanly, perhaps not). + * + * @constant DISPATCH_PROC_FORK + * The process has created one or more child processes. + * + * @constant DISPATCH_PROC_EXEC + * The process has become another executable image via + * exec*() or posix_spawn*(). + * + * @constant DISPATCH_PROC_SIGNAL + * A Unix signal was delivered to the process. + */ +/*line: 279*/ DISPATCH_PROC_EXIT = 0x80000000, // 0x80000000 +/*line: 280*/ DISPATCH_PROC_FORK = 0x40000000, // 0x40000000 +/*line: 281*/ DISPATCH_PROC_EXEC = 0x20000000, // 0x20000000 +/*line: 282*/ DISPATCH_PROC_SIGNAL = 0x8000000, // 0x08000000 +}; + +enum macro_vnode_flags { +/*! + * @typedef dispatch_source_vnode_flags_t + * Type of dispatch_source_vnode flags + * + * @constant DISPATCH_VNODE_DELETE + * The filesystem object was deleted from the namespace. + * + * @constant DISPATCH_VNODE_WRITE + * The filesystem object data changed. + * + * @constant DISPATCH_VNODE_EXTEND + * The filesystem object changed in size. + * + * @constant DISPATCH_VNODE_ATTRIB + * The filesystem object metadata changed. + * + * @constant DISPATCH_VNODE_LINK + * The filesystem object link count changed. + * + * @constant DISPATCH_VNODE_RENAME + * The filesystem object was renamed in the namespace. + * + * @constant DISPATCH_VNODE_REVOKE + * The filesystem object was revoked. + * + * @constant DISPATCH_VNODE_FUNLOCK + * The filesystem object was unlocked. + */ +/*line: 316*/ DISPATCH_VNODE_DELETE = 0x1, // 0x1 +/*line: 317*/ DISPATCH_VNODE_WRITE = 0x2, // 0x2 +/*line: 318*/ DISPATCH_VNODE_EXTEND = 0x4, // 0x4 +/*line: 319*/ DISPATCH_VNODE_ATTRIB = 0x8, // 0x8 +/*line: 320*/ DISPATCH_VNODE_LINK = 0x10, // 0x10 +/*line: 321*/ DISPATCH_VNODE_RENAME = 0x20, // 0x20 +/*line: 322*/ DISPATCH_VNODE_REVOKE = 0x40, // 0x40 +/*line: 323*/ DISPATCH_VNODE_FUNLOCK = 0x100, // 0x100 +}; + +enum macro_dispatch_timer_strict { +/*! + * @typedef dispatch_source_timer_flags_t + * Type of dispatch_source_timer flags + * + * @constant DISPATCH_TIMER_STRICT + * Specifies that the system should make a best effort to strictly observe the + * leeway value specified for the timer via dispatch_source_set_timer(), even + * if that value is smaller than the default leeway value that would be applied + * to the timer otherwise. A minimal amount of leeway will be applied to the + * timer even if this flag is specified. + * + * CAUTION: Use of this flag may override power-saving techniques employed by + * the system and cause higher power consumption, so it must be used with care + * and only when absolutely necessary. + */ +/*line: 344*/ DISPATCH_TIMER_STRICT = 0x1, // 0x1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 83 +// #define DISPATCH_SOURCE_TYPE_DATA_ADD (&_dispatch_source_type_data_add) + +// Line: 94 +// #define DISPATCH_SOURCE_TYPE_DATA_OR (&_dispatch_source_type_data_or) + +// Line: 109 +// #define DISPATCH_SOURCE_TYPE_DATA_REPLACE (&_dispatch_source_type_data_replace) + +// Line: 120 +// #define DISPATCH_SOURCE_TYPE_MACH_SEND (&_dispatch_source_type_mach_send) + +// Line: 131 +// #define DISPATCH_SOURCE_TYPE_MACH_RECV (&_dispatch_source_type_mach_recv) + +// Line: 143 +// #define DISPATCH_SOURCE_TYPE_MEMORYPRESSURE (&_dispatch_source_type_memorypressure) + +// Line: 155 +// #define DISPATCH_SOURCE_TYPE_PROC (&_dispatch_source_type_proc) + +// Line: 166 +// #define DISPATCH_SOURCE_TYPE_READ (&_dispatch_source_type_read) + +// Line: 176 +// #define DISPATCH_SOURCE_TYPE_SIGNAL (&_dispatch_source_type_signal) + +// Line: 187 +// #define DISPATCH_SOURCE_TYPE_TIMER (&_dispatch_source_type_timer) + +// Line: 198 +// #define DISPATCH_SOURCE_TYPE_VNODE (&_dispatch_source_type_vnode) + +// Line: 209 +// #define DISPATCH_SOURCE_TYPE_WRITE (&_dispatch_source_type_write) + diff --git a/macrodefs_enums/ios/dispatch/time.h b/macrodefs_enums/ios/dispatch/time.h new file mode 100644 index 000000000..21d167d14 --- /dev/null +++ b/macrodefs_enums/ios/dispatch/time.h @@ -0,0 +1,25 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dispatch/time.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 54 +// #define MSEC_PER_SEC 1000ull + +// Line: 55 +// #define NSEC_PER_SEC 1000000000ull + +// Line: 56 +// #define NSEC_PER_MSEC 1000000ull + +// Line: 57 +// #define USEC_PER_SEC 1000000ull + +// Line: 58 +// #define NSEC_PER_USEC 1000ull + +// Line: 79 +// #define DISPATCH_TIME_NOW (0ull) + +// Line: 80 +// #define DISPATCH_TIME_FOREVER (~0ull) + diff --git a/macrodefs_enums/ios/dlfcn.h b/macrodefs_enums/ios/dlfcn.h new file mode 100644 index 000000000..4606137ac --- /dev/null +++ b/macrodefs_enums/ios/dlfcn.h @@ -0,0 +1,30 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dlfcn.h + +enum macro_dlfcn_flags { +/*line: 83*/ RTLD_LAZY = 0x1, // 0x1 +/*line: 84*/ RTLD_NOW = 0x2, // 0x2 +/*line: 85*/ RTLD_LOCAL = 0x4, // 0x4 +/*line: 86*/ RTLD_GLOBAL = 0x8, // 0x8 +/*line: 89*/ RTLD_NOLOAD = 0x10, // 0x10 +/*line: 90*/ RTLD_NODELETE = 0x80, // 0x80 +/*line: 91*/ RTLD_FIRST = 0x100, /* Mac OS X 10.5 and later */ // 0x100 +}; + +enum macro_dlopen_flags { +/* + * Special handle arguments for dlsym(). + */ +/*line: 96*/ RTLD_NEXT = -0x1, /* Search subsequent objects. */ // ((void*)-1) +/*line: 97*/ RTLD_DEFAULT = -0x2, /* Use default search algorithm. */ // ((void*)-2) +/*line: 98*/ RTLD_SELF = -0x3, /* Search this and subsequent objects (Mac OS X 10.5 and later) */ // ((void*)-3) +/*line: 99*/ RTLD_MAIN_ONLY = -0x5, /* Search main executable only (Mac OS X 10.5 and later) */ // ((void*)-5) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 39 +// #define __DYLDDL_UNAVAILABLE __API_UNAVAILABLE(driverkit) + +// Line: 41 +// #define __DYLDDL_DLSYM_UNAVAILABLE __API_UNAVAILABLE(driverkit) + diff --git a/macrodefs_enums/ios/dns_sd.h b/macrodefs_enums/ios/dns_sd.h new file mode 100644 index 000000000..0abbc4625 --- /dev/null +++ b/macrodefs_enums/ios/dns_sd.h @@ -0,0 +1,118 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dns_sd.h + +enum macro_dns_sd_h { +/*line: 69*/ _DNS_SD_H = 0x9afaaecc, // 2600120012 +}; + +enum macro_dns_sd_version { +/* DNS-SD API version strings are of the form x[.y[.z]]. + * Version strings less than or equal to 1661 are encoded as (x * 10000) + (y * 100) + z, where 0 ≤ y,z ≤ 99. + * Version strings greater than 1661 are encoded as (x * 1000000) + (y * 1000) + z, where 0 ≤ y,z ≤ 999. + * Therefore, the greatest version number for the original encoding is 16610000. + */ +/*line: 76*/ DNS_SD_ORIGINAL_ENCODING_VERSION_NUMBER_MAX = 0xfd72d0, // 16610000 +}; + +enum macro_dns_sd_libdispatch { +/*line: 92*/ _DNS_SD_LIBDISPATCH = 0x1, // 1 +}; + +enum macro_dns_service_limits { +/* literal C-String, including the terminating NULL at the end. */ +/*line: 799*/ kDNSServiceMaxServiceName = 0x40, // 64 +/* including the final trailing dot, and the C-String terminating NULL at the end. */ +/*line: 804*/ kDNSServiceMaxDomainName = 0x3f1, // 1009 +}; + +// Depends on identifiers +enum macro_interface_indices { +/* + * Constants for specifying an interface index + * + * Specific interface indexes are identified via a 32-bit unsigned integer returned + * by the if_nametoindex() family of calls. + * + * If the client passes 0 for interface index, that means "do the right thing", + * which (at present) means, "if the name is in an mDNS local multicast domain + * (e.g. 'local.', '254.169.in-addr.arpa.', '{8,9,A,B}.E.F.ip6.arpa.') then multicast + * on all applicable interfaces, otherwise send via unicast to the appropriate + * DNS server." Normally, most clients will use 0 for interface index to + * automatically get the default sensible behaviour. + * + * If the client passes a positive interface index, then that indicates to do the + * operation only on that one specified interface. + * + * If the client passes kDNSServiceInterfaceIndexLocalOnly when registering + * a service, then that service will be found *only* by other local clients + * on the same machine that are browsing using kDNSServiceInterfaceIndexLocalOnly + * or kDNSServiceInterfaceIndexAny. + * If a client has a 'private' service, accessible only to other processes + * running on the same machine, this allows the client to advertise that service + * in a way such that it does not inadvertently appear in service lists on + * all the other machines on the network. + * + * If the client passes kDNSServiceInterfaceIndexLocalOnly when querying or + * browsing, then the LocalOnly authoritative records and /etc/hosts caches + * are searched and will find *all* records registered or configured on that + * same local machine. + * + * If interested in getting negative answers to local questions while querying + * or browsing, then set both the kDNSServiceInterfaceIndexLocalOnly and the + * kDNSServiceFlagsReturnIntermediates flags. If no local answers exist at this + * moment in time, then the reply will return an immediate negative answer. If + * local records are subsequently created that answer the question, then those + * answers will be delivered, for as long as the question is still active. + * + * If the kDNSServiceFlagsTimeout and kDNSServiceInterfaceIndexLocalOnly flags + * are set simultaneously when either DNSServiceQueryRecord or DNSServiceGetAddrInfo + * is called then both flags take effect. However, if DNSServiceQueryRecord is called + * with both the kDNSServiceFlagsSuppressUnusable and kDNSServiceInterfaceIndexLocalOnly + * flags set, then the kDNSServiceFlagsSuppressUnusable flag is ignored. + * + * Clients explicitly wishing to discover *only* LocalOnly services during a + * browse may do this, without flags, by inspecting the interfaceIndex of each + * service reported to a DNSServiceBrowseReply() callback function, and + * discarding those answers where the interface index is not set to + * kDNSServiceInterfaceIndexLocalOnly. + * + * kDNSServiceInterfaceIndexP2P is meaningful only in Browse, QueryRecord, Register, + * and Resolve operations. It should not be used in other DNSService APIs. + * + * - If kDNSServiceInterfaceIndexP2P is passed to DNSServiceBrowse or + * DNSServiceQueryRecord, it restricts the operation to P2P. + * + * - If kDNSServiceInterfaceIndexP2P is passed to DNSServiceRegister, it is + * mapped internally to kDNSServiceInterfaceIndexAny with the kDNSServiceFlagsIncludeP2P + * set. + * + * - If kDNSServiceInterfaceIndexP2P is passed to DNSServiceResolve, it is + * mapped internally to kDNSServiceInterfaceIndexAny with the kDNSServiceFlagsIncludeP2P + * set, because resolving a P2P service may create and/or enable an interface whose + * index is not known a priori. The resolve callback will indicate the index of the + * interface via which the service can be accessed. + * + * If applications pass kDNSServiceInterfaceIndexAny to DNSServiceBrowse + * or DNSServiceQueryRecord, they must set the kDNSServiceFlagsIncludeP2P flag + * to include P2P. In this case, if a service instance or the record being queried + * is found over P2P, the resulting ADD event will indicate kDNSServiceInterfaceIndexP2P + * as the interface index. + */ +/*line: 969*/ kDNSServiceInterfaceIndexAny = 0x0, // 0 +/*line: 970*/ kDNSServiceInterfaceIndexLocalOnly = 0xffffffff, // ((uint32_t)0xffffffffU) +/*line: 971*/ kDNSServiceInterfaceIndexUnicast = 0xfffffffe, // ((uint32_t)0xfffffffeU) +/*line: 972*/ kDNSServiceInterfaceIndexP2P = 0xfffffffd, // ((uint32_t)0xfffffffdU) +/*line: 973*/ kDNSServiceInterfaceIndexBLE = 0xfffffffc, // ((uint32_t)0xfffffffcU) +/*line: 974*/ kDNSServiceInterfaceIndexInfra = 0xfffffffb, // Reserved, not used by DNSService API // ((uint32_t)0xfffffffbU) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 165 +// #define DNS_SERVICE_FLAGS_ENUM enum2:tuint32_t + +// Line: 176 +// #define DNS_SD_NULLABLE _Nullable + +// Line: 177 +// #define DNS_SD_NONNULL _Nonnull + diff --git a/macrodefs_enums/ios/dns_util.h b/macrodefs_enums/ios/dns_util.h new file mode 100644 index 000000000..2e61aea25 --- /dev/null +++ b/macrodefs_enums/ios/dns_util.h @@ -0,0 +1,39 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/dns_util.h + +enum macro_dns_status { +/* + * Status returned in a dns_reply_t + */ +/*line: 40*/ DNS_STATUS_OK = 0x0, // 0 +/*line: 41*/ DNS_STATUS_BAD_HANDLE = 0x1, // 1 +/*line: 42*/ DNS_STATUS_MALFORMED_QUERY = 0x2, // 2 +/*line: 43*/ DNS_STATUS_TIMEOUT = 0x3, // 3 +/*line: 44*/ DNS_STATUS_SEND_FAILED = 0x4, // 4 +/*line: 45*/ DNS_STATUS_RECEIVE_FAILED = 0x5, // 5 +/*line: 46*/ DNS_STATUS_CONNECTION_FAILED = 0x6, // 6 +/*line: 47*/ DNS_STATUS_WRONG_SERVER = 0x7, // 7 +/*line: 48*/ DNS_STATUS_WRONG_XID = 0x8, // 8 +/*line: 49*/ DNS_STATUS_WRONG_QUESTION = 0x9, // 9 +}; + +enum macro_dns_print_flags { +/* + * dns_print_reply mask + */ +/*line: 54*/ DNS_PRINT_XID = 0x1, // 0x0001 +/*line: 55*/ DNS_PRINT_QR = 0x2, // 0x0002 +/*line: 56*/ DNS_PRINT_OPCODE = 0x4, // 0x0004 +/*line: 57*/ DNS_PRINT_AA = 0x8, // 0x0008 +/*line: 58*/ DNS_PRINT_TC = 0x10, // 0x0010 +/*line: 59*/ DNS_PRINT_RD = 0x20, // 0x0020 +/*line: 60*/ DNS_PRINT_RA = 0x40, // 0x0040 +/*line: 61*/ DNS_PRINT_PR = 0x80, // 0x0080 +/*line: 62*/ DNS_PRINT_RCODE = 0x100, // 0x0100 +/*line: 63*/ DNS_PRINT_QUESTION = 0x200, // 0x0200 +/*line: 64*/ DNS_PRINT_ANSWER = 0x400, // 0x0400 +/*line: 65*/ DNS_PRINT_AUTHORITY = 0x800, // 0x0800 +/*line: 66*/ DNS_PRINT_ADDITIONAL = 0x1000, // 0x1000 +/*line: 67*/ DNS_PRINT_SERVER = 0x2000, // 0x2000 +}; + diff --git a/macrodefs_enums/ios/execinfo.h b/macrodefs_enums/ios/execinfo.h new file mode 100644 index 000000000..1f81817fa --- /dev/null +++ b/macrodefs_enums/ios/execinfo.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/execinfo.h + +enum macro_execinfo_h { +/*line: 24*/ _EXECINFO_H_ = 0x1, // 1 +}; + diff --git a/macrodefs_enums/ios/expat.h b/macrodefs_enums/ios/expat.h new file mode 100644 index 000000000..403f7c125 --- /dev/null +++ b/macrodefs_enums/ios/expat.h @@ -0,0 +1,41 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/expat.h + +enum macro_expat_included { +/*line: 45*/ Expat_INCLUDED = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_xml_bool { +/*line: 60*/ XML_TRUE = 0x1, // ((XML_Bool)1) +/*line: 61*/ XML_FALSE = 0x0, // ((XML_Bool)0) +}; + +enum macro_expat_version { +/* Expat follows the semantic versioning convention. + See https://semver.org +*/ +/*line: 1071*/ XML_MAJOR_VERSION = 0x2, // 2 +/*line: 1072*/ XML_MINOR_VERSION = 0x7, // 7 +/*line: 1073*/ XML_MICRO_VERSION = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 78 +// #define XML_STATUS_ERROR XML_STATUS_ERROR + +// Line: 80 +// #define XML_STATUS_OK XML_STATUS_OK + +// Line: 82 +// #define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED + +// Line: 975 +// #define XML_GetErrorLineNumber XML_GetCurrentLineNumber + +// Line: 976 +// #define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber + +// Line: 977 +// #define XML_GetErrorByteIndex XML_GetCurrentByteIndex + diff --git a/macrodefs_enums/ios/expat_config.h b/macrodefs_enums/ios/expat_config.h new file mode 100644 index 000000000..d9dd8ec39 --- /dev/null +++ b/macrodefs_enums/ios/expat_config.h @@ -0,0 +1,124 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/expat_config.h + +enum macro_expat_config_h { +/*line: 5*/ EXPAT_CONFIG_H = 0x1, // 1 +}; + +enum macro_byteorder { +/*line: 14*/ BYTEORDER = 0x4d2, // 1234 +}; + +enum macro_have_arc4random_buf { +/* Define to 1 if you have the `arc4random_buf' function. */ +/*line: 21*/ HAVE_ARC4RANDOM_BUF = 0x1, // 1 +}; + +enum macro_cxx11_support { +/* define if the compiler supports basic C++11 syntax */ +/*line: 24*/ HAVE_CXX11 = 0x1, // 1 +}; + +enum macro_have_dlfcn_h { +/* Define to 1 if you have the header file. */ +/*line: 27*/ HAVE_DLFCN_H = 0x1, // 1 +}; + +enum macro_have_fcntl_h { +/* Define to 1 if you have the header file. */ +/*line: 30*/ HAVE_FCNTL_H = 0x1, // 1 +}; + +enum macro_have_getpagesize { +/* Define to 1 if you have the `getpagesize' function. */ +/*line: 33*/ HAVE_GETPAGESIZE = 0x1, // 1 +}; + +enum macro_have_inttypes_h { +/* Define to 1 if you have the header file. */ +/*line: 39*/ HAVE_INTTYPES_H = 0x1, // 1 +}; + +enum macro_have_mmap { +/* Define to 1 if you have a working `mmap' system call. */ +/*line: 45*/ HAVE_MMAP = 0x1, // 1 +}; + +enum macro_have_stdint_h { +/* Define to 1 if you have the header file. */ +/*line: 48*/ HAVE_STDINT_H = 0x1, // 1 +}; + +enum macro_have_stdio_h { +/* Define to 1 if you have the header file. */ +/*line: 51*/ HAVE_STDIO_H = 0x1, // 1 +}; + +enum macro_have_stdlib_h { +/* Define to 1 if you have the header file. */ +/*line: 54*/ HAVE_STDLIB_H = 0x1, // 1 +}; + +enum macro_have_strings_h { +/* Define to 1 if you have the header file. */ +/*line: 57*/ HAVE_STRINGS_H = 0x1, // 1 +}; + +enum macro_have_string_h { +/* Define to 1 if you have the header file. */ +/*line: 60*/ HAVE_STRING_H = 0x1, // 1 +}; + +enum macro_have_sys_param_h { +/* Define to 1 if you have the header file. */ +/*line: 66*/ HAVE_SYS_PARAM_H = 0x1, // 1 +}; + +enum macro_have_sys_stat_h { +/* Define to 1 if you have the header file. */ +/*line: 69*/ HAVE_SYS_STAT_H = 0x1, // 1 +}; + +enum macro_have_sys_types_h { +/* Define to 1 if you have the header file. */ +/*line: 72*/ HAVE_SYS_TYPES_H = 0x1, // 1 +}; + +enum macro_have_unistd_h { +/* Define to 1 if you have the header file. */ +/*line: 75*/ HAVE_UNISTD_H = 0x1, // 1 +}; + +enum macro_stdc_headers { +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +/*line: 104*/ STDC_HEADERS = 0x1, // 1 +}; + +enum macro_xml_context_bytes { +/* Define to specify how much context to retain around the current parse + point, 0 to disable. */ +/*line: 127*/ XML_CONTEXT_BYTES = 0x400, // 1024 +}; + +enum macro_use_urandom { +/* Define to include code reading entropy from `/dev/urandom'. */ +/*line: 130*/ XML_DEV_URANDOM = 0x1, // 1 +}; + +enum macro_xml_dtd { +/* Define to make parameter entity parsing functionality available. */ +/*line: 133*/ XML_DTD = 0x1, // 1 +}; + +enum macro_xml_ge { +/* Define as 1/0 to enable/disable support for general entities. */ +/*line: 136*/ XML_GE = 0x1, // 1 +}; + +enum macro_xml_namespace { +/* Define to make XML Namespaces functionality available. */ +/*line: 139*/ XML_NS = 0x1, // 1 +}; + diff --git a/macrodefs_enums/ios/expat_external.h b/macrodefs_enums/ios/expat_external.h new file mode 100644 index 000000000..f59857d05 --- /dev/null +++ b/macrodefs_enums/ios/expat_external.h @@ -0,0 +1,15 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/expat_external.h + +enum macro_expat_included { +/*line: 41*/ Expat_External_INCLUDED = 0x1, // 1 +}; + +enum macro_expat_visibility { +/*line: 99*/ XML_ENABLE_VISIBILITY = 0x0, // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 113 +// #define XML_ATTR_MALLOC __attribute__((__malloc__)) + diff --git a/macrodefs_enums/ios/fenv.h b/macrodefs_enums/ios/fenv.h new file mode 100644 index 000000000..b303d30fe --- /dev/null +++ b/macrodefs_enums/ios/fenv.h @@ -0,0 +1,30 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/fenv.h + +enum macro_floating_point_exceptions { +/*line: 136*/ FE_INEXACT = 0x10, // 0x0010 +/*line: 137*/ FE_UNDERFLOW = 0x8, // 0x0008 +/*line: 138*/ FE_OVERFLOW = 0x4, // 0x0004 +/*line: 139*/ FE_DIVBYZERO = 0x2, // 0x0002 +/*line: 140*/ FE_INVALID = 0x1, // 0x0001 +/* FE_FLUSHTOZERO + An ARM-specific flag that is raised when a denormal is flushed to zero. + This is also called the "input denormal exception" */ +/*line: 144*/ FE_FLUSHTOZERO = 0x80, // 0x0080 +/*line: 145*/ FE_ALL_EXCEPT = 0x9f, // 0x009f +}; + +enum macro_rounding_mode { +/*line: 147*/ FE_TONEAREST = 0x0, // 0x00000000 +/*line: 148*/ FE_UPWARD = 0x400000, // 0x00400000 +/*line: 149*/ FE_DOWNWARD = 0x800000, // 0x00800000 +/*line: 150*/ FE_TOWARDZERO = 0xc00000, // 0x00C00000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 168 +// #define FE_DFL_ENV &_FE_DFL_ENV + +// Line: 185 +// #define FE_DFL_DISABLE_DENORMS_ENV &_FE_DFL_DISABLE_DENORMS_ENV + diff --git a/macrodefs_enums/ios/float.h b/macrodefs_enums/ios/float.h new file mode 100644 index 000000000..f8a443e71 --- /dev/null +++ b/macrodefs_enums/ios/float.h @@ -0,0 +1,80 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/float.h + +// Depends on identifiers +enum macro_float_limits { +/*line: 86*/ FLT_RADIX = 0x2, // __FLT_RADIX__ +/*line: 88*/ FLT_MANT_DIG = 0x18, // __FLT_MANT_DIG__ +/*line: 89*/ DBL_MANT_DIG = 0x35, // __DBL_MANT_DIG__ +/*line: 90*/ LDBL_MANT_DIG = 0x35, // __LDBL_MANT_DIG__ +/*line: 92*/ FLT_DIG = 0x6, // __FLT_DIG__ +/*line: 93*/ DBL_DIG = 0xf, // __DBL_DIG__ +/*line: 94*/ LDBL_DIG = 0xf, // __LDBL_DIG__ +/*line: 96*/ FLT_MIN_EXP = -0x7d, // __FLT_MIN_EXP__ +/*line: 97*/ DBL_MIN_EXP = -0x3fd, // __DBL_MIN_EXP__ +/*line: 98*/ LDBL_MIN_EXP = -0x3fd, // __LDBL_MIN_EXP__ +/*line: 100*/ FLT_MIN_10_EXP = -0x25, // __FLT_MIN_10_EXP__ +/*line: 101*/ DBL_MIN_10_EXP = -0x133, // __DBL_MIN_10_EXP__ +/*line: 102*/ LDBL_MIN_10_EXP = -0x133, // __LDBL_MIN_10_EXP__ +/*line: 104*/ FLT_MAX_EXP = 0x80, // __FLT_MAX_EXP__ +/*line: 105*/ DBL_MAX_EXP = 0x400, // __DBL_MAX_EXP__ +/*line: 106*/ LDBL_MAX_EXP = 0x400, // __LDBL_MAX_EXP__ +/*line: 108*/ FLT_MAX_10_EXP = 0x26, // __FLT_MAX_10_EXP__ +/*line: 109*/ DBL_MAX_10_EXP = 0x134, // __DBL_MAX_10_EXP__ +/*line: 110*/ LDBL_MAX_10_EXP = 0x134, // __LDBL_MAX_10_EXP__ +/*line: 125*/ DECIMAL_DIG = 0x11, // __DECIMAL_DIG__ +}; + +// Depends on identifiers +enum macro_float_properties { +/*line: 137*/ FLT_HAS_SUBNORM = 0x1, // 1 +/*line: 138*/ DBL_HAS_SUBNORM = 0x1, // 1 +/*line: 139*/ LDBL_HAS_SUBNORM = 0x1, // 1 +/*line: 144*/ FLT_DECIMAL_DIG = 0x9, // __FLT_DECIMAL_DIG__ +/*line: 145*/ DBL_DECIMAL_DIG = 0x11, // __DBL_DECIMAL_DIG__ +/*line: 146*/ LDBL_DECIMAL_DIG = 0x11, // __LDBL_DECIMAL_DIG__ +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 84 +// #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ + +// Line: 85 +// #define FLT_ROUNDS (__builtin_flt_rounds()) + +// Line: 112 +// #define FLT_MAX __FLT_MAX__ + +// Line: 113 +// #define DBL_MAX __DBL_MAX__ + +// Line: 114 +// #define LDBL_MAX __LDBL_MAX__ + +// Line: 116 +// #define FLT_EPSILON __FLT_EPSILON__ + +// Line: 117 +// #define DBL_EPSILON __DBL_EPSILON__ + +// Line: 118 +// #define LDBL_EPSILON __LDBL_EPSILON__ + +// Line: 120 +// #define FLT_MIN __FLT_MIN__ + +// Line: 121 +// #define DBL_MIN __DBL_MIN__ + +// Line: 122 +// #define LDBL_MIN __LDBL_MIN__ + +// Line: 140 +// #define FLT_TRUE_MIN __FLT_DENORM_MIN__ + +// Line: 141 +// #define DBL_TRUE_MIN __DBL_DENORM_MIN__ + +// Line: 142 +// #define LDBL_TRUE_MIN __LDBL_DENORM_MIN__ + diff --git a/macrodefs_enums/ios/fmtmsg.h b/macrodefs_enums/ios/fmtmsg.h new file mode 100644 index 000000000..d5e7f6e5e --- /dev/null +++ b/macrodefs_enums/ios/fmtmsg.h @@ -0,0 +1,46 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/fmtmsg.h + +enum macro_message_source { +/* Source of condition is... */ +/*line: 37*/ MM_HARD = 0x1, /* ...hardware. */ // 0x0001 +/*line: 38*/ MM_SOFT = 0x2, /* ...software. */ // 0x0002 +/*line: 39*/ MM_FIRM = 0x4, /* ...firmware. */ // 0x0004 +/* Condition detected by... */ +/*line: 42*/ MM_APPL = 0x10, /* ...application. */ // 0x0010 +/*line: 43*/ MM_UTIL = 0x20, /* ...utility. */ // 0x0020 +/*line: 44*/ MM_OPSYS = 0x40, /* ...operating system. */ // 0x0040 +/* Display on... */ +/*line: 47*/ MM_PRINT = 0x100, /* ...standard error. */ // 0x0100 +/*line: 48*/ MM_CONSOLE = 0x200, /* ...system console. */ // 0x0200 +/*line: 50*/ MM_RECOVER = 0x1000, /* Recoverable error. */ // 0x1000 +/*line: 51*/ MM_NRECOV = 0x2000, /* Non-recoverable error. */ // 0x2000 +}; + +enum macro_message_severity { +/* Severity levels. */ +/*line: 54*/ MM_NOSEV = 0x0, /* No severity level provided. */ // 0 +/*line: 55*/ MM_HALT = 0x1, /* Error causing application to halt. */ // 1 +/*line: 56*/ MM_ERROR = 0x2, /* Non-fault fault. */ // 2 +/*line: 57*/ MM_WARNING = 0x3, /* Unusual non-error condition. */ // 3 +/*line: 58*/ MM_INFO = 0x4, /* Informative message. */ // 4 +}; + +enum macro_null_options { +/* Null options. */ +/*line: 61*/ MM_NULLLBL = 0x0, // (char*)0 +/*line: 62*/ MM_NULLSEV = 0x0, // 0 +/*line: 63*/ MM_NULLMC = 0x0, // 0L +/*line: 64*/ MM_NULLTXT = 0x0, // (char*)0 +/*line: 65*/ MM_NULLACT = 0x0, // (char*)0 +/*line: 66*/ MM_NULLTAG = 0x0, // (char*)0 +}; + +enum macro_message_result { +/* Return values. */ +/*line: 69*/ MM_OK = 0x0, /* Success. */ // 0 +/*line: 70*/ MM_NOMSG = 0x1, /* Failed to output to stderr. */ // 1 +/*line: 71*/ MM_NOCON = 0x2, /* Failed to output to console. */ // 2 +/*line: 72*/ MM_NOTOK = 0x3, /* Failed to output anything. */ // 3 +}; + diff --git a/macrodefs_enums/ios/fnmatch.h b/macrodefs_enums/ios/fnmatch.h new file mode 100644 index 000000000..51c609047 --- /dev/null +++ b/macrodefs_enums/ios/fnmatch.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/fnmatch.h + +enum macro_fnm_ret { +/*line: 66*/ FNM_NOMATCH = 0x1, /* Match failed. */ // 1 +}; + +enum macro_fnmatch_flags { +/*line: 68*/ FNM_NOESCAPE = 0x1, /* Disable backslash escaping. */ // 0x01 +/*line: 69*/ FNM_PATHNAME = 0x2, /* Slash must be matched by slash. */ // 0x02 +/*line: 70*/ FNM_PERIOD = 0x4, /* Period must be matched by period. */ // 0x04 +/*line: 72*/ FNM_NOSYS = -0x1, /* Reserved. */ // (-1) +/*line: 75*/ FNM_LEADING_DIR = 0x8, /* Ignore / after Imatch. */ // 0x08 +/*line: 76*/ FNM_CASEFOLD = 0x10, /* Case insensitive search. */ // 0x10 +/*line: 77*/ FNM_IGNORECASE = 0x10, // FNM_CASEFOLD +/*line: 78*/ FNM_FILE_NAME = 0x2, // FNM_PATHNAME +}; + diff --git a/macrodefs_enums/ios/fstab.h b/macrodefs_enums/ios/fstab.h new file mode 100644 index 000000000..ed701425d --- /dev/null +++ b/macrodefs_enums/ios/fstab.h @@ -0,0 +1,3 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/fstab.h + diff --git a/macrodefs_enums/ios/fts.h b/macrodefs_enums/ios/fts.h new file mode 100644 index 000000000..8bf77b1ed --- /dev/null +++ b/macrodefs_enums/ios/fts.h @@ -0,0 +1,62 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/fts.h + +enum macro_fts_options { +/*line: 92*/ FTS_COMFOLLOW = 0x1, /* follow command line symlinks */ // 0x001 +/*line: 93*/ FTS_LOGICAL = 0x2, /* logical walk */ // 0x002 +/*line: 94*/ FTS_NOCHDIR = 0x4, /* don't change directories */ // 0x004 +/*line: 95*/ FTS_NOSTAT = 0x8, /* don't get stat info */ // 0x008 +/*line: 96*/ FTS_PHYSICAL = 0x10, /* physical walk */ // 0x010 +/*line: 97*/ FTS_SEEDOT = 0x20, /* return dot and dot-dot */ // 0x020 +/*line: 98*/ FTS_XDEV = 0x40, /* don't cross devices */ // 0x040 +/*line: 99*/ FTS_WHITEOUT = 0x80, /* (no longer supported) return whiteout information */ // 0x080 +/*line: 100*/ FTS_COMFOLLOWDIR = 0x400, /* (non-std) follow command line symlinks for directories only */ // 0x400 +/*line: 104*/ FTS_NOSTAT_TYPE = 0x800, /* (non-std) no stat, but use d_type in struct dirent when available */ // 0x800 +/*line: 105*/ FTS_OPTIONMASK = 0xcff, /* valid user option mask */ // 0xcff +/*line: 108*/ FTS_NAMEONLY = 0x100, /* (private) child names only */ // 0x100 +/*line: 109*/ FTS_STOP = 0x200, /* (private) unrecoverable error */ // 0x200 +/*line: 110*/ FTS_THREAD_FCHDIR = 0x400, /* (private) use pthread_fchdir_np */ // 0x400 +/*line: 112*/ FTS_BLOCK_COMPAR = 0x80000000, /* fts_compar is a block */ // 0x80000000 +}; + +enum macro_fts_level { +/*line: 134*/ FTS_ROOTPARENTLEVEL = -0x1, // -1 +/*line: 135*/ FTS_ROOTLEVEL = 0x0, // 0 +/*line: 136*/ FTS_MAXLEVEL = 0x7fffffff, // 0x7fffffff +}; + +enum macro_fts_info { +/*line: 139*/ FTS_D = 0x1, /* preorder directory */ // 1 +/*line: 140*/ FTS_DC = 0x2, /* directory that causes cycles */ // 2 +/*line: 141*/ FTS_DEFAULT = 0x3, /* none of the above */ // 3 +/*line: 142*/ FTS_DNR = 0x4, /* unreadable directory */ // 4 +/*line: 143*/ FTS_DOT = 0x5, /* dot or dot-dot */ // 5 +/*line: 144*/ FTS_DP = 0x6, /* postorder directory */ // 6 +/*line: 145*/ FTS_ERR = 0x7, /* error; errno is set */ // 7 +/*line: 146*/ FTS_F = 0x8, /* regular file */ // 8 +/*line: 147*/ FTS_INIT = 0x9, /* initialized only */ // 9 +/*line: 148*/ FTS_NS = 0xa, /* stat(2) failed */ // 10 +/*line: 149*/ FTS_NSOK = 0xb, /* no stat(2) requested */ // 11 +/*line: 150*/ FTS_SL = 0xc, /* symbolic link */ // 12 +/*line: 151*/ FTS_SLNONE = 0xd, /* symbolic link without target */ // 13 +/*line: 152*/ FTS_W = 0xe, /* whiteout object */ // 14 +}; + +enum macro_fts_flags { +/*line: 155*/ FTS_DONTCHDIR = 0x1, /* don't chdir .. to the parent */ // 0x01 +/*line: 156*/ FTS_SYMFOLLOW = 0x2, /* followed a symlink to get here */ // 0x02 +/*line: 157*/ FTS_ISW = 0x4, /* this is a whiteout object */ // 0x04 +/*line: 158*/ FTS_CHDIRFD = 0x8, /* indicates the fts_symfd field was set for chdir */ // 0x08 +}; + +enum macro_fts_instruction { +/*line: 161*/ FTS_AGAIN = 0x1, /* read node again */ // 1 +/*line: 162*/ FTS_FOLLOW = 0x2, /* follow symbolic link */ // 2 +/*line: 163*/ FTS_NOINSTR = 0x3, /* no instructions */ // 3 +/*line: 164*/ FTS_SKIP = 0x4, /* discard node */ // 4 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 181 +// #define __fts_noescape __attribute__((__noescape__)) + diff --git a/macrodefs_enums/ios/ftw.h b/macrodefs_enums/ios/ftw.h new file mode 100644 index 000000000..f6766b02b --- /dev/null +++ b/macrodefs_enums/ios/ftw.h @@ -0,0 +1,27 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ftw.h + +enum macro_ftw_flags { +/* + * Valid flags for the 3rd argument to the function that is passed as the + * second argument to ftw(3) and nftw(3). Say it three times fast! + */ +/*line: 35*/ FTW_F = 0x0, /* File. */ // 0 +/*line: 36*/ FTW_D = 0x1, /* Directory. */ // 1 +/*line: 37*/ FTW_DNR = 0x2, /* Directory without read permission. */ // 2 +/*line: 38*/ FTW_DP = 0x3, /* Directory with subdirectories visited. */ // 3 +/*line: 39*/ FTW_NS = 0x4, /* Unknown type; stat() failed. */ // 4 +/*line: 40*/ FTW_SL = 0x5, /* Symbolic link. */ // 5 +/*line: 41*/ FTW_SLN = 0x6, /* Sym link that names a nonexistent file. */ // 6 +}; + +enum macro_nftw_flags { +/* + * Flags for use as the 4th argument to nftw(3). These may be ORed together. + */ +/*line: 46*/ FTW_PHYS = 0x1, /* Physical walk, don't follow sym links. */ // 0x01 +/*line: 47*/ FTW_MOUNT = 0x2, /* The walk does not cross a mount point. */ // 0x02 +/*line: 48*/ FTW_DEPTH = 0x4, /* Subdirs visited before the dir itself. */ // 0x04 +/*line: 49*/ FTW_CHDIR = 0x8, /* Change to a directory before reading it. */ // 0x08 +}; + diff --git a/macrodefs_enums/ios/getopt.h b/macrodefs_enums/ios/getopt.h new file mode 100644 index 000000000..969222ac1 --- /dev/null +++ b/macrodefs_enums/ios/getopt.h @@ -0,0 +1,13 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/getopt.h + +enum macro_option_type { +/* + * GNU-like getopt_long()/getopt_long_only() with 4.4BSD optreset extension. + * getopt() is declared here too for GNU programs. + */ +/*line: 53*/ no_argument = 0x0, // 0 +/*line: 54*/ required_argument = 0x1, // 1 +/*line: 55*/ optional_argument = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/glob.h b/macrodefs_enums/ios/glob.h new file mode 100644 index 000000000..52362738b --- /dev/null +++ b/macrodefs_enums/ios/glob.h @@ -0,0 +1,37 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/glob.h + +enum macro_glob_flags { +/* Believed to have been introduced in 1003.2-1992 */ +/*line: 89*/ GLOB_APPEND = 0x1, /* Append to output from previous call. */ // 0x0001 +/*line: 90*/ GLOB_DOOFFS = 0x2, /* Use gl_offs. */ // 0x0002 +/*line: 91*/ GLOB_ERR = 0x4, /* Return on error. */ // 0x0004 +/*line: 92*/ GLOB_MARK = 0x8, /* Append / to matching directories. */ // 0x0008 +/*line: 93*/ GLOB_NOCHECK = 0x10, /* Return pattern itself if nothing matches. */ // 0x0010 +/*line: 94*/ GLOB_NOSORT = 0x20, /* Don't sort. */ // 0x0020 +/*line: 95*/ GLOB_NOESCAPE = 0x2000, /* Disable backslash escaping. */ // 0x2000 +}; + +enum macro_glob_error { +/* Error values returned by glob(3) */ +/*line: 98*/ GLOB_NOSPACE = -0x1, /* Malloc call failed. */ // (-1) +/*line: 99*/ GLOB_ABORTED = -0x2, /* Unignored error. */ // (-2) +/*line: 100*/ GLOB_NOMATCH = -0x3, /* No match and GLOB_NOCHECK was not set. */ // (-3) +/*line: 101*/ GLOB_NOSYS = -0x4, /* Obsolete: source comptability only. */ // (-4) +/*line: 103*/ GLOB_ALTDIRFUNC = 0x40, /* Use alternately specified directory funcs. */ // 0x0040 +/*line: 104*/ GLOB_BRACE = 0x80, /* Expand braces ala csh. */ // 0x0080 +/*line: 105*/ GLOB_MAGCHAR = 0x100, /* Pattern had globbing characters. */ // 0x0100 +/*line: 106*/ GLOB_NOMAGIC = 0x200, /* GLOB_NOCHECK without magic chars (csh). */ // 0x0200 +/*line: 107*/ GLOB_QUOTE = 0x400, /* Quote special chars with \. */ // 0x0400 +/*line: 108*/ GLOB_TILDE = 0x800, /* Expand tilde names from the passwd file. */ // 0x0800 +/*line: 109*/ GLOB_LIMIT = 0x1000, /* limit number of returned paths */ // 0x1000 +/*line: 111*/ _GLOB_ERR_BLOCK = 0x80000000, /* (internal) error callback is a block */ // 0x80000000 +/* source compatibility, these are the old names */ +/*line: 115*/ GLOB_MAXPATH = 0x1000, // GLOB_LIMIT +/*line: 116*/ GLOB_ABEND = -0x2, // GLOB_ABORTED +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 123 +// #define __glob_noescape __attribute__((__noescape__)) + diff --git a/macrodefs_enums/ios/grp.h b/macrodefs_enums/ios/grp.h new file mode 100644 index 000000000..88e6a6f9d --- /dev/null +++ b/macrodefs_enums/ios/grp.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/grp.h + diff --git a/macrodefs_enums/ios/iconv.h b/macrodefs_enums/ios/iconv.h new file mode 100644 index 000000000..6f4333ff1 --- /dev/null +++ b/macrodefs_enums/ios/iconv.h @@ -0,0 +1,26 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/iconv.h + +enum macro_libiconv_version { +/*line: 62*/ _LIBICONV_VERSION = 0x10b, /* Compatible */ // 0x010B +}; + +enum macro_hide_invalid { +/*line: 85*/ __ICONV_F_HIDE_INVALID = 0x1, // 0x0001 +}; + +enum macro_iconv_controls { +/* + * iconvctl() request macros + */ +/*line: 104*/ ICONV_TRIVIALP = 0x0, // 0 +/*line: 105*/ ICONV_GET_TRANSLITERATE = 0x1, // 1 +/*line: 106*/ ICONV_SET_TRANSLITERATE = 0x2, // 2 +/*line: 107*/ ICONV_GET_DISCARD_ILSEQ = 0x3, // 3 +/*line: 108*/ ICONV_SET_DISCARD_ILSEQ = 0x4, // 4 +/*line: 109*/ ICONV_SET_HOOKS = 0x5, // 5 +/*line: 110*/ ICONV_SET_FALLBACKS = 0x6, // 6 +/*line: 111*/ ICONV_GET_ILSEQ_INVALID = 0x80, // 128 +/*line: 112*/ ICONV_SET_ILSEQ_INVALID = 0x81, // 129 +}; + diff --git a/macrodefs_enums/ios/ifaddrs.h b/macrodefs_enums/ios/ifaddrs.h new file mode 100644 index 000000000..a77a7b8ac --- /dev/null +++ b/macrodefs_enums/ios/ifaddrs.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ifaddrs.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 51 +// #define ifa_broadaddr ifa_dstaddr + diff --git a/macrodefs_enums/ios/iso646.h b/macrodefs_enums/ios/iso646.h new file mode 100644 index 000000000..54ced3de0 --- /dev/null +++ b/macrodefs_enums/ios/iso646.h @@ -0,0 +1,37 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/iso646.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 37 +// #define and && + +// Line: 38 +// #define and_eq &= + +// Line: 39 +// #define bitand & + +// Line: 40 +// #define bitor | + +// Line: 41 +// #define compl ~ + +// Line: 42 +// #define not ! + +// Line: 43 +// #define not_eq != + +// Line: 44 +// #define or || + +// Line: 45 +// #define or_eq |= + +// Line: 46 +// #define xor ^ + +// Line: 47 +// #define xor_eq ^= + diff --git a/macrodefs_enums/ios/libDER/libDER_config.h b/macrodefs_enums/ios/libDER/libDER_config.h new file mode 100644 index 000000000..8d0a94e88 --- /dev/null +++ b/macrodefs_enums/ios/libDER/libDER_config.h @@ -0,0 +1,22 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libDER/libDER_config.h + +enum macro_der_encode_enable { +/* enable general DER encode */ +/*line: 98*/ DER_ENCODE_ENABLE = 0x1, // 1 +}; + +enum macro_der_decode_enable { +/* enable general DER decode */ +/*line: 101*/ DER_DECODE_ENABLE = 0x1, // 1 +}; + +enum macro_der_config { +/* enable multibyte tag support. */ +/*line: 105*/ DER_MULTIBYTE_TAGS = 0x1, // 1 +/* Iff DER_MULTIBYTE_TAGS is 1 this is the sizeof(DERTag) in bytes. Note that + tags are still encoded and decoded from a minimally encoded DER + represantation. This value maintains compatibility with libImg4Decode/Encode. */ +/*line: 112*/ DER_TAG_SIZE = 0x8, // 8 +}; + diff --git a/macrodefs_enums/ios/libkern/OSAtomicDeprecated.h b/macrodefs_enums/ios/libkern/OSAtomicDeprecated.h new file mode 100644 index 000000000..bf5f8e13c --- /dev/null +++ b/macrodefs_enums/ios/libkern/OSAtomicDeprecated.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/OSAtomicDeprecated.h + +enum macro_osatomic_deprecated { +/*line: 49*/ OSATOMIC_DEPRECATED = 0x1, // 1 +}; + diff --git a/macrodefs_enums/ios/libkern/OSAtomicQueue.h b/macrodefs_enums/ios/libkern/OSAtomicQueue.h new file mode 100644 index 000000000..564b15fb5 --- /dev/null +++ b/macrodefs_enums/ios/libkern/OSAtomicQueue.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/OSAtomicQueue.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 63 +// #define OS_ATOMIC_QUEUE_INIT { NULL, 0 } + diff --git a/macrodefs_enums/ios/libkern/OSCacheControl.h b/macrodefs_enums/ios/libkern/OSCacheControl.h new file mode 100644 index 000000000..60121ddca --- /dev/null +++ b/macrodefs_enums/ios/libkern/OSCacheControl.h @@ -0,0 +1,20 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/OSCacheControl.h + +enum macro_cache_function { +/* Prepare memory for execution. This should be called + * after writing machine instructions to memory, before + * executing them. It syncs the dcache and icache. + * On IA32 processors this function is a NOP, because + * no synchronization is required. + */ +/*line: 43*/ kCacheFunctionPrepareForExecution = 0x1, // 1 +/* Flush data cache(s). This ensures that cached data + * makes it all the way out to DRAM, and then removes + * copies of the data from all processor caches. + * It can be useful when dealing with cache incoherent + * devices or DMA. + */ +/*line: 51*/ kCacheFunctionFlushDcache = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/libkern/OSReturn.h b/macrodefs_enums/ios/libkern/OSReturn.h new file mode 100644 index 000000000..8052ca86c --- /dev/null +++ b/macrodefs_enums/ios/libkern/OSReturn.h @@ -0,0 +1,103 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/OSReturn.h + +// Depends on identifiers +enum macro_sys_libkern { +/*line: 83*/ sys_libkern = 0x37, // err_system(0x37) +}; + +// Depends on identifiers +enum macro_error_subsystem { +/*line: 86*/ sub_libkern_common = 0x0, // err_sub(0) +/*line: 87*/ sub_libkern_metaclass = 0x1, // err_sub(1) +/*line: 88*/ sub_libkern_reserved = -0x1, // err_sub(-1) +}; + +// Depends on identifiers +enum macro_os_return { +/*! + * @define kOSReturnSuccess + * @abstract Operation successful. + * Equal to @link //apple_ref/c/econst/KERN_SUCCESS + * KERN_SUCCESS@/link. + */ +/*line: 104*/ kOSReturnSuccess = 0x0, // KERN_SUCCESS +/*! + * @define kOSReturnError + * @abstract Unspecified Libkern error. + * Not equal to + * @link //apple_ref/c/econst/KERN_FAILURE + * KERN_FAILURE@/link. + */ +/*line: 113*/ kOSReturnError = 0x1, // libkern_common_err(1) +}; + +// Depends on identifiers +enum macro_metaclass_errors { +/*! + * @define kOSMetaClassInternal + * @abstract Internal OSMetaClass run-time error. + */ +/*line: 119*/ kOSMetaClassInternal = 0x1, // libkern_metaclass_err(1) +/*! + * @define kOSMetaClassHasInstances + * @abstract A kext cannot be unloaded because there are instances + * derived from Libkern C++ classes that it defines. + */ +/*line: 126*/ kOSMetaClassHasInstances = 0x2, // libkern_metaclass_err(2) +/*! + * @define kOSMetaClassNoInit + * @abstract Internal error: The Libkern C++ class registration system + * was not properly initialized during kext loading. + */ +/*line: 133*/ kOSMetaClassNoInit = 0x3, // libkern_metaclass_err(3) +/*! + * @define kOSMetaClassNoTempData + * @abstract Internal error: An allocation failure occurred + * registering Libkern C++ classes during kext loading. + */ +/*line: 141*/ kOSMetaClassNoTempData = 0x4, // libkern_metaclass_err(4) +/*! + * @define kOSMetaClassNoDicts + * @abstract Internal error: An allocation failure occurred + * registering Libkern C++ classes during kext loading. + */ +/*line: 149*/ kOSMetaClassNoDicts = 0x5, // libkern_metaclass_err(5) +/*! + * @define kOSMetaClassNoKModSet + * @abstract Internal error: An allocation failure occurred + * registering Libkern C++ classes during kext loading. + */ +/*line: 157*/ kOSMetaClassNoKModSet = 0x6, // libkern_metaclass_err(6) +/*! + * @define kOSMetaClassNoInsKModSet + * @abstract Internal error: An error occurred registering + * a specific Libkern C++ class during kext loading. + */ +/*line: 165*/ kOSMetaClassNoInsKModSet = 0x7, // libkern_metaclass_err(7) +/*! + * @define kOSMetaClassNoSuper + * @abstract Internal error: No superclass can be found + * for a specific Libkern C++ class during kext loading. + */ +/*line: 173*/ kOSMetaClassNoSuper = 0x8, // libkern_metaclass_err(8) +/*! + * @define kOSMetaClassInstNoSuper + * @abstract Internal error: No superclass can be found when constructing + * an instance of a Libkern C++ class. + */ +/*line: 180*/ kOSMetaClassInstNoSuper = 0x9, // libkern_metaclass_err(9) +/*! + * @define kOSMetaClassDuplicateClass + * @abstract A duplicate Libkern C++ classname was encountered + * during kext loading. + */ +/*line: 187*/ kOSMetaClassDuplicateClass = 0xa, // libkern_metaclass_err(10) +/*! + * @define kOSMetaClassNoKext + * @abstract Internal error: The kext for a Libkern C++ class + * can't be found during kext loading. + */ +/*line: 194*/ kOSMetaClassNoKext = 0xb, // libkern_metaclass_err(11) +}; + diff --git a/macrodefs_enums/ios/libkern/OSSpinLockDeprecated.h b/macrodefs_enums/ios/libkern/OSSpinLockDeprecated.h new file mode 100644 index 000000000..7c67a141f --- /dev/null +++ b/macrodefs_enums/ios/libkern/OSSpinLockDeprecated.h @@ -0,0 +1,15 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/OSSpinLockDeprecated.h + +enum macro_osspinlock_deprecated { +/*line: 44*/ OSSPINLOCK_DEPRECATED = 0x1, // 1 +}; + +enum macro_spinlock_init { +/*! @abstract The default value for an OSSpinLock. + @discussion + The convention is that unlocked is zero, locked is nonzero. + */ +/*line: 71*/ OS_SPINLOCK_INIT = 0x0, // 0 +}; + diff --git a/macrodefs_enums/ios/libkern/OSTypes.h b/macrodefs_enums/ios/libkern/OSTypes.h new file mode 100644 index 000000000..241327801 --- /dev/null +++ b/macrodefs_enums/ios/libkern/OSTypes.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/OSTypes.h + +enum macro_ostypes_k64_rev { +/*line: 34*/ OSTYPES_K64_REV = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/libkern/arm/_OSByteOrder.h b/macrodefs_enums/ios/libkern/arm/_OSByteOrder.h new file mode 100644 index 000000000..5c54538ae --- /dev/null +++ b/macrodefs_enums/ios/libkern/arm/_OSByteOrder.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libkern/arm/_OSByteOrder.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 38 +// #define __DARWIN_OS_INLINE static inline + diff --git a/macrodefs_enums/ios/libunwind.h b/macrodefs_enums/ios/libunwind.h new file mode 100644 index 000000000..59f693471 --- /dev/null +++ b/macrodefs_enums/ios/libunwind.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libunwind.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 33 +// #define LIBUNWIND_AVAIL __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_5_0) + diff --git a/macrodefs_enums/ios/libxml/DOCBparser.h b/macrodefs_enums/ios/libxml/DOCBparser.h new file mode 100644 index 000000000..25bfb22f0 --- /dev/null +++ b/macrodefs_enums/ios/libxml/DOCBparser.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/DOCBparser.h + diff --git a/macrodefs_enums/ios/libxml/HTMLtree.h b/macrodefs_enums/ios/libxml/HTMLtree.h new file mode 100644 index 000000000..a840b1e4a --- /dev/null +++ b/macrodefs_enums/ios/libxml/HTMLtree.h @@ -0,0 +1,19 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/HTMLtree.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 32 +// #define HTML_TEXT_NODE XML_TEXT_NODE + +// Line: 39 +// #define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE + +// Line: 46 +// #define HTML_COMMENT_NODE XML_COMMENT_NODE + +// Line: 53 +// #define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE + +// Line: 60 +// #define HTML_PI_NODE XML_PI_NODE + diff --git a/macrodefs_enums/ios/libxml/catalog.h b/macrodefs_enums/ios/libxml/catalog.h new file mode 100644 index 000000000..e032268dc --- /dev/null +++ b/macrodefs_enums/ios/libxml/catalog.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/catalog.h + diff --git a/macrodefs_enums/ios/libxml/encoding.h b/macrodefs_enums/ios/libxml/encoding.h new file mode 100644 index 000000000..02adb6786 --- /dev/null +++ b/macrodefs_enums/ios/libxml/encoding.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/encoding.h + +enum macro_icu_pivot_buf_size { +/*line: 141*/ ICU_PIVOT_BUF_SIZE = 0x400, // 1024 +}; + diff --git a/macrodefs_enums/ios/libxml/globals.h b/macrodefs_enums/ios/libxml/globals.h new file mode 100644 index 000000000..51673f935 --- /dev/null +++ b/macrodefs_enums/ios/libxml/globals.h @@ -0,0 +1,116 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/globals.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 271 +// #define docbDefaultSAXHandler \ +// (*(__docbDefaultSAXHandler())) + +// Line: 281 +// #define htmlDefaultSAXHandler \ +// (*(__htmlDefaultSAXHandler())) + +// Line: 290 +// #define xmlLastError \ +// (*(__xmlLastError())) + +// Line: 305 +// #define oldXMLWDcompatibility \ +// (*(__oldXMLWDcompatibility())) + +// Line: 313 +// #define xmlBufferAllocScheme \ +// (*(__xmlBufferAllocScheme())) + +// Line: 323 +// #define xmlDefaultBufferSize \ +// (*(__xmlDefaultBufferSize())) + +// Line: 332 +// #define xmlDefaultSAXHandler \ +// (*(__xmlDefaultSAXHandler())) + +// Line: 340 +// #define xmlDefaultSAXLocator \ +// (*(__xmlDefaultSAXLocator())) + +// Line: 348 +// #define xmlDoValidityCheckingDefaultValue \ +// (*(__xmlDoValidityCheckingDefaultValue())) + +// Line: 357 +// #define xmlGenericError \ +// (*(__xmlGenericError())) + +// Line: 365 +// #define xmlStructuredError \ +// (*(__xmlStructuredError())) + +// Line: 373 +// #define xmlGenericErrorContext \ +// (*(__xmlGenericErrorContext())) + +// Line: 381 +// #define xmlStructuredErrorContext \ +// (*(__xmlStructuredErrorContext())) + +// Line: 389 +// #define xmlGetWarningsDefaultValue \ +// (*(__xmlGetWarningsDefaultValue())) + +// Line: 398 +// #define xmlIndentTreeOutput \ +// (*(__xmlIndentTreeOutput())) + +// Line: 407 +// #define xmlTreeIndentString \ +// (*(__xmlTreeIndentString())) + +// Line: 416 +// #define xmlKeepBlanksDefaultValue \ +// (*(__xmlKeepBlanksDefaultValue())) + +// Line: 425 +// #define xmlLineNumbersDefaultValue \ +// (*(__xmlLineNumbersDefaultValue())) + +// Line: 434 +// #define xmlLoadExtDtdDefaultValue \ +// (*(__xmlLoadExtDtdDefaultValue())) + +// Line: 443 +// #define xmlParserDebugEntities \ +// (*(__xmlParserDebugEntities())) + +// Line: 452 +// #define xmlParserVersion \ +// (*(__xmlParserVersion())) + +// Line: 460 +// #define xmlPedanticParserDefaultValue \ +// (*(__xmlPedanticParserDefaultValue())) + +// Line: 469 +// #define xmlSaveNoEmptyTags \ +// (*(__xmlSaveNoEmptyTags())) + +// Line: 478 +// #define xmlSubstituteEntitiesDefaultValue \ +// (*(__xmlSubstituteEntitiesDefaultValue())) + +// Line: 487 +// #define xmlRegisterNodeDefaultValue \ +// (*(__xmlRegisterNodeDefaultValue())) + +// Line: 495 +// #define xmlDeregisterNodeDefaultValue \ +// (*(__xmlDeregisterNodeDefaultValue())) + +// Line: 504 +// #define xmlParserInputBufferCreateFilenameValue \ +// (*(__xmlParserInputBufferCreateFilenameValue())) + +// Line: 512 +// #define xmlOutputBufferCreateFilenameValue \ +// (*(__xmlOutputBufferCreateFilenameValue())) + diff --git a/macrodefs_enums/ios/libxml/nanoftp.h b/macrodefs_enums/ios/libxml/nanoftp.h new file mode 100644 index 000000000..c29c9710d --- /dev/null +++ b/macrodefs_enums/ios/libxml/nanoftp.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/nanoftp.h + +enum macro_invalid_socket { +/*line: 35*/ INVALID_SOCKET = -0x1, // (-1) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 27 +// #define SOCKET int + diff --git a/macrodefs_enums/ios/libxml/parser.h b/macrodefs_enums/ios/libxml/parser.h new file mode 100644 index 000000000..612c76d0b --- /dev/null +++ b/macrodefs_enums/ios/libxml/parser.h @@ -0,0 +1,37 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/parser.h + +enum macro_dtd_flags { +/** + * XML_DETECT_IDS: + * + * Bit in the loadsubset context field to tell to do ID/REFs lookups. + * Use it to initialize xmlLoadExtDtdDefaultValue. + */ +/*line: 139*/ XML_DETECT_IDS = 0x2, // 2 +/** + * XML_COMPLETE_ATTRS: + * + * Bit in the loadsubset context field to tell to do complete the + * elements attributes lists with the ones defaulted from the DTDs. + * Use it to initialize xmlLoadExtDtdDefaultValue. + */ +/*line: 148*/ XML_COMPLETE_ATTRS = 0x4, // 4 +/** + * XML_SKIP_IDS: + * + * Bit in the loadsubset context field to tell to not do ID/REFs registration. + * Used to initialize xmlLoadExtDtdDefaultValue in some special cases. + */ +/*line: 156*/ XML_SKIP_IDS = 0x8, // 8 +}; + +enum macro_xml_sax2_magic { +/** + * XML_SAX2_MAGIC: + * + * Special constant found in SAX2 blocks initialized fields + */ +/*line: 673*/ XML_SAX2_MAGIC = 0xdeedbeaf, // 0xDEEDBEAF +}; + diff --git a/macrodefs_enums/ios/libxml/parserInternals.h b/macrodefs_enums/ios/libxml/parserInternals.h new file mode 100644 index 000000000..49c1dbccf --- /dev/null +++ b/macrodefs_enums/ios/libxml/parserInternals.h @@ -0,0 +1,100 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/parserInternals.h + +enum macro_max_text_length { +/** + * XML_MAX_TEXT_LENGTH: + * + * Maximum size allowed for a single text node when building a tree. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +/*line: 41*/ XML_MAX_TEXT_LENGTH = 0x989680, // 10000000 +}; + +enum macro_max_name_length { +/** + * XML_MAX_NAME_LENGTH: + * + * Maximum size allowed for a markup identifier. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Note that with the use of parsing dictionaries overriding the limit + * may result in more runtime memory usage in face of "unfriendly' content + * Introduced in 2.9.0 + */ +/*line: 53*/ XML_MAX_NAME_LENGTH = 0xc350, // 50000 +}; + +enum macro_max_dictionary_limit { +/** + * XML_MAX_DICTIONARY_LIMIT: + * + * Maximum size allowed by the parser for a dictionary by default + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +/*line: 63*/ XML_MAX_DICTIONARY_LIMIT = 0x989680, // 10000000 +}; + +enum macro_max_lookup_limit { +/** + * XML_MAX_LOOKUP_LIMIT: + * + * Maximum size allowed by the parser for ahead lookup + * This is an upper boundary enforced by the parser to avoid bad + * behaviour on "unfriendly' content + * Introduced in 2.9.0 + */ +/*line: 73*/ XML_MAX_LOOKUP_LIMIT = 0x989680, // 10000000 +}; + +enum macro_max_namelen { +/** + * XML_MAX_NAMELEN: + * + * Identifiers can be longer, but this will be more costly + * at runtime. + */ +/*line: 81*/ XML_MAX_NAMELEN = 0x64, // 100 +}; + +enum macro_input_chunk { +/** + * INPUT_CHUNK: + * + * The parser tries to always have that amount of input ready. + * One of the point is providing context when reporting errors. + */ +/*line: 89*/ INPUT_CHUNK = 0xfa, // 250 +}; + +enum macro_entity_substitution { +/** + * XML_SUBSTITUTE_NONE: + * + * If no entities need to be substituted. + */ +/*line: 501*/ XML_SUBSTITUTE_NONE = 0x0, // 0 +/** + * XML_SUBSTITUTE_REF: + * + * Whether general entities need to be substituted. + */ +/*line: 507*/ XML_SUBSTITUTE_REF = 0x1, // 1 +/** + * XML_SUBSTITUTE_PEREF: + * + * Whether parameter entities need to be substituted. + */ +/*line: 513*/ XML_SUBSTITUTE_PEREF = 0x2, // 2 +/** + * XML_SUBSTITUTE_BOTH: + * + * Both general and parameter entities need to be substituted. + */ +/*line: 519*/ XML_SUBSTITUTE_BOTH = 0x3, // 3 +}; + diff --git a/macrodefs_enums/ios/libxml/schemasInternals.h b/macrodefs_enums/ios/libxml/schemasInternals.h new file mode 100644 index 000000000..a94f54f40 --- /dev/null +++ b/macrodefs_enums/ios/libxml/schemasInternals.h @@ -0,0 +1,541 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/schemasInternals.h + +enum macro_xml_schema_flags { +/** + * XML_SCHEMAS_ANYATTR_SKIP: + * + * Skip unknown attribute from validation + * Obsolete, not used anymore. + */ +/*line: 161*/ XML_SCHEMAS_ANYATTR_SKIP = 0x1, // 1 +/** + * XML_SCHEMAS_ANYATTR_LAX: + * + * Ignore validation non definition on attributes + * Obsolete, not used anymore. + */ +/*line: 168*/ XML_SCHEMAS_ANYATTR_LAX = 0x2, // 2 +/** + * XML_SCHEMAS_ANYATTR_STRICT: + * + * Apply strict validation rules on attributes + * Obsolete, not used anymore. + */ +/*line: 175*/ XML_SCHEMAS_ANYATTR_STRICT = 0x3, // 3 +/** + * XML_SCHEMAS_ANY_SKIP: + * + * Skip unknown attribute from validation + */ +/*line: 181*/ XML_SCHEMAS_ANY_SKIP = 0x1, // 1 +/** + * XML_SCHEMAS_ANY_LAX: + * + * Used by wildcards. + * Validate if type found, don't worry if not found + */ +/*line: 188*/ XML_SCHEMAS_ANY_LAX = 0x2, // 2 +/** + * XML_SCHEMAS_ANY_STRICT: + * + * Used by wildcards. + * Apply strict validation rules + */ +/*line: 195*/ XML_SCHEMAS_ANY_STRICT = 0x3, // 3 +/** + * XML_SCHEMAS_ATTR_USE_PROHIBITED: + * + * Used by wildcards. + * The attribute is prohibited. + */ +/*line: 202*/ XML_SCHEMAS_ATTR_USE_PROHIBITED = 0x0, // 0 +/** + * XML_SCHEMAS_ATTR_USE_REQUIRED: + * + * The attribute is required. + */ +/*line: 208*/ XML_SCHEMAS_ATTR_USE_REQUIRED = 0x1, // 1 +/** + * XML_SCHEMAS_ATTR_USE_OPTIONAL: + * + * The attribute is optional. + */ +/*line: 214*/ XML_SCHEMAS_ATTR_USE_OPTIONAL = 0x2, // 2 +/** + * XML_SCHEMAS_ATTR_GLOBAL: + * + * allow elements in no namespace + */ +/*line: 220*/ XML_SCHEMAS_ATTR_GLOBAL = 0x1, // 1<<0 +/** + * XML_SCHEMAS_ATTR_NSDEFAULT: + * + * allow elements in no namespace + */ +/*line: 226*/ XML_SCHEMAS_ATTR_NSDEFAULT = 0x80, // 1<<7 +/** + * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED: + * + * this is set when the "type" and "ref" references + * have been resolved. + */ +/*line: 233*/ XML_SCHEMAS_ATTR_INTERNAL_RESOLVED = 0x100, // 1<<8 +/** + * XML_SCHEMAS_ATTR_FIXED: + * + * the attribute has a fixed value + */ +/*line: 239*/ XML_SCHEMAS_ATTR_FIXED = 0x200, // 1<<9 +}; + +enum macro_wildcard_complete { +/** + * XML_SCHEMAS_WILDCARD_COMPLETE: + * + * If the wildcard is complete. + */ +/*line: 288*/ XML_SCHEMAS_WILDCARD_COMPLETE = 0x1, // 1<<0 +}; + +enum macro_attrgroup_flags { +/** + * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: + * + * The attribute wildcard has been built. + */ +/*line: 326*/ XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED = 0x1, // 1<<0 +/** + * XML_SCHEMAS_ATTRGROUP_GLOBAL: + * + * The attribute group has been defined. + */ +/*line: 332*/ XML_SCHEMAS_ATTRGROUP_GLOBAL = 0x2, // 1<<1 +/** + * XML_SCHEMAS_ATTRGROUP_MARKED: + * + * Marks the attr group as marked; used for circular checks. + */ +/*line: 338*/ XML_SCHEMAS_ATTRGROUP_MARKED = 0x4, // 1<<2 +/** + * XML_SCHEMAS_ATTRGROUP_REDEFINED: + * + * The attr group was redefined. + */ +/*line: 345*/ XML_SCHEMAS_ATTRGROUP_REDEFINED = 0x8, // 1<<3 +/** + * XML_SCHEMAS_ATTRGROUP_HAS_REFS: + * + * Whether this attr. group contains attr. group references. + */ +/*line: 351*/ XML_SCHEMAS_ATTRGROUP_HAS_REFS = 0x10, // 1<<4 +}; + +enum macro_xml_schemas_types { +/** + * XML_SCHEMAS_TYPE_MIXED: + * + * the element content type is mixed + */ +/*line: 408*/ XML_SCHEMAS_TYPE_MIXED = 0x1, // 1<<0 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION: + * + * the simple or complex type has a derivation method of "extension". + */ +/*line: 414*/ XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION = 0x2, // 1<<1 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION: + * + * the simple or complex type has a derivation method of "restriction". + */ +/*line: 420*/ XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION = 0x4, // 1<<2 +/** + * XML_SCHEMAS_TYPE_GLOBAL: + * + * the type is global + */ +/*line: 426*/ XML_SCHEMAS_TYPE_GLOBAL = 0x8, // 1<<3 +/** + * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD: + * + * the complexType owns an attribute wildcard, i.e. + * it can be freed by the complexType + */ +/*line: 433*/ XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD = 0x10, /* Obsolete. */ // 1<<4 +/** + * XML_SCHEMAS_TYPE_VARIETY_ABSENT: + * + * the simpleType has a variety of "absent". + * TODO: Actually not necessary :-/, since if + * none of the variety flags occur then it's + * automatically absent. + */ +/*line: 442*/ XML_SCHEMAS_TYPE_VARIETY_ABSENT = 0x20, // 1<<5 +/** + * XML_SCHEMAS_TYPE_VARIETY_LIST: + * + * the simpleType has a variety of "list". + */ +/*line: 448*/ XML_SCHEMAS_TYPE_VARIETY_LIST = 0x40, // 1<<6 +/** + * XML_SCHEMAS_TYPE_VARIETY_UNION: + * + * the simpleType has a variety of "union". + */ +/*line: 454*/ XML_SCHEMAS_TYPE_VARIETY_UNION = 0x80, // 1<<7 +/** + * XML_SCHEMAS_TYPE_VARIETY_ATOMIC: + * + * the simpleType has a variety of "union". + */ +/*line: 460*/ XML_SCHEMAS_TYPE_VARIETY_ATOMIC = 0x100, // 1<<8 +/** + * XML_SCHEMAS_TYPE_FINAL_EXTENSION: + * + * the complexType has a final of "extension". + */ +/*line: 466*/ XML_SCHEMAS_TYPE_FINAL_EXTENSION = 0x200, // 1<<9 +/** + * XML_SCHEMAS_TYPE_FINAL_RESTRICTION: + * + * the simpleType/complexType has a final of "restriction". + */ +/*line: 472*/ XML_SCHEMAS_TYPE_FINAL_RESTRICTION = 0x400, // 1<<10 +/** + * XML_SCHEMAS_TYPE_FINAL_LIST: + * + * the simpleType has a final of "list". + */ +/*line: 478*/ XML_SCHEMAS_TYPE_FINAL_LIST = 0x800, // 1<<11 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +/*line: 484*/ XML_SCHEMAS_TYPE_FINAL_UNION = 0x1000, // 1<<12 +/** + * XML_SCHEMAS_TYPE_FINAL_DEFAULT: + * + * the simpleType has a final of "default". + */ +/*line: 490*/ XML_SCHEMAS_TYPE_FINAL_DEFAULT = 0x2000, // 1<<13 +/** + * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE: + * + * Marks the item as a builtin primitive. + */ +/*line: 496*/ XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE = 0x4000, // 1<<14 +/** + * XML_SCHEMAS_TYPE_MARKED: + * + * Marks the item as marked; used for circular checks. + */ +/*line: 502*/ XML_SCHEMAS_TYPE_MARKED = 0x10000, // 1<<16 +/** + * XML_SCHEMAS_TYPE_BLOCK_DEFAULT: + * + * the complexType did not specify 'block' so use the default of the + * item. + */ +/*line: 509*/ XML_SCHEMAS_TYPE_BLOCK_DEFAULT = 0x20000, // 1<<17 +/** + * XML_SCHEMAS_TYPE_BLOCK_EXTENSION: + * + * the complexType has a 'block' of "extension". + */ +/*line: 515*/ XML_SCHEMAS_TYPE_BLOCK_EXTENSION = 0x40000, // 1<<18 +/** + * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION: + * + * the complexType has a 'block' of "restriction". + */ +/*line: 521*/ XML_SCHEMAS_TYPE_BLOCK_RESTRICTION = 0x80000, // 1<<19 +/** + * XML_SCHEMAS_TYPE_ABSTRACT: + * + * the simple/complexType is abstract. + */ +/*line: 527*/ XML_SCHEMAS_TYPE_ABSTRACT = 0x100000, // 1<<20 +/** + * XML_SCHEMAS_TYPE_FACETSNEEDVALUE: + * + * indicates if the facets need a computed value + */ +/*line: 533*/ XML_SCHEMAS_TYPE_FACETSNEEDVALUE = 0x200000, // 1<<21 +/** + * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED: + * + * indicates that the type was typefixed + */ +/*line: 539*/ XML_SCHEMAS_TYPE_INTERNAL_RESOLVED = 0x400000, // 1<<22 +/** + * XML_SCHEMAS_TYPE_INTERNAL_INVALID: + * + * indicates that the type is invalid + */ +/*line: 545*/ XML_SCHEMAS_TYPE_INTERNAL_INVALID = 0x800000, // 1<<23 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE: + * + * a whitespace-facet value of "preserve" + */ +/*line: 551*/ XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE = 0x1000000, // 1<<24 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE: + * + * a whitespace-facet value of "replace" + */ +/*line: 557*/ XML_SCHEMAS_TYPE_WHITESPACE_REPLACE = 0x2000000, // 1<<25 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE: + * + * a whitespace-facet value of "collapse" + */ +/*line: 563*/ XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE = 0x4000000, // 1<<26 +/** + * XML_SCHEMAS_TYPE_HAS_FACETS: + * + * has facets + */ +/*line: 569*/ XML_SCHEMAS_TYPE_HAS_FACETS = 0x8000000, // 1<<27 +/** + * XML_SCHEMAS_TYPE_NORMVALUENEEDED: + * + * indicates if the facets (pattern) need a normalized value + */ +/*line: 575*/ XML_SCHEMAS_TYPE_NORMVALUENEEDED = 0x10000000, // 1<<28 +}; + +enum macro_xml_schemas_type_fixup { +/** + * XML_SCHEMAS_TYPE_FIXUP_1: + * + * First stage of fixup was done. + */ +/*line: 582*/ XML_SCHEMAS_TYPE_FIXUP_1 = 0x20000000, // 1<<29 +}; + +enum macro_type_redefined { +/** + * XML_SCHEMAS_TYPE_REDEFINED: + * + * The type was redefined. + */ +/*line: 589*/ XML_SCHEMAS_TYPE_REDEFINED = 0x40000000, // 1<<30 +}; + +enum macro_element_flags { +/** + * XML_SCHEMAS_ELEM_NILLABLE: + * + * the element is nillable + */ +/*line: 649*/ XML_SCHEMAS_ELEM_NILLABLE = 0x1, // 1<<0 +/** + * XML_SCHEMAS_ELEM_GLOBAL: + * + * the element is global + */ +/*line: 655*/ XML_SCHEMAS_ELEM_GLOBAL = 0x2, // 1<<1 +/** + * XML_SCHEMAS_ELEM_DEFAULT: + * + * the element has a default value + */ +/*line: 661*/ XML_SCHEMAS_ELEM_DEFAULT = 0x4, // 1<<2 +/** + * XML_SCHEMAS_ELEM_FIXED: + * + * the element has a fixed value + */ +/*line: 667*/ XML_SCHEMAS_ELEM_FIXED = 0x8, // 1<<3 +/** + * XML_SCHEMAS_ELEM_ABSTRACT: + * + * the element is abstract + */ +/*line: 673*/ XML_SCHEMAS_ELEM_ABSTRACT = 0x10, // 1<<4 +/** + * XML_SCHEMAS_ELEM_TOPLEVEL: + * + * the element is top level + * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead + */ +/*line: 680*/ XML_SCHEMAS_ELEM_TOPLEVEL = 0x20, // 1<<5 +/** + * XML_SCHEMAS_ELEM_REF: + * + * the element is a reference to a type + */ +/*line: 686*/ XML_SCHEMAS_ELEM_REF = 0x40, // 1<<6 +/** + * XML_SCHEMAS_ELEM_NSDEFAULT: + * + * allow elements in no namespace + * Obsolete, not used anymore. + */ +/*line: 693*/ XML_SCHEMAS_ELEM_NSDEFAULT = 0x80, // 1<<7 +/** + * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED: + * + * this is set when "type", "ref", "substitutionGroup" + * references have been resolved. + */ +/*line: 700*/ XML_SCHEMAS_ELEM_INTERNAL_RESOLVED = 0x100, // 1<<8 +/** + * XML_SCHEMAS_ELEM_CIRCULAR: + * + * a helper flag for the search of circular references. + */ +/*line: 706*/ XML_SCHEMAS_ELEM_CIRCULAR = 0x200, // 1<<9 +/** + * XML_SCHEMAS_ELEM_BLOCK_ABSENT: + * + * the "block" attribute is absent + */ +/*line: 712*/ XML_SCHEMAS_ELEM_BLOCK_ABSENT = 0x400, // 1<<10 +/** + * XML_SCHEMAS_ELEM_BLOCK_EXTENSION: + * + * disallowed substitutions are absent + */ +/*line: 718*/ XML_SCHEMAS_ELEM_BLOCK_EXTENSION = 0x800, // 1<<11 +/** + * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION: + * + * disallowed substitutions: "restriction" + */ +/*line: 724*/ XML_SCHEMAS_ELEM_BLOCK_RESTRICTION = 0x1000, // 1<<12 +/** + * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: + * + * disallowed substitutions: "substitution" + */ +/*line: 730*/ XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION = 0x2000, // 1<<13 +/** + * XML_SCHEMAS_ELEM_FINAL_ABSENT: + * + * substitution group exclusions are absent + */ +/*line: 736*/ XML_SCHEMAS_ELEM_FINAL_ABSENT = 0x4000, // 1<<14 +/** + * XML_SCHEMAS_ELEM_FINAL_EXTENSION: + * + * substitution group exclusions: "extension" + */ +/*line: 742*/ XML_SCHEMAS_ELEM_FINAL_EXTENSION = 0x8000, // 1<<15 +/** + * XML_SCHEMAS_ELEM_FINAL_RESTRICTION: + * + * substitution group exclusions: "restriction" + */ +/*line: 748*/ XML_SCHEMAS_ELEM_FINAL_RESTRICTION = 0x10000, // 1<<16 +/** + * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD: + * + * the declaration is a substitution group head + */ +/*line: 754*/ XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD = 0x20000, // 1<<17 +/** + * XML_SCHEMAS_ELEM_INTERNAL_CHECKED: + * + * this is set when the elem decl has been checked against + * all constraints + */ +/*line: 761*/ XML_SCHEMAS_ELEM_INTERNAL_CHECKED = 0x40000, // 1<<18 +}; + +enum macro_facet_handling { +/* + * XML_SCHEMAS_FACET_UNKNOWN: + * + * unknown facet handling + */ +/*line: 801*/ XML_SCHEMAS_FACET_UNKNOWN = 0x0, // 0 +/* + * XML_SCHEMAS_FACET_PRESERVE: + * + * preserve the type of the facet + */ +/*line: 807*/ XML_SCHEMAS_FACET_PRESERVE = 0x1, // 1 +/* + * XML_SCHEMAS_FACET_REPLACE: + * + * replace the type of the facet + */ +/*line: 813*/ XML_SCHEMAS_FACET_REPLACE = 0x2, // 2 +/* + * XML_SCHEMAS_FACET_COLLAPSE: + * + * collapse the types of the facet + */ +/*line: 819*/ XML_SCHEMAS_FACET_COLLAPSE = 0x3, // 3 +}; + +enum macro_schema_flags { +/** + * XML_SCHEMAS_QUALIF_ELEM: + * + * Reflects elementFormDefault == qualified in + * an XML schema document. + */ +/*line: 861*/ XML_SCHEMAS_QUALIF_ELEM = 0x1, // 1<<0 +/** + * XML_SCHEMAS_QUALIF_ATTR: + * + * Reflects attributeFormDefault == qualified in + * an XML schema document. + */ +/*line: 868*/ XML_SCHEMAS_QUALIF_ATTR = 0x2, // 1<<1 +/** + * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of finalDefault. + */ +/*line: 874*/ XML_SCHEMAS_FINAL_DEFAULT_EXTENSION = 0x4, // 1<<2 +/** + * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of finalDefault. + */ +/*line: 880*/ XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION = 0x8, // 1<<3 +/** + * XML_SCHEMAS_FINAL_DEFAULT_LIST: + * + * the schema has "list" in the set of finalDefault. + */ +/*line: 886*/ XML_SCHEMAS_FINAL_DEFAULT_LIST = 0x10, // 1<<4 +/** + * XML_SCHEMAS_FINAL_DEFAULT_UNION: + * + * the schema has "union" in the set of finalDefault. + */ +/*line: 892*/ XML_SCHEMAS_FINAL_DEFAULT_UNION = 0x20, // 1<<5 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of blockDefault. + */ +/*line: 898*/ XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION = 0x40, // 1<<6 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of blockDefault. + */ +/*line: 904*/ XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION = 0x80, // 1<<7 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION: + * + * the schema has "substitution" in the set of blockDefault. + */ +/*line: 910*/ XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION = 0x100, // 1<<8 +/** + * XML_SCHEMAS_INCLUDING_CONVERT_NS: + * + * the schema is currently including an other schema with + * no target namespace. + */ +/*line: 917*/ XML_SCHEMAS_INCLUDING_CONVERT_NS = 0x200, // 1<<9 +}; + diff --git a/macrodefs_enums/ios/libxml/tree.h b/macrodefs_enums/ios/libxml/tree.h new file mode 100644 index 000000000..0148a497d --- /dev/null +++ b/macrodefs_enums/ios/libxml/tree.h @@ -0,0 +1,22 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/tree.h + +enum macro_base_buffer_size { +/** + * BASE_BUFFER_SIZE: + * + * default buffer size 4000. + */ +/*line: 56*/ BASE_BUFFER_SIZE = 0x1000, // 4096 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 374 +// #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL + +// Line: 638 +// #define xmlChildrenNode children + +// Line: 648 +// #define xmlRootNode children + diff --git a/macrodefs_enums/ios/libxml/xinclude.h b/macrodefs_enums/ios/libxml/xinclude.h new file mode 100644 index 000000000..1476e4a81 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xinclude.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xinclude.h + diff --git a/macrodefs_enums/ios/libxml/xmlexports.h b/macrodefs_enums/ios/libxml/xmlexports.h new file mode 100644 index 000000000..b02bd5ff6 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xmlexports.h @@ -0,0 +1,13 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlexports.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 61 +// #define XMLPUBFUN XMLPUBLIC + +// Line: 68 +// #define XMLPUBVAR XMLPUBLIC extern + +// Line: 72 +// #define LIBXML_DLL_IMPORT XMLPUBVAR + diff --git a/macrodefs_enums/ios/libxml/xmlstring.h b/macrodefs_enums/ios/libxml/xmlstring.h new file mode 100644 index 000000000..7d5e46d24 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xmlstring.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlstring.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 35 +// #define BAD_CAST (xmlChar *) + diff --git a/macrodefs_enums/ios/libxml/xmlversion.h b/macrodefs_enums/ios/libxml/xmlversion.h new file mode 100644 index 000000000..d79659ad2 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xmlversion.h @@ -0,0 +1,19 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlversion.h + +enum macro_libxml_version { +/** + * LIBXML_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +/*line: 44*/ LIBXML_VERSION = 0x51b1, // 20913 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 66 +// #define LIBXML_TEST_VERSION xmlCheckVersion(20913); + +// Line: 435 +// #define ATTRIBUTE_UNUSED __attribute__((unused)) + diff --git a/macrodefs_enums/ios/libxml/xmlwriter.h b/macrodefs_enums/ios/libxml/xmlwriter.h new file mode 100644 index 000000000..b72ec86f9 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xmlwriter.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlwriter.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 275 +// #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI + +// Line: 337 +// #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD + diff --git a/macrodefs_enums/ios/libxml/xpath.h b/macrodefs_enums/ios/libxml/xpath.h new file mode 100644 index 000000000..cfd099ea7 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xpath.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xpath.h + +enum macro_xpath_flags { +/** + * XML_XPATH_CHECKNS: + * + * check namespaces at compilation + */ +/*line: 277*/ XML_XPATH_CHECKNS = 0x1, // (1<<0) +/** + * XML_XPATH_NOVAR: + * + * forbid variables in expression + */ +/*line: 283*/ XML_XPATH_NOVAR = 0x2, // (1<<1) +}; + diff --git a/macrodefs_enums/ios/libxml/xpathInternals.h b/macrodefs_enums/ios/libxml/xpathInternals.h new file mode 100644 index 000000000..7352b46d6 --- /dev/null +++ b/macrodefs_enums/ios/libxml/xpathInternals.h @@ -0,0 +1,22 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xpathInternals.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 239 +// #define CHECK_ERROR if (ctxt->error != XPATH_EXPRESSION_OK) return + +// Line: 247 +// #define CHECK_ERROR0 if (ctxt->error != XPATH_EXPRESSION_OK) return(0) + +// Line: 308 +// #define CAST_TO_STRING if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ +// xmlXPathStringFunction(ctxt, 1); + +// Line: 317 +// #define CAST_TO_NUMBER if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ +// xmlXPathNumberFunction(ctxt, 1); + +// Line: 326 +// #define CAST_TO_BOOLEAN if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ +// xmlXPathBooleanFunction(ctxt, 1); + diff --git a/macrodefs_enums/ios/libxml2/libxml/DOCBparser.h b/macrodefs_enums/ios/libxml2/libxml/DOCBparser.h new file mode 100644 index 000000000..25bfb22f0 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/DOCBparser.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/DOCBparser.h + diff --git a/macrodefs_enums/ios/libxml2/libxml/HTMLtree.h b/macrodefs_enums/ios/libxml2/libxml/HTMLtree.h new file mode 100644 index 000000000..a840b1e4a --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/HTMLtree.h @@ -0,0 +1,19 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/HTMLtree.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 32 +// #define HTML_TEXT_NODE XML_TEXT_NODE + +// Line: 39 +// #define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE + +// Line: 46 +// #define HTML_COMMENT_NODE XML_COMMENT_NODE + +// Line: 53 +// #define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE + +// Line: 60 +// #define HTML_PI_NODE XML_PI_NODE + diff --git a/macrodefs_enums/ios/libxml2/libxml/catalog.h b/macrodefs_enums/ios/libxml2/libxml/catalog.h new file mode 100644 index 000000000..e032268dc --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/catalog.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/catalog.h + diff --git a/macrodefs_enums/ios/libxml2/libxml/encoding.h b/macrodefs_enums/ios/libxml2/libxml/encoding.h new file mode 100644 index 000000000..02adb6786 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/encoding.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/encoding.h + +enum macro_icu_pivot_buf_size { +/*line: 141*/ ICU_PIVOT_BUF_SIZE = 0x400, // 1024 +}; + diff --git a/macrodefs_enums/ios/libxml2/libxml/globals.h b/macrodefs_enums/ios/libxml2/libxml/globals.h new file mode 100644 index 000000000..51673f935 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/globals.h @@ -0,0 +1,116 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/globals.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 271 +// #define docbDefaultSAXHandler \ +// (*(__docbDefaultSAXHandler())) + +// Line: 281 +// #define htmlDefaultSAXHandler \ +// (*(__htmlDefaultSAXHandler())) + +// Line: 290 +// #define xmlLastError \ +// (*(__xmlLastError())) + +// Line: 305 +// #define oldXMLWDcompatibility \ +// (*(__oldXMLWDcompatibility())) + +// Line: 313 +// #define xmlBufferAllocScheme \ +// (*(__xmlBufferAllocScheme())) + +// Line: 323 +// #define xmlDefaultBufferSize \ +// (*(__xmlDefaultBufferSize())) + +// Line: 332 +// #define xmlDefaultSAXHandler \ +// (*(__xmlDefaultSAXHandler())) + +// Line: 340 +// #define xmlDefaultSAXLocator \ +// (*(__xmlDefaultSAXLocator())) + +// Line: 348 +// #define xmlDoValidityCheckingDefaultValue \ +// (*(__xmlDoValidityCheckingDefaultValue())) + +// Line: 357 +// #define xmlGenericError \ +// (*(__xmlGenericError())) + +// Line: 365 +// #define xmlStructuredError \ +// (*(__xmlStructuredError())) + +// Line: 373 +// #define xmlGenericErrorContext \ +// (*(__xmlGenericErrorContext())) + +// Line: 381 +// #define xmlStructuredErrorContext \ +// (*(__xmlStructuredErrorContext())) + +// Line: 389 +// #define xmlGetWarningsDefaultValue \ +// (*(__xmlGetWarningsDefaultValue())) + +// Line: 398 +// #define xmlIndentTreeOutput \ +// (*(__xmlIndentTreeOutput())) + +// Line: 407 +// #define xmlTreeIndentString \ +// (*(__xmlTreeIndentString())) + +// Line: 416 +// #define xmlKeepBlanksDefaultValue \ +// (*(__xmlKeepBlanksDefaultValue())) + +// Line: 425 +// #define xmlLineNumbersDefaultValue \ +// (*(__xmlLineNumbersDefaultValue())) + +// Line: 434 +// #define xmlLoadExtDtdDefaultValue \ +// (*(__xmlLoadExtDtdDefaultValue())) + +// Line: 443 +// #define xmlParserDebugEntities \ +// (*(__xmlParserDebugEntities())) + +// Line: 452 +// #define xmlParserVersion \ +// (*(__xmlParserVersion())) + +// Line: 460 +// #define xmlPedanticParserDefaultValue \ +// (*(__xmlPedanticParserDefaultValue())) + +// Line: 469 +// #define xmlSaveNoEmptyTags \ +// (*(__xmlSaveNoEmptyTags())) + +// Line: 478 +// #define xmlSubstituteEntitiesDefaultValue \ +// (*(__xmlSubstituteEntitiesDefaultValue())) + +// Line: 487 +// #define xmlRegisterNodeDefaultValue \ +// (*(__xmlRegisterNodeDefaultValue())) + +// Line: 495 +// #define xmlDeregisterNodeDefaultValue \ +// (*(__xmlDeregisterNodeDefaultValue())) + +// Line: 504 +// #define xmlParserInputBufferCreateFilenameValue \ +// (*(__xmlParserInputBufferCreateFilenameValue())) + +// Line: 512 +// #define xmlOutputBufferCreateFilenameValue \ +// (*(__xmlOutputBufferCreateFilenameValue())) + diff --git a/macrodefs_enums/ios/libxml2/libxml/nanoftp.h b/macrodefs_enums/ios/libxml2/libxml/nanoftp.h new file mode 100644 index 000000000..c29c9710d --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/nanoftp.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/nanoftp.h + +enum macro_invalid_socket { +/*line: 35*/ INVALID_SOCKET = -0x1, // (-1) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 27 +// #define SOCKET int + diff --git a/macrodefs_enums/ios/libxml2/libxml/parser.h b/macrodefs_enums/ios/libxml2/libxml/parser.h new file mode 100644 index 000000000..5d8dc5700 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/parser.h @@ -0,0 +1,37 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/parser.h + +enum macro_dtd_flags { +/** + * XML_DETECT_IDS: + * + * Bit in the loadsubset context field to tell to do ID/REFs lookups. + * Use it to initialize xmlLoadExtDtdDefaultValue. + */ +/*line: 139*/ XML_DETECT_IDS = 0x2, // 2 +/** + * XML_COMPLETE_ATTRS: + * + * Bit in the loadsubset context field to tell to do complete the + * elements attributes lists with the ones defaulted from the DTDs. + * Use it to initialize xmlLoadExtDtdDefaultValue. + */ +/*line: 148*/ XML_COMPLETE_ATTRS = 0x4, // 4 +/** + * XML_SKIP_IDS: + * + * Bit in the loadsubset context field to tell to not do ID/REFs registration. + * Used to initialize xmlLoadExtDtdDefaultValue in some special cases. + */ +/*line: 156*/ XML_SKIP_IDS = 0x8, // 8 +}; + +enum macro_xml_magic { +/** + * XML_SAX2_MAGIC: + * + * Special constant found in SAX2 blocks initialized fields + */ +/*line: 673*/ XML_SAX2_MAGIC = 0xdeedbeaf, // 0xDEEDBEAF +}; + diff --git a/macrodefs_enums/ios/libxml2/libxml/parserInternals.h b/macrodefs_enums/ios/libxml2/libxml/parserInternals.h new file mode 100644 index 000000000..49c1dbccf --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/parserInternals.h @@ -0,0 +1,100 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/parserInternals.h + +enum macro_max_text_length { +/** + * XML_MAX_TEXT_LENGTH: + * + * Maximum size allowed for a single text node when building a tree. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +/*line: 41*/ XML_MAX_TEXT_LENGTH = 0x989680, // 10000000 +}; + +enum macro_max_name_length { +/** + * XML_MAX_NAME_LENGTH: + * + * Maximum size allowed for a markup identifier. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Note that with the use of parsing dictionaries overriding the limit + * may result in more runtime memory usage in face of "unfriendly' content + * Introduced in 2.9.0 + */ +/*line: 53*/ XML_MAX_NAME_LENGTH = 0xc350, // 50000 +}; + +enum macro_max_dictionary_limit { +/** + * XML_MAX_DICTIONARY_LIMIT: + * + * Maximum size allowed by the parser for a dictionary by default + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +/*line: 63*/ XML_MAX_DICTIONARY_LIMIT = 0x989680, // 10000000 +}; + +enum macro_max_lookup_limit { +/** + * XML_MAX_LOOKUP_LIMIT: + * + * Maximum size allowed by the parser for ahead lookup + * This is an upper boundary enforced by the parser to avoid bad + * behaviour on "unfriendly' content + * Introduced in 2.9.0 + */ +/*line: 73*/ XML_MAX_LOOKUP_LIMIT = 0x989680, // 10000000 +}; + +enum macro_max_namelen { +/** + * XML_MAX_NAMELEN: + * + * Identifiers can be longer, but this will be more costly + * at runtime. + */ +/*line: 81*/ XML_MAX_NAMELEN = 0x64, // 100 +}; + +enum macro_input_chunk { +/** + * INPUT_CHUNK: + * + * The parser tries to always have that amount of input ready. + * One of the point is providing context when reporting errors. + */ +/*line: 89*/ INPUT_CHUNK = 0xfa, // 250 +}; + +enum macro_entity_substitution { +/** + * XML_SUBSTITUTE_NONE: + * + * If no entities need to be substituted. + */ +/*line: 501*/ XML_SUBSTITUTE_NONE = 0x0, // 0 +/** + * XML_SUBSTITUTE_REF: + * + * Whether general entities need to be substituted. + */ +/*line: 507*/ XML_SUBSTITUTE_REF = 0x1, // 1 +/** + * XML_SUBSTITUTE_PEREF: + * + * Whether parameter entities need to be substituted. + */ +/*line: 513*/ XML_SUBSTITUTE_PEREF = 0x2, // 2 +/** + * XML_SUBSTITUTE_BOTH: + * + * Both general and parameter entities need to be substituted. + */ +/*line: 519*/ XML_SUBSTITUTE_BOTH = 0x3, // 3 +}; + diff --git a/macrodefs_enums/ios/libxml2/libxml/schemasInternals.h b/macrodefs_enums/ios/libxml2/libxml/schemasInternals.h new file mode 100644 index 000000000..a94f54f40 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/schemasInternals.h @@ -0,0 +1,541 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/schemasInternals.h + +enum macro_xml_schema_flags { +/** + * XML_SCHEMAS_ANYATTR_SKIP: + * + * Skip unknown attribute from validation + * Obsolete, not used anymore. + */ +/*line: 161*/ XML_SCHEMAS_ANYATTR_SKIP = 0x1, // 1 +/** + * XML_SCHEMAS_ANYATTR_LAX: + * + * Ignore validation non definition on attributes + * Obsolete, not used anymore. + */ +/*line: 168*/ XML_SCHEMAS_ANYATTR_LAX = 0x2, // 2 +/** + * XML_SCHEMAS_ANYATTR_STRICT: + * + * Apply strict validation rules on attributes + * Obsolete, not used anymore. + */ +/*line: 175*/ XML_SCHEMAS_ANYATTR_STRICT = 0x3, // 3 +/** + * XML_SCHEMAS_ANY_SKIP: + * + * Skip unknown attribute from validation + */ +/*line: 181*/ XML_SCHEMAS_ANY_SKIP = 0x1, // 1 +/** + * XML_SCHEMAS_ANY_LAX: + * + * Used by wildcards. + * Validate if type found, don't worry if not found + */ +/*line: 188*/ XML_SCHEMAS_ANY_LAX = 0x2, // 2 +/** + * XML_SCHEMAS_ANY_STRICT: + * + * Used by wildcards. + * Apply strict validation rules + */ +/*line: 195*/ XML_SCHEMAS_ANY_STRICT = 0x3, // 3 +/** + * XML_SCHEMAS_ATTR_USE_PROHIBITED: + * + * Used by wildcards. + * The attribute is prohibited. + */ +/*line: 202*/ XML_SCHEMAS_ATTR_USE_PROHIBITED = 0x0, // 0 +/** + * XML_SCHEMAS_ATTR_USE_REQUIRED: + * + * The attribute is required. + */ +/*line: 208*/ XML_SCHEMAS_ATTR_USE_REQUIRED = 0x1, // 1 +/** + * XML_SCHEMAS_ATTR_USE_OPTIONAL: + * + * The attribute is optional. + */ +/*line: 214*/ XML_SCHEMAS_ATTR_USE_OPTIONAL = 0x2, // 2 +/** + * XML_SCHEMAS_ATTR_GLOBAL: + * + * allow elements in no namespace + */ +/*line: 220*/ XML_SCHEMAS_ATTR_GLOBAL = 0x1, // 1<<0 +/** + * XML_SCHEMAS_ATTR_NSDEFAULT: + * + * allow elements in no namespace + */ +/*line: 226*/ XML_SCHEMAS_ATTR_NSDEFAULT = 0x80, // 1<<7 +/** + * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED: + * + * this is set when the "type" and "ref" references + * have been resolved. + */ +/*line: 233*/ XML_SCHEMAS_ATTR_INTERNAL_RESOLVED = 0x100, // 1<<8 +/** + * XML_SCHEMAS_ATTR_FIXED: + * + * the attribute has a fixed value + */ +/*line: 239*/ XML_SCHEMAS_ATTR_FIXED = 0x200, // 1<<9 +}; + +enum macro_wildcard_complete { +/** + * XML_SCHEMAS_WILDCARD_COMPLETE: + * + * If the wildcard is complete. + */ +/*line: 288*/ XML_SCHEMAS_WILDCARD_COMPLETE = 0x1, // 1<<0 +}; + +enum macro_attrgroup_flags { +/** + * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: + * + * The attribute wildcard has been built. + */ +/*line: 326*/ XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED = 0x1, // 1<<0 +/** + * XML_SCHEMAS_ATTRGROUP_GLOBAL: + * + * The attribute group has been defined. + */ +/*line: 332*/ XML_SCHEMAS_ATTRGROUP_GLOBAL = 0x2, // 1<<1 +/** + * XML_SCHEMAS_ATTRGROUP_MARKED: + * + * Marks the attr group as marked; used for circular checks. + */ +/*line: 338*/ XML_SCHEMAS_ATTRGROUP_MARKED = 0x4, // 1<<2 +/** + * XML_SCHEMAS_ATTRGROUP_REDEFINED: + * + * The attr group was redefined. + */ +/*line: 345*/ XML_SCHEMAS_ATTRGROUP_REDEFINED = 0x8, // 1<<3 +/** + * XML_SCHEMAS_ATTRGROUP_HAS_REFS: + * + * Whether this attr. group contains attr. group references. + */ +/*line: 351*/ XML_SCHEMAS_ATTRGROUP_HAS_REFS = 0x10, // 1<<4 +}; + +enum macro_xml_schemas_types { +/** + * XML_SCHEMAS_TYPE_MIXED: + * + * the element content type is mixed + */ +/*line: 408*/ XML_SCHEMAS_TYPE_MIXED = 0x1, // 1<<0 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION: + * + * the simple or complex type has a derivation method of "extension". + */ +/*line: 414*/ XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION = 0x2, // 1<<1 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION: + * + * the simple or complex type has a derivation method of "restriction". + */ +/*line: 420*/ XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION = 0x4, // 1<<2 +/** + * XML_SCHEMAS_TYPE_GLOBAL: + * + * the type is global + */ +/*line: 426*/ XML_SCHEMAS_TYPE_GLOBAL = 0x8, // 1<<3 +/** + * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD: + * + * the complexType owns an attribute wildcard, i.e. + * it can be freed by the complexType + */ +/*line: 433*/ XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD = 0x10, /* Obsolete. */ // 1<<4 +/** + * XML_SCHEMAS_TYPE_VARIETY_ABSENT: + * + * the simpleType has a variety of "absent". + * TODO: Actually not necessary :-/, since if + * none of the variety flags occur then it's + * automatically absent. + */ +/*line: 442*/ XML_SCHEMAS_TYPE_VARIETY_ABSENT = 0x20, // 1<<5 +/** + * XML_SCHEMAS_TYPE_VARIETY_LIST: + * + * the simpleType has a variety of "list". + */ +/*line: 448*/ XML_SCHEMAS_TYPE_VARIETY_LIST = 0x40, // 1<<6 +/** + * XML_SCHEMAS_TYPE_VARIETY_UNION: + * + * the simpleType has a variety of "union". + */ +/*line: 454*/ XML_SCHEMAS_TYPE_VARIETY_UNION = 0x80, // 1<<7 +/** + * XML_SCHEMAS_TYPE_VARIETY_ATOMIC: + * + * the simpleType has a variety of "union". + */ +/*line: 460*/ XML_SCHEMAS_TYPE_VARIETY_ATOMIC = 0x100, // 1<<8 +/** + * XML_SCHEMAS_TYPE_FINAL_EXTENSION: + * + * the complexType has a final of "extension". + */ +/*line: 466*/ XML_SCHEMAS_TYPE_FINAL_EXTENSION = 0x200, // 1<<9 +/** + * XML_SCHEMAS_TYPE_FINAL_RESTRICTION: + * + * the simpleType/complexType has a final of "restriction". + */ +/*line: 472*/ XML_SCHEMAS_TYPE_FINAL_RESTRICTION = 0x400, // 1<<10 +/** + * XML_SCHEMAS_TYPE_FINAL_LIST: + * + * the simpleType has a final of "list". + */ +/*line: 478*/ XML_SCHEMAS_TYPE_FINAL_LIST = 0x800, // 1<<11 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +/*line: 484*/ XML_SCHEMAS_TYPE_FINAL_UNION = 0x1000, // 1<<12 +/** + * XML_SCHEMAS_TYPE_FINAL_DEFAULT: + * + * the simpleType has a final of "default". + */ +/*line: 490*/ XML_SCHEMAS_TYPE_FINAL_DEFAULT = 0x2000, // 1<<13 +/** + * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE: + * + * Marks the item as a builtin primitive. + */ +/*line: 496*/ XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE = 0x4000, // 1<<14 +/** + * XML_SCHEMAS_TYPE_MARKED: + * + * Marks the item as marked; used for circular checks. + */ +/*line: 502*/ XML_SCHEMAS_TYPE_MARKED = 0x10000, // 1<<16 +/** + * XML_SCHEMAS_TYPE_BLOCK_DEFAULT: + * + * the complexType did not specify 'block' so use the default of the + * item. + */ +/*line: 509*/ XML_SCHEMAS_TYPE_BLOCK_DEFAULT = 0x20000, // 1<<17 +/** + * XML_SCHEMAS_TYPE_BLOCK_EXTENSION: + * + * the complexType has a 'block' of "extension". + */ +/*line: 515*/ XML_SCHEMAS_TYPE_BLOCK_EXTENSION = 0x40000, // 1<<18 +/** + * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION: + * + * the complexType has a 'block' of "restriction". + */ +/*line: 521*/ XML_SCHEMAS_TYPE_BLOCK_RESTRICTION = 0x80000, // 1<<19 +/** + * XML_SCHEMAS_TYPE_ABSTRACT: + * + * the simple/complexType is abstract. + */ +/*line: 527*/ XML_SCHEMAS_TYPE_ABSTRACT = 0x100000, // 1<<20 +/** + * XML_SCHEMAS_TYPE_FACETSNEEDVALUE: + * + * indicates if the facets need a computed value + */ +/*line: 533*/ XML_SCHEMAS_TYPE_FACETSNEEDVALUE = 0x200000, // 1<<21 +/** + * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED: + * + * indicates that the type was typefixed + */ +/*line: 539*/ XML_SCHEMAS_TYPE_INTERNAL_RESOLVED = 0x400000, // 1<<22 +/** + * XML_SCHEMAS_TYPE_INTERNAL_INVALID: + * + * indicates that the type is invalid + */ +/*line: 545*/ XML_SCHEMAS_TYPE_INTERNAL_INVALID = 0x800000, // 1<<23 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE: + * + * a whitespace-facet value of "preserve" + */ +/*line: 551*/ XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE = 0x1000000, // 1<<24 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE: + * + * a whitespace-facet value of "replace" + */ +/*line: 557*/ XML_SCHEMAS_TYPE_WHITESPACE_REPLACE = 0x2000000, // 1<<25 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE: + * + * a whitespace-facet value of "collapse" + */ +/*line: 563*/ XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE = 0x4000000, // 1<<26 +/** + * XML_SCHEMAS_TYPE_HAS_FACETS: + * + * has facets + */ +/*line: 569*/ XML_SCHEMAS_TYPE_HAS_FACETS = 0x8000000, // 1<<27 +/** + * XML_SCHEMAS_TYPE_NORMVALUENEEDED: + * + * indicates if the facets (pattern) need a normalized value + */ +/*line: 575*/ XML_SCHEMAS_TYPE_NORMVALUENEEDED = 0x10000000, // 1<<28 +}; + +enum macro_xml_schemas_type_fixup { +/** + * XML_SCHEMAS_TYPE_FIXUP_1: + * + * First stage of fixup was done. + */ +/*line: 582*/ XML_SCHEMAS_TYPE_FIXUP_1 = 0x20000000, // 1<<29 +}; + +enum macro_type_redefined { +/** + * XML_SCHEMAS_TYPE_REDEFINED: + * + * The type was redefined. + */ +/*line: 589*/ XML_SCHEMAS_TYPE_REDEFINED = 0x40000000, // 1<<30 +}; + +enum macro_element_flags { +/** + * XML_SCHEMAS_ELEM_NILLABLE: + * + * the element is nillable + */ +/*line: 649*/ XML_SCHEMAS_ELEM_NILLABLE = 0x1, // 1<<0 +/** + * XML_SCHEMAS_ELEM_GLOBAL: + * + * the element is global + */ +/*line: 655*/ XML_SCHEMAS_ELEM_GLOBAL = 0x2, // 1<<1 +/** + * XML_SCHEMAS_ELEM_DEFAULT: + * + * the element has a default value + */ +/*line: 661*/ XML_SCHEMAS_ELEM_DEFAULT = 0x4, // 1<<2 +/** + * XML_SCHEMAS_ELEM_FIXED: + * + * the element has a fixed value + */ +/*line: 667*/ XML_SCHEMAS_ELEM_FIXED = 0x8, // 1<<3 +/** + * XML_SCHEMAS_ELEM_ABSTRACT: + * + * the element is abstract + */ +/*line: 673*/ XML_SCHEMAS_ELEM_ABSTRACT = 0x10, // 1<<4 +/** + * XML_SCHEMAS_ELEM_TOPLEVEL: + * + * the element is top level + * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead + */ +/*line: 680*/ XML_SCHEMAS_ELEM_TOPLEVEL = 0x20, // 1<<5 +/** + * XML_SCHEMAS_ELEM_REF: + * + * the element is a reference to a type + */ +/*line: 686*/ XML_SCHEMAS_ELEM_REF = 0x40, // 1<<6 +/** + * XML_SCHEMAS_ELEM_NSDEFAULT: + * + * allow elements in no namespace + * Obsolete, not used anymore. + */ +/*line: 693*/ XML_SCHEMAS_ELEM_NSDEFAULT = 0x80, // 1<<7 +/** + * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED: + * + * this is set when "type", "ref", "substitutionGroup" + * references have been resolved. + */ +/*line: 700*/ XML_SCHEMAS_ELEM_INTERNAL_RESOLVED = 0x100, // 1<<8 +/** + * XML_SCHEMAS_ELEM_CIRCULAR: + * + * a helper flag for the search of circular references. + */ +/*line: 706*/ XML_SCHEMAS_ELEM_CIRCULAR = 0x200, // 1<<9 +/** + * XML_SCHEMAS_ELEM_BLOCK_ABSENT: + * + * the "block" attribute is absent + */ +/*line: 712*/ XML_SCHEMAS_ELEM_BLOCK_ABSENT = 0x400, // 1<<10 +/** + * XML_SCHEMAS_ELEM_BLOCK_EXTENSION: + * + * disallowed substitutions are absent + */ +/*line: 718*/ XML_SCHEMAS_ELEM_BLOCK_EXTENSION = 0x800, // 1<<11 +/** + * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION: + * + * disallowed substitutions: "restriction" + */ +/*line: 724*/ XML_SCHEMAS_ELEM_BLOCK_RESTRICTION = 0x1000, // 1<<12 +/** + * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: + * + * disallowed substitutions: "substitution" + */ +/*line: 730*/ XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION = 0x2000, // 1<<13 +/** + * XML_SCHEMAS_ELEM_FINAL_ABSENT: + * + * substitution group exclusions are absent + */ +/*line: 736*/ XML_SCHEMAS_ELEM_FINAL_ABSENT = 0x4000, // 1<<14 +/** + * XML_SCHEMAS_ELEM_FINAL_EXTENSION: + * + * substitution group exclusions: "extension" + */ +/*line: 742*/ XML_SCHEMAS_ELEM_FINAL_EXTENSION = 0x8000, // 1<<15 +/** + * XML_SCHEMAS_ELEM_FINAL_RESTRICTION: + * + * substitution group exclusions: "restriction" + */ +/*line: 748*/ XML_SCHEMAS_ELEM_FINAL_RESTRICTION = 0x10000, // 1<<16 +/** + * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD: + * + * the declaration is a substitution group head + */ +/*line: 754*/ XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD = 0x20000, // 1<<17 +/** + * XML_SCHEMAS_ELEM_INTERNAL_CHECKED: + * + * this is set when the elem decl has been checked against + * all constraints + */ +/*line: 761*/ XML_SCHEMAS_ELEM_INTERNAL_CHECKED = 0x40000, // 1<<18 +}; + +enum macro_facet_handling { +/* + * XML_SCHEMAS_FACET_UNKNOWN: + * + * unknown facet handling + */ +/*line: 801*/ XML_SCHEMAS_FACET_UNKNOWN = 0x0, // 0 +/* + * XML_SCHEMAS_FACET_PRESERVE: + * + * preserve the type of the facet + */ +/*line: 807*/ XML_SCHEMAS_FACET_PRESERVE = 0x1, // 1 +/* + * XML_SCHEMAS_FACET_REPLACE: + * + * replace the type of the facet + */ +/*line: 813*/ XML_SCHEMAS_FACET_REPLACE = 0x2, // 2 +/* + * XML_SCHEMAS_FACET_COLLAPSE: + * + * collapse the types of the facet + */ +/*line: 819*/ XML_SCHEMAS_FACET_COLLAPSE = 0x3, // 3 +}; + +enum macro_schema_flags { +/** + * XML_SCHEMAS_QUALIF_ELEM: + * + * Reflects elementFormDefault == qualified in + * an XML schema document. + */ +/*line: 861*/ XML_SCHEMAS_QUALIF_ELEM = 0x1, // 1<<0 +/** + * XML_SCHEMAS_QUALIF_ATTR: + * + * Reflects attributeFormDefault == qualified in + * an XML schema document. + */ +/*line: 868*/ XML_SCHEMAS_QUALIF_ATTR = 0x2, // 1<<1 +/** + * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of finalDefault. + */ +/*line: 874*/ XML_SCHEMAS_FINAL_DEFAULT_EXTENSION = 0x4, // 1<<2 +/** + * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of finalDefault. + */ +/*line: 880*/ XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION = 0x8, // 1<<3 +/** + * XML_SCHEMAS_FINAL_DEFAULT_LIST: + * + * the schema has "list" in the set of finalDefault. + */ +/*line: 886*/ XML_SCHEMAS_FINAL_DEFAULT_LIST = 0x10, // 1<<4 +/** + * XML_SCHEMAS_FINAL_DEFAULT_UNION: + * + * the schema has "union" in the set of finalDefault. + */ +/*line: 892*/ XML_SCHEMAS_FINAL_DEFAULT_UNION = 0x20, // 1<<5 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of blockDefault. + */ +/*line: 898*/ XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION = 0x40, // 1<<6 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of blockDefault. + */ +/*line: 904*/ XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION = 0x80, // 1<<7 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION: + * + * the schema has "substitution" in the set of blockDefault. + */ +/*line: 910*/ XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION = 0x100, // 1<<8 +/** + * XML_SCHEMAS_INCLUDING_CONVERT_NS: + * + * the schema is currently including an other schema with + * no target namespace. + */ +/*line: 917*/ XML_SCHEMAS_INCLUDING_CONVERT_NS = 0x200, // 1<<9 +}; + diff --git a/macrodefs_enums/ios/libxml2/libxml/tree.h b/macrodefs_enums/ios/libxml2/libxml/tree.h new file mode 100644 index 000000000..0148a497d --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/tree.h @@ -0,0 +1,22 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/tree.h + +enum macro_base_buffer_size { +/** + * BASE_BUFFER_SIZE: + * + * default buffer size 4000. + */ +/*line: 56*/ BASE_BUFFER_SIZE = 0x1000, // 4096 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 374 +// #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL + +// Line: 638 +// #define xmlChildrenNode children + +// Line: 648 +// #define xmlRootNode children + diff --git a/macrodefs_enums/ios/libxml2/libxml/xinclude.h b/macrodefs_enums/ios/libxml2/libxml/xinclude.h new file mode 100644 index 000000000..73b329c30 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xinclude.h @@ -0,0 +1,3 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xinclude.h + diff --git a/macrodefs_enums/ios/libxml2/libxml/xmlexports.h b/macrodefs_enums/ios/libxml2/libxml/xmlexports.h new file mode 100644 index 000000000..b02bd5ff6 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xmlexports.h @@ -0,0 +1,13 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlexports.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 61 +// #define XMLPUBFUN XMLPUBLIC + +// Line: 68 +// #define XMLPUBVAR XMLPUBLIC extern + +// Line: 72 +// #define LIBXML_DLL_IMPORT XMLPUBVAR + diff --git a/macrodefs_enums/ios/libxml2/libxml/xmlstring.h b/macrodefs_enums/ios/libxml2/libxml/xmlstring.h new file mode 100644 index 000000000..7d5e46d24 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xmlstring.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlstring.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 35 +// #define BAD_CAST (xmlChar *) + diff --git a/macrodefs_enums/ios/libxml2/libxml/xmlversion.h b/macrodefs_enums/ios/libxml2/libxml/xmlversion.h new file mode 100644 index 000000000..d79659ad2 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xmlversion.h @@ -0,0 +1,19 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlversion.h + +enum macro_libxml_version { +/** + * LIBXML_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +/*line: 44*/ LIBXML_VERSION = 0x51b1, // 20913 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 66 +// #define LIBXML_TEST_VERSION xmlCheckVersion(20913); + +// Line: 435 +// #define ATTRIBUTE_UNUSED __attribute__((unused)) + diff --git a/macrodefs_enums/ios/libxml2/libxml/xmlwriter.h b/macrodefs_enums/ios/libxml2/libxml/xmlwriter.h new file mode 100644 index 000000000..b72ec86f9 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xmlwriter.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xmlwriter.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 275 +// #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI + +// Line: 337 +// #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD + diff --git a/macrodefs_enums/ios/libxml2/libxml/xpath.h b/macrodefs_enums/ios/libxml2/libxml/xpath.h new file mode 100644 index 000000000..cfd099ea7 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xpath.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xpath.h + +enum macro_xpath_flags { +/** + * XML_XPATH_CHECKNS: + * + * check namespaces at compilation + */ +/*line: 277*/ XML_XPATH_CHECKNS = 0x1, // (1<<0) +/** + * XML_XPATH_NOVAR: + * + * forbid variables in expression + */ +/*line: 283*/ XML_XPATH_NOVAR = 0x2, // (1<<1) +}; + diff --git a/macrodefs_enums/ios/libxml2/libxml/xpathInternals.h b/macrodefs_enums/ios/libxml2/libxml/xpathInternals.h new file mode 100644 index 000000000..7352b46d6 --- /dev/null +++ b/macrodefs_enums/ios/libxml2/libxml/xpathInternals.h @@ -0,0 +1,22 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/libxml/xpathInternals.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 239 +// #define CHECK_ERROR if (ctxt->error != XPATH_EXPRESSION_OK) return + +// Line: 247 +// #define CHECK_ERROR0 if (ctxt->error != XPATH_EXPRESSION_OK) return(0) + +// Line: 308 +// #define CAST_TO_STRING if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ +// xmlXPathStringFunction(ctxt, 1); + +// Line: 317 +// #define CAST_TO_NUMBER if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ +// xmlXPathNumberFunction(ctxt, 1); + +// Line: 326 +// #define CAST_TO_BOOLEAN if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ +// xmlXPathBooleanFunction(ctxt, 1); + diff --git a/macrodefs_enums/ios/limits.h b/macrodefs_enums/ios/limits.h new file mode 100644 index 000000000..82cfbe74e --- /dev/null +++ b/macrodefs_enums/ios/limits.h @@ -0,0 +1,77 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/limits.h + +enum macro_posix_limits { + /*line: 68*/ _POSIX_ARG_MAX = 0x1000, // 4096 + /*line: 69*/ _POSIX_CHILD_MAX = 0x19, // 25 + /*line: 70*/ _POSIX_LINK_MAX = 0x8, // 8 + /*line: 71*/ _POSIX_MAX_CANON = 0xff, // 255 + /*line: 72*/ _POSIX_MAX_INPUT = 0xff, // 255 + /*line: 73*/ _POSIX_NAME_MAX = 0xe, // 14 + /*line: 74*/ _POSIX_NGROUPS_MAX = 0x8, // 8 + /*line: 75*/ _POSIX_OPEN_MAX = 0x14, // 20 + /*line: 76*/ _POSIX_PATH_MAX = 0x100, // 256 + /*line: 77*/ _POSIX_PIPE_BUF = 0x200, // 512 + /*line: 78*/ _POSIX_SSIZE_MAX = 0x7fff, // 32767 + /*line: 79*/ _POSIX_STREAM_MAX = 0x8, // 8 + /*line: 80*/ _POSIX_TZNAME_MAX = 0x6, // 6 + /*line: 93*/ _POSIX_AIO_LISTIO_MAX = 0x2, // 2 + /*line: 94*/ _POSIX_AIO_MAX = 0x1, // 1 + /*line: 95*/ _POSIX_DELAYTIMER_MAX = 0x20, // 32 + /*line: 96*/ _POSIX_MQ_OPEN_MAX = 0x8, // 8 + /*line: 97*/ _POSIX_MQ_PRIO_MAX = 0x20, // 32 + /*line: 98*/ _POSIX_RTSIG_MAX = 0x8, // 8 + /*line: 99*/ _POSIX_SEM_NSEMS_MAX = 0x100, // 256 + /*line: 100*/ _POSIX_SEM_VALUE_MAX = 0x7fff, // 32767 + /*line: 101*/ _POSIX_SIGQUEUE_MAX = 0x20, // 32 + /*line: 102*/ _POSIX_TIMER_MAX = 0x20, // 32 + /*line: 82*/ _POSIX2_BC_BASE_MAX = 0x63, // 99 + /*line: 83*/ _POSIX2_BC_DIM_MAX = 0x800, // 2048 + /*line: 84*/ _POSIX2_BC_SCALE_MAX = 0x63, // 99 + /*line: 85*/ _POSIX2_BC_STRING_MAX = 0x3e8, // 1000 + /*line: 86*/ _POSIX2_EQUIV_CLASS_MAX = 0x2, // 2 + /*line: 87*/ _POSIX2_EXPR_NEST_MAX = 0x20, // 32 + /*line: 88*/ _POSIX2_LINE_MAX = 0x800, // 2048 + /*line: 89*/ _POSIX2_RE_DUP_MAX = 0xff, // 255 + /*line: 122*/ _POSIX_HOST_NAME_MAX = 0xff, // 255 + /*line: 123*/ _POSIX_LOGIN_NAME_MAX = 0x9, // 9 + /*line: 124*/ _POSIX_SS_REPL_MAX = 0x4, // 4 + /*line: 125*/ _POSIX_SYMLINK_MAX = 0xff, // 255 + /*line: 126*/ _POSIX_SYMLOOP_MAX = 0x8, // 8 + /*line: 127*/ _POSIX_TRACE_EVENT_NAME_MAX = 0x1e, // 30 + /*line: 128*/ _POSIX_TRACE_NAME_MAX = 0x8, // 8 + /*line: 129*/ _POSIX_TRACE_SYS_MAX = 0x8, // 8 + /*line: 130*/ _POSIX_TRACE_USER_EVENT_MAX = 0x20, // 32 + /*line: 131*/ _POSIX_TTY_NAME_MAX = 0x9, // 9 + /*line: 132*/ _POSIX2_CHARCLASS_NAME_MAX = 0xe, // 14 + /*line: 133*/ _POSIX2_COLL_WEIGHTS_MAX = 0x2, // 2 + /*line: 135*/ _POSIX_RE_DUP_MAX = 0xff, // _POSIX2_RE_DUP_MAX + /*line: 108*/ _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4, // 4 + /*line: 109*/ _POSIX_THREAD_KEYS_MAX = 0x80, // 128 + /*line: 110*/ _POSIX_THREAD_THREADS_MAX = 0x40, // 64 + /*line: 104*/ _POSIX_CLOCKRES_MIN = 0x1312d00, // 20000000 + /*line: 112*/ PTHREAD_DESTRUCTOR_ITERATIONS = 0x4, // 4 + /*line: 113*/ PTHREAD_KEYS_MAX = 0x200, // 512 + /*line: 115*/ PTHREAD_STACK_MIN = 0x4000, // 16384 + /*line: 139*/ OFF_MIN = -0x8000000000000000, + /* min value for an off_t */ // LLONG_MIN + /*line: 140*/ OFF_MAX = 0x7fffffffffffffff, + /* max value for an off_t */ // LLONG_MAX + /*line: 148*/ PASS_MAX = 0x80, // 128 +}; + +enum macro_nl_limits { + /*line: 151*/ NL_ARGMAX = 0x9, // 9 + /*line: 152*/ NL_LANGMAX = 0xe, // 14 + /*line: 153*/ NL_MSGMAX = 0x7fff, // 32767 + /*line: 154*/ NL_NMAX = 0x1, // 1 + /*line: 155*/ NL_SETMAX = 0xff, // 255 + /*line: 156*/ NL_TEXTMAX = 0x800, // 2048 +}; + +enum macro_xopen_limits { + /*line: 158*/ _XOPEN_IOV_MAX = 0x10, // 16 + /*line: 159*/ IOV_MAX = 0x400, // 1024 + /*line: 160*/ _XOPEN_NAME_MAX = 0xff, // 255 + /*line: 161*/ _XOPEN_PATH_MAX = 0x400, // 1024 +}; diff --git a/macrodefs_enums/ios/locale.h b/macrodefs_enums/ios/locale.h new file mode 100644 index 000000000..ef556d6d0 --- /dev/null +++ b/macrodefs_enums/ios/locale.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/locale.h + +enum macro_locale_categories { +/*line: 45*/ LC_ALL = 0x0, // 0 +/*line: 46*/ LC_COLLATE = 0x1, // 1 +/*line: 47*/ LC_CTYPE = 0x2, // 2 +/*line: 48*/ LC_MONETARY = 0x3, // 3 +/*line: 49*/ LC_NUMERIC = 0x4, // 4 +/*line: 50*/ LC_TIME = 0x5, // 5 +/*line: 51*/ LC_MESSAGES = 0x6, // 6 +/*line: 53*/ _LC_LAST = 0x7, /* marks end */ // 7 +}; + diff --git a/macrodefs_enums/ios/mach-o/arch.h b/macrodefs_enums/ios/mach-o/arch.h new file mode 100644 index 000000000..25013c359 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/arch.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/arch.h + diff --git a/macrodefs_enums/ios/mach-o/compact_unwind_encoding.h b/macrodefs_enums/ios/mach-o/compact_unwind_encoding.h new file mode 100644 index 000000000..4f0ab4c59 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/compact_unwind_encoding.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/compact_unwind_encoding.h + +enum macro_unwind_flags { +// +/*line: 464*/ UNWIND_SECTION_VERSION = 0x1, // 1 +/*line: 506*/ UNWIND_SECOND_LEVEL_REGULAR = 0x2, // 2 +/*line: 515*/ UNWIND_SECOND_LEVEL_COMPRESSED = 0x3, // 3 +}; + diff --git a/macrodefs_enums/ios/mach-o/dyld.h b/macrodefs_enums/ios/mach-o/dyld.h new file mode 100644 index 000000000..0e6e3570d --- /dev/null +++ b/macrodefs_enums/ios/mach-o/dyld.h @@ -0,0 +1,37 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/dyld.h + +enum macro_nslinkmodule_options { +/*line: 188*/ NSLINKMODULE_OPTION_NONE = 0x0, // 0x0 +/*line: 189*/ NSLINKMODULE_OPTION_BINDNOW = 0x1, // 0x1 +/*line: 190*/ NSLINKMODULE_OPTION_PRIVATE = 0x2, // 0x2 +/*line: 191*/ NSLINKMODULE_OPTION_RETURN_ON_ERROR = 0x4, // 0x4 +/*line: 192*/ NSLINKMODULE_OPTION_DONT_CALL_MOD_INIT_ROUTINES = 0x8, // 0x8 +/*line: 193*/ NSLINKMODULE_OPTION_TRAILING_PHYS_NAME = 0x10, // 0x10 +}; + +enum macro_nsunlink_module_options { +/*line: 196*/ NSUNLINKMODULE_OPTION_NONE = 0x0, // 0x0 +/*line: 197*/ NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED = 0x1, // 0x1 +/*line: 198*/ NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES = 0x2, // 0x2 +}; + +enum macro_lookup_options { +/*line: 209*/ NSLOOKUPSYMBOLINIMAGE_OPTION_BIND = 0x0, // 0x0 +/*line: 210*/ NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW = 0x1, // 0x1 +/*line: 211*/ NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY = 0x2, // 0x2 +/*line: 212*/ NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR = 0x4, // 0x4 +}; + +enum macro_nsaddimage_options { +/*line: 257*/ NSADDIMAGE_OPTION_NONE = 0x0, // 0x0 +/*line: 258*/ NSADDIMAGE_OPTION_RETURN_ON_ERROR = 0x1, // 0x1 +/*line: 259*/ NSADDIMAGE_OPTION_WITH_SEARCHING = 0x2, // 0x2 +/*line: 260*/ NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED = 0x4, // 0x4 +/*line: 261*/ NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME = 0x8, // 0x8 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 39 +// #define DYLD_DRIVERKIT_UNAVAILABLE __API_UNAVAILABLE(driverkit) + diff --git a/macrodefs_enums/ios/mach-o/dyld_images.h b/macrodefs_enums/ios/mach-o/dyld_images.h new file mode 100644 index 000000000..34c696535 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/dyld_images.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/dyld_images.h + +enum macro_aot_image_key_size { +/*line: 93*/ DYLD_AOT_IMAGE_KEY_SIZE = 0x20, // 32 +}; + +enum macro_dyld_max_process_info_notify_count { +/* internal limit */ +/*line: 117*/ DYLD_MAX_PROCESS_INFO_NOTIFY_COUNT = 0x8, // 8 +}; + diff --git a/macrodefs_enums/ios/mach-o/fat.h b/macrodefs_enums/ios/mach-o/fat.h new file mode 100644 index 000000000..a6b0047ba --- /dev/null +++ b/macrodefs_enums/ios/mach-o/fat.h @@ -0,0 +1,17 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/fat.h + +enum macro_fat_magic { +/*line: 54*/ FAT_MAGIC = 0xcafebabe, // 0xcafebabe +/*line: 55*/ FAT_CIGAM = 0xbebafeca, /* NXSwapLong(FAT_MAGIC) */ // 0xbebafeca +/* + * The support for the 64-bit fat file format described here is a work in + * progress and not yet fully supported in all the Apple Developer Tools. + * + * When a slice is greater than 4mb or an offset to a slice is greater than 4mb + * then the 64-bit fat file format is used. + */ +/*line: 77*/ FAT_MAGIC_64 = 0xcafebabf, // 0xcafebabf +/*line: 78*/ FAT_CIGAM_64 = 0xbfbafeca, /* NXSwapLong(FAT_MAGIC_64) */ // 0xbfbafeca +}; + diff --git a/macrodefs_enums/ios/mach-o/fixup-chains.h b/macrodefs_enums/ios/mach-o/fixup-chains.h new file mode 100644 index 000000000..2b5b4d2e1 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/fixup-chains.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/fixup-chains.h + +enum macro_fixup_chains { +/*line: 26*/ __MACH_O_FIXUP_CHAINS__ = 0x7, // 7 +}; + diff --git a/macrodefs_enums/ios/mach-o/getsect.h b/macrodefs_enums/ios/mach-o/getsect.h new file mode 100644 index 000000000..6a3a04a43 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/getsect.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/getsect.h + diff --git a/macrodefs_enums/ios/mach-o/ldsyms.h b/macrodefs_enums/ios/mach-o/ldsyms.h new file mode 100644 index 000000000..e49699d50 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/ldsyms.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/ldsyms.h + diff --git a/macrodefs_enums/ios/mach-o/loader.h b/macrodefs_enums/ios/mach-o/loader.h new file mode 100644 index 000000000..9b1c07c17 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/loader.h @@ -0,0 +1,521 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/loader.h + +enum macro_mach_magic { +/* Constant for the magic field of the mach_header (32-bit architectures) */ +/*line: 73*/ MH_MAGIC = 0xfeedface, /* the mach magic number */ // 0xfeedface +/*line: 74*/ MH_CIGAM = 0xcefaedfe, /* NXSwapInt(MH_MAGIC) */ // 0xcefaedfe +/* Constant for the magic field of the mach_header_64 (64-bit architectures) */ +/*line: 92*/ MH_MAGIC_64 = 0xfeedfacf, /* the 64-bit mach magic number */ // 0xfeedfacf +/*line: 93*/ MH_CIGAM_64 = 0xcffaedfe, /* NXSwapInt(MH_MAGIC_64) */ // 0xcffaedfe +}; + +enum macro_mach_filetype { +/* + * The layout of the file depends on the filetype. For all but the MH_OBJECT + * file type the segments are padded out and aligned on a segment alignment + * boundary for efficient demand pageing. The MH_EXECUTE, MH_FVMLIB, MH_DYLIB, + * MH_DYLINKER and MH_BUNDLE file types also have the headers included as part + * of their first segment. + * + * The file type MH_OBJECT is a compact format intended as output of the + * assembler and input (and possibly output) of the link editor (the .o + * format). All sections are in one unnamed segment with no segment padding. + * This format is used as an executable format when the file is so small the + * segment padding greatly increases its size. + * + * The file type MH_PRELOAD is an executable format intended for things that + * are not executed under the kernel (proms, stand alones, kernels, etc). The + * format can be executed under the kernel but may demand paged it and not + * preload it before execution. + * + * A core file is in MH_CORE format and can be any in an arbritray legal + * Mach-O file. + * + * Constants for the filetype field of the mach_header + */ +/*line: 118*/ MH_OBJECT = 0x1, /* relocatable object file */ // 0x1 +/*line: 119*/ MH_EXECUTE = 0x2, /* demand paged executable file */ // 0x2 +/*line: 120*/ MH_FVMLIB = 0x3, /* fixed VM shared library file */ // 0x3 +/*line: 121*/ MH_CORE = 0x4, /* core file */ // 0x4 +/*line: 122*/ MH_PRELOAD = 0x5, /* preloaded executable file */ // 0x5 +/*line: 123*/ MH_DYLIB = 0x6, /* dynamically bound shared library */ // 0x6 +/*line: 124*/ MH_DYLINKER = 0x7, /* dynamic link editor */ // 0x7 +/*line: 125*/ MH_BUNDLE = 0x8, /* dynamically bound bundle file */ // 0x8 +/*line: 126*/ MH_DYLIB_STUB = 0x9, /* shared library stub for static + linking only, no section contents */ // 0x9 +/*line: 128*/ MH_DSYM = 0xa, /* companion file with only debug + sections */ // 0xa +/*line: 130*/ MH_KEXT_BUNDLE = 0xb, /* x86_64 kexts */ // 0xb +/*line: 131*/ MH_FILESET = 0xc, /* a file composed of other Mach-Os to + be run in the same userspace sharing + a single linkedit. */ // 0xc +/*line: 134*/ MH_GPU_EXECUTE = 0xd, /* gpu program */ // 0xd +/*line: 135*/ MH_GPU_DYLIB = 0xe, /* gpu support functions */ // 0xe +}; + +enum macro_mach_header_flags { +/* Constants for the flags field of the mach_header */ +/*line: 139*/ MH_NOUNDEFS = 0x1, /* the object file has no undefined + references */ // 0x1 +/*line: 141*/ MH_INCRLINK = 0x2, /* the object file is the output of an + incremental link against a base file + and can't be link edited again */ // 0x2 +/*line: 144*/ MH_DYLDLINK = 0x4, /* the object file is input for the + dynamic linker and can't be staticly + link edited again */ // 0x4 +/*line: 147*/ MH_BINDATLOAD = 0x8, /* the object file's undefined + references are bound by the dynamic + linker when loaded. */ // 0x8 +/*line: 150*/ MH_PREBOUND = 0x10, /* the file has its dynamic undefined + references prebound. */ // 0x10 +/*line: 152*/ MH_SPLIT_SEGS = 0x20, /* the file has its read-only and + read-write segments split */ // 0x20 +/*line: 154*/ MH_LAZY_INIT = 0x40, /* the shared library init routine is + to be run lazily via catching memory + faults to its writeable segments + (obsolete) */ // 0x40 +/*line: 158*/ MH_TWOLEVEL = 0x80, /* the image is using two-level name + space bindings */ // 0x80 +/*line: 160*/ MH_FORCE_FLAT = 0x100, /* the executable is forcing all images + to use flat name space bindings */ // 0x100 +/*line: 162*/ MH_NOMULTIDEFS = 0x200, /* this umbrella guarantees no multiple + defintions of symbols in its + sub-images so the two-level namespace + hints can always be used. */ // 0x200 +/*line: 166*/ MH_NOFIXPREBINDING = 0x400, /* do not have dyld notify the + prebinding agent about this + executable */ // 0x400 +/*line: 169*/ MH_PREBINDABLE = 0x800, /* the binary is not prebound but can + have its prebinding redone. only used + when MH_PREBOUND is not set. */ // 0x800 +/*line: 172*/ MH_ALLMODSBOUND = 0x1000, /* indicates that this binary binds to + all two-level namespace modules of + its dependent libraries. only used + when MH_PREBINDABLE and MH_TWOLEVEL + are both set. */ // 0x1000 +/*line: 177*/ MH_SUBSECTIONS_VIA_SYMBOLS = 0x2000, // 0x2000 +/*line: 180*/ MH_CANONICAL = 0x4000, /* the binary has been canonicalized + via the unprebind operation */ // 0x4000 +/*line: 182*/ MH_WEAK_DEFINES = 0x8000, /* the final linked image contains + external weak symbols */ // 0x8000 +/*line: 184*/ MH_BINDS_TO_WEAK = 0x10000, /* the final linked image uses + weak symbols */ // 0x10000 +/*line: 187*/ MH_ALLOW_STACK_EXECUTION = 0x20000, // 0x20000 +/*line: 191*/ MH_ROOT_SAFE = 0x40000, /* When this bit is set, the binary + declares it is safe for use in + processes with uid zero */ // 0x40000 +/*line: 195*/ MH_SETUID_SAFE = 0x80000, /* When this bit is set, the binary + declares it is safe for use in + processes when issetugid() is true */ // 0x80000 +/*line: 199*/ MH_NO_REEXPORTED_DYLIBS = 0x100000, /* When this bit is set on a dylib, + the static linker does not need to + examine dependent dylibs to see + if any are re-exported */ // 0x100000 +/*line: 203*/ MH_PIE = 0x200000, /* When this bit is set, the OS will + load the main executable at a + random address. Only used in + MH_EXECUTE filetypes. */ // 0x200000 +/*line: 207*/ MH_DEAD_STRIPPABLE_DYLIB = 0x400000, /* Only for use on dylibs. When + linking against a dylib that + has this bit set, the static linker + will automatically not create a + LC_LOAD_DYLIB load command to the + dylib if no symbols are being + referenced from the dylib. */ // 0x400000 +/*line: 214*/ MH_HAS_TLV_DESCRIPTORS = 0x800000, /* Contains a section of type + S_THREAD_LOCAL_VARIABLES */ // 0x800000 +/*line: 217*/ MH_NO_HEAP_EXECUTION = 0x1000000, /* When this bit is set, the OS will + run the main executable with + a non-executable heap even on + platforms (e.g. i386) that don't + require it. Only used in MH_EXECUTE + filetypes. */ // 0x1000000 +/*line: 224*/ MH_APP_EXTENSION_SAFE = 0x2000000, /* The code was linked for use in an + application extension. */ // 0x02000000 +/*line: 227*/ MH_NLIST_OUTOFSYNC_WITH_DYLDINFO = 0x4000000, /* The external symbols + listed in the nlist symbol table do + not include all the symbols listed in + the dyld info. */ // 0x04000000 +/*line: 232*/ MH_SIM_SUPPORT = 0x8000000, /* Allow LC_MIN_VERSION_MACOS and + LC_BUILD_VERSION load commands with + the platforms macOS, macCatalyst, + iOSSimulator, tvOSSimulator and + watchOSSimulator. */ // 0x08000000 +/*line: 238*/ MH_IMPLICIT_PAGEZERO = 0x10000000, /* main executable has no __PAGEZERO + segment. Instead, loader (xnu) + will load program high and block + out all memory below it. */ // 0x10000000 +/*line: 243*/ MH_DYLIB_IN_CACHE = 0x80000000, /* Only for use on dylibs. When this bit + is set, the dylib is part of the dyld + shared cache, rather than loose in + the filesystem. */ // 0x80000000 +}; + +enum macro_required_dyld { +/* + * After MacOS X 10.1 when a new load command is added that is required to be + * understood by the dynamic linker for the image to execute properly the + * LC_REQ_DYLD bit will be or'ed into the load command constant. If the dynamic + * linker sees such a load command it it does not understand will issue a + * "unknown load command required for execution" error and refuse to use the + * image. Other load commands without this bit that are not understood will + * simply be ignored. + */ +/*line: 279*/ LC_REQ_DYLD = 0x80000000, // 0x80000000 +}; + +enum macro_load_command { +/* Constants for the cmd field of all load commands, the type */ +/*line: 282*/ LC_SEGMENT = 0x1, /* segment of this file to be mapped */ // 0x1 +/*line: 283*/ LC_SYMTAB = 0x2, /* link-edit stab symbol table info */ // 0x2 +/*line: 284*/ LC_SYMSEG = 0x3, /* link-edit gdb symbol table info (obsolete) */ // 0x3 +/*line: 285*/ LC_THREAD = 0x4, /* thread */ // 0x4 +/*line: 286*/ LC_UNIXTHREAD = 0x5, /* unix thread (includes a stack) */ // 0x5 +/*line: 287*/ LC_LOADFVMLIB = 0x6, /* load a specified fixed VM shared library */ // 0x6 +/*line: 288*/ LC_IDFVMLIB = 0x7, /* fixed VM shared library identification */ // 0x7 +/*line: 289*/ LC_IDENT = 0x8, /* object identification info (obsolete) */ // 0x8 +/*line: 290*/ LC_FVMFILE = 0x9, /* fixed VM file inclusion (internal use) */ // 0x9 +/*line: 291*/ LC_PREPAGE = 0xa, /* prepage command (internal use) */ // 0xa +/*line: 292*/ LC_DYSYMTAB = 0xb, /* dynamic link-edit symbol table info */ // 0xb +/*line: 293*/ LC_LOAD_DYLIB = 0xc, /* load a dynamically linked shared library */ // 0xc +/*line: 294*/ LC_ID_DYLIB = 0xd, /* dynamically linked shared lib ident */ // 0xd +/*line: 295*/ LC_LOAD_DYLINKER = 0xe, /* load a dynamic linker */ // 0xe +/*line: 296*/ LC_ID_DYLINKER = 0xf, /* dynamic linker identification */ // 0xf +/*line: 297*/ LC_PREBOUND_DYLIB = 0x10, /* modules prebound for a dynamically */ // 0x10 +/* linked shared library */ +/*line: 299*/ LC_ROUTINES = 0x11, /* image routines */ // 0x11 +/*line: 300*/ LC_SUB_FRAMEWORK = 0x12, /* sub framework */ // 0x12 +/*line: 301*/ LC_SUB_UMBRELLA = 0x13, /* sub umbrella */ // 0x13 +/*line: 302*/ LC_SUB_CLIENT = 0x14, /* sub client */ // 0x14 +/*line: 303*/ LC_SUB_LIBRARY = 0x15, /* sub library */ // 0x15 +/*line: 304*/ LC_TWOLEVEL_HINTS = 0x16, /* two-level namespace lookup hints */ // 0x16 +/*line: 305*/ LC_PREBIND_CKSUM = 0x17, /* prebind checksum */ // 0x17 +}; + +// Depends on identifiers +enum macro_load_weak_dylib { +/* + * load a dynamically linked shared library that is allowed to be missing + * (all symbols are weak imported). + */ +/*line: 311*/ LC_LOAD_WEAK_DYLIB = 0x80000018, // (0x18|LC_REQ_DYLD) +}; + +// Depends on identifiers +enum macro_load_commands { +/*line: 313*/ LC_SEGMENT_64 = 0x19, /* 64-bit segment of this file to be + mapped */ // 0x19 +/*line: 315*/ LC_ROUTINES_64 = 0x1a, /* 64-bit image routines */ // 0x1a +/*line: 316*/ LC_UUID = 0x1b, /* the uuid */ // 0x1b +/*line: 317*/ LC_RPATH = 0x8000001c, /* runpath additions */ // (0x1c|LC_REQ_DYLD) +/*line: 318*/ LC_CODE_SIGNATURE = 0x1d, /* local of code signature */ // 0x1d +/*line: 319*/ LC_SEGMENT_SPLIT_INFO = 0x1e, /* local of info to split segments */ // 0x1e +/*line: 320*/ LC_REEXPORT_DYLIB = 0x8000001f, /* load and re-export dylib */ // (0x1f|LC_REQ_DYLD) +/*line: 321*/ LC_LAZY_LOAD_DYLIB = 0x20, /* delay load of dylib until first use */ // 0x20 +/*line: 322*/ LC_ENCRYPTION_INFO = 0x21, /* encrypted segment information */ // 0x21 +/*line: 323*/ LC_DYLD_INFO = 0x22, /* compressed dyld information */ // 0x22 +/*line: 324*/ LC_DYLD_INFO_ONLY = 0x80000022, /* compressed dyld information only */ // (0x22|LC_REQ_DYLD) +/*line: 325*/ LC_LOAD_UPWARD_DYLIB = 0x80000023, /* load upward dylib */ // (0x23|LC_REQ_DYLD) +/*line: 326*/ LC_VERSION_MIN_MACOSX = 0x24, /* build for MacOSX min OS version */ // 0x24 +/*line: 327*/ LC_VERSION_MIN_IPHONEOS = 0x25, /* build for iPhoneOS min OS version */ // 0x25 +/*line: 328*/ LC_FUNCTION_STARTS = 0x26, /* compressed table of function start addresses */ // 0x26 +/*line: 329*/ LC_DYLD_ENVIRONMENT = 0x27, /* string for dyld to treat + like environment variable */ // 0x27 +/*line: 331*/ LC_MAIN = 0x80000028, /* replacement for LC_UNIXTHREAD */ // (0x28|LC_REQ_DYLD) +/*line: 332*/ LC_DATA_IN_CODE = 0x29, /* table of non-instructions in __text */ // 0x29 +/*line: 333*/ LC_SOURCE_VERSION = 0x2a, /* source version used to build binary */ // 0x2A +/*line: 334*/ LC_DYLIB_CODE_SIGN_DRS = 0x2b, /* Code signing DRs copied from linked dylibs */ // 0x2B +/*line: 335*/ LC_ENCRYPTION_INFO_64 = 0x2c, /* 64-bit encrypted segment information */ // 0x2C +/*line: 336*/ LC_LINKER_OPTION = 0x2d, /* linker options in MH_OBJECT files */ // 0x2D +/*line: 337*/ LC_LINKER_OPTIMIZATION_HINT = 0x2e, /* optimization hints in MH_OBJECT files */ // 0x2E +/*line: 338*/ LC_VERSION_MIN_TVOS = 0x2f, /* build for AppleTV min OS version */ // 0x2F +/*line: 339*/ LC_VERSION_MIN_WATCHOS = 0x30, /* build for Watch min OS version */ // 0x30 +/*line: 340*/ LC_NOTE = 0x31, /* arbitrary data included within a Mach-O file */ // 0x31 +/*line: 341*/ LC_BUILD_VERSION = 0x32, /* build for platform min OS version */ // 0x32 +/*line: 342*/ LC_DYLD_EXPORTS_TRIE = 0x80000033, /* used with linkedit_data_command, payload is trie */ // (0x33|LC_REQ_DYLD) +/*line: 343*/ LC_DYLD_CHAINED_FIXUPS = 0x80000034, /* used with linkedit_data_command */ // (0x34|LC_REQ_DYLD) +/*line: 344*/ LC_FILESET_ENTRY = 0x80000035, /* used with fileset_entry_command */ // (0x35|LC_REQ_DYLD) +/*line: 345*/ LC_ATOM_INFO = 0x36, /* used with linkedit_data_command */ // 0x36 +/*line: 346*/ LC_FUNCTION_VARIANTS = 0x37, /* used with linkedit_data_command */ // 0x37 +/*line: 347*/ LC_FUNCTION_VARIANT_FIXUPS = 0x38, /* used with linkedit_data_command */ // 0x38 +/*line: 348*/ LC_TARGET_TRIPLE = 0x39, /* target triple used to compile */ // 0x39 +}; + +enum macro_segment_flags { +/* Constants for the flags field of the segment_command */ +/*line: 414*/ SG_HIGHVM = 0x1, /* the file contents for this segment is for + the high part of the VM space, the low part + is zero filled (for stacks in core files) */ // 0x1 +/*line: 417*/ SG_FVMLIB = 0x2, /* this segment is the VM that is allocated by + a fixed VM library, for overlap checking in + the link editor */ // 0x2 +/*line: 420*/ SG_NORELOC = 0x4, /* this segment has nothing that was relocated + in it and nothing relocated to it, that is + it maybe safely replaced without relocation*/ // 0x4 +/*line: 423*/ SG_PROTECTED_VERSION_1 = 0x8, /* This segment is protected. If the + segment starts at file offset 0, the + first page of the segment is not + protected. All other pages of the + segment are protected. */ // 0x8 +/*line: 428*/ SG_READ_ONLY = 0x10, /* This segment is made read-only after fixups */ // 0x10 +}; + +enum macro_section_flags { +/* + * The flags field of a section structure is separated into two parts a section + * type and section attributes. The section types are mutually exclusive (it + * can only have one type) but the section attributes are not (it may have more + * than one attribute). + */ +/*line: 494*/ SECTION_TYPE = 0xff, /* 256 section types */ // 0x000000ff +/*line: 495*/ SECTION_ATTRIBUTES = 0xffffff00, /* 24 section attributes */ // 0xffffff00 +}; + +enum macro_section_types { +/* Constants for the type of a section */ +/*line: 498*/ S_REGULAR = 0x0, /* regular section */ // 0x0 +/*line: 499*/ S_ZEROFILL = 0x1, /* zero fill on demand section */ // 0x1 +/*line: 500*/ S_CSTRING_LITERALS = 0x2, /* section with only literal C strings*/ // 0x2 +/*line: 501*/ S_4BYTE_LITERALS = 0x3, /* section with only 4 byte literals */ // 0x3 +/*line: 502*/ S_8BYTE_LITERALS = 0x4, /* section with only 8 byte literals */ // 0x4 +/*line: 503*/ S_LITERAL_POINTERS = 0x5, /* section with only pointers to */ // 0x5 +/* + * For the two types of symbol pointers sections and the symbol stubs section + * they have indirect symbol table entries. For each of the entries in the + * section the indirect symbol table entries, in corresponding order in the + * indirect symbol table, start at the index stored in the reserved1 field + * of the section structure. Since the indirect symbol table entries + * correspond to the entries in the section the number of indirect symbol table + * entries is inferred from the size of the section divided by the size of the + * entries in the section. For symbol pointers sections the size of the entries + * in the section is 4 bytes and for symbol stubs sections the byte size of the + * stubs is stored in the reserved2 field of the section structure. + */ +/*line: 517*/ S_NON_LAZY_SYMBOL_POINTERS = 0x6, /* section with only non-lazy + symbol pointers */ // 0x6 +/*line: 519*/ S_LAZY_SYMBOL_POINTERS = 0x7, /* section with only lazy symbol + pointers */ // 0x7 +/*line: 521*/ S_SYMBOL_STUBS = 0x8, /* section with only symbol + stubs, byte size of stub in + the reserved2 field */ // 0x8 +/*line: 524*/ S_MOD_INIT_FUNC_POINTERS = 0x9, /* section with only function + pointers for initialization*/ // 0x9 +/*line: 526*/ S_MOD_TERM_FUNC_POINTERS = 0xa, /* section with only function + pointers for termination */ // 0xa +/*line: 528*/ S_COALESCED = 0xb, /* section contains symbols that + are to be coalesced */ // 0xb +/*line: 530*/ S_GB_ZEROFILL = 0xc, /* zero fill on demand section + (that can be larger than 4 + gigabytes) */ // 0xc +/*line: 533*/ S_INTERPOSING = 0xd, /* section with only pairs of + function pointers for + interposing */ // 0xd +/*line: 536*/ S_16BYTE_LITERALS = 0xe, /* section with only 16 byte + literals */ // 0xe +/*line: 538*/ S_DTRACE_DOF = 0xf, /* section contains + DTrace Object Format */ // 0xf +/*line: 540*/ S_LAZY_DYLIB_SYMBOL_POINTERS = 0x10, /* section with only lazy + symbol pointers to lazy + loaded dylibs */ // 0x10 +/* + * Section types to support thread local variables + */ +/*line: 546*/ S_THREAD_LOCAL_REGULAR = 0x11, /* template of initial + values for TLVs */ // 0x11 +/*line: 548*/ S_THREAD_LOCAL_ZEROFILL = 0x12, /* template of initial + values for TLVs */ // 0x12 +/*line: 550*/ S_THREAD_LOCAL_VARIABLES = 0x13, /* TLV descriptors */ // 0x13 +/*line: 551*/ S_THREAD_LOCAL_VARIABLE_POINTERS = 0x14, /* pointers to TLV + descriptors */ // 0x14 +/*line: 553*/ S_THREAD_LOCAL_INIT_FUNCTION_POINTERS = 0x15, /* functions to call + to initialize TLV + values */ // 0x15 +/*line: 556*/ S_INIT_FUNC_OFFSETS = 0x16, /* 32-bit offsets to + initializers */ // 0x16 +/* + * Constants for the section attributes part of the flags field of a section + * structure. + */ +/*line: 563*/ SECTION_ATTRIBUTES_USR = 0xff000000, /* User setable attributes */ // 0xff000000 +/*line: 564*/ S_ATTR_PURE_INSTRUCTIONS = 0x80000000, /* section contains only true + machine instructions */ // 0x80000000 +/*line: 566*/ S_ATTR_NO_TOC = 0x40000000, /* section contains coalesced + symbols that are not to be + in a ranlib table of + contents */ // 0x40000000 +/*line: 570*/ S_ATTR_STRIP_STATIC_SYMS = 0x20000000, /* ok to strip static symbols + in this section in files + with the MH_DYLDLINK flag */ // 0x20000000 +/*line: 573*/ S_ATTR_NO_DEAD_STRIP = 0x10000000, /* no dead stripping */ // 0x10000000 +/*line: 574*/ S_ATTR_LIVE_SUPPORT = 0x8000000, /* blocks are live if they + reference live blocks */ // 0x08000000 +/*line: 576*/ S_ATTR_SELF_MODIFYING_CODE = 0x4000000, /* Used with i386 code stubs + written on by dyld */ // 0x04000000 +/* + * If a segment contains any sections marked with S_ATTR_DEBUG then all + * sections in that segment must have this attribute. No section other than + * a section marked with this attribute may reference the contents of this + * section. A section with this attribute may contain no symbols and must have + * a section type S_REGULAR. The static linker will not copy section contents + * from sections with this attribute into its output file. These sections + * generally contain DWARF debugging info. + */ +/*line: 587*/ S_ATTR_DEBUG = 0x2000000, /* a debug section */ // 0x02000000 +/*line: 588*/ SECTION_ATTRIBUTES_SYS = 0xffff00, /* system setable attributes */ // 0x00ffff00 +/*line: 589*/ S_ATTR_SOME_INSTRUCTIONS = 0x400, /* section contains some + machine instructions */ // 0x00000400 +/*line: 591*/ S_ATTR_EXT_RELOC = 0x200, /* section has external + relocation entries */ // 0x00000200 +/*line: 593*/ S_ATTR_LOC_RELOC = 0x100, /* section has local + relocation entries */ // 0x00000100 +}; + +enum macro_dylib_flags { +/*line: 727*/ DYLIB_USE_WEAK_LINK = 0x1, // 0x01 +/*line: 728*/ DYLIB_USE_REEXPORT = 0x2, // 0x02 +/*line: 729*/ DYLIB_USE_UPWARD = 0x4, // 0x04 +/*line: 730*/ DYLIB_USE_DELAYED_INIT = 0x8, // 0x08 +}; + +enum macro_dylib_use_marker { +/*line: 732*/ DYLIB_USE_MARKER = 0x1a741800, // 0x1a741800 +}; + +enum macro_indirect_symbol_flags { +/* + * An indirect symbol table entry is simply a 32bit index into the symbol table + * to the symbol that the pointer or stub is refering to. Unless it is for a + * non-lazy symbol pointer section for a defined symbol which strip(1) as + * removed. In which case it has the value INDIRECT_SYMBOL_LOCAL. If the + * symbol was also absolute INDIRECT_SYMBOL_ABS is or'ed with that. + */ +/*line: 1085*/ INDIRECT_SYMBOL_LOCAL = 0x80000000, // 0x80000000 +/*line: 1086*/ INDIRECT_SYMBOL_ABS = 0x40000000, // 0x40000000 +}; + +enum macro_platform_type { +/* Known values for the platform field above. */ +/*line: 1323*/ PLATFORM_UNKNOWN = 0x0, // 0 +/*line: 1324*/ PLATFORM_ANY = 0xffffffff, // 0xFFFFFFFF +/*line: 1325*/ PLATFORM_MACOS = 0x1, // 1 +/*line: 1326*/ PLATFORM_IOS = 0x2, // 2 +/*line: 1327*/ PLATFORM_TVOS = 0x3, // 3 +/*line: 1328*/ PLATFORM_WATCHOS = 0x4, // 4 +/*line: 1329*/ PLATFORM_BRIDGEOS = 0x5, // 5 +/*line: 1330*/ PLATFORM_MACCATALYST = 0x6, // 6 +/*line: 1331*/ PLATFORM_IOSSIMULATOR = 0x7, // 7 +/*line: 1332*/ PLATFORM_TVOSSIMULATOR = 0x8, // 8 +/*line: 1333*/ PLATFORM_WATCHOSSIMULATOR = 0x9, // 9 +/*line: 1334*/ PLATFORM_DRIVERKIT = 0xa, // 10 +/*line: 1335*/ PLATFORM_VISIONOS = 0xb, // 11 +/*line: 1336*/ PLATFORM_VISIONOSSIMULATOR = 0xc, // 12 +/*line: 1338*/ PLATFORM_FIRMWARE = 0xd, // 13 +/*line: 1339*/ PLATFORM_SEPOS = 0xe, // 14 +/*line: 1341*/ PLATFORM_MACOS_EXCLAVECORE = 0xf, // 15 +/*line: 1342*/ PLATFORM_MACOS_EXCLAVEKIT = 0x10, // 16 +/*line: 1343*/ PLATFORM_IOS_EXCLAVECORE = 0x11, // 17 +/*line: 1344*/ PLATFORM_IOS_EXCLAVEKIT = 0x12, // 18 +/*line: 1345*/ PLATFORM_TVOS_EXCLAVECORE = 0x13, // 19 +/*line: 1346*/ PLATFORM_TVOS_EXCLAVEKIT = 0x14, // 20 +/*line: 1347*/ PLATFORM_WATCHOS_EXCLAVECORE = 0x15, // 21 +/*line: 1348*/ PLATFORM_WATCHOS_EXCLAVEKIT = 0x16, // 22 +/*line: 1349*/ PLATFORM_VISIONOS_EXCLAVECORE = 0x17, // 23 +/*line: 1350*/ PLATFORM_VISIONOS_EXCLAVEKIT = 0x18, // 24 +}; + +enum macro_tool_type { +/* Known values for the tool field above. */ +/*line: 1362*/ TOOL_CLANG = 0x1, // 1 +/*line: 1363*/ TOOL_SWIFT = 0x2, // 2 +/*line: 1364*/ TOOL_LD = 0x3, // 3 +/*line: 1365*/ TOOL_LLD = 0x4, // 4 +/* values for gpu tools (1024 to 1048) */ +/*line: 1368*/ TOOL_METAL = 0x400, // 1024 +/*line: 1369*/ TOOL_AIRLLD = 0x401, // 1025 +/*line: 1370*/ TOOL_AIRNT = 0x402, // 1026 +/*line: 1371*/ TOOL_AIRNT_PLUGIN = 0x403, // 1027 +/*line: 1372*/ TOOL_AIRPACK = 0x404, // 1028 +/*line: 1373*/ TOOL_GPUARCHIVER = 0x407, // 1031 +/*line: 1374*/ TOOL_METAL_FRAMEWORK = 0x408, // 1032 +}; + +enum macro_rebase_info { +/* + * The following are used to encode rebasing information + */ +/*line: 1491*/ REBASE_TYPE_POINTER = 0x1, // 1 +/*line: 1492*/ REBASE_TYPE_TEXT_ABSOLUTE32 = 0x2, // 2 +/*line: 1493*/ REBASE_TYPE_TEXT_PCREL32 = 0x3, // 3 +/*line: 1495*/ REBASE_OPCODE_MASK = 0xf0, // 0xF0 +/*line: 1496*/ REBASE_IMMEDIATE_MASK = 0xf, // 0x0F +/*line: 1497*/ REBASE_OPCODE_DONE = 0x0, // 0x00 +/*line: 1498*/ REBASE_OPCODE_SET_TYPE_IMM = 0x10, // 0x10 +/*line: 1499*/ REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB = 0x20, // 0x20 +/*line: 1500*/ REBASE_OPCODE_ADD_ADDR_ULEB = 0x30, // 0x30 +/*line: 1501*/ REBASE_OPCODE_ADD_ADDR_IMM_SCALED = 0x40, // 0x40 +/*line: 1502*/ REBASE_OPCODE_DO_REBASE_IMM_TIMES = 0x50, // 0x50 +/*line: 1503*/ REBASE_OPCODE_DO_REBASE_ULEB_TIMES = 0x60, // 0x60 +/*line: 1504*/ REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB = 0x70, // 0x70 +/*line: 1505*/ REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB = 0x80, // 0x80 +}; + +enum macro_bind_type { +/* + * The following are used to encode binding information + */ +/*line: 1511*/ BIND_TYPE_POINTER = 0x1, // 1 +/*line: 1512*/ BIND_TYPE_TEXT_ABSOLUTE32 = 0x2, // 2 +/*line: 1513*/ BIND_TYPE_TEXT_PCREL32 = 0x3, // 3 +}; + +enum macro_bind_opcodes { +/*line: 1515*/ BIND_SPECIAL_DYLIB_SELF = 0x0, // 0 +/*line: 1516*/ BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE = -0x1, // -1 +/*line: 1517*/ BIND_SPECIAL_DYLIB_FLAT_LOOKUP = -0x2, // -2 +/*line: 1518*/ BIND_SPECIAL_DYLIB_WEAK_LOOKUP = -0x3, // -3 +/*line: 1520*/ BIND_SYMBOL_FLAGS_WEAK_IMPORT = 0x1, // 0x1 +/*line: 1521*/ BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION = 0x8, // 0x8 +/*line: 1523*/ BIND_OPCODE_MASK = 0xf0, // 0xF0 +/*line: 1524*/ BIND_IMMEDIATE_MASK = 0xf, // 0x0F +/*line: 1525*/ BIND_OPCODE_DONE = 0x0, // 0x00 +/*line: 1526*/ BIND_OPCODE_SET_DYLIB_ORDINAL_IMM = 0x10, // 0x10 +/*line: 1527*/ BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB = 0x20, // 0x20 +/*line: 1528*/ BIND_OPCODE_SET_DYLIB_SPECIAL_IMM = 0x30, // 0x30 +/*line: 1529*/ BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM = 0x40, // 0x40 +/*line: 1530*/ BIND_OPCODE_SET_TYPE_IMM = 0x50, // 0x50 +/*line: 1531*/ BIND_OPCODE_SET_ADDEND_SLEB = 0x60, // 0x60 +/*line: 1532*/ BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB = 0x70, // 0x70 +/*line: 1533*/ BIND_OPCODE_ADD_ADDR_ULEB = 0x80, // 0x80 +/*line: 1534*/ BIND_OPCODE_DO_BIND = 0x90, // 0x90 +/*line: 1535*/ BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB = 0xa0, // 0xA0 +/*line: 1536*/ BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED = 0xb0, // 0xB0 +/*line: 1537*/ BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB = 0xc0, // 0xC0 +/*line: 1538*/ BIND_OPCODE_THREADED = 0xd0, // 0xD0 +/*line: 1539*/ BIND_SUBOPCODE_THREADED_SET_BIND_ORDINAL_TABLE_SIZE_ULEB = 0x0, // 0x00 +/*line: 1540*/ BIND_SUBOPCODE_THREADED_APPLY = 0x1, // 0x01 +}; + +enum macro_export_symbol_flags { +/* + * The following are used on the flags byte of a terminal node + * in the export information. + */ +/*line: 1547*/ EXPORT_SYMBOL_FLAGS_KIND_MASK = 0x3, // 0x03 +/*line: 1548*/ EXPORT_SYMBOL_FLAGS_KIND_REGULAR = 0x0, // 0x00 +/*line: 1549*/ EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL = 0x1, // 0x01 +/*line: 1550*/ EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE = 0x2, // 0x02 +/*line: 1551*/ EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION = 0x4, // 0x04 +/*line: 1552*/ EXPORT_SYMBOL_FLAGS_REEXPORT = 0x8, // 0x08 +/*line: 1553*/ EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER = 0x10, // 0x10 +/*line: 1554*/ EXPORT_SYMBOL_FLAGS_STATIC_RESOLVER = 0x20, // 0x20 +}; + +enum macro_dice_kind { +/*line: 1644*/ DICE_KIND_DATA = 0x1, // 0x0001 +/*line: 1645*/ DICE_KIND_JUMP_TABLE8 = 0x2, // 0x0002 +/*line: 1646*/ DICE_KIND_JUMP_TABLE16 = 0x3, // 0x0003 +/*line: 1647*/ DICE_KIND_JUMP_TABLE32 = 0x4, // 0x0004 +/*line: 1648*/ DICE_KIND_ABS_JUMP_TABLE32 = 0x5, // 0x0005 +}; + diff --git a/macrodefs_enums/ios/mach-o/nlist.h b/macrodefs_enums/ios/mach-o/nlist.h new file mode 100644 index 000000000..8c935eef4 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/nlist.h @@ -0,0 +1,127 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/nlist.h + +enum macro_nlist_type_bit_mask { +/* + * The n_type field really contains four fields: + * unsigned char N_STAB:3, + * N_PEXT:1, + * N_TYPE:3, + * N_EXT:1; + * which are used via the following masks. + */ +/*line: 117*/ N_STAB = 0xe0, /* if any of these bits set, a symbolic debugging entry */ // 0xe0 +/*line: 118*/ N_PEXT = 0x10, /* private external symbol bit */ // 0x10 +/*line: 119*/ N_TYPE = 0xe, /* mask for the type bits */ // 0x0e +/*line: 120*/ N_EXT = 0x1, /* external symbol bit, set for external symbols */ // 0x01 +}; + +enum macro_nlist_type { +/* + * Values for N_TYPE bits of the n_type field. + */ +/*line: 132*/ N_UNDF = 0x0, /* undefined, n_sect == NO_SECT */ // 0x0 +/*line: 133*/ N_ABS = 0x2, /* absolute, n_sect == NO_SECT */ // 0x2 +/*line: 134*/ N_SECT = 0xe, /* defined in section number n_sect */ // 0xe +/*line: 135*/ N_PBUD = 0xc, /* prebound undefined (defined in a dylib) */ // 0xc +/*line: 136*/ N_INDR = 0xa, /* indirect */ // 0xa +}; + +enum macro_section_ordinal { +/* + * If the type is N_SECT then the n_sect field contains an ordinal of the + * section the symbol is defined in. The sections are numbered from 1 and + * refer to sections in order they appear in the load commands for the file + * they are in. This means the same ordinal may very well refer to different + * sections in different files. + * + * The n_value field for all symbol table entries (including N_STAB's) gets + * updated by the link editor based on the value of it's n_sect field and where + * the section n_sect references gets relocated. If the value of the n_sect + * field is NO_SECT then it's n_value field is not changed by the link editor. + */ +/*line: 157*/ NO_SECT = 0x0, /* symbol is not in any section */ // 0 +/*line: 158*/ MAX_SECT = 0xff, /* 1 thru 255 inclusive */ // 255 +}; + +enum macro_reference_flags { +/* Reference type bits of the n_desc field of undefined symbols */ +/*line: 193*/ REFERENCE_TYPE = 0x7, // 0x7 +/* types of references */ +/*line: 195*/ REFERENCE_FLAG_UNDEFINED_NON_LAZY = 0x0, // 0 +/*line: 196*/ REFERENCE_FLAG_UNDEFINED_LAZY = 0x1, // 1 +/*line: 197*/ REFERENCE_FLAG_DEFINED = 0x2, // 2 +/*line: 198*/ REFERENCE_FLAG_PRIVATE_DEFINED = 0x3, // 3 +/*line: 199*/ REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY = 0x4, // 4 +/*line: 200*/ REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY = 0x5, // 5 +/* + * To simplify stripping of objects that use are used with the dynamic link + * editor, the static link editor marks the symbols defined an object that are + * referenced by a dynamically bound object (dynamic shared libraries, bundles). + * With this marking strip knows not to strip these symbols. + */ +/*line: 208*/ REFERENCED_DYNAMICALLY = 0x10, // 0x0010 +}; + +enum macro_library_ordinal { +/*line: 240*/ SELF_LIBRARY_ORDINAL = 0x0, // 0x0 +/*line: 241*/ MAX_LIBRARY_ORDINAL = 0xfd, // 0xfd +/*line: 242*/ DYNAMIC_LOOKUP_ORDINAL = 0xfe, // 0xfe +/*line: 243*/ EXECUTABLE_ORDINAL = 0xff, // 0xff +}; + +enum macro_description_bits { +/* + * The N_NO_DEAD_STRIP bit of the n_desc field only ever appears in a + * relocatable .o file (MH_OBJECT filetype). And is used to indicate to the + * static link editor it is never to dead strip the symbol. + */ +/*line: 255*/ N_NO_DEAD_STRIP = 0x20, /* symbol is not to be dead stripped */ // 0x0020 +/* + * The N_DESC_DISCARDED bit of the n_desc field never appears in linked image. + * But is used in very rare cases by the dynamic link editor to mark an in + * memory symbol as discared and longer used for linking. + */ +/*line: 262*/ N_DESC_DISCARDED = 0x20, /* symbol is discarded */ // 0x0020 +/* + * The N_WEAK_REF bit of the n_desc field indicates to the dynamic linker that + * the undefined symbol is allowed to be missing and is to have the address of + * zero when missing. + */ +/*line: 269*/ N_WEAK_REF = 0x40, /* symbol is weak referenced */ // 0x0040 +/* + * The N_WEAK_DEF bit of the n_desc field indicates to the static and dynamic + * linkers that the symbol definition is weak, allowing a non-weak symbol to + * also be used which causes the weak definition to be discared. Currently this + * is only supported for symbols in coalesed sections. + */ +/*line: 277*/ N_WEAK_DEF = 0x80, /* coalesed symbol is a weak definition */ // 0x0080 +/* + * The N_REF_TO_WEAK bit of the n_desc field indicates to the dynamic linker + * that the undefined symbol should be resolved using flat namespace searching. + */ +/*line: 283*/ N_REF_TO_WEAK = 0x80, /* reference to a weak symbol */ // 0x0080 +/* + * The N_ARM_THUMB_DEF bit of the n_desc field indicates that the symbol is + * a defintion of a Thumb function. + */ +/*line: 289*/ N_ARM_THUMB_DEF = 0x8, /* symbol is a Thumb function (ARM) */ // 0x0008 +/* + * The N_SYMBOL_RESOLVER bit of the n_desc field indicates that the + * that the function is actually a resolver function and should + * be called to get the address of the real function to use. + * This bit is only available in .o files (MH_OBJECT filetype) + */ +/*line: 297*/ N_SYMBOL_RESOLVER = 0x100, // 0x0100 +/* + * The N_ALT_ENTRY bit of the n_desc field indicates that the + * symbol is pinned to the previous content. + */ +/*line: 303*/ N_ALT_ENTRY = 0x200, // 0x0200 +/* + * The N_COLD_FUNC bit of the n_desc field indicates that the symbol is used + * infrequently and the linker should order it towards the end of the section. + */ +/*line: 309*/ N_COLD_FUNC = 0x400, // 0x0400 +}; + diff --git a/macrodefs_enums/ios/mach-o/ranlib.h b/macrodefs_enums/ios/mach-o/ranlib.h new file mode 100644 index 000000000..f019a7bfd --- /dev/null +++ b/macrodefs_enums/ios/mach-o/ranlib.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/ranlib.h + diff --git a/macrodefs_enums/ios/mach-o/reloc.h b/macrodefs_enums/ios/mach-o/reloc.h new file mode 100644 index 000000000..f8beb1245 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/reloc.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/reloc.h + +enum macro_relocation_type { +/*line: 74*/ R_ABS = 0x0, /* absolute relocation type for Mach-O files */ // 0 +}; + +enum macro_scattered_relocation { +/*line: 147*/ R_SCATTERED = 0x80000000, /* mask to be applied to the r_address field + of a relocation_info structure to tell that + is is really a scattered_relocation_info + stucture */ // 0x80000000 +}; + diff --git a/macrodefs_enums/ios/mach-o/stab.h b/macrodefs_enums/ios/mach-o/stab.h new file mode 100644 index 000000000..b6c2602cd --- /dev/null +++ b/macrodefs_enums/ios/mach-o/stab.h @@ -0,0 +1,56 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/stab.h + +enum macro_stab_symbols { +/* + * Symbolic debugger symbols. The comments give the conventional use for + * + * .stabs "n_name", n_type, n_sect, n_desc, n_value + * + * where n_type is the defined constant and not listed in the comment. Other + * fields not listed are zero. n_sect is the section ordinal the entry is + * refering to. + */ +/*line: 87*/ N_GSYM = 0x20, /* global symbol: name,,NO_SECT,type,0 */ // 0x20 +/*line: 88*/ N_FNAME = 0x22, /* procedure name (f77 kludge): name,,NO_SECT,0,0 */ // 0x22 +/*line: 89*/ N_FUN = 0x24, /* procedure: name,,n_sect,linenumber,address */ // 0x24 +/*line: 90*/ N_STSYM = 0x26, /* static symbol: name,,n_sect,type,address */ // 0x26 +/*line: 91*/ N_LCSYM = 0x28, /* .lcomm symbol: name,,n_sect,type,address */ // 0x28 +/*line: 92*/ N_BNSYM = 0x2e, /* begin nsect sym: 0,,n_sect,0,address */ // 0x2e +/*line: 93*/ N_AST = 0x32, /* AST file path: name,,NO_SECT,0,0 */ // 0x32 +/*line: 94*/ N_OPT = 0x3c, /* emitted with gcc2_compiled and in gcc source */ // 0x3c +/*line: 95*/ N_RSYM = 0x40, /* register sym: name,,NO_SECT,type,register */ // 0x40 +/*line: 96*/ N_SLINE = 0x44, /* src line: 0,,n_sect,linenumber,address */ // 0x44 +/*line: 97*/ N_ENSYM = 0x4e, /* end nsect sym: 0,,n_sect,0,address */ // 0x4e +/*line: 98*/ N_SSYM = 0x60, /* structure elt: name,,NO_SECT,type,struct_offset */ // 0x60 +/*line: 99*/ N_SO = 0x64, /* source file name: name,,n_sect,0,address */ // 0x64 +/*line: 100*/ N_OSO = 0x66, /* object file name: name,,(see below),1,st_mtime */ // 0x66 +/* historically N_OSO set n_sect to 0. The N_OSO + * n_sect may instead hold the low byte of the + * cpusubtype value from the Mach-O header. */ +/*line: 104*/ N_LIB = 0x68, /* dynamic library file name: name,,NO_SECT,0,0 */ // 0x68 +/*line: 105*/ N_LSYM = 0x80, /* local sym: name,,NO_SECT,type,offset */ // 0x80 +/*line: 106*/ N_BINCL = 0x82, /* include file beginning: name,,NO_SECT,0,sum */ // 0x82 +/*line: 107*/ N_SOL = 0x84, /* #included file name: name,,n_sect,0,address */ // 0x84 +/*line: 108*/ N_PARAMS = 0x86, /* compiler parameters: name,,NO_SECT,0,0 */ // 0x86 +/*line: 109*/ N_VERSION = 0x88, /* compiler version: name,,NO_SECT,0,0 */ // 0x88 +/*line: 110*/ N_OLEVEL = 0x8a, /* compiler -O level: name,,NO_SECT,0,0 */ // 0x8A +/*line: 111*/ N_PSYM = 0xa0, /* parameter: name,,NO_SECT,type,offset */ // 0xa0 +/*line: 112*/ N_EINCL = 0xa2, /* include file end: name,,NO_SECT,0,0 */ // 0xa2 +/*line: 113*/ N_ENTRY = 0xa4, /* alternate entry: name,,n_sect,linenumber,address */ // 0xa4 +/*line: 114*/ N_LBRAC = 0xc0, /* left bracket: 0,,NO_SECT,nesting level,address */ // 0xc0 +/*line: 115*/ N_EXCL = 0xc2, /* deleted include file: name,,NO_SECT,0,sum */ // 0xc2 +/*line: 116*/ N_RBRAC = 0xe0, /* right bracket: 0,,NO_SECT,nesting level,address */ // 0xe0 +/*line: 117*/ N_BCOMM = 0xe2, /* begin common: name,,NO_SECT,0,0 */ // 0xe2 +/*line: 118*/ N_ECOMM = 0xe4, /* end common: name,,n_sect,0,0 */ // 0xe4 +/*line: 119*/ N_ECOML = 0xe8, /* end common (local name): 0,,n_sect,0,address */ // 0xe8 +/*line: 120*/ N_LENG = 0xfe, /* second stab entry with length information */ // 0xfe +}; + +enum macro_n_pc { +/* + * for the berkeley pascal compiler, pc(1): + */ +/*line: 125*/ N_PC = 0x30, /* global pascal symbol: name,,NO_SECT,subtype,line */ // 0x30 +}; + diff --git a/macrodefs_enums/ios/mach-o/swap.h b/macrodefs_enums/ios/mach-o/swap.h new file mode 100644 index 000000000..2689c80b1 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/swap.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/swap.h + diff --git a/macrodefs_enums/ios/mach-o/utils.h b/macrodefs_enums/ios/mach-o/utils.h new file mode 100644 index 000000000..150c578a8 --- /dev/null +++ b/macrodefs_enums/ios/mach-o/utils.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach-o/utils.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 105 +// #define __MACHO_NOESCAPE __attribute__((__noescape__)) + diff --git a/macrodefs_enums/ios/mach/arm/_structs.h b/macrodefs_enums/ios/mach/arm/_structs.h new file mode 100644 index 000000000..3741f1b07 --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/_structs.h @@ -0,0 +1,62 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/_structs.h + +enum macro_thread_state64 { +/*line: 124*/ __DARWIN_OPAQUE_ARM_THREAD_STATE64 = 0x0, // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 40 +// #define _STRUCT_ARM_EXCEPTION_STATE struct __darwin_arm_exception_state + +// Line: 58 +// #define _STRUCT_ARM_EXCEPTION_STATE64 struct __darwin_arm_exception_state64 + +// Line: 65 +// #define _STRUCT_ARM_EXCEPTION_STATE64_V2 struct __darwin_arm_exception_state64_v2 + +// Line: 88 +// #define _STRUCT_ARM_THREAD_STATE struct __darwin_arm_thread_state + +// Line: 135 +// #define _STRUCT_ARM_THREAD_STATE64 struct __darwin_arm_thread_state64 + +// Line: 518 +// #define _STRUCT_ARM_VFP_STATE struct __darwin_arm_vfp_state + +// Line: 534 +// #define _STRUCT_ARM_NEON_STATE64 struct __darwin_arm_neon_state64 + +// Line: 535 +// #define _STRUCT_ARM_NEON_STATE struct __darwin_arm_neon_state + +// Line: 608 +// #define _STRUCT_ARM_PAGEIN_STATE struct __arm_pagein_state + +// Line: 615 +// #define _STRUCT_ARM_SME_STATE struct __darwin_arm_sme_state + +// Line: 623 +// #define _STRUCT_ARM_SVE_Z_STATE struct __darwin_arm_sve_z_state + +// Line: 629 +// #define _STRUCT_ARM_SVE_P_STATE struct __darwin_arm_sve_p_state + +// Line: 635 +// #define _STRUCT_ARM_SME_ZA_STATE struct __darwin_arm_sme_za_state + +// Line: 641 +// #define _STRUCT_ARM_SME2_STATE struct __darwin_arm_sme2_state + +// Line: 711 +// #define _STRUCT_ARM_LEGACY_DEBUG_STATE struct __arm_legacy_debug_state + +// Line: 734 +// #define _STRUCT_ARM_DEBUG_STATE32 struct __darwin_arm_debug_state32 + +// Line: 744 +// #define _STRUCT_ARM_DEBUG_STATE64 struct __darwin_arm_debug_state64 + +// Line: 776 +// #define _STRUCT_ARM_CPMU_STATE64 struct __darwin_arm_cpmu_state64 + diff --git a/macrodefs_enums/ios/mach/arm/asm.h b/macrodefs_enums/ios/mach/arm/asm.h new file mode 100644 index 000000000..a9a51ce8d --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/asm.h @@ -0,0 +1,19 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/asm.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 64 +// #define FRAME pushl %ebp; movl %esp, %ebp + +// Line: 65 +// #define EMARF leave + +// Line: 74 +// #define FALIGN ALIGN + +// Line: 106 +// #define String .asciz + +// Line: 107 +// #define Value .word + diff --git a/macrodefs_enums/ios/mach/arm/exception.h b/macrodefs_enums/ios/mach/arm/exception.h new file mode 100644 index 000000000..7ab3875cc --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/exception.h @@ -0,0 +1,46 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/exception.h + +enum macro_exception_count { +/*line: 34*/ EXC_TYPES_COUNT = 0xe, /* incl. illegal exception 0 */ // 14 +}; + +enum macro_exception_codes { +/*line: 36*/ EXC_MASK_MACHINE = 0x0, // 0 +/*line: 38*/ EXCEPTION_CODE_MAX = 0x2, /* code and subcode */ // 2 +/* + * EXC_BAD_INSTRUCTION + */ +/*line: 49*/ EXC_ARM_UNDEFINED = 0x1, /* Undefined */ // 1 +/*line: 50*/ EXC_ARM_SME_DISALLOWED = 0x2, /* Current thread state prohibits use of SME resources */ // 2 +}; + +enum macro_arm_exceptions { +/* + * EXC_ARITHMETIC + */ +/*line: 56*/ EXC_ARM_FP_UNDEFINED = 0x0, /* Undefined Floating Point Exception */ // 0 +/*line: 57*/ EXC_ARM_FP_IO = 0x1, /* Invalid Floating Point Operation */ // 1 +/*line: 58*/ EXC_ARM_FP_DZ = 0x2, /* Floating Point Divide by Zero */ // 2 +/*line: 59*/ EXC_ARM_FP_OF = 0x3, /* Floating Point Overflow */ // 3 +/*line: 60*/ EXC_ARM_FP_UF = 0x4, /* Floating Point Underflow */ // 4 +/*line: 61*/ EXC_ARM_FP_IX = 0x5, /* Inexact Floating Point Result */ // 5 +/*line: 62*/ EXC_ARM_FP_ID = 0x6, /* Floating Point Denormal Input */ // 6 +/* + * EXC_BAD_ACCESS + * Note: do not conflict with kern_return_t values returned by vm_fault + */ +/*line: 69*/ EXC_ARM_DA_ALIGN = 0x101, /* Alignment Fault */ // 0x101 +/*line: 70*/ EXC_ARM_DA_DEBUG = 0x102, /* Debug (watch/break) Fault */ // 0x102 +/*line: 71*/ EXC_ARM_SP_ALIGN = 0x103, /* SP Alignment Fault */ // 0x103 +/*line: 72*/ EXC_ARM_SWP = 0x104, /* SWP instruction */ // 0x104 +/*line: 73*/ EXC_ARM_PAC_FAIL = 0x105, /* PAC authentication failure */ // 0x105 +}; + +enum macro_breakpoint_trap { +/* + * EXC_BREAKPOINT + */ +/*line: 80*/ EXC_ARM_BREAKPOINT = 0x1, /* breakpoint trap */ // 1 +}; + diff --git a/macrodefs_enums/ios/mach/arm/processor_info.h b/macrodefs_enums/ios/mach/arm/processor_info.h new file mode 100644 index 000000000..b1ef45423 --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/processor_info.h @@ -0,0 +1,17 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/processor_info.h + +enum macro_cpu_statistics { +/*line: 34*/ PROCESSOR_CPU_STAT = 0x10000003, /* Low-level CPU statistics */ // 0x10000003 +/*line: 35*/ PROCESSOR_CPU_STAT64 = 0x10000004, /* Low-level CPU statistics, in full 64-bit */ // 0x10000004 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 53 +// #define PROCESSOR_CPU_STAT_COUNT ((mach_msg_type_number_t) \ +// (sizeof(processor_cpu_stat_data_t) / sizeof(natural_t))) + +// Line: 71 +// #define PROCESSOR_CPU_STAT64_COUNT ((mach_msg_type_number_t) \ +// (sizeof(processor_cpu_stat64_data_t) / sizeof(integer_t))) + diff --git a/macrodefs_enums/ios/mach/arm/thread_state.h b/macrodefs_enums/ios/mach/arm/thread_state.h new file mode 100644 index 000000000..4ba009ca6 --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/thread_state.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/thread_state.h + +enum macro_thread_state_max { +/* Size of maximum exported thread state in words */ +/*line: 38*/ ARM_THREAD_STATE_MAX = 0x510, /* Size of biggest state possible */ // (1296) +}; + diff --git a/macrodefs_enums/ios/mach/arm/thread_status.h b/macrodefs_enums/ios/mach/arm/thread_status.h new file mode 100644 index 000000000..dfb69bb1d --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/thread_status.h @@ -0,0 +1,156 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/thread_status.h + +// Depends on identifiers +enum macro_thread_state_flavor { +/* + * Flavors + */ +/*line: 53*/ ARM_THREAD_STATE = 0x1, // 1 +/*line: 54*/ ARM_UNIFIED_THREAD_STATE = 0x1, // ARM_THREAD_STATE +/*line: 55*/ ARM_VFP_STATE = 0x2, // 2 +/*line: 56*/ ARM_EXCEPTION_STATE = 0x3, // 3 +/*line: 57*/ ARM_DEBUG_STATE = 0x4, /* pre-armv8 */ // 4 +/*line: 58*/ THREAD_STATE_NONE = 0x5, // 5 +/*line: 59*/ ARM_THREAD_STATE64 = 0x6, // 6 +/*line: 60*/ ARM_EXCEPTION_STATE64 = 0x7, // 7 +// ARM_THREAD_STATE_LAST 8 /* legacy */ +/*line: 62*/ ARM_THREAD_STATE32 = 0x9, // 9 +/*line: 63*/ ARM_EXCEPTION_STATE64_V2 = 0xa, // 10 +}; + +enum macro_arm_states { +/* API */ +/*line: 67*/ ARM_DEBUG_STATE32 = 0xe, // 14 +/*line: 68*/ ARM_DEBUG_STATE64 = 0xf, // 15 +/*line: 69*/ ARM_NEON_STATE = 0x10, // 16 +/*line: 70*/ ARM_NEON_STATE64 = 0x11, // 17 +/*line: 71*/ ARM_CPMU_STATE64 = 0x12, // 18 +/*line: 74*/ ARM_PAGEIN_STATE = 0x1b, // 27 +/* API */ +/*line: 77*/ ARM_SME_STATE = 0x1c, // 28 +/*line: 78*/ ARM_SVE_Z_STATE1 = 0x1d, // 29 +/*line: 79*/ ARM_SVE_Z_STATE2 = 0x1e, // 30 +/*line: 80*/ ARM_SVE_P_STATE = 0x1f, // 31 +/*line: 81*/ ARM_SME_ZA_STATE1 = 0x20, // 32 +/*line: 82*/ ARM_SME_ZA_STATE2 = 0x21, // 33 +/*line: 83*/ ARM_SME_ZA_STATE3 = 0x22, // 34 +/*line: 84*/ ARM_SME_ZA_STATE4 = 0x23, // 35 +/*line: 85*/ ARM_SME_ZA_STATE5 = 0x24, // 36 +/*line: 86*/ ARM_SME_ZA_STATE6 = 0x25, // 37 +/*line: 87*/ ARM_SME_ZA_STATE7 = 0x26, // 38 +/*line: 88*/ ARM_SME_ZA_STATE8 = 0x27, // 39 +/*line: 89*/ ARM_SME_ZA_STATE9 = 0x28, // 40 +/*line: 90*/ ARM_SME_ZA_STATE10 = 0x29, // 41 +/*line: 91*/ ARM_SME_ZA_STATE11 = 0x2a, // 42 +/*line: 92*/ ARM_SME_ZA_STATE12 = 0x2a, // 42 +/*line: 93*/ ARM_SME_ZA_STATE13 = 0x2c, // 44 +/*line: 94*/ ARM_SME_ZA_STATE14 = 0x2d, // 45 +/*line: 95*/ ARM_SME_ZA_STATE15 = 0x2e, // 46 +/*line: 96*/ ARM_SME_ZA_STATE16 = 0x2f, // 47 +/*line: 97*/ ARM_SME2_STATE = 0x30, // 48 +}; + +enum macro_thread_state_flavors { +/*line: 99*/ THREAD_STATE_FLAVORS = 0x32, /* This must be updated to 1 more than the highest numerical state flavor */ // 50 +}; + +// Depends on identifiers +enum macro_thread_state { +/*line: 292*/ MACHINE_THREAD_STATE = 0x1, // ARM_THREAD_STATE +}; + +// Depends on identifiers +enum macro_thread_state_max { +/* + * Largest state on this machine: + */ +/*line: 299*/ THREAD_MACHINE_STATE_MAX = 0x510, // THREAD_STATE_MAX +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 199 +// #define ts_32 uts.ts_32 + +// Line: 200 +// #define ts_64 uts.ts_64 + +// Line: 203 +// #define ARM_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_thread_state_t)/sizeof(uint32_t))) + +// Line: 205 +// #define ARM_THREAD_STATE32_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_thread_state32_t)/sizeof(uint32_t))) + +// Line: 207 +// #define ARM_THREAD_STATE64_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_thread_state64_t)/sizeof(uint32_t))) + +// Line: 209 +// #define ARM_UNIFIED_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_unified_thread_state_t)/sizeof(uint32_t))) + +// Line: 247 +// #define ARM_VFP_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_vfp_state_t)/sizeof(uint32_t))) + +// Line: 250 +// #define ARM_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_exception_state_t)/sizeof(uint32_t))) + +// Line: 253 +// #define ARM_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_exception_state64_t)/sizeof(uint32_t))) + +// Line: 256 +// #define ARM_EXCEPTION_STATE64_V2_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_exception_state64_v2_t)/sizeof(uint32_t))) + +// Line: 259 +// #define ARM_DEBUG_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_debug_state_t)/sizeof(uint32_t))) + +// Line: 262 +// #define ARM_DEBUG_STATE32_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_debug_state32_t)/sizeof(uint32_t))) + +// Line: 265 +// #define ARM_PAGEIN_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_pagein_state_t)/sizeof(uint32_t))) + +// Line: 268 +// #define ARM_DEBUG_STATE64_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_debug_state64_t)/sizeof(uint32_t))) + +// Line: 271 +// #define ARM_NEON_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_neon_state_t)/sizeof(uint32_t))) + +// Line: 274 +// #define ARM_NEON_STATE64_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_neon_state64_t)/sizeof(uint32_t))) + +// Line: 277 +// #define ARM_SME_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_sme_state_t)/sizeof(uint32_t))) + +// Line: 280 +// #define ARM_SVE_Z_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_sve_z_state_t)/sizeof(uint32_t))) + +// Line: 283 +// #define ARM_SVE_P_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_sve_p_state_t)/sizeof(uint32_t))) + +// Line: 286 +// #define ARM_SME_ZA_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_sme_za_state_t)/sizeof(uint32_t))) + +// Line: 289 +// #define ARM_SME2_STATE_COUNT ((mach_msg_type_number_t) \ +// (sizeof (arm_sme2_state_t)/sizeof(uint32_t))) + +// Line: 293 +// #define MACHINE_THREAD_STATE_COUNT ARM_UNIFIED_THREAD_STATE_COUNT + diff --git a/macrodefs_enums/ios/mach/arm/traps.h b/macrodefs_enums/ios/mach/arm/traps.h new file mode 100644 index 000000000..db2a45bb5 --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/traps.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/traps.h + +enum macro_time_traps { +/*line: 36*/ MACH_ARM_TRAP_ABSTIME = -0x3, // -3 +/*line: 37*/ MACH_ARM_TRAP_CONTTIME = -0x4, // -4 +}; + diff --git a/macrodefs_enums/ios/mach/arm/vm_param.h b/macrodefs_enums/ios/mach/arm/vm_param.h new file mode 100644 index 000000000..116a0b004 --- /dev/null +++ b/macrodefs_enums/ios/mach/arm/vm_param.h @@ -0,0 +1,54 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/arm/vm_param.h + +enum macro_byte_size { +/*line: 47*/ BYTE_SIZE = 0x8, /* byte size in bits */ // 8 +}; + +enum macro_page_size { +/*line: 59*/ PAGE_MAX_SHIFT = 0xe, // 14 +/*line: 60*/ PAGE_MAX_SIZE = 0x4000, // (1<. // 127 +}; + +enum macro_max_num_of_xattrs { +/*line: 36*/ MAX_NUM_OF_XATTRS = 0x100, // 256 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 37 +// #define LISTXATTR_RESULT_MAX_NAMES_LEN (sizeof(DA_XATTR_RESOURCEFORK_NAME) + sizeof(DA_XATTR_FINDERINFO_NAME) + (MAX_NUM_OF_XATTRS * ((DA_XATTR_MAXNAMELEN + 1)))) + +// Line: 38 +// #define LISTXATTR_RESULT_MAX_HINTS_LEN (MAX_NUM_OF_XATTRS * 2 * sizeof(uint32_t)) + +// Line: 39 +// #define LISTXATTR_RESULT_MAX_SIZE (LISTXATTR_RESULT_MAX_NAMES_LEN + LISTXATTR_RESULT_MAX_HINTS_LEN) + diff --git a/macrodefs_enums/ios/mach/error.h b/macrodefs_enums/ios/mach/error.h new file mode 100644 index 000000000..8e15d69c3 --- /dev/null +++ b/macrodefs_enums/ios/mach/error.h @@ -0,0 +1,42 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/error.h + +// Depends on identifiers +enum macro_mach_error { +/* + * error number layout as follows: + * + * hi lo + * | system(6) | subsystem(12) | code(14) | + */ +/*line: 78*/ err_none = 0x0, // (mach_error_t)0 +/*line: 79*/ ERR_SUCCESS = 0x0, // (mach_error_t)0 +/*line: 80*/ ERR_ROUTINE_NIL = 0x0, // (mach_error_fn_t)0 +}; + +// Depends on identifiers +enum macro_error_masks { +/*line: 90*/ system_emask = 0x3f, // (err_system(0x3f)) +/*line: 91*/ sub_emask = 0xfff, // (err_sub(0xfff)) +/*line: 92*/ code_emask = 0x3fff, // (0x3fff) +}; + +// Depends on identifiers +enum macro_error_system { +/* major error systems */ +/*line: 96*/ err_kern = 0x0, /* kernel */ // err_system(0x0) +/*line: 97*/ err_us = 0x1, /* user space library */ // err_system(0x1) +/*line: 98*/ err_server = 0x2, /* user space servers */ // err_system(0x2) +/*line: 99*/ err_ipc = 0x3, /* old ipc errors */ // err_system(0x3) +/*line: 100*/ err_mach_ipc = 0x4, /* mach-ipc errors */ // err_system(0x4) +/*line: 101*/ err_dipc = 0x7, /* distributed ipc */ // err_system(0x7) +/*line: 102*/ err_vm = 0x8, /* virtual memory */ // err_system(0x8) +/* err_system(0x38) iokit */ +/*line: 105*/ err_local = 0x3e, /* user defined errors */ // err_system(0x3e) +/*line: 106*/ err_ipc_compat = 0x3f, /* (compatibility) mach-ipc errors */ // err_system(0x3f) +}; + +enum macro_err_max_system { +/*line: 108*/ err_max_system = 0x3f, // 0x3f +}; + diff --git a/macrodefs_enums/ios/mach/exc.h b/macrodefs_enums/ios/mach/exc.h new file mode 100644 index 000000000..03a390379 --- /dev/null +++ b/macrodefs_enums/ios/mach/exc.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/exc.h + +enum macro_exc_message_count { +/*line: 55*/ exc_MSG_COUNT = 0x3, // 3 +}; + diff --git a/macrodefs_enums/ios/mach/exception_types.h b/macrodefs_enums/ios/mach/exception_types.h new file mode 100644 index 000000000..af808f763 --- /dev/null +++ b/macrodefs_enums/ios/mach/exception_types.h @@ -0,0 +1,103 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/exception_types.h + +enum macro_exception_codes { +/* + * Machine-independent exception definitions. + */ +/*line: 68*/ EXC_BAD_ACCESS = 0x1, /* Could not access memory */ // 1 +/* Subcode contains bad memory address. */ +/*line: 72*/ EXC_BAD_INSTRUCTION = 0x2, /* Instruction failed */ // 2 +/* Illegal or undefined instruction or operand */ +/*line: 75*/ EXC_ARITHMETIC = 0x3, /* Arithmetic exception */ // 3 +/* Exact nature of exception is in code field */ +/*line: 78*/ EXC_EMULATION = 0x4, /* Emulation instruction */ // 4 +/* Details in code and subcode fields */ +/*line: 82*/ EXC_SOFTWARE = 0x5, /* Software generated exception */ // 5 +/* Codes 0x10000 - 0x1FFFF reserved for OS emulation (Unix) */ +/*line: 87*/ EXC_BREAKPOINT = 0x6, /* Trace, breakpoint, etc. */ // 6 +/* Details in code field. */ +/*line: 90*/ EXC_SYSCALL = 0x7, /* System calls. */ // 7 +/*line: 92*/ EXC_MACH_SYSCALL = 0x8, /* Mach system calls. */ // 8 +/*line: 94*/ EXC_RPC_ALERT = 0x9, /* RPC alert */ // 9 +/*line: 96*/ EXC_CRASH = 0xa, /* Abnormal process exit */ // 10 +/*line: 98*/ EXC_RESOURCE = 0xb, /* Hit resource consumption limit */ // 11 +/* Exact resource is in code field. */ +/*line: 101*/ EXC_GUARD = 0xc, /* Violated guarded resource protections */ // 12 +/*line: 103*/ EXC_CORPSE_NOTIFY = 0xd, /* Abnormal process exited to corpse state */ // 13 +}; + +enum macro_exception_behavior { +/* + * Machine-independent exception behaviors + */ +/*line: 110*/ EXCEPTION_DEFAULT = 0x1, // 1 +/* Send a catch_exception_raise message including the identity. + */ +/*line: 114*/ EXCEPTION_STATE = 0x2, // 2 +/* Send a catch_exception_raise_state message including the + * thread state. + */ +/*line: 119*/ EXCEPTION_STATE_IDENTITY = 0x3, // 3 +/* Send a catch_exception_raise_state_identity message including + * the thread identity and state. + */ +/*line: 124*/ EXCEPTION_IDENTITY_PROTECTED = 0x4, // 4 +/* Send a catch_exception_raise_identity_protected message including protected task + * and thread identity. + */ +/*line: 129*/ EXCEPTION_STATE_IDENTITY_PROTECTED = 0x5, // 5 +}; + +// Depends on identifiers +enum macro_mach_exception { +/* Send a catch_exception_raise_state_identity_protected message including protected task + * and thread identity plus the thread state. + */ +/*line: 134*/ MACH_EXCEPTION_BACKTRACE_PREFERRED = 0x20000000, // 0x20000000 +/* Prefer sending a catch_exception_raise_backtrace message, if applicable */ +/*line: 137*/ MACH_EXCEPTION_ERRORS = 0x40000000, // 0x40000000 +/* include additional exception specific errors, not used yet. */ +/*line: 140*/ MACH_EXCEPTION_CODES = 0x80000000, // 0x80000000 +/* Send 64-bit code and subcode in the exception header */ +/*line: 143*/ MACH_EXCEPTION_MASK = 0xe0000000, // (MACH_EXCEPTION_CODES|MACH_EXCEPTION_ERRORS|MACH_EXCEPTION_BACKTRACE_PREFERRED) +}; + +// Depends on identifiers +enum macro_exception_masks { +/* + * Masks for exception definitions, above + * bit zero is unused, therefore 1 word = 31 exception types + */ +/*line: 151*/ EXC_MASK_BAD_ACCESS = 0x2, // (1<kernel */ // 0x801f1f1fU +/*line: 153*/ MACH_MSGH_BITS_RAISEIMP = 0x20000000, /* importance raised due to msg */ // 0x20000000U +/*line: 154*/ MACH_MSGH_BITS_DENAP = 0x20000000, // MACH_MSGH_BITS_RAISEIMP +/*line: 156*/ MACH_MSGH_BITS_IMPHOLDASRT = 0x10000000, /* assertion help, userland private */ // 0x10000000U +/*line: 157*/ MACH_MSGH_BITS_DENAPHOLDASRT = 0x10000000, // MACH_MSGH_BITS_IMPHOLDASRT +/*line: 159*/ MACH_MSGH_BITS_CIRCULAR = 0x10000000, /* message circular, kernel private */ // 0x10000000U +/*line: 161*/ MACH_MSGH_BITS_USED = 0xb01f1f1f, // 0xb01f1f1fU +}; + +// // Depends on identifiers +// enum macro_msg_size_null { +// /*line: 231*/ MACH_MSG_SIZE_NULL = 0x0, // (mach_msg_size_t*)0 +// }; + +// Depends on identifiers +enum macro_message_type { +/*line: 235*/ MACH_MSG_PRIORITY_UNSPECIFIED = 0x0, // (mach_msg_priority_t)0 +/*line: 240*/ MACH_MSG_TYPE_MOVE_RECEIVE = 0x10, /* Must hold receive right */ // 16 +/*line: 241*/ MACH_MSG_TYPE_MOVE_SEND = 0x11, /* Must hold send right(s) */ // 17 +/*line: 242*/ MACH_MSG_TYPE_MOVE_SEND_ONCE = 0x12, /* Must hold sendonce right */ // 18 +/*line: 243*/ MACH_MSG_TYPE_COPY_SEND = 0x13, /* Must hold send right(s) */ // 19 +/*line: 244*/ MACH_MSG_TYPE_MAKE_SEND = 0x14, /* Must hold receive right */ // 20 +/*line: 245*/ MACH_MSG_TYPE_MAKE_SEND_ONCE = 0x15, /* Must hold receive right */ // 21 +/*line: 246*/ MACH_MSG_TYPE_COPY_RECEIVE = 0x16, /* NOT VALID */ // 22 +/*line: 247*/ MACH_MSG_TYPE_DISPOSE_RECEIVE = 0x18, /* must hold receive right */ // 24 +/*line: 248*/ MACH_MSG_TYPE_DISPOSE_SEND = 0x19, /* must hold send right(s) */ // 25 +/*line: 249*/ MACH_MSG_TYPE_DISPOSE_SEND_ONCE = 0x1a, /* must hold sendonce right */ // 26 +}; + +enum macro_message_copy_cmd { +/*line: 253*/ MACH_MSG_PHYSICAL_COPY = 0x0, // 0 +/*line: 254*/ MACH_MSG_VIRTUAL_COPY = 0x1, // 1 +/*line: 255*/ MACH_MSG_ALLOCATE = 0x2, // 2 +/*line: 256*/ MACH_MSG_OVERWRITE = 0x3, /* deprecated */ // 3 +}; + +enum macro_message_guard_flags { +/*line: 261*/ MACH_MSG_GUARD_FLAGS_NONE = 0x0, // 0x0000 +/*line: 262*/ MACH_MSG_GUARD_FLAGS_IMMOVABLE_RECEIVE = 0x1, /* Move the receive right and mark it as immovable */ // 0x0001 +/*line: 263*/ MACH_MSG_GUARD_FLAGS_UNGUARDED_ON_SEND = 0x2, /* Verify that the port is unguarded */ // 0x0002 +/*line: 264*/ MACH_MSG_GUARD_FLAGS_MASK = 0x3, /* Valid flag bits */ // 0x0003 +}; + +enum macro_message_descriptor_type { +/*line: 281*/ MACH_MSG_PORT_DESCRIPTOR = 0x0, // 0 +/*line: 282*/ MACH_MSG_OOL_DESCRIPTOR = 0x1, // 1 +/*line: 283*/ MACH_MSG_OOL_PORTS_DESCRIPTOR = 0x2, // 2 +/*line: 284*/ MACH_MSG_OOL_VOLATILE_DESCRIPTOR = 0x3, // 3 +/*line: 285*/ MACH_MSG_GUARDED_PORT_DESCRIPTOR = 0x4, // 4 +/*line: 287*/ MACH_MSG_DESCRIPTOR_MAX = 0x4, // MACH_MSG_GUARDED_PORT_DESCRIPTOR +}; + +// Depends on identifiers +enum macro_null_ptr { +/*line: 419*/ MACH_MSG_BODY_NULL = 0x0, // ((mach_msg_body_t*)0) +/*line: 420*/ MACH_MSG_DESCRIPTOR_NULL = 0x0, // ((mach_msg_descriptor_t*)0) +/*line: 433*/ MACH_MSG_NULL = 0x0, // ((mach_msg_header_t*)0) +}; + +enum macro_msg_trailer_format { +/*line: 443*/ MACH_MSG_TRAILER_FORMAT_0 = 0x0, // 0 +}; + +// Depends on identifiers +enum macro_mach_msg_filter_policy { +/*line: 532*/ MACH_MSG_FILTER_POLICY_ALLOW = 0x0, // (mach_msg_filter_id)0 +}; + +// Depends on identifiers +enum macro_mach_message_sizes { +/* + * There is no fixed upper bound to the size of Mach messages. + */ +/*line: 614*/ MACH_MSG_SIZE_MAX = -0x1, // ((mach_msg_size_t)~0) +/* + * But architectural limits of a given implementation, or + * temporal conditions may cause unpredictable send failures + * for messages larger than MACH_MSG_SIZE_RELIABLE. + * + * In either case, waiting for memory is [currently] outside + * the scope of send timeout values provided to IPC. + */ +/*line: 625*/ MACH_MSG_SIZE_RELIABLE = 0x40000, // ((mach_msg_size_t)256*1024) +}; + +enum macro_mach_message_kind { +/* + * Compatibility definitions, for code written + * when there was a msgh_kind instead of msgh_seqno. + */ +/*line: 631*/ MACH_MSGH_KIND_NORMAL = 0x0, // 0x00000000 +/*line: 632*/ MACH_MSGH_KIND_NOTIFICATION = 0x1, // 0x00000001 +}; + +// Depends on identifiers +enum macro_port_type { +/* + * Values received/carried in messages. Tells the receiver what + * sort of port right he now has. + * + * MACH_MSG_TYPE_PORT_NAME is used to transfer a port name + * which should remain uninterpreted by the kernel. (Port rights + * are not transferred, just the port name.) + */ +/*line: 648*/ MACH_MSG_TYPE_PORT_NONE = 0x0, // 0 +/*line: 650*/ MACH_MSG_TYPE_PORT_NAME = 0xf, // 15 +/*line: 651*/ MACH_MSG_TYPE_PORT_RECEIVE = 0x10, // MACH_MSG_TYPE_MOVE_RECEIVE +/*line: 652*/ MACH_MSG_TYPE_PORT_SEND = 0x11, // MACH_MSG_TYPE_MOVE_SEND +/*line: 653*/ MACH_MSG_TYPE_PORT_SEND_ONCE = 0x12, // MACH_MSG_TYPE_MOVE_SEND_ONCE +/*line: 655*/ MACH_MSG_TYPE_LAST = 0x16, /* Last assigned */ // 22 +}; + +// Depends on identifiers +enum macro_mach_message_options { +/* + * A dummy value. Mostly used to indicate that the actual value + * will be filled in later, dynamically. + */ +/*line: 662*/ MACH_MSG_TYPE_POLYMORPHIC = -0x1, // ((mach_msg_type_name_t)-1) +/*line: 686*/ MACH_MSG_OPTION_NONE = 0x0, // 0x00000000 +/*line: 688*/ MACH_SEND_MSG = 0x1, // 0x00000001 +/*line: 689*/ MACH_RCV_MSG = 0x2, // 0x00000002 +/*line: 691*/ MACH_RCV_LARGE = 0x4, /* report large message sizes */ // 0x00000004 +/*line: 692*/ MACH_RCV_LARGE_IDENTITY = 0x8, /* identify source of large messages */ // 0x00000008 +/*line: 694*/ MACH_SEND_TIMEOUT = 0x10, /* timeout value applies to send */ // 0x00000010 +/*line: 695*/ MACH_SEND_OVERRIDE = 0x20, /* priority override for send */ // 0x00000020 +/*line: 696*/ MACH_SEND_INTERRUPT = 0x40, /* don't restart interrupted sends */ // 0x00000040 +/*line: 697*/ MACH_SEND_NOTIFY = 0x80, /* arm send-possible notify */ // 0x00000080 +/*line: 698*/ MACH_SEND_ALWAYS = 0x10000, /* ignore qlimits - kernel only */ // 0x00010000 +/*line: 699*/ MACH_SEND_FILTER_NONFATAL = 0x10000, /* rejection by message filter should return failure - user only */ // 0x00010000 +/*line: 700*/ MACH_SEND_TRAILER = 0x20000, /* sender-provided trailer */ // 0x00020000 +/*line: 701*/ MACH_SEND_NOIMPORTANCE = 0x40000, /* msg won't carry importance */ // 0x00040000 +/*line: 702*/ MACH_SEND_NODENAP = 0x40000, // MACH_SEND_NOIMPORTANCE +/*line: 703*/ MACH_SEND_IMPORTANCE = 0x80000, /* msg carries importance - kernel only */ // 0x00080000 +/*line: 704*/ MACH_SEND_SYNC_OVERRIDE = 0x100000, /* msg should do sync IPC override (on legacy kernels) */ // 0x00100000 +/*line: 705*/ MACH_SEND_PROPAGATE_QOS = 0x200000, /* IPC should propagate the caller's QoS */ // 0x00200000 +/*line: 706*/ MACH_SEND_SYNC_USE_THRPRI = 0x200000, /* obsolete name */ // MACH_SEND_PROPAGATE_QOS +/*line: 707*/ MACH_SEND_KERNEL = 0x400000, /* full send from kernel space - kernel only */ // 0x00400000 +/*line: 708*/ MACH_SEND_SYNC_BOOTSTRAP_CHECKIN = 0x800000, /* special reply port should boost thread doing sync bootstrap checkin */ // 0x00800000 +}; + +enum macro_receive_flags { +/*line: 710*/ MACH_RCV_TIMEOUT = 0x100, /* timeout value applies to receive */ // 0x00000100 +/*line: 711*/ MACH_RCV_NOTIFY = 0x0, /* legacy name (value was: 0x00000200) */ // 0x00000000 +/*line: 712*/ MACH_RCV_INTERRUPT = 0x400, /* don't restart interrupted receive */ // 0x00000400 +/*line: 713*/ MACH_RCV_VOUCHER = 0x800, /* willing to receive voucher port */ // 0x00000800 +/*line: 714*/ MACH_RCV_OVERWRITE = 0x0, /* scatter receive (deprecated) */ // 0x00000000 +/*line: 715*/ MACH_RCV_GUARDED_DESC = 0x1000, /* Can receive new guarded descriptor */ // 0x00001000 +/*line: 716*/ MACH_RCV_SYNC_WAIT = 0x4000, /* sync waiter waiting for rcv */ // 0x00004000 +/*line: 717*/ MACH_RCV_SYNC_PEEK = 0x8000, /* sync waiter waiting to peek */ // 0x00008000 +}; + +enum macro_strict_reply { +/*line: 719*/ MACH_MSG_STRICT_REPLY = 0x200, /* Enforce specific properties about the reply port, and + * the context in which a thread replies to a message. + * This flag must be passed on both the SEND and RCV */ // 0x00000200 +}; + +enum macro_rcv_trailer_flags { +/* + * NOTE: a 0x00------ RCV mask implies to ask for + * a MACH_MSG_TRAILER_FORMAT_0 with 0 Elements, + * which is equivalent to a mach_msg_trailer_t. + * + * XXXMAC: unlike the rest of the MACH_RCV_* flags, MACH_RCV_TRAILER_LABELS + * needs its own private bit since we only calculate its fields when absolutely + * required. + */ +/*line: 733*/ MACH_RCV_TRAILER_NULL = 0x0, // 0 +/*line: 734*/ MACH_RCV_TRAILER_SEQNO = 0x1, // 1 +/*line: 735*/ MACH_RCV_TRAILER_SENDER = 0x2, // 2 +/*line: 736*/ MACH_RCV_TRAILER_AUDIT = 0x3, // 3 +/*line: 737*/ MACH_RCV_TRAILER_CTX = 0x4, // 4 +/*line: 738*/ MACH_RCV_TRAILER_AV = 0x7, // 7 +/*line: 739*/ MACH_RCV_TRAILER_LABELS = 0x8, // 8 +}; + +enum macro_rcv_trailer_mask { +/*line: 743*/ MACH_RCV_TRAILER_MASK = 0xf000000, // ((0xf<<24)) +}; + +enum macro_mach_message_errors { +/*line: 789*/ MACH_MSG_SUCCESS = 0x0, // 0x00000000 +/*line: 792*/ MACH_MSG_MASK = 0x3e00, // 0x00003e00 +/* All special error code bits defined below. */ +/*line: 794*/ MACH_MSG_IPC_SPACE = 0x2000, // 0x00002000 +/* No room in IPC name space for another capability name. */ +/*line: 796*/ MACH_MSG_VM_SPACE = 0x1000, // 0x00001000 +/* No room in VM address space for out-of-line memory. */ +/*line: 798*/ MACH_MSG_IPC_KERNEL = 0x800, // 0x00000800 +/* Kernel resource shortage handling an IPC capability. */ +/*line: 800*/ MACH_MSG_VM_KERNEL = 0x400, // 0x00000400 +/* Kernel resource shortage handling out-of-line memory. */ +/*line: 803*/ MACH_SEND_IN_PROGRESS = 0x10000001, // 0x10000001 +/* Thread is waiting to send. (Internal use only.) */ +/*line: 805*/ MACH_SEND_INVALID_DATA = 0x10000002, // 0x10000002 +/* Bogus in-line data. */ +/*line: 807*/ MACH_SEND_INVALID_DEST = 0x10000003, // 0x10000003 +/* Bogus destination port. */ +/*line: 809*/ MACH_SEND_TIMED_OUT = 0x10000004, // 0x10000004 +/* Message not sent before timeout expired. */ +/*line: 811*/ MACH_SEND_INVALID_VOUCHER = 0x10000005, // 0x10000005 +/* Bogus voucher port. */ +/*line: 813*/ MACH_SEND_INTERRUPTED = 0x10000007, // 0x10000007 +/* Software interrupt. */ +/*line: 815*/ MACH_SEND_MSG_TOO_SMALL = 0x10000008, // 0x10000008 +/* Data doesn't contain a complete message. */ +/*line: 817*/ MACH_SEND_INVALID_REPLY = 0x10000009, // 0x10000009 +/* Bogus reply port. */ +/*line: 819*/ MACH_SEND_INVALID_RIGHT = 0x1000000a, // 0x1000000a +/* Bogus port rights in the message body. */ +/*line: 821*/ MACH_SEND_INVALID_NOTIFY = 0x1000000b, // 0x1000000b +/* Bogus notify port argument. */ +/*line: 823*/ MACH_SEND_INVALID_MEMORY = 0x1000000c, // 0x1000000c +/* Invalid out-of-line memory pointer. */ +/*line: 825*/ MACH_SEND_NO_BUFFER = 0x1000000d, // 0x1000000d +/* No message buffer is available. */ +/*line: 827*/ MACH_SEND_TOO_LARGE = 0x1000000e, // 0x1000000e +/* Send is too large for port */ +/*line: 829*/ MACH_SEND_INVALID_TYPE = 0x1000000f, // 0x1000000f +/* Invalid msg-type specification. */ +/*line: 831*/ MACH_SEND_INVALID_HEADER = 0x10000010, // 0x10000010 +/* A field in the header had a bad value. */ +/*line: 833*/ MACH_SEND_INVALID_TRAILER = 0x10000011, // 0x10000011 +/* The trailer to be sent does not match kernel format. */ +/*line: 835*/ MACH_SEND_INVALID_CONTEXT = 0x10000012, // 0x10000012 +/* The sending thread context did not match the context on the dest port */ +/*line: 837*/ MACH_SEND_INVALID_OPTIONS = 0x10000013, // 0x10000013 +/* Send options are invalid. */ +/*line: 839*/ MACH_SEND_INVALID_RT_OOL_SIZE = 0x10000015, // 0x10000015 +/* compatibility: no longer a returned error */ +/*line: 841*/ MACH_SEND_NO_GRANT_DEST = 0x10000016, // 0x10000016 +/* The destination port doesn't accept ports in body */ +/*line: 843*/ MACH_SEND_MSG_FILTERED = 0x10000017, // 0x10000017 +/* Message send was rejected by message filter */ +/*line: 845*/ MACH_SEND_AUX_TOO_SMALL = 0x10000018, // 0x10000018 +/* Message auxiliary data is too small */ +/*line: 847*/ MACH_SEND_AUX_TOO_LARGE = 0x10000019, // 0x10000019 +/* Message auxiliary data is too large */ +/*line: 850*/ MACH_RCV_IN_PROGRESS = 0x10004001, // 0x10004001 +/* Thread is waiting for receive. (Internal use only.) */ +/*line: 852*/ MACH_RCV_INVALID_NAME = 0x10004002, // 0x10004002 +/* Bogus name for receive port/port-set. */ +/*line: 854*/ MACH_RCV_TIMED_OUT = 0x10004003, // 0x10004003 +/* Didn't get a message within the timeout value. */ +/*line: 856*/ MACH_RCV_TOO_LARGE = 0x10004004, // 0x10004004 +/* Message buffer is not large enough for inline data. */ +/*line: 858*/ MACH_RCV_INTERRUPTED = 0x10004005, // 0x10004005 +/* Software interrupt. */ +/*line: 860*/ MACH_RCV_PORT_CHANGED = 0x10004006, // 0x10004006 +/* compatibility: no longer a returned error */ +/*line: 862*/ MACH_RCV_INVALID_NOTIFY = 0x10004007, // 0x10004007 +/* Bogus notify port argument. */ +/*line: 864*/ MACH_RCV_INVALID_DATA = 0x10004008, // 0x10004008 +/* Bogus message buffer for inline data. */ +/*line: 866*/ MACH_RCV_PORT_DIED = 0x10004009, // 0x10004009 +/* Port/set was sent away/died during receive. */ +/*line: 868*/ MACH_RCV_IN_SET = 0x1000400a, // 0x1000400a +/* compatibility: no longer a returned error */ +/*line: 870*/ MACH_RCV_HEADER_ERROR = 0x1000400b, // 0x1000400b +/* Error receiving message header. See special bits. */ +/*line: 872*/ MACH_RCV_BODY_ERROR = 0x1000400c, // 0x1000400c +/* Error receiving message body. See special bits. */ +/*line: 874*/ MACH_RCV_INVALID_TYPE = 0x1000400d, // 0x1000400d +/* Invalid msg-type specification in scatter list. */ +/*line: 876*/ MACH_RCV_SCATTER_SMALL = 0x1000400e, // 0x1000400e +/* Out-of-line overwrite region is not large enough */ +/*line: 878*/ MACH_RCV_INVALID_TRAILER = 0x1000400f, // 0x1000400f +/* trailer type or number of trailer elements not supported */ +/*line: 880*/ MACH_RCV_IN_PROGRESS_TIMED = 0x10004011, // 0x10004011 +/* Waiting for receive with timeout. (Internal use only.) */ +/*line: 882*/ MACH_RCV_INVALID_REPLY = 0x10004012, // 0x10004012 +/* invalid reply port used in a STRICT_REPLY message */ +/*line: 884*/ MACH_RCV_INVALID_ARGUMENTS = 0x10004013, // 0x10004013 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 432 +// #define msgh_reserved msgh_voucher_port + +// Line: 504 +// #define INVALID_AUDIT_TOKEN_VALUE {{ \ +// UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX, \ +// UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX }} + +// Line: 551 +// #define MACH_MSG_TRAILER_MINIMUM_SIZE sizeof(mach_msg_trailer_t) + +// Line: 564 +// #define MAX_TRAILER_SIZE ((mach_msg_size_t)sizeof(mach_msg_max_trailer_t)) + +// Line: 578 +// #define MACH_MSG_TRAILER_FORMAT_0_SIZE sizeof(mach_msg_format_0_trailer_t) + +// Line: 580 +// #define KERNEL_SECURITY_TOKEN_VALUE { {0, 1} } + +// Line: 583 +// #define KERNEL_AUDIT_TOKEN_VALUE { {0, 0, 0, 0, 0, 0, 0, 0} } + +// Line: 588 +// #define MACH_MSG_HEADER_EMPTY (mach_msg_header_t){ } + +// Line: 633 +// #define msgh_kind msgh_seqno + +// Line: 634 +// #define mach_msg_kind_t mach_port_seqno_t + diff --git a/macrodefs_enums/ios/mach/mig.h b/macrodefs_enums/ios/mach/mig.h new file mode 100644 index 000000000..924908230 --- /dev/null +++ b/macrodefs_enums/ios/mach/mig.h @@ -0,0 +1,36 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/mig.h + +enum macro_mig_type_check { +/* default MIG type checking on */ +/*line: 63*/ __MigTypeCheck = 0x1, // 1 +}; + +enum macro_mig_pack_structs { +/* + * Pack MIG message structs. + * This is an indicator of the need to view shared structs in a + * binary-compatible format - and MIG message structs are no different. + */ +/*line: 73*/ __MigPackStructs = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_mig_routine_arg_descriptor_null { +/*line: 103*/ MIG_ROUTINE_ARG_DESCRIPTOR_NULL = 0x0, // ((mig_routine_arg_descriptor_t)0) +}; + +// Depends on identifiers +enum macro_mig_routine_descriptor { +/*line: 119*/ MIG_ROUTINE_DESCRIPTOR_NULL = 0x0, // ((mig_routine_descriptor_t)0) +}; + +// Depends on identifiers +enum macro_mig_subsystem { +/*line: 132*/ MIG_SUBSYSTEM_NULL = 0x0, // ((mig_subsystem_t)0) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 150 +// #define MIG_SERVER_ROUTINE __attribute__((mig_server_routine)) + diff --git a/macrodefs_enums/ios/mach/mig_errors.h b/macrodefs_enums/ios/mach/mig_errors.h new file mode 100644 index 000000000..66168ec0c --- /dev/null +++ b/macrodefs_enums/ios/mach/mig_errors.h @@ -0,0 +1,24 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/mig_errors.h + +enum macro_mig_errors { +/* + * These error codes should be specified as system 4, subsytem 2. + * But alas backwards compatibility makes that impossible. + * The problem is old clients of new servers (eg, the kernel) + * which get strange large error codes when there is a Mig problem + * in the server. Unfortunately, the IPC system doesn't have + * the knowledge to convert the codes in this situation. + */ +/*line: 82*/ MIG_TYPE_ERROR = -0x12c, /* client type check failure */ // -300 +/*line: 83*/ MIG_REPLY_MISMATCH = -0x12d, /* wrong reply message ID */ // -301 +/*line: 84*/ MIG_REMOTE_ERROR = -0x12e, /* server detected error */ // -302 +/*line: 85*/ MIG_BAD_ID = -0x12f, /* bad request message ID */ // -303 +/*line: 86*/ MIG_BAD_ARGUMENTS = -0x130, /* server type check failure */ // -304 +/*line: 87*/ MIG_NO_REPLY = -0x131, /* no reply should be send */ // -305 +/*line: 88*/ MIG_EXCEPTION = -0x132, /* server raised exception */ // -306 +/*line: 89*/ MIG_ARRAY_TOO_LARGE = -0x133, /* array not large enough */ // -307 +/*line: 90*/ MIG_SERVER_DIED = -0x134, /* server died */ // -308 +/*line: 91*/ MIG_TRAILER_ERROR = -0x135, /* trailer has an unknown format */ // -309 +}; + diff --git a/macrodefs_enums/ios/mach/ndr.h b/macrodefs_enums/ios/mach/ndr.h new file mode 100644 index 000000000..3fa2eb963 --- /dev/null +++ b/macrodefs_enums/ios/mach/ndr.h @@ -0,0 +1,41 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/ndr.h + +// enum macro_ndr_protocol { +// /* +// * MIG supported protocols for Network Data Representation +// */ +// /*line: 54*/ NDR_PROTOCOL_2_0 = 0x0, // 0 +// }; + +enum macro_ndr_format { +/* + * NDR 2.0 format flag type definition and values. + */ +/*line: 59*/ NDR_INT_BIG_ENDIAN = 0x0, // 0 +/*line: 60*/ NDR_INT_LITTLE_ENDIAN = 0x1, // 1 +/*line: 61*/ NDR_FLOAT_IEEE = 0x0, // 0 +/*line: 62*/ NDR_FLOAT_VAX = 0x1, // 1 +/*line: 63*/ NDR_FLOAT_CRAY = 0x2, // 2 +/*line: 64*/ NDR_FLOAT_IBM = 0x3, // 3 +/*line: 65*/ NDR_CHAR_ASCII = 0x0, // 0 +/*line: 66*/ NDR_CHAR_EBCDIC = 0x1, // 1 +}; + +// enum macro_ndr_convert { +// /*line: 73*/ __NDR_convert__ = 0x0, // 0 +// }; + +// // Depends on identifiers +// enum macro_ndr_convert { +// /*line: 77*/ __NDR_convert__int_rep__ = 0x0, // __NDR_convert__ +// }; + +// enum macro_ndr_convert { +// /*line: 81*/ __NDR_convert__char_rep__ = 0x0, // 0 +// }; + +// enum macro_ndr_float_rep { +// /*line: 85*/ __NDR_convert__float_rep__ = 0x0, // 0 +// }; + diff --git a/macrodefs_enums/ios/mach/notify.h b/macrodefs_enums/ios/mach/notify.h new file mode 100644 index 000000000..bbae1e3bd --- /dev/null +++ b/macrodefs_enums/ios/mach/notify.h @@ -0,0 +1,25 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/notify.h + +// Depends on identifiers +enum macro_notify_events { +/* + * An alternative specification of the notification interface + * may be found in mach/notify.defs. + */ +/*line: 76*/ MACH_NOTIFY_FIRST = 0x40, // 0100 +/*line: 77*/ MACH_NOTIFY_PORT_DELETED = 0x41, // (MACH_NOTIFY_FIRST+001) +/* A send or send-once right was deleted. */ +/*line: 79*/ MACH_NOTIFY_SEND_POSSIBLE = 0x42, // (MACH_NOTIFY_FIRST+002) +/* Now possible to send using specified right */ +/*line: 81*/ MACH_NOTIFY_PORT_DESTROYED = 0x45, // (MACH_NOTIFY_FIRST+005) +/* A receive right was (would have been) deallocated */ +/*line: 83*/ MACH_NOTIFY_NO_SENDERS = 0x46, // (MACH_NOTIFY_FIRST+006) +/* Receive right has no extant send rights */ +/*line: 85*/ MACH_NOTIFY_SEND_ONCE = 0x47, // (MACH_NOTIFY_FIRST+007) +/* An extant send-once right died */ +/*line: 87*/ MACH_NOTIFY_DEAD_NAME = 0x48, // (MACH_NOTIFY_FIRST+010) +/* Send or send-once right died, leaving a dead-name */ +/*line: 89*/ MACH_NOTIFY_LAST = 0x4d, // (MACH_NOTIFY_FIRST+015) +}; + diff --git a/macrodefs_enums/ios/mach/policy.h b/macrodefs_enums/ios/mach/policy.h new file mode 100644 index 000000000..e47a50cad --- /dev/null +++ b/macrodefs_enums/ios/mach/policy.h @@ -0,0 +1,60 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/policy.h + +enum macro_scheduling_policy { +/* + * Policy definitions. Policies should be powers of 2, + * but cannot be or'd together other than to test for a + * policy 'class'. + */ +/*line: 89*/ POLICY_NULL = 0x0, /* none */ // 0 +/*line: 90*/ POLICY_TIMESHARE = 0x1, /* timesharing */ // 1 +/*line: 91*/ POLICY_RR = 0x2, /* fixed round robin */ // 2 +/*line: 92*/ POLICY_FIFO = 0x4, /* fixed fifo */ // 4 +}; + +// Depends on identifiers +enum macro_policy_class_fixedpri { +/* + * Check if policy is of 'class' fixed-priority. + */ +/*line: 99*/ POLICYCLASS_FIXEDPRI = 0x6, // (POLICY_RR|POLICY_FIFO) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 136 +// #define POLICY_TIMESHARE_BASE_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_timeshare_base)/sizeof(integer_t))) + +// Line: 138 +// #define POLICY_TIMESHARE_LIMIT_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_timeshare_limit)/sizeof(integer_t))) + +// Line: 140 +// #define POLICY_TIMESHARE_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_timeshare_info)/sizeof(integer_t))) + +// Line: 170 +// #define POLICY_RR_BASE_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_rr_base)/sizeof(integer_t))) + +// Line: 172 +// #define POLICY_RR_LIMIT_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_rr_limit)/sizeof(integer_t))) + +// Line: 174 +// #define POLICY_RR_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_rr_info)/sizeof(integer_t))) + +// Line: 202 +// #define POLICY_FIFO_BASE_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_fifo_base)/sizeof(integer_t))) + +// Line: 204 +// #define POLICY_FIFO_LIMIT_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_fifo_limit)/sizeof(integer_t))) + +// Line: 206 +// #define POLICY_FIFO_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct policy_fifo_info)/sizeof(integer_t))) + diff --git a/macrodefs_enums/ios/mach/port.h b/macrodefs_enums/ios/mach/port.h new file mode 100644 index 000000000..2bc251a56 --- /dev/null +++ b/macrodefs_enums/ios/mach/port.h @@ -0,0 +1,206 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/port.h + +// Depends on identifiers +enum macro_port_state { +/* + * MACH_PORT_NULL is a legal value that can be carried in messages. + * It indicates the absence of any port or port rights. (A port + * argument keeps the message from being "simple", even if the + * value is MACH_PORT_NULL.) The value MACH_PORT_DEAD is also a legal + * value that can be carried in messages. It indicates + * that a port right was present, but it died. + */ +/*line: 141*/ MACH_PORT_NULL = 0x0, /* intentional loose typing */ // 0 +/*line: 142*/ MACH_PORT_DEAD = -0x1, // ((mach_port_name_t)~0) +}; + +// Depends on identifiers +enum macro_port_rights { +/*line: 190*/ MACH_PORT_RIGHT_SEND = 0x0, // ((mach_port_right_t)0) +/*line: 191*/ MACH_PORT_RIGHT_RECEIVE = 0x1, // ((mach_port_right_t)1) +/*line: 192*/ MACH_PORT_RIGHT_SEND_ONCE = 0x2, // ((mach_port_right_t)2) +/*line: 193*/ MACH_PORT_RIGHT_PORT_SET = 0x3, // ((mach_port_right_t)3) +/*line: 194*/ MACH_PORT_RIGHT_DEAD_NAME = 0x4, // ((mach_port_right_t)4) +/*line: 195*/ MACH_PORT_RIGHT_LABELH = 0x5, /* obsolete right */ // ((mach_port_right_t)5) +/*line: 196*/ MACH_PORT_RIGHT_NUMBER = 0x6, /* right not implemented */ // ((mach_port_right_t)6) +}; + +// Depends on identifiers +enum macro_port_type { +/*line: 205*/ MACH_PORT_TYPE_NONE = 0x0, // ((mach_port_type_t)0L) +/*line: 206*/ MACH_PORT_TYPE_SEND = 0x0, // MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND) +/*line: 207*/ MACH_PORT_TYPE_RECEIVE = 0x1, // MACH_PORT_TYPE(MACH_PORT_RIGHT_RECEIVE) +/*line: 208*/ MACH_PORT_TYPE_SEND_ONCE = 0x2, // MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND_ONCE) +/*line: 209*/ MACH_PORT_TYPE_PORT_SET = 0x3, // MACH_PORT_TYPE(MACH_PORT_RIGHT_PORT_SET) +/*line: 210*/ MACH_PORT_TYPE_DEAD_NAME = 0x4, // MACH_PORT_TYPE(MACH_PORT_RIGHT_DEAD_NAME) +/*line: 211*/ MACH_PORT_TYPE_LABELH = 0x5, /* obsolete */ // MACH_PORT_TYPE(MACH_PORT_RIGHT_LABELH) +/* Dummy type bits that mach_port_type/mach_port_names can return. */ +/*line: 213*/ MACH_PORT_TYPE_DNREQUEST = 0x80000000, // 0x80000000 +/*line: 214*/ MACH_PORT_TYPE_SPREQUEST = 0x40000000, // 0x40000000 +/*line: 215*/ MACH_PORT_TYPE_SPREQUEST_DELAYED = 0x20000000, // 0x20000000 +/* Convenient combinations. */ +/*line: 219*/ MACH_PORT_TYPE_SEND_RECEIVE = 0x1, // (MACH_PORT_TYPE_SEND|MACH_PORT_TYPE_RECEIVE) +/*line: 221*/ MACH_PORT_TYPE_SEND_RIGHTS = 0x2, // (MACH_PORT_TYPE_SEND|MACH_PORT_TYPE_SEND_ONCE) +/*line: 223*/ MACH_PORT_TYPE_PORT_RIGHTS = 0x3, // (MACH_PORT_TYPE_SEND_RIGHTS|MACH_PORT_TYPE_RECEIVE) +/*line: 225*/ MACH_PORT_TYPE_PORT_OR_DEAD = 0x7, // (MACH_PORT_TYPE_PORT_RIGHTS|MACH_PORT_TYPE_DEAD_NAME) +/*line: 227*/ MACH_PORT_TYPE_ALL_RIGHTS = 0x7, // (MACH_PORT_TYPE_PORT_OR_DEAD|MACH_PORT_TYPE_PORT_SET) +}; + +enum macro_send_rights { +/* + * Are there outstanding send rights for a given port? + */ +/*line: 245*/ MACH_PORT_SRIGHTS_NONE = 0x0, /* no srights */ // 0 +/*line: 246*/ MACH_PORT_SRIGHTS_PRESENT = 0x1, /* srights */ // 1 +}; + +// Depends on identifiers +enum macro_port_queue_limit { +/* System-wide values for setting queue limits on a port */ +/*line: 263*/ MACH_PORT_QLIMIT_ZERO = 0x0, // (0) +/*line: 264*/ MACH_PORT_QLIMIT_BASIC = 0x5, // (5) +/*line: 265*/ MACH_PORT_QLIMIT_SMALL = 0x10, // (16) +/*line: 266*/ MACH_PORT_QLIMIT_LARGE = 0x400, // (1024) +/*line: 267*/ MACH_PORT_QLIMIT_KERNEL = 0xfffe, // (65534) +/*line: 268*/ MACH_PORT_QLIMIT_MIN = 0x0, // MACH_PORT_QLIMIT_ZERO +/*line: 269*/ MACH_PORT_QLIMIT_DEFAULT = 0x5, // MACH_PORT_QLIMIT_BASIC +/*line: 270*/ MACH_PORT_QLIMIT_MAX = 0x400, // MACH_PORT_QLIMIT_LARGE +}; + +enum macro_port_status_flags { +/* Possible values for mps_flags (part of mach_port_status_t) */ +/*line: 277*/ MACH_PORT_STATUS_FLAG_TEMPOWNER = 0x1, // 0x01 +/*line: 278*/ MACH_PORT_STATUS_FLAG_GUARDED = 0x2, // 0x02 +/*line: 279*/ MACH_PORT_STATUS_FLAG_STRICT_GUARD = 0x4, // 0x04 +/*line: 280*/ MACH_PORT_STATUS_FLAG_IMP_DONATION = 0x8, // 0x08 +/*line: 281*/ MACH_PORT_STATUS_FLAG_REVIVE = 0x10, // 0x10 +/*line: 282*/ MACH_PORT_STATUS_FLAG_TASKPTR = 0x20, // 0x20 +/*line: 283*/ MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE = 0x40, // 0x40 +/*line: 284*/ MACH_PORT_STATUS_FLAG_NO_GRANT = 0x80, // 0x80 +}; + +enum macro_port_flavor { +/*line: 300*/ MACH_PORT_LIMITS_INFO = 0x1, /* uses mach_port_limits_t */ // 1 +/*line: 301*/ MACH_PORT_RECEIVE_STATUS = 0x2, /* uses mach_port_status_t */ // 2 +/*line: 302*/ MACH_PORT_DNREQUESTS_SIZE = 0x3, /* info is int */ // 3 +/*line: 303*/ MACH_PORT_TEMPOWNER = 0x4, /* indicates receive right will be reassigned to another task */ // 4 +/*line: 304*/ MACH_PORT_IMPORTANCE_RECEIVER = 0x5, /* indicates recieve right accepts priority donation */ // 5 +/*line: 305*/ MACH_PORT_DENAP_RECEIVER = 0x6, /* indicates receive right accepts de-nap donation */ // 6 +/*line: 306*/ MACH_PORT_INFO_EXT = 0x7, /* uses mach_port_info_ext_t */ // 7 +/*line: 307*/ MACH_PORT_GUARD_INFO = 0x8, /* asserts if the strict guard value is correct */ // 8 +/*line: 308*/ MACH_PORT_SERVICE_THROTTLED = 0x9, /* info is an integer that indicates if service port is throttled or not */ // 9 +/*line: 314*/ MACH_PORT_DNREQUESTS_SIZE_COUNT = 0x1, // 1 +/*line: 319*/ MACH_PORT_SERVICE_THROTTLED_COUNT = 0x1, // 1 +}; + +enum macro_port_name_length { +/* + * Structure used to pass information about the service port + */ +/*line: 335*/ MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN = 0xff, /* Maximum length of the port string name buffer */ // 255 +}; + +enum macro_port_options { +/* + * Flags for mach_port_options (used for + * invocation of mach_port_construct). + * Indicates attributes to be set for the newly + * allocated port. + */ +/*line: 353*/ MPO_CONTEXT_AS_GUARD = 0x1, /* Add guard to the port */ // 0x01 +/*line: 354*/ MPO_QLIMIT = 0x2, /* Set qlimit for the port msg queue */ // 0x02 +/*line: 355*/ MPO_TEMPOWNER = 0x4, /* Set the tempowner bit of the port */ // 0x04 +/*line: 356*/ MPO_IMPORTANCE_RECEIVER = 0x8, /* Mark the port as importance receiver */ // 0x08 +/*line: 357*/ MPO_INSERT_SEND_RIGHT = 0x10, /* Insert a send right for the port */ // 0x10 +/*line: 358*/ MPO_STRICT = 0x20, /* Apply strict guarding for port */ // 0x20 +/*line: 359*/ MPO_DENAP_RECEIVER = 0x40, /* Mark the port as App de-nap receiver */ // 0x40 +/*line: 360*/ MPO_IMMOVABLE_RECEIVE = 0x80, /* Mark the port as immovable; protected by the guard context */ // 0x80 +/*line: 361*/ MPO_FILTER_MSG = 0x100, /* Allow message filtering */ // 0x100 +/*line: 362*/ MPO_TG_BLOCK_TRACKING = 0x200, /* Track blocking relationship for thread group during sync IPC */ // 0x200 +/*line: 363*/ MPO_SERVICE_PORT = 0x400, /* Create a service port with the given name; should be used only by launchd */ // 0x400 +/*line: 364*/ MPO_CONNECTION_PORT = 0x800, /* Derive new peer connection port from a given service port */ // 0x800 +/*line: 365*/ MPO_REPLY_PORT = 0x1000, /* Designate port as a reply port. */ // 0x1000 +/*line: 366*/ MPO_ENFORCE_REPLY_PORT_SEMANTICS = 0x2000, /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/ // 0x2000 +/*line: 367*/ MPO_PROVISIONAL_REPLY_PORT = 0x4000, /* Designate port as a provisional reply port. */ // 0x4000 +/*line: 368*/ MPO_EXCEPTION_PORT = 0x8000, /* Used for hardened exceptions - immovable */ // 0x8000 +}; + +enum macro_guard_type { +/* + * EXC_GUARD represents a guard violation for both + * mach ports and file descriptors. GUARD_TYPE_ is used + * to differentiate among them. + */ +/*line: 395*/ GUARD_TYPE_MACH_PORT = 0x1, // 0x1 +}; + +enum macro_port_guard_flags { +/* + * Flags for mach_port_guard_with_flags. These flags extend + * the attributes associated with a guarded port. + */ +/*line: 476*/ MPG_STRICT = 0x1, /* Apply strict guarding for a port */ // 0x01 +/*line: 477*/ MPG_IMMOVABLE_RECEIVE = 0x2, /* Receive right cannot be moved out of the space */ // 0x02 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 310 +// #define MACH_PORT_LIMITS_INFO_COUNT ((natural_t) \ +// (sizeof(mach_port_limits_t)/sizeof(natural_t))) + +// Line: 312 +// #define MACH_PORT_RECEIVE_STATUS_COUNT ((natural_t) \ +// (sizeof(mach_port_status_t)/sizeof(natural_t))) + +// Line: 315 +// #define MACH_PORT_INFO_EXT_COUNT ((natural_t) \ +// (sizeof(mach_port_info_ext_t)/sizeof(natural_t))) + +// Line: 317 +// #define MACH_PORT_GUARD_INFO_COUNT ((natural_t) \ +// (sizeof(mach_port_guard_info_t)/sizeof(natural_t))) + +// Line: 342 +// #define MACH_SERVICE_PORT_INFO_COUNT ((char) \ +// (sizeof(mach_service_port_info_data_t)/sizeof(char))) + +// Line: 442 +// #define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED + +// Line: 443 +// #define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME + +// Line: 448 +// #define MPG_FLAGS_NONE (0x00ull) + +// Line: 453 +// #define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56) + +// Line: 454 +// #define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT (0x02ull << 56) + +// Line: 455 +// #define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER (0x04ull << 56) + +// Line: 456 +// #define MPG_FLAGS_STRICT_REPLY_NO_BANK_ATTR (0x08ull << 56) + +// Line: 457 +// #define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA (0x10ull << 56) + +// Line: 458 +// #define MPG_FLAGS_STRICT_REPLY_MASK (0xffull << 56) + +// Line: 463 +// #define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56) + +// Line: 464 +// #define MPG_FLAGS_MOD_REFS_PINNED_DESTROY (0x02ull << 56) + +// Line: 465 +// #define MPG_FLAGS_MOD_REFS_PINNED_COPYIN (0x04ull << 56) + +// Line: 470 +// #define MPG_FLAGS_IMMOVABLE_PINNED (0x01ull << 56) + diff --git a/macrodefs_enums/ios/mach/processor.h b/macrodefs_enums/ios/mach/processor.h new file mode 100644 index 000000000..5c293abc1 --- /dev/null +++ b/macrodefs_enums/ios/mach/processor.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/processor.h + +enum macro_processor_msg_count { +/*line: 55*/ processor_MSG_COUNT = 0x6, // 6 +}; + diff --git a/macrodefs_enums/ios/mach/processor_info.h b/macrodefs_enums/ios/mach/processor_info.h new file mode 100644 index 000000000..9a1a804bd --- /dev/null +++ b/macrodefs_enums/ios/mach/processor_info.h @@ -0,0 +1,47 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/processor_info.h + +enum macro_processor_info_max { +/*line: 80*/ PROCESSOR_INFO_MAX = 0x400, /* max array size */ // (1024) +}; + +enum macro_processor_set_info_max { +/*line: 86*/ PROCESSOR_SET_INFO_MAX = 0x400, /* max array size */ // (1024) +}; + +enum macro_processor_request_info_flavor { +/*line: 93*/ PROCESSOR_BASIC_INFO = 0x1, /* basic information */ // 1 +/*line: 94*/ PROCESSOR_CPU_LOAD_INFO = 0x2, /* cpu load information */ // 2 +/*line: 95*/ PROCESSOR_PM_REGS_INFO = 0x10000001, /* performance monitor register info */ // 0x10000001 +/*line: 96*/ PROCESSOR_TEMPERATURE = 0x10000002, /* Processor core temperature */ // 0x10000002 +}; + +enum macro_load_scale { +/* + * Scaling factor for load_average, mach_factor. + */ +/*line: 126*/ LOAD_SCALE = 0x3e8, // 1000 +}; + +enum macro_processor_set_info_flavor { +/*line: 129*/ PROCESSOR_SET_BASIC_INFO = 0x5, /* basic information */ // 5 +/*line: 141*/ PROCESSOR_SET_LOAD_INFO = 0x4, /* scheduling statistics */ // 4 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 111 +// #define PROCESSOR_BASIC_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(processor_basic_info_data_t)/sizeof(natural_t))) + +// Line: 120 +// #define PROCESSOR_CPU_LOAD_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(processor_cpu_load_info_data_t)/sizeof(natural_t))) + +// Line: 138 +// #define PROCESSOR_SET_BASIC_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(processor_set_basic_info_data_t)/sizeof(natural_t))) + +// Line: 152 +// #define PROCESSOR_SET_LOAD_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(processor_set_load_info_data_t)/sizeof(natural_t))) + diff --git a/macrodefs_enums/ios/mach/processor_set.h b/macrodefs_enums/ios/mach/processor_set.h new file mode 100644 index 000000000..183a75cae --- /dev/null +++ b/macrodefs_enums/ios/mach/processor_set.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/processor_set.h + +enum macro_processor_set_msg_count { +/*line: 55*/ processor_set_MSG_COUNT = 0xb, // 11 +}; + diff --git a/macrodefs_enums/ios/mach/rpc.h b/macrodefs_enums/ios/mach/rpc.h new file mode 100644 index 000000000..8dc9c0b96 --- /dev/null +++ b/macrodefs_enums/ios/mach/rpc.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/rpc.h + +enum macro_rpc_sigbuf_size { +/*line: 95*/ RPC_SIGBUF_SIZE = 0x8, // 8 +}; + +// Depends on identifiers +enum macro_rpc_subsystem { +/*line: 133*/ RPC_SUBSYSTEM_NULL = 0x0, // ((rpc_subsystem_t)0) +}; + diff --git a/macrodefs_enums/ios/mach/sync_policy.h b/macrodefs_enums/ios/mach/sync_policy.h new file mode 100644 index 000000000..f6bbaff37 --- /dev/null +++ b/macrodefs_enums/ios/mach/sync_policy.h @@ -0,0 +1,15 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/sync_policy.h + +// Depends on identifiers +enum macro_sync_policy { +/* + * These options define the wait ordering of the synchronizers + */ +/*line: 40*/ SYNC_POLICY_FIFO = 0x0, // 0x0 +/*line: 41*/ SYNC_POLICY_FIXED_PRIORITY = 0x1, // 0x1 +/*line: 42*/ SYNC_POLICY_REVERSED = 0x2, // 0x2 +/*line: 43*/ SYNC_POLICY_ORDER_MASK = 0x3, // 0x3 +/*line: 44*/ SYNC_POLICY_LIFO = 0x2, // (SYNC_POLICY_FIFO|SYNC_POLICY_REVERSED) +}; + diff --git a/macrodefs_enums/ios/mach/task.h b/macrodefs_enums/ios/mach/task.h new file mode 100644 index 000000000..1509848f6 --- /dev/null +++ b/macrodefs_enums/ios/mach/task.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/task.h + +enum macro_task_message_count { +/*line: 55*/ task_MSG_COUNT = 0x42, // 66 +}; + diff --git a/macrodefs_enums/ios/mach/task_info.h b/macrodefs_enums/ios/mach/task_info.h new file mode 100644 index 000000000..8e2b41d25 --- /dev/null +++ b/macrodefs_enums/ios/mach/task_info.h @@ -0,0 +1,188 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/task_info.h + +enum macro_task_info_max { +/* Deprecated, use per structure _data_t's instead */ +/*line: 84*/ TASK_INFO_MAX = 0x400, /* maximum array size */ // (1024) +}; + +enum macro_task_basic_info { +/* Don't use this, use MACH_TASK_BASIC_INFO instead */ +/*line: 94*/ TASK_BASIC_INFO_32 = 0x4, /* basic information */ // 4 +/*line: 95*/ TASK_BASIC2_INFO_32 = 0x6, // 6 +/*line: 143*/ TASK_BASIC_INFO_64 = 0x12, // TASK_BASIC_INFO_64_2 +/*line: 173*/ TASK_BASIC_INFO = 0x12, // TASK_BASIC_INFO_64 +}; + +enum macro_task_info { +/*line: 178*/ TASK_EVENTS_INFO = 0x2, /* various event counts */ // 2 +/*line: 195*/ TASK_THREAD_TIMES_INFO = 0x3, /* total times for live threads - + * only accurate if suspended */ // 3 +/*line: 210*/ TASK_ABSOLUTETIME_INFO = 0x1, // 1 +/*line: 224*/ TASK_KERNELMEMORY_INFO = 0x7, // 7 +/*line: 238*/ TASK_SECURITY_TOKEN = 0xd, // 13 +/*line: 242*/ TASK_AUDIT_TOKEN = 0xf, // 15 +/*line: 247*/ TASK_AFFINITY_TAG_INFO = 0x10, /* This is experimental. */ // 16 +/*line: 260*/ TASK_DYLD_INFO = 0x11, // 17 +/*line: 271*/ TASK_DYLD_ALL_IMAGE_INFO_32 = 0x0, /* format value */ // 0 +/*line: 272*/ TASK_DYLD_ALL_IMAGE_INFO_64 = 0x1, /* format value */ // 1 +/* Compatibility for old 32-bit mach_vm_*_t */ +/*line: 278*/ TASK_BASIC_INFO_64_2 = 0x12, /* 64-bit capable basic info */ // 18 +/*line: 296*/ TASK_EXTMOD_INFO = 0x13, // 19 +/*line: 308*/ MACH_TASK_BASIC_INFO = 0x14, /* always 64-bit basic info */ // 20 +/*line: 326*/ TASK_POWER_INFO = 0x15, // 21 +/*line: 344*/ TASK_VM_INFO = 0x16, // 22 +/*line: 345*/ TASK_VM_INFO_PURGEABLE = 0x17, // 23 +/*line: 437*/ TASK_TRACE_MEMORY_INFO = 0x18, /* no longer supported */ // 24 +/*line: 448*/ TASK_WAIT_STATE_INFO = 0x19, /* deprecated. */ // 25 +/*line: 459*/ TASK_POWER_INFO_V2 = 0x1a, // 26 +/*line: 486*/ TASK_VM_INFO_PURGEABLE_ACCOUNT = 0x1b, /* Used for xnu purgeable vm unit tests */ // 27 +/*line: 489*/ TASK_FLAGS_INFO = 0x1c, /* return t_flags field */ // 28 +/*line: 501*/ TASK_DEBUG_INFO_INTERNAL = 0x1d, /* Used for kernel internal development tests. */ // 29 +/*line: 505*/ TASK_SECURITY_CONFIG_INFO = 0x20, /* Runtime security mitigations configuration for the task */ // 32 +}; + +enum macro_task_flags { +/*line: 498*/ TF_LP64 = 0x1, /* task has 64-bit addressing */ // 0x00000001 +/*line: 499*/ TF_64B_DATA = 0x2, /* task has 64-bit data registers */ // 0x00000002 +}; + +enum macro_exc_guard_settings { +/* EXC_GUARD optional delivery settings on a per-task basis */ +/*line: 521*/ TASK_EXC_GUARD_NONE = 0x0, // 0x00 +/*line: 522*/ TASK_EXC_GUARD_VM_DELIVER = 0x1, /* Deliver virtual memory EXC_GUARD exceptions */ // 0x01 +/*line: 523*/ TASK_EXC_GUARD_VM_ONCE = 0x2, /* Deliver them only once */ // 0x02 +/*line: 524*/ TASK_EXC_GUARD_VM_CORPSE = 0x4, /* Deliver them via a forked corpse */ // 0x04 +/*line: 525*/ TASK_EXC_GUARD_VM_FATAL = 0x8, /* Virtual Memory EXC_GUARD delivery is fatal */ // 0x08 +/*line: 526*/ TASK_EXC_GUARD_VM_ALL = 0xf, // 0x0f +/*line: 528*/ TASK_EXC_GUARD_MP_DELIVER = 0x10, /* Deliver mach port EXC_GUARD exceptions */ // 0x10 +/*line: 529*/ TASK_EXC_GUARD_MP_ONCE = 0x20, /* Deliver them only once */ // 0x20 +/*line: 530*/ TASK_EXC_GUARD_MP_CORPSE = 0x40, /* Deliver them via a forked corpse */ // 0x40 +/*line: 531*/ TASK_EXC_GUARD_MP_FATAL = 0x80, /* mach port EXC_GUARD delivery is fatal */ // 0x80 +/*line: 532*/ TASK_EXC_GUARD_MP_ALL = 0xf0, // 0xf0 +/*line: 534*/ TASK_EXC_GUARD_ALL = 0xff, /* All optional deliver settings */ // 0xff +}; + +enum macro_task_corpse_forking { +/*line: 543*/ TASK_CORPSE_FORKING_DISABLED_MEM_DIAG = 0x1, /* Disable corpse forking because the task is running under a diagnostic tool */ // 0x01 +}; + +enum macro_task_sched_info { +/* + * Obsolete interfaces. + */ +/*line: 550*/ TASK_SCHED_TIMESHARE_INFO = 0xa, // 10 +/*line: 551*/ TASK_SCHED_RR_INFO = 0xb, // 11 +/*line: 552*/ TASK_SCHED_FIFO_INFO = 0xc, // 12 +/*line: 554*/ TASK_SCHED_INFO = 0xe, // 14 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 109 +// #define TASK_BASIC_INFO_32_COUNT (sizeof(task_basic_info_32_data_t) / sizeof(natural_t)) + +// Line: 144 +// #define TASK_BASIC_INFO_64_COUNT TASK_BASIC_INFO_64_2_COUNT + +// Line: 168 +// #define TASK_BASIC_INFO_COUNT (sizeof(task_basic_info_data_t) / sizeof(natural_t)) + +// Line: 192 +// #define TASK_EVENTS_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(task_events_info_data_t) / sizeof(natural_t))) + +// Line: 207 +// #define TASK_THREAD_TIMES_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(task_thread_times_info_data_t) / sizeof(natural_t))) + +// Line: 221 +// #define TASK_ABSOLUTETIME_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof (task_absolutetime_info_data_t) / sizeof (natural_t))) + +// Line: 235 +// #define TASK_KERNELMEMORY_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof (task_kernelmemory_info_data_t) / sizeof (natural_t))) + +// Line: 239 +// #define TASK_SECURITY_TOKEN_COUNT ((mach_msg_type_number_t) \ +// (sizeof(security_token_t) / sizeof(natural_t))) + +// Line: 243 +// #define TASK_AUDIT_TOKEN_COUNT (sizeof(audit_token_t) / sizeof(natural_t)) + +// Line: 257 +// #define TASK_AFFINITY_TAG_INFO_COUNT (sizeof(task_affinity_tag_info_data_t) / sizeof(natural_t)) + +// Line: 269 +// #define TASK_DYLD_INFO_COUNT (sizeof(task_dyld_info_data_t) / sizeof(natural_t)) + +// Line: 292 +// #define TASK_BASIC_INFO_64_2_COUNT (sizeof(task_basic_info_64_2_data_t) / sizeof(natural_t)) + +// Line: 304 +// #define TASK_EXTMOD_INFO_COUNT (sizeof(task_extmod_info_data_t) / sizeof(natural_t)) + +// Line: 322 +// #define MACH_TASK_BASIC_INFO_COUNT (sizeof(mach_task_basic_info_data_t) / sizeof(natural_t)) + +// Line: 339 +// #define TASK_POWER_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof (task_power_info_data_t) / sizeof (natural_t))) + +// Line: 413 +// #define TASK_VM_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof (task_vm_info_data_t) / sizeof (natural_t))) + +// Line: 418 +// #define TASK_VM_INFO_REV7_COUNT TASK_VM_INFO_COUNT + +// Line: 419 +// #define TASK_VM_INFO_REV6_COUNT /* doesn't include neural total and peak */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV7_COUNT - 4)) + +// Line: 421 +// #define TASK_VM_INFO_REV5_COUNT /* doesn't include ledger swapins */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV6_COUNT - 2)) + +// Line: 423 +// #define TASK_VM_INFO_REV4_COUNT /* doesn't include decompressions */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV5_COUNT - 1)) + +// Line: 425 +// #define TASK_VM_INFO_REV3_COUNT /* doesn't include limit bytes */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV4_COUNT - 2)) + +// Line: 427 +// #define TASK_VM_INFO_REV2_COUNT /* doesn't include extra ledgers info */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV3_COUNT - 42)) + +// Line: 429 +// #define TASK_VM_INFO_REV1_COUNT /* doesn't include min and max address */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV2_COUNT - 4)) + +// Line: 431 +// #define TASK_VM_INFO_REV0_COUNT /* doesn't include phys_footprint */ \ +// ((mach_msg_type_number_t) (TASK_VM_INFO_REV1_COUNT - 2)) + +// Line: 445 +// #define TASK_TRACE_MEMORY_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(task_trace_memory_info_data_t) / sizeof(natural_t))) + +// Line: 456 +// #define TASK_WAIT_STATE_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(task_wait_state_info_data_t) / sizeof(natural_t))) + +// Line: 481 +// #define TASK_POWER_INFO_V2_COUNT_OLD ((mach_msg_type_number_t) (sizeof (task_power_info_v2_data_t) - sizeof(uint64_t)*2) / sizeof (natural_t)) + +// Line: 483 +// #define TASK_POWER_INFO_V2_COUNT ((mach_msg_type_number_t) (sizeof (task_power_info_v2_data_t) / sizeof (natural_t))) + +// Line: 495 +// #define TASK_FLAGS_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(task_flags_info_data_t) / sizeof (natural_t))) + +// Line: 511 +// #define TASK_SECURITY_CONFIG_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(struct task_security_config_info) / sizeof(natural_t))) + diff --git a/macrodefs_enums/ios/mach/task_inspect.h b/macrodefs_enums/ios/mach/task_inspect.h new file mode 100644 index 000000000..d5d5e1454 --- /dev/null +++ b/macrodefs_enums/ios/mach/task_inspect.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/task_inspect.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 50 +// #define TASK_INSPECT_BASIC_COUNTS_COUNT (sizeof(struct task_inspect_basic_counts) / sizeof(natural_t)) + diff --git a/macrodefs_enums/ios/mach/task_policy.h b/macrodefs_enums/ios/mach/task_policy.h new file mode 100644 index 000000000..192386daf --- /dev/null +++ b/macrodefs_enums/ios/mach/task_policy.h @@ -0,0 +1,74 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/task_policy.h + +enum macro_task_policy { +/* + * TASK_CATEGORY_POLICY: + * + * This provides information to the kernel about the role + * of the task in the system. + * + * Parameters: + * + * role: Enumerated as follows: + * + * TASK_UNSPECIFIED is the default, since the role is not + * inherited from the parent. + * + * TASK_FOREGROUND_APPLICATION should be assigned when the + * task is a normal UI application in the foreground from + * the HI point of view. + * **N.B. There may be more than one of these at a given time. + * + * TASK_BACKGROUND_APPLICATION should be assigned when the + * task is a normal UI application in the background from + * the HI point of view. + * + * TASK_CONTROL_APPLICATION should be assigned to the unique + * UI application which implements the pop-up application dialog. + * There can only be one task at a time with this designation, + * which is assigned FCFS. + * + * TASK_GRAPHICS_SERVER should be assigned to the graphics + * management (window) server. There can only be one task at + * a time with this designation, which is assigned FCFS. + */ +/*line: 104*/ TASK_CATEGORY_POLICY = 0x1, // 1 +/*line: 106*/ TASK_SUPPRESSION_POLICY = 0x3, // 3 +/*line: 107*/ TASK_POLICY_STATE = 0x4, // 4 +/*line: 108*/ TASK_BASE_QOS_POLICY = 0x8, // 8 +/*line: 109*/ TASK_OVERRIDE_QOS_POLICY = 0x9, // 9 +/*line: 110*/ TASK_BASE_LATENCY_QOS_POLICY = 0xa, // 10 +/*line: 111*/ TASK_BASE_THROUGHPUT_QOS_POLICY = 0xb, // 11 +}; + +// Depends on identifiers +enum macro_proc_flags { +/* These should be removed - they belong in proc_info.h */ +/*line: 172*/ PROC_FLAG_DARWINBG = 0x8000, /* process in darwin background */ // 0x8000 +/*line: 173*/ PROC_FLAG_EXT_DARWINBG = 0x10000, /* process in darwin background - external enforcement */ // 0x10000 +/*line: 174*/ PROC_FLAG_IOS_APPLEDAEMON = 0x20000, /* process is apple ios daemon */ // 0x20000 +/*line: 175*/ PROC_FLAG_IOS_IMPPROMOTION = 0x80000, /* process is able to receive an importance donation */ // 0x80000 +/*line: 176*/ PROC_FLAG_ADAPTIVE = 0x100000, /* Process is adaptive */ // 0x100000 +/*line: 177*/ PROC_FLAG_ADAPTIVE_IMPORTANT = 0x200000, /* Process is adaptive, and is currently important */ // 0x200000 +/*line: 178*/ PROC_FLAG_IMPORTANCE_DONOR = 0x400000, /* Process is marked as an importance donor */ // 0x400000 +/*line: 179*/ PROC_FLAG_SUPPRESSED = 0x800000, /* Process is suppressed */ // 0x800000 +/*line: 180*/ PROC_FLAG_APPLICATION = 0x1000000, /* Process is an application */ // 0x1000000 +/*line: 181*/ PROC_FLAG_IOS_APPLICATION = 0x1000000, /* Process is an application */ // PROC_FLAG_APPLICATION +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 133 +// #define TASK_CATEGORY_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (task_category_policy_data_t) / sizeof (integer_t))) + +// Line: 157 +// #define LATENCY_QOS_LAUNCH_DEFAULT_TIER LATENCY_QOS_TIER_3 + +// Line: 158 +// #define THROUGHPUT_QOS_LAUNCH_DEFAULT_TIER THROUGHPUT_QOS_TIER_3 + +// Line: 168 +// #define TASK_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (struct task_qos_policy) / sizeof (integer_t))) + diff --git a/macrodefs_enums/ios/mach/task_special_ports.h b/macrodefs_enums/ios/mach/task_special_ports.h new file mode 100644 index 000000000..07b36a355 --- /dev/null +++ b/macrodefs_enums/ios/mach/task_special_ports.h @@ -0,0 +1,21 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/task_special_ports.h + +enum macro_task_ports { +/*line: 72*/ TASK_KERNEL_PORT = 0x1, /* The full task port for task. */ // 1 +/*line: 74*/ TASK_HOST_PORT = 0x2, /* The host (priv) port for task. */ // 2 +/*line: 76*/ TASK_NAME_PORT = 0x3, /* The name port for task. */ // 3 +/*line: 78*/ TASK_BOOTSTRAP_PORT = 0x4, /* Bootstrap environment for task. */ // 4 +/*line: 80*/ TASK_INSPECT_PORT = 0x5, /* The inspect port for task. */ // 5 +/*line: 82*/ TASK_READ_PORT = 0x6, /* The read port for task. */ // 6 +/* Was TASK_GSSD_PORT 8 which transformed to a host port */ +/*line: 92*/ TASK_ACCESS_PORT = 0x9, /* Permission check for task_for_pid. */ // 9 +/*line: 94*/ TASK_DEBUG_CONTROL_PORT = 0xa, /* debug control port */ // 10 +/*line: 96*/ TASK_RESOURCE_NOTIFY_PORT = 0xb, /* overrides host special RN port */ // 11 +}; + +// Depends on identifiers +enum macro_task_max_special_port { +/*line: 98*/ TASK_MAX_SPECIAL_PORT = 0xb, // TASK_RESOURCE_NOTIFY_PORT +}; + diff --git a/macrodefs_enums/ios/mach/thread_act.h b/macrodefs_enums/ios/mach/thread_act.h new file mode 100644 index 000000000..e1c85ecfd --- /dev/null +++ b/macrodefs_enums/ios/mach/thread_act.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/thread_act.h + +enum macro_thread_act_msg_count { +/*line: 55*/ thread_act_MSG_COUNT = 0x20, // 32 +}; + diff --git a/macrodefs_enums/ios/mach/thread_info.h b/macrodefs_enums/ios/mach/thread_info.h new file mode 100644 index 000000000..cb0baaa81 --- /dev/null +++ b/macrodefs_enums/ios/mach/thread_info.h @@ -0,0 +1,79 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/thread_info.h + +enum macro_thread_info_max { +/*line: 84*/ THREAD_INFO_MAX = 0x20, /* maximum array size */ // (32) +}; + +enum macro_thread_info { +/* + * Currently defined information. + */ +/*line: 90*/ THREAD_BASIC_INFO = 0x3, /* basic information */ // 3 +/*line: 109*/ THREAD_IDENTIFIER_INFO = 0x4, /* thread id and other information */ // 4 +}; + +enum macro_usage_scale { +/* + * Scale factor for usage field. + */ +/*line: 126*/ TH_USAGE_SCALE = 0x3e8, // 1000 +}; + +enum macro_thread_state { +/* + * Thread run states (state field). + */ +/*line: 132*/ TH_STATE_RUNNING = 0x1, /* thread is running normally */ // 1 +/*line: 133*/ TH_STATE_STOPPED = 0x2, /* thread is stopped */ // 2 +/*line: 134*/ TH_STATE_WAITING = 0x3, /* thread is waiting normally */ // 3 +/*line: 135*/ TH_STATE_UNINTERRUPTIBLE = 0x4, /* thread is in an uninterruptible + * wait */ // 4 +/*line: 137*/ TH_STATE_HALTED = 0x5, /* thread is halted at a + * clean point */ // 5 +}; + +enum macro_thread_flags { +/* + * Thread flags (flags field). + */ +/*line: 143*/ TH_FLAGS_SWAPPED = 0x1, /* thread is swapped out */ // 0x1 +/*line: 144*/ TH_FLAGS_IDLE = 0x2, /* thread is an idle thread */ // 0x2 +/*line: 145*/ TH_FLAGS_GLOBAL_FORCED_IDLE = 0x4, /* thread performs global forced idle */ // 0x4 +/* + * Thread extended info (returns same info as proc_pidinfo(...,PROC_PIDTHREADINFO,...) + */ +/*line: 150*/ THREAD_EXTENDED_INFO = 0x5, // 5 +/*line: 151*/ MAXTHREADNAMESIZE = 0x40, // 64 +}; + +enum macro_thread_debug_info { +/*line: 170*/ THREAD_DEBUG_INFO_INTERNAL = 0x6, /* for kernel development internal info */ // 6 +}; + +enum macro_io_num_priorities { +/*line: 173*/ IO_NUM_PRIORITIES = 0x4, // 4 +}; + +enum macro_thread_scheduling_info { +/* + * Obsolete interfaces. + */ +/*line: 207*/ THREAD_SCHED_TIMESHARE_INFO = 0xa, // 10 +/*line: 208*/ THREAD_SCHED_RR_INFO = 0xb, // 11 +/*line: 209*/ THREAD_SCHED_FIFO_INFO = 0xc, // 12 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 106 +// #define THREAD_BASIC_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(thread_basic_info_data_t) / sizeof(natural_t))) + +// Line: 119 +// #define THREAD_IDENTIFIER_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(thread_identifier_info_data_t) / sizeof(natural_t))) + +// Line: 167 +// #define THREAD_EXTENDED_INFO_COUNT ((mach_msg_type_number_t) \ +// (sizeof(thread_extended_info_data_t) / sizeof (natural_t))) + diff --git a/macrodefs_enums/ios/mach/thread_policy.h b/macrodefs_enums/ios/mach/thread_policy.h new file mode 100644 index 000000000..9dd61807e --- /dev/null +++ b/macrodefs_enums/ios/mach/thread_policy.h @@ -0,0 +1,132 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/thread_policy.h + +enum macro_thread_policy { +/* + * THREAD_STANDARD_POLICY: + * + * This is the standard (fair) scheduling mode, assigned to new + * threads. The thread will be given processor time in a manner + * which apportions approximately equal share to long running + * computations. + * + * Parameters: + * [none] + */ +/*line: 84*/ THREAD_STANDARD_POLICY = 0x1, // 1 +// /*line: 93*/ THREAD_STANDARD_POLICY_COUNT = 0x0, // 0 +/* + * THREAD_EXTENDED_POLICY: + * + * Extended form of THREAD_STANDARD_POLICY, which supplies a + * hint indicating whether this is a long running computation. + * + * Parameters: + * + * timeshare: TRUE (the default) results in identical scheduling + * behavior as THREAD_STANDARD_POLICY. + */ +/*line: 107*/ THREAD_EXTENDED_POLICY = 0x1, // 1 +/* + * THREAD_TIME_CONSTRAINT_POLICY: + * + * This scheduling mode is for threads which have real time + * constraints on their execution. + * + * Parameters: + * + * period: This is the nominal amount of time between separate + * processing arrivals, specified in absolute time units. A + * value of 0 indicates that there is no inherent periodicity in + * the computation. + * + * computation: This is the nominal amount of computation + * time needed during a separate processing arrival, specified + * in absolute time units. The thread may be preempted after + * the computation time has elapsed. + * If (computation < constraint/2) it will be forced to + * constraint/2 to avoid unintended preemption and associated + * timer interrupts. + * + * constraint: This is the maximum amount of real time that + * may elapse from the start of a separate processing arrival + * to the end of computation for logically correct functioning, + * specified in absolute time units. Must be (>= computation). + * Note that latency = (constraint - computation). + * + * preemptible: IGNORED (This indicates that the computation may be + * interrupted, subject to the constraint specified above.) + */ +/*line: 150*/ THREAD_TIME_CONSTRAINT_POLICY = 0x2, // 2 +/* + * THREAD_PRECEDENCE_POLICY: + * + * This may be used to indicate the relative value of the + * computation compared to the other threads in the task. + * + * Parameters: + * + * importance: The importance is specified as a signed value. + */ +/*line: 178*/ THREAD_PRECEDENCE_POLICY = 0x3, // 3 +/* + * THREAD_AFFINITY_POLICY: + * + * This policy is experimental. + * This may be used to express affinity relationships + * between threads in the task. Threads with the same affinity tag will + * be scheduled to share an L2 cache if possible. That is, affinity tags + * are a hint to the scheduler for thread placement. + * + * The namespace of affinity tags is generally local to one task. However, + * a child task created after the assignment of affinity tags by its parent + * will share that namespace. In particular, a family of forked processes + * may be created with a shared affinity namespace. + * + * Parameters: + * tag: The affinity set identifier. + */ +/*line: 208*/ THREAD_AFFINITY_POLICY = 0x4, // 4 +// /*line: 214*/ THREAD_AFFINITY_TAG_NULL = 0x0, // 0 +/* + * THREAD_BACKGROUND_POLICY: + */ +/*line: 226*/ THREAD_BACKGROUND_POLICY = 0x5, // 5 +/*line: 241*/ THREAD_LATENCY_QOS_POLICY = 0x7, // 7 +/*line: 254*/ THREAD_THROUGHPUT_QOS_POLICY = 0x8, // 8 +}; + +enum macro_thread_background_policy { +/*line: 232*/ THREAD_BACKGROUND_POLICY_DARWIN_BG = 0x1000, // 0x1000 +}; + + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 116 +// #define THREAD_EXTENDED_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_extended_policy_data_t) / sizeof (integer_t))) + +// Line: 164 +// #define THREAD_TIME_CONSTRAINT_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_time_constraint_policy_data_t) / sizeof (integer_t))) + +// Line: 187 +// #define THREAD_PRECEDENCE_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_precedence_policy_data_t) / sizeof (integer_t))) + +// Line: 219 +// #define THREAD_AFFINITY_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_affinity_policy_data_t) / sizeof (integer_t))) + +// Line: 237 +// #define THREAD_BACKGROUND_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_background_policy_data_t) / sizeof (integer_t))) + +// Line: 251 +// #define THREAD_LATENCY_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_latency_qos_policy_data_t) / sizeof (integer_t))) + +// Line: 264 +// #define THREAD_THROUGHPUT_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ +// (sizeof (thread_throughput_qos_policy_data_t) / sizeof (integer_t))) + diff --git a/macrodefs_enums/ios/mach/thread_special_ports.h b/macrodefs_enums/ios/mach/thread_special_ports.h new file mode 100644 index 000000000..cbc7b71c5 --- /dev/null +++ b/macrodefs_enums/ios/mach/thread_special_ports.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/thread_special_ports.h + +enum macro_thread_ports { +/*line: 70*/ THREAD_KERNEL_PORT = 0x1, /* The full thread port for thread. */ // 1 +/*line: 72*/ THREAD_INSPECT_PORT = 0x2, /* The inspect port for thread. */ // 2 +/*line: 74*/ THREAD_READ_PORT = 0x3, /* The read port for thread. */ // 3 +}; + +// Depends on identifiers +enum macro_thread_special_ports { +/*line: 76*/ THREAD_MAX_SPECIAL_PORT = 0x3, // THREAD_READ_PORT +}; + diff --git a/macrodefs_enums/ios/mach/thread_status.h b/macrodefs_enums/ios/mach/thread_status.h new file mode 100644 index 000000000..e32553ff9 --- /dev/null +++ b/macrodefs_enums/ios/mach/thread_status.h @@ -0,0 +1,16 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/thread_status.h + +enum macro_thread_state_flavor { +/*line: 88*/ THREAD_STATE_FLAVOR_LIST = 0x0, /* List of valid flavors */ // 0 +/*line: 89*/ THREAD_STATE_FLAVOR_LIST_NEW = 0x80, // 128 +/*line: 90*/ THREAD_STATE_FLAVOR_LIST_10_9 = 0x81, // 129 +/*line: 91*/ THREAD_STATE_FLAVOR_LIST_10_13 = 0x82, // 130 +/*line: 92*/ THREAD_STATE_FLAVOR_LIST_10_15 = 0x83, // 131 +}; + +enum macro_thread_state_conversion { +/*line: 97*/ THREAD_CONVERT_THREAD_STATE_TO_SELF = 0x1, // 1 +/*line: 98*/ THREAD_CONVERT_THREAD_STATE_FROM_SELF = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/mach/thread_switch.h b/macrodefs_enums/ios/mach/thread_switch.h new file mode 100644 index 000000000..21a3143ea --- /dev/null +++ b/macrodefs_enums/ios/mach/thread_switch.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/thread_switch.h + +enum macro_switch_option { +/* + * Constant definitions for thread_switch trap. + */ +/*line: 71*/ SWITCH_OPTION_NONE = 0x0, // 0 +/*line: 72*/ SWITCH_OPTION_DEPRESS = 0x1, // 1 +/*line: 73*/ SWITCH_OPTION_WAIT = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/mach/time_value.h b/macrodefs_enums/ios/mach/time_value.h new file mode 100644 index 000000000..36d69fb94 --- /dev/null +++ b/macrodefs_enums/ios/mach/time_value.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/time_value.h + +enum macro_time_micros_max { +/* + * Macros to manipulate time values. Assume that time values + * are normalized (microseconds <= 999999). + */ +/*line: 77*/ TIME_MICROS_MAX = 0xf4240, // (1000000) +}; + diff --git a/macrodefs_enums/ios/mach/vm_attributes.h b/macrodefs_enums/ios/mach/vm_attributes.h new file mode 100644 index 000000000..d4c26e195 --- /dev/null +++ b/macrodefs_enums/ios/mach/vm_attributes.h @@ -0,0 +1,24 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/vm_attributes.h + +enum macro_vm_attributes { +/*line: 78*/ MATTR_CACHE = 0x1, /* cachability */ // 1 +/*line: 79*/ MATTR_MIGRATE = 0x2, /* migrability */ // 2 +/*line: 80*/ MATTR_REPLICATE = 0x4, /* replicability */ // 4 +}; + +enum macro_vm_attribute { +/*line: 87*/ MATTR_VAL_OFF = 0x0, /* (generic) turn attribute off */ // 0 +/*line: 88*/ MATTR_VAL_ON = 0x1, /* (generic) turn attribute on */ // 1 +/*line: 89*/ MATTR_VAL_GET = 0x2, /* (generic) return current value */ // 2 +/*line: 91*/ MATTR_VAL_CACHE_FLUSH = 0x6, /* flush from all caches */ // 6 +/*line: 92*/ MATTR_VAL_DCACHE_FLUSH = 0x7, /* flush from data caches */ // 7 +/*line: 93*/ MATTR_VAL_ICACHE_FLUSH = 0x8, /* flush from instruction caches */ // 8 +/*line: 94*/ MATTR_VAL_CACHE_SYNC = 0x9, /* sync I+D caches */ // 9 +/*line: 95*/ MATTR_VAL_CACHE_SYNC = 0x9, /* sync I+D caches */ // 9 +}; + +enum macro_page_info { +/*line: 97*/ MATTR_VAL_GET_INFO = 0xa, /* get page info (stats) */ // 10 +}; + diff --git a/macrodefs_enums/ios/mach/vm_behavior.h b/macrodefs_enums/ios/mach/vm_behavior.h new file mode 100644 index 000000000..de444e942 --- /dev/null +++ b/macrodefs_enums/ios/mach/vm_behavior.h @@ -0,0 +1,29 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/vm_behavior.h + +// Depends on identifiers +enum macro_vm_behavior { +/* + * The following behaviors affect the memory region's future behavior + * and are stored in the VM map entry data structure. + */ +/*line: 65*/ VM_BEHAVIOR_DEFAULT = 0x0, /* default */ // ((vm_behavior_t)0) +/*line: 66*/ VM_BEHAVIOR_RANDOM = 0x1, /* random */ // ((vm_behavior_t)1) +/*line: 67*/ VM_BEHAVIOR_SEQUENTIAL = 0x2, /* forward sequential */ // ((vm_behavior_t)2) +/*line: 68*/ VM_BEHAVIOR_RSEQNTL = 0x3, /* reverse sequential */ // ((vm_behavior_t)3) +/* + * The following "behaviors" affect the memory region only at the time of the + * call and are not stored in the VM map entry. + */ +/*line: 74*/ VM_BEHAVIOR_WILLNEED = 0x4, /* will need in near future */ // ((vm_behavior_t)4) +/*line: 75*/ VM_BEHAVIOR_DONTNEED = 0x5, /* dont need in near future */ // ((vm_behavior_t)5) +/*line: 76*/ VM_BEHAVIOR_FREE = 0x6, /* free memory without write-back */ // ((vm_behavior_t)6) +/*line: 77*/ VM_BEHAVIOR_ZERO_WIRED_PAGES = 0x7, /* zero out the wired pages of an entry if it is being deleted without unwiring them first */ // ((vm_behavior_t)7) +/*line: 78*/ VM_BEHAVIOR_REUSABLE = 0x8, // ((vm_behavior_t)8) +/*line: 79*/ VM_BEHAVIOR_REUSE = 0x9, // ((vm_behavior_t)9) +/*line: 80*/ VM_BEHAVIOR_CAN_REUSE = 0xa, // ((vm_behavior_t)10) +/*line: 81*/ VM_BEHAVIOR_PAGEOUT = 0xb, /* force page-out of the pages in range (development only) */ // ((vm_behavior_t)11) +/*line: 82*/ VM_BEHAVIOR_ZERO = 0xc, /* zero pages without faulting in additional pages */ // ((vm_behavior_t)12) +/*line: 84*/ VM_BEHAVIOR_LAST_VALID = 0xc, // (VM_BEHAVIOR_ZERO) +}; + diff --git a/macrodefs_enums/ios/mach/vm_inherit.h b/macrodefs_enums/ios/mach/vm_inherit.h new file mode 100644 index 000000000..6c2350dfd --- /dev/null +++ b/macrodefs_enums/ios/mach/vm_inherit.h @@ -0,0 +1,20 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/vm_inherit.h + +// Depends on identifiers +enum macro_vm_inherit { +/* + * Enumeration of valid values for vm_inherit_t. + * + * When making a new VM_INHERIT_*, update tests vm_parameter_validation_[user|kern] + * and their expected results; they deliberately call VM functions with invalid + * inherit values and you may be turning one of those invalid inherits valid. + */ +/*line: 85*/ VM_INHERIT_SHARE = 0x0, /* share with child */ // ((vm_inherit_t)0) +/*line: 86*/ VM_INHERIT_COPY = 0x1, /* copy into child */ // ((vm_inherit_t)1) +/*line: 87*/ VM_INHERIT_NONE = 0x2, /* absent from child */ // ((vm_inherit_t)2) +/*line: 88*/ VM_INHERIT_DONATE_COPY = 0x3, /* copy and delete */ // ((vm_inherit_t)3) +/*line: 90*/ VM_INHERIT_DEFAULT = 0x1, // VM_INHERIT_COPY +/*line: 91*/ VM_INHERIT_LAST_VALID = 0x2, // VM_INHERIT_NONE +}; + diff --git a/macrodefs_enums/ios/mach/vm_map.h b/macrodefs_enums/ios/mach/vm_map.h new file mode 100644 index 000000000..1dd73d05a --- /dev/null +++ b/macrodefs_enums/ios/mach/vm_map.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/vm_map.h + +enum macro_vm_map_message_count { +/*line: 55*/ vm_map_MSG_COUNT = 0x21, // 33 +}; + diff --git a/macrodefs_enums/ios/mach/vm_prot.h b/macrodefs_enums/ios/mach/vm_prot.h new file mode 100644 index 000000000..3da5e517c --- /dev/null +++ b/macrodefs_enums/ios/mach/vm_prot.h @@ -0,0 +1,114 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/vm_prot.h + +// Depends on identifiers +enum macro_vm_protection { +/* + * Protection values, defined as bits within the vm_prot_t type + * + * When making a new VM_PROT_*, update tests vm_parameter_validation_[user|kern] + * and their expected results; they deliberately call VM functions with invalid + * vm_prot values and you may be turning one of those invalid protections valid. + */ +/*line: 85*/ VM_PROT_NONE = 0x0, // ((vm_prot_t)0x00) +/*line: 87*/ VM_PROT_READ = 0x1, /* read permission */ // ((vm_prot_t)0x01) +/*line: 88*/ VM_PROT_WRITE = 0x2, /* write permission */ // ((vm_prot_t)0x02) +/*line: 89*/ VM_PROT_EXECUTE = 0x4, /* execute permission */ // ((vm_prot_t)0x04) +}; + +// Depends on identifiers +enum macro_vm_prot { +/* + * The default protection for newly-created virtual memory + */ +/*line: 95*/ VM_PROT_DEFAULT = 0x3, // (VM_PROT_READ|VM_PROT_WRITE) +/* + * The maximum privileges possible, for parameter checking. + */ +/*line: 101*/ VM_PROT_ALL = 0x7, // (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE) +}; + +// Depends on identifiers +enum macro_vm_prot_rorw_tp { +/* + * This is an alias to VM_PROT_EXECUTE to identify callers that + * want to allocate an hardware assisted Read-only/read-write + * trusted path in userland. + */ +/*line: 108*/ VM_PROT_RORW_TP = 0x4, // (VM_PROT_EXECUTE) +}; + +// Depends on identifiers +enum macro_vm_prot_flags { +/* + * An invalid protection value. + * Used only by memory_object_lock_request to indicate no change + * to page locks. Using -1 here is a bad idea because it + * looks like VM_PROT_ALL and then some. + */ +/*line: 117*/ VM_PROT_NO_CHANGE_LEGACY = 0x8, // ((vm_prot_t)0x08) +/*line: 118*/ VM_PROT_NO_CHANGE = 0x1000000, // ((vm_prot_t)0x01000000) +}; + +// Depends on identifiers +enum macro_vm_prot_copy { +/* + * When a caller finds that he cannot obtain write permission on a + * mapped entry, the following flag can be used. The entry will + * be made "needs copy" effectively copying the object (using COW), + * and write permission will be added to the maximum protections + * for the associated entry. + */ +/*line: 128*/ VM_PROT_COPY = 0x10, // ((vm_prot_t)0x10) +}; + +// Depends on identifiers +enum macro_vm_protection_flags { +/* + * Another invalid protection value. + * Used only by memory_object_data_request upon an object + * which has specified a copy_call copy strategy. It is used + * when the kernel wants a page belonging to a copy of the + * object, and is only asking the object as a result of + * following a shadow chain. This solves the race between pages + * being pushed up by the memory manager and the kernel + * walking down the shadow chain. + */ +/*line: 142*/ VM_PROT_WANTS_COPY = 0x10, // ((vm_prot_t)0x10) +/* + * Another invalid protection value. + * Indicates that the other protection bits are to be applied as a mask + * against the actual protection bits of the map entry. + */ +/*line: 150*/ VM_PROT_IS_MASK = 0x40, // ((vm_prot_t)0x40) +/* + * Another invalid protection value to support execute-only protection. + * VM_PROT_STRIP_READ is a special marker that tells mprotect to not + * set VM_PROT_READ. We have to do it this way because existing code + * expects the system to set VM_PROT_READ if VM_PROT_EXECUTE is set. + * VM_PROT_EXECUTE_ONLY is just a convenience value to indicate that + * the memory should be executable and explicitly not readable. It will + * be ignored on platforms that do not support this type of protection. + */ +/*line: 161*/ VM_PROT_STRIP_READ = 0x80, // ((vm_prot_t)0x80) +/*line: 162*/ VM_PROT_EXECUTE_ONLY = 0x84, // (VM_PROT_EXECUTE|VM_PROT_STRIP_READ) +}; + +// Depends on identifiers +enum macro_vm_prot_tpro { +/* + * Another invalid protection value to support pager TPRO protection. + * VM_PROT_TPRO is a special marker that tells the a pager to + * set TPRO flags on a given entry. We do it this way to prevent + * bloating the pager structures and it allows dyld to pass through + * this flag in lieue of specifying explicit VM flags, allowing us to handle + * the final permissions internally. + */ +/*line: 173*/ VM_PROT_TPRO = 0x200, // ((vm_prot_t)0x200) +}; + +// Depends on identifiers +enum macro_vm_prot_allexec { +/*line: 175*/ VM_PROT_ALLEXEC = 0x4, // (VM_PROT_EXECUTE) +}; + diff --git a/macrodefs_enums/ios/mach/vm_purgable.h b/macrodefs_enums/ios/mach/vm_purgable.h new file mode 100644 index 000000000..d49068935 --- /dev/null +++ b/macrodefs_enums/ios/mach/vm_purgable.h @@ -0,0 +1,128 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mach/vm_purgable.h + +// Depends on identifiers +enum macro_vm_purgable_state { +/* + * Enumeration of valid values for vm_purgable_t. + * + * When making a new VM_PURGABLE_*, update tests vm_parameter_validation_[user|kern] + * and their expected results; they deliberately call VM functions with invalid + * values and you may be turning one of those invalid bits valid. + */ +/*line: 62*/ VM_PURGABLE_SET_STATE = 0x0, /* set state of purgeable object */ // ((vm_purgable_t)0) +/*line: 63*/ VM_PURGABLE_GET_STATE = 0x1, /* get state of purgeable object */ // ((vm_purgable_t)1) +/*line: 64*/ VM_PURGABLE_PURGE_ALL = 0x2, /* purge all volatile objects now */ // ((vm_purgable_t)2) +/*line: 65*/ VM_PURGABLE_SET_STATE_FROM_KERNEL = 0x3, /* set state from kernel */ // ((vm_purgable_t)3) +}; + +enum macro_purgable_aging { +/* + * Purgeable state: + * + * 31 15 14 13 12 11 10 8 7 6 5 4 3 2 1 0 + * +-----+--+-----+--+----+-+-+---+---+---+ + * | |NA|DEBUG| | GRP| |B|ORD| |STA| + * +-----+--+-----+--+----+-+-+---+---+---+ + * " ": unused (i.e. reserved) + * STA: purgeable state + * see: VM_PURGABLE_NONVOLATILE=0 to VM_PURGABLE_DENY=3 + * ORD: order + * see:VM_VOLATILE_ORDER_* + * B: behavior + * see: VM_PURGABLE_BEHAVIOR_* + * GRP: group + * see: VM_VOLATILE_GROUP_* + * DEBUG: debug + * see: VM_PURGABLE_DEBUG_* + * NA: no aging + * see: VM_PURGABLE_NO_AGING* + */ +/*line: 89*/ VM_PURGABLE_NO_AGING_SHIFT = 0x10, // 16 +/*line: 90*/ VM_PURGABLE_NO_AGING_MASK = 0x10000, // (0x1<DN of the Certificate authorityDN of the holder + + Example: + + DC=com,DC=example,CN=CertificatAuthorityDC=com,DC=example,CN=username +*/ +/*line: 103*/ ID_TYPE_X509_DN = 0xb, // 11 +/*! + @defined ID_TYPE_KERBEROS + @abstract is a NULL terminated string representation of a Kerberos principal + @discussion is a NULL terminated string in the form of user\@REALM representing a typical + Kerberos principal. +*/ +/*line: 111*/ ID_TYPE_KERBEROS = 0xc, // 12 +}; + diff --git a/macrodefs_enums/ios/mpool.h b/macrodefs_enums/ios/mpool.h new file mode 100644 index 000000000..0585ffeab --- /dev/null +++ b/macrodefs_enums/ios/mpool.h @@ -0,0 +1,19 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/mpool.h + +enum macro_hash_size { +/* + * The memory pool scheme is a simple one. Each in-memory page is referenced + * by a bucket which is threaded in up to two of three ways. All active pages + * are threaded on a hash chain (hashed by page number) and an lru chain. + * Inactive pages are threaded on a free chain. Each reference to a memory + * pool is handed an opaque MPOOL cookie which stores all of this information. + */ +/*line: 49*/ HASHSIZE = 0x80, // 128 +}; + +enum macro_mpool_flags { +/*line: 59*/ MPOOL_DIRTY = 0x1, /* page needs to be written */ // 0x01 +/*line: 60*/ MPOOL_PINNED = 0x2, /* page is pinned into memory */ // 0x02 +}; + diff --git a/macrodefs_enums/ios/nameser.h b/macrodefs_enums/ios/nameser.h new file mode 100644 index 000000000..d975b0272 --- /dev/null +++ b/macrodefs_enums/ios/nameser.h @@ -0,0 +1,297 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/nameser.h + +enum macro_nameser_constants { +/*% + * Revision information. This is the release date in YYYYMMDD format. + * It can change every day so the right thing to do with it is use it + * in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not + * compare for equality; rather, use it to determine whether your libbind.a + * contains a new enough lib/nameser/ to support the feature you need. + */ +/*line: 75*/ __NAMESER = 0x1328dbe, /*%< New interface version stamp. */ // 20090302 +/* + * Define constants based on RFC0883, RFC1034, RFC 1035 + */ +/*line: 79*/ NS_PACKETSZ = 0x200, /*%< default UDP packet size */ // 512 +/*line: 80*/ NS_MAXDNAME = 0x401, /*%< maximum domain name (presentation format)*/ // 1025 +/*line: 81*/ NS_MAXMSG = 0xffff, /*%< maximum message size */ // 65535 +/*line: 82*/ NS_MAXCDNAME = 0xff, /*%< maximum compressed domain name */ // 255 +/*line: 83*/ NS_MAXLABEL = 0x3f, /*%< maximum length of domain label */ // 63 +/*line: 84*/ NS_MAXLABELS = 0x80, /*%< theoretical max #/labels per domain name */ // 128 +/*line: 85*/ NS_MAXNNAME = 0x100, /*%< maximum uncompressed (binary) domain name*/ // 256 +/*line: 87*/ NS_HFIXEDSZ = 0xc, /*%< #/bytes of fixed data in header */ // 12 +/*line: 88*/ NS_QFIXEDSZ = 0x4, /*%< #/bytes of fixed data in query */ // 4 +/*line: 89*/ NS_RRFIXEDSZ = 0xa, /*%< #/bytes of fixed data in r record */ // 10 +/*line: 90*/ NS_INT32SZ = 0x4, /*%< #/bytes of data in a u_int32_t */ // 4 +/*line: 91*/ NS_INT16SZ = 0x2, /*%< #/bytes of data in a u_int16_t */ // 2 +/*line: 92*/ NS_INT8SZ = 0x1, /*%< #/bytes of data in a u_int8_t */ // 1 +/*line: 93*/ NS_INADDRSZ = 0x4, /*%< IPv4 T_A */ // 4 +/*line: 94*/ NS_IN6ADDRSZ = 0x10, /*%< IPv6 T_AAAA */ // 16 +/*line: 95*/ NS_CMPRSFLGS = 0xc0, /*%< Flag bits indicating name compression. */ // 0xc0 +/*line: 96*/ NS_DEFAULTPORT = 0x35, /*%< For both TCP and UDP. */ // 53 +}; + +enum macro_tsig_flags { +/*line: 314*/ NS_TSIG_FUDGE = 0x12c, // 300 +/*line: 315*/ NS_TSIG_TCP_COUNT = 0x64, // 100 +}; + +enum macro_tsig_error { +/*line: 318*/ NS_TSIG_ERROR_NO_TSIG = -0xa, // -10 +/*line: 319*/ NS_TSIG_ERROR_NO_SPACE = -0xb, // -11 +/*line: 320*/ NS_TSIG_ERROR_FORMERR = -0xc, // -12 +}; + +// Depends on identifiers +enum macro_nameser_keypr_rdata_flags { +/* Flags field of the KEY RR rdata. */ +/*line: 445*/ NS_KEY_TYPEMASK = 0xc000, /*%< Mask for "type" bits */ // 0xC000 +/*line: 446*/ NS_KEY_TYPE_AUTH_CONF = 0x0, /*%< Key usable for both */ // 0x0000 +/*line: 447*/ NS_KEY_TYPE_CONF_ONLY = 0x8000, /*%< Key usable for confidentiality */ // 0x8000 +/*line: 448*/ NS_KEY_TYPE_AUTH_ONLY = 0x4000, /*%< Key usable for authentication */ // 0x4000 +/*line: 449*/ NS_KEY_TYPE_NO_KEY = 0xc000, /*%< No key usable for either; no key */ // 0xC000 +/* The type bits can also be interpreted independently, as single bits: */ +/*line: 451*/ NS_KEY_NO_AUTH = 0x8000, /*%< Key unusable for authentication */ // 0x8000 +/*line: 452*/ NS_KEY_NO_CONF = 0x4000, /*%< Key unusable for confidentiality */ // 0x4000 +/*line: 453*/ NS_KEY_RESERVED2 = 0x2000, /* Security is *mandatory* if bit=0 */ // 0x2000 +/*line: 454*/ NS_KEY_EXTENDED_FLAGS = 0x1000, /*%< reserved - must be zero */ // 0x1000 +/*line: 455*/ NS_KEY_RESERVED4 = 0x800, /*%< reserved - must be zero */ // 0x0800 +/*line: 456*/ NS_KEY_RESERVED5 = 0x400, /*%< reserved - must be zero */ // 0x0400 +/*line: 457*/ NS_KEY_NAME_TYPE = 0x300, /*%< these bits determine the type */ // 0x0300 +/*line: 458*/ NS_KEY_NAME_USER = 0x0, /*%< key is assoc. with user */ // 0x0000 +/*line: 459*/ NS_KEY_NAME_ENTITY = 0x200, /*%< key is assoc. with entity eg host */ // 0x0200 +/*line: 460*/ NS_KEY_NAME_ZONE = 0x100, /*%< key is zone key */ // 0x0100 +/*line: 461*/ NS_KEY_NAME_RESERVED = 0x300, /*%< reserved meaning */ // 0x0300 +/*line: 462*/ NS_KEY_RESERVED8 = 0x80, /*%< reserved - must be zero */ // 0x0080 +/*line: 463*/ NS_KEY_RESERVED9 = 0x40, /*%< reserved - must be zero */ // 0x0040 +/*line: 464*/ NS_KEY_RESERVED10 = 0x20, /*%< reserved - must be zero */ // 0x0020 +/*line: 465*/ NS_KEY_RESERVED11 = 0x10, /*%< reserved - must be zero */ // 0x0010 +/*line: 466*/ NS_KEY_SIGNATORYMASK = 0xf, /*%< key can sign RR's of same name */ // 0x000F +/*line: 467*/ NS_KEY_RESERVED_BITMASK = 0x2cf0, // (NS_KEY_RESERVED2|NS_KEY_RESERVED4|NS_KEY_RESERVED5|NS_KEY_RESERVED8|NS_KEY_RESERVED9|NS_KEY_RESERVED10|NS_KEY_RESERVED11) +/*line: 474*/ NS_KEY_RESERVED_BITMASK2 = 0xffff, /*%< no bits defined here */ // 0xFFFF +/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */ +/*line: 476*/ NS_ALG_MD5RSA = 0x1, /*%< MD5 with RSA */ // 1 +/*line: 477*/ NS_ALG_DH = 0x2, /*%< Diffie Hellman KEY */ // 2 +/*line: 478*/ NS_ALG_DSA = 0x3, /*%< DSA KEY */ // 3 +/*line: 479*/ NS_ALG_DSS = 0x3, // NS_ALG_DSA +/*line: 480*/ NS_ALG_EXPIRE_ONLY = 0xfd, /*%< No alg, no security */ // 253 +/*line: 481*/ NS_ALG_PRIVATE_OID = 0xfe, /*%< Key begins with OID giving alg */ // 254 +/* value 0 is reserved */ +/*line: 484*/ NS_KEY_PROT_TLS = 0x1, // 1 +/*line: 485*/ NS_KEY_PROT_EMAIL = 0x2, // 2 +/*line: 486*/ NS_KEY_PROT_DNSSEC = 0x3, // 3 +/*line: 487*/ NS_KEY_PROT_IPSEC = 0x4, // 4 +/*line: 488*/ NS_KEY_PROT_ANY = 0xff, // 255 +}; + +enum macro_rsa_key_size { +/* Signatures */ +/*line: 491*/ NS_MD5RSA_MIN_BITS = 0x200, /*%< Size of a mod or exp in bits */ // 512 +/*line: 492*/ NS_MD5RSA_MAX_BITS = 0x1000, // 4096 +}; + +enum macro_dsa_sizes { +/*line: 500*/ NS_DSA_SIG_SIZE = 0x29, // 41 +/*line: 501*/ NS_DSA_MIN_SIZE = 0xd5, // 213 +/*line: 502*/ NS_DSA_MAX_BYTES = 0x195, // 405 +}; + +enum macro_ns_sig_offsets { +/* Offsets into SIG record rdata to find various values */ +/*line: 505*/ NS_SIG_TYPE = 0x0, /*%< Type flags */ // 0 +/*line: 506*/ NS_SIG_ALG = 0x2, /*%< Algorithm */ // 2 +/*line: 507*/ NS_SIG_LABELS = 0x3, /*%< How many labels in name */ // 3 +/*line: 508*/ NS_SIG_OTTL = 0x4, /*%< Original TTL */ // 4 +/*line: 509*/ NS_SIG_EXPIR = 0x8, /*%< Expiration time */ // 8 +/*line: 510*/ NS_SIG_SIGNED = 0xc, /*%< Signature time */ // 12 +/*line: 511*/ NS_SIG_FOOT = 0x10, /*%< Key footprint */ // 16 +/*line: 512*/ NS_SIG_SIGNER = 0x12, /*%< Domain name of who signed it */ // 18 +/* How RR types are represented as bit-flags in NXT records */ +/*line: 514*/ NS_NXT_BITS = 0x8, // 8 +/*line: 518*/ NS_NXT_MAX = 0x7f, // 127 +}; + +enum macro_edns_flags { +/*% + * EDNS0 extended flags and option codes, host order. + */ +/*line: 523*/ NS_OPT_DNSSEC_OK = 0x8000, // 0x8000U +/*line: 524*/ NS_OPT_NSID = 0x3, // 3 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 102 +// #define ns_sect res_9_ns_sect + +// Line: 133 +// #define ns_msg res_9_ns_msg + +// Line: 159 +// #define _ns_flagdata _res_9_ns_flagdata + +// Line: 176 +// #define ns_rr res_9_ns_rr + +// Line: 216 +// #define ns_flag res_9_ns_flag + +// Line: 236 +// #define ns_opcode res_9_ns_opcode + +// Line: 252 +// #define ns_rcode res_9_ns_rcode + +// Line: 278 +// #define ns_update_operation res_9_ns_update_operation + +// Line: 290 +// #define ns_tsig_key res_9_ns_tsig_key + +// Line: 303 +// #define ns_tcp_tsig_state res_9_ns_tcp_tsig_state + +// Line: 407 +// #define ns_class res_9_ns_class + +// Line: 424 +// #define ns_key_types res_9_ns_key_types + +// Line: 434 +// #define ns_cert_types res_9_ns_cert_types + +// Line: 494 +// #define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) + +// Line: 496 +// #define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) + +// Line: 497 +// #define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) + +// Line: 498 +// #define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) + +// Line: 570 +// #define ns_msg_getflag res_9_ns_msg_getflag + +// Line: 571 +// #define ns_get16 res_9_ns_get16 + +// Line: 572 +// #define ns_get32 res_9_ns_get32 + +// Line: 573 +// #define ns_put16 res_9_ns_put16 + +// Line: 574 +// #define ns_put32 res_9_ns_put32 + +// Line: 575 +// #define ns_initparse res_9_ns_initparse + +// Line: 576 +// #define ns_skiprr res_9_ns_skiprr + +// Line: 577 +// #define ns_parserr res_9_ns_parserr + +// Line: 578 +// #define ns_parserr2 res_9_ns_parserr2 + +// Line: 579 +// #define ns_sprintrr res_9_ns_sprintrr + +// Line: 580 +// #define ns_sprintrrf res_9_ns_sprintrrf + +// Line: 581 +// #define ns_format_ttl res_9_ns_format_ttl + +// Line: 582 +// #define ns_parse_ttl res_9_ns_parse_ttl + +// Line: 583 +// #define ns_datetosecs res_9_ns_datetosecs + +// Line: 584 +// #define ns_name_ntol res_9_ns_name_ntol + +// Line: 585 +// #define ns_name_ntop res_9_ns_name_ntop + +// Line: 586 +// #define ns_name_pton res_9_ns_name_pton + +// Line: 587 +// #define ns_name_pton2 res_9_ns_name_pton2 + +// Line: 588 +// #define ns_name_unpack res_9_ns_name_unpack + +// Line: 589 +// #define ns_name_unpack2 res_9_ns_name_unpack2 + +// Line: 590 +// #define ns_name_pack res_9_ns_name_pack + +// Line: 591 +// #define ns_name_compress res_9_ns_name_compress + +// Line: 592 +// #define ns_name_uncompress res_9_ns_name_uncompress + +// Line: 593 +// #define ns_name_skip res_9_ns_name_skip + +// Line: 594 +// #define ns_name_rollback res_9_ns_name_rollback + +// Line: 595 +// #define ns_sign res_9_ns_sign + +// Line: 596 +// #define ns_sign2 res_9_ns_sign2 + +// Line: 597 +// #define ns_sign_tcp res_9_ns_sign_tcp + +// Line: 598 +// #define ns_sign_tcp2 res_9_ns_sign_tcp2 + +// Line: 599 +// #define ns_sign_tcp_init res_9_ns_sign_tcp_init + +// Line: 600 +// #define ns_find_tsig res_9_ns_find_tsig + +// Line: 601 +// #define ns_verify res_9_ns_verify + +// Line: 602 +// #define ns_verify_tcp res_9_ns_verify_tcp + +// Line: 603 +// #define ns_verify_tcp_init res_9_ns_verify_tcp_init + +// Line: 604 +// #define ns_samedomain res_9_ns_samedomain + +// Line: 605 +// #define ns_subdomain res_9_ns_subdomain + +// Line: 606 +// #define ns_makecanon res_9_ns_makecanon + +// Line: 607 +// #define ns_samename res_9_ns_samename + +// Line: 608 +// #define ns_rdata_unpack res_9_ns_rdata_unpack + +// Line: 609 +// #define ns_rdata_equal res_9_ns_rdata_equal + +// Line: 610 +// #define ns_rdata_refers res_9_ns_rdata_refers + diff --git a/macrodefs_enums/ios/ndbm.h b/macrodefs_enums/ios/ndbm.h new file mode 100644 index 000000000..d3695c796 --- /dev/null +++ b/macrodefs_enums/ios/ndbm.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ndbm.h + +// Depends on identifiers +enum macro_dbm_rdonly { +/*line: 74*/ DBM_RDONLY = 0x0, // O_RDONLY +}; + +enum macro_dbm_insert_replace { +/* Flags to dbm_store(). */ +/*line: 78*/ DBM_INSERT = 0x0, // 0 +/*line: 79*/ DBM_REPLACE = 0x1, // 1 +}; + diff --git a/macrodefs_enums/ios/net/ethernet.h b/macrodefs_enums/ios/net/ethernet.h new file mode 100644 index 000000000..5373ba6da --- /dev/null +++ b/macrodefs_enums/ios/net/ethernet.h @@ -0,0 +1,77 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/ethernet.h + +enum macro_ether_addr_len { +/* + * The number of bytes in an ethernet (MAC) address. + */ +/*line: 41*/ ETHER_ADDR_LEN = 0x6, // 6 +}; + +// Depends on identifiers +enum macro_ether_lengths { +/* + * The number of bytes in the type field. + */ +/*line: 46*/ ETHER_TYPE_LEN = 0x2, // 2 +/* + * The number of bytes in the trailing CRC field. + */ +/*line: 51*/ ETHER_CRC_LEN = 0x4, // 4 +/* + * The length of the combined header. + */ +/*line: 56*/ ETHER_HDR_LEN = 0xe, // (ETHER_ADDR_LEN*2+ETHER_TYPE_LEN) +/* + * The minimum packet length. + */ +/*line: 61*/ ETHER_MIN_LEN = 0x40, // 64 +}; + +enum macro_ether_max_len { +/* + * The maximum packet length. + */ +/*line: 66*/ ETHER_MAX_LEN = 0x5ee, // 1518 +}; + +enum macro_ethernet_types { +/* + * Mbuf adjust factor to force 32-bit alignment of IP header. + * Drivers should do m_adj(m, ETHER_ALIGN) when setting up a + * receive so the upper layers get the IP header properly aligned + * past the 14-byte Ethernet header. + */ +/*line: 74*/ ETHER_ALIGN = 0x2, /* driver adjust for IP hdr alignment */ // 2 +/*line: 100*/ ETHERTYPE_PUP = 0x200, /* PUP protocol */ // 0x0200 +/*line: 101*/ ETHERTYPE_IP = 0x800, /* IP protocol */ // 0x0800 +/*line: 102*/ ETHERTYPE_ARP = 0x806, /* Addr. resolution protocol */ // 0x0806 +/*line: 103*/ ETHERTYPE_REVARP = 0x8035, /* reverse Addr. resolution protocol */ // 0x8035 +/*line: 104*/ ETHERTYPE_VLAN = 0x8100, /* IEEE 802.1Q VLAN tagging */ // 0x8100 +/*line: 105*/ ETHERTYPE_IPV6 = 0x86dd, /* IPv6 */ // 0x86dd +/*line: 106*/ ETHERTYPE_PAE = 0x888e, /* EAPOL PAE/802.1x */ // 0x888e +/*line: 107*/ ETHERTYPE_RSN_PREAUTH = 0x88c7, /* 802.11i / RSN Pre-Authentication */ // 0x88c7 +/*line: 108*/ ETHERTYPE_PTP = 0x88f7, /* IEEE 1588 Precision Time Protocol */ // 0x88f7 +/*line: 109*/ ETHERTYPE_LOOPBACK = 0x9000, /* used to test interfaces */ // 0x9000 +}; + +enum macro_ethertypes { +/* + * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have + * (type-ETHERTYPE_TRAIL)*512 bytes of data followed + * by an ETHER type (as given above) and then the (variable-length) header. + */ +/*line: 117*/ ETHERTYPE_TRAIL = 0x1000, /* Trailer packet */ // 0x1000 +/*line: 118*/ ETHERTYPE_NTRAILER = 0x10, // 16 +}; + +// Depends on identifiers +enum macro_ether_mtu_min { +/*line: 120*/ ETHERMTU = 0x5dc, // (ETHER_MAX_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN) +/*line: 121*/ ETHERMIN = 0x2e, // (ETHER_MIN_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 98 +// #define ether_addr_octet octet + diff --git a/macrodefs_enums/ios/net/if.h b/macrodefs_enums/ios/net/if.h new file mode 100644 index 000000000..6aa9e772d --- /dev/null +++ b/macrodefs_enums/ios/net/if.h @@ -0,0 +1,174 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/if.h + +enum macro_if_namesize { +/*line: 66*/ IF_NAMESIZE = 0x10, // 16 +}; + +// Depends on identifiers +enum macro_interface_flags { +/*line: 93*/ IFF_UP = 0x1, /* interface is up */ // 0x1 +/*line: 94*/ IFF_BROADCAST = 0x2, /* broadcast address valid */ // 0x2 +/*line: 95*/ IFF_DEBUG = 0x4, /* turn on debugging */ // 0x4 +/*line: 96*/ IFF_LOOPBACK = 0x8, /* is a loopback net */ // 0x8 +/*line: 97*/ IFF_POINTOPOINT = 0x10, /* interface is point-to-point link */ // 0x10 +/*line: 98*/ IFF_NOTRAILERS = 0x20, /* obsolete: avoid use of trailers */ // 0x20 +/*line: 99*/ IFF_RUNNING = 0x40, /* resources allocated */ // 0x40 +/*line: 100*/ IFF_NOARP = 0x80, /* no address resolution protocol */ // 0x80 +/*line: 101*/ IFF_PROMISC = 0x100, /* receive all packets */ // 0x100 +/*line: 102*/ IFF_ALLMULTI = 0x200, /* receive all multicast packets */ // 0x200 +/*line: 103*/ IFF_OACTIVE = 0x400, /* transmission in progress */ // 0x400 +/*line: 104*/ IFF_SIMPLEX = 0x800, /* can't hear own transmissions */ // 0x800 +/*line: 105*/ IFF_LINK0 = 0x1000, /* per link layer defined bit */ // 0x1000 +/*line: 106*/ IFF_LINK1 = 0x2000, /* per link layer defined bit */ // 0x2000 +/*line: 107*/ IFF_LINK2 = 0x4000, /* per link layer defined bit */ // 0x4000 +/*line: 108*/ IFF_ALTPHYS = 0x4000, /* use alternate physical connection */ // IFF_LINK2 +/*line: 109*/ IFF_MULTICAST = 0x8000, /* supports multicast */ // 0x8000 +}; + +enum macro_ifcapabilities { +/* + * Capabilities that interfaces can advertise. + * + * struct ifnet.if_capabilities + * contains the optional features & capabilities a particular interface + * supports (not only the driver but also the detected hw revision). + * Capabilities are defined by IFCAP_* below. + * struct ifnet.if_capenable + * contains the enabled (either by default or through ifconfig) optional + * features & capabilities on this interface. + * Capabilities are defined by IFCAP_* below. + * struct if_data.ifi_hwassist in IFNET_* form, defined in net/kpi_interface.h, + * contains the enabled optional features & capabilites that can be used + * individually per packet and are specified in the mbuf pkthdr.csum_flags + * field. IFCAP_* and IFNET_* do not match one to one and IFNET_* may be + * more detailed or differentiated than IFCAP_*. + * IFNET_* hwassist flags have corresponding CSUM_* in sys/mbuf.h + */ +/*line: 130*/ IFCAP_RXCSUM = 0x1, /* can offload checksum on RX */ // 0x00001 +/*line: 131*/ IFCAP_TXCSUM = 0x2, /* can offload checksum on TX */ // 0x00002 +/*line: 132*/ IFCAP_VLAN_MTU = 0x4, /* VLAN-compatible MTU */ // 0x00004 +/*line: 133*/ IFCAP_VLAN_HWTAGGING = 0x8, /* hardware VLAN tag support */ // 0x00008 +/*line: 134*/ IFCAP_JUMBO_MTU = 0x10, /* 9000 byte MTU supported */ // 0x00010 +/*line: 135*/ IFCAP_TSO4 = 0x20, /* can do TCP Segmentation Offload */ // 0x00020 +/*line: 136*/ IFCAP_TSO6 = 0x40, /* can do TCP6 Segmentation Offload */ // 0x00040 +/*line: 137*/ IFCAP_LRO = 0x80, /* can do Large Receive Offload */ // 0x00080 +/*line: 138*/ IFCAP_AV = 0x100, /* can do 802.1 AV Bridging */ // 0x00100 +/*line: 139*/ IFCAP_TXSTATUS = 0x200, /* can return linklevel xmit status */ // 0x00200 +/*line: 140*/ IFCAP_SKYWALK = 0x400, /* Skywalk mode supported/enabled */ // 0x00400 +/*line: 141*/ IFCAP_HW_TIMESTAMP = 0x800, /* Time stamping in hardware */ // 0x00800 +/*line: 142*/ IFCAP_SW_TIMESTAMP = 0x1000, /* Time stamping in software */ // 0x01000 +/*line: 143*/ IFCAP_CSUM_PARTIAL = 0x2000, /* can offload partial checksum */ // 0x02000 +/*line: 144*/ IFCAP_CSUM_ZERO_INVERT = 0x4000, /* can invert 0 to -0 (0xffff) */ // 0x04000 +/*line: 145*/ IFCAP_LRO_NUM_SEG = 0x8000, /* NIC & driver can set the num of segments a LRO-packet is built of */ // 0x08000 +}; + +// Depends on identifiers +enum macro_interface_capabilities { +/*line: 147*/ IFCAP_HWCSUM = 0x3, // (IFCAP_RXCSUM|IFCAP_TXCSUM) +/*line: 148*/ IFCAP_TSO = 0x60, // (IFCAP_TSO4|IFCAP_TSO6) +}; + +// Depends on identifiers +enum macro_ifcap_flags { +/*line: 150*/ IFCAP_VALID = 0xffff, // (IFCAP_HWCSUM|IFCAP_TSO|IFCAP_LRO|IFCAP_VLAN_MTU|IFCAP_VLAN_HWTAGGING|IFCAP_JUMBO_MTU|IFCAP_AV|IFCAP_TXSTATUS|IFCAP_SKYWALK|IFCAP_SW_TIMESTAMP|IFCAP_HW_TIMESTAMP|IFCAP_CSUM_PARTIAL|IFCAP_CSUM_ZERO_INVERT|IFCAP_LRO_NUM_SEG) +}; + +enum macro_ifq_constants { +/*line: 155*/ IFQ_MAXLEN = 0x80, // 128 +/*line: 156*/ IFNET_SLOWHZ = 0x1, /* granularity is 1 second */ // 1 +/*line: 157*/ IFQ_DEF_C_TARGET_DELAY = 0x989680, /* 10 ms */ // (10ULL*1000*1000) +/*line: 158*/ IFQ_DEF_C_UPDATE_INTERVAL = 0x5f5e100, /* 100 ms */ // (100ULL*1000*1000) +/*line: 159*/ IFQ_DEF_L4S_TARGET_DELAY = 0x1e8480, /* 2 ms */ // (2ULL*1000*1000) +/*line: 160*/ IFQ_DEF_L4S_WIRELESS_TARGET_DELAY = 0xe4e1c0, /* 15 ms */ // (15ULL*1000*1000) +/*line: 161*/ IFQ_DEF_L4S_UPDATE_INTERVAL = 0x5f5e100, /* 100 ms */ // (100ULL*1000*1000) +/*line: 162*/ IFQ_LL_C_TARGET_DELAY = 0x989680, /* 10 ms */ // (10ULL*1000*1000) +/*line: 163*/ IFQ_LL_C_UPDATE_INTERVAL = 0x5f5e100, /* 100 ms */ // (100ULL*1000*1000) +/*line: 164*/ IFQ_LL_L4S_TARGET_DELAY = 0x1e8480, /* 2 ms */ // (2ULL*1000*1000) +/*line: 165*/ IFQ_LL_L4S_WIRELESS_TARGET_DELAY = 0xe4e1c0, /* 15 ms */ // (15ULL*1000*1000) +/*line: 166*/ IFQ_LL_L4S_UPDATE_INTERVAL = 0x5f5e100, /* 100 ms */ // (100ULL*1000*1000) +}; + +enum macro_wake_on_magic_packet { +/* Wake capabilities of a interface */ +/*line: 288*/ IF_WAKE_ON_MAGIC_PACKET = 0x1, // 0x01 +}; + +enum macro_ifr_type { +/*line: 323*/ IFRTYPE_FUNCTIONAL_UNKNOWN = 0x0, // 0 +/*line: 324*/ IFRTYPE_FUNCTIONAL_LOOPBACK = 0x1, // 1 +/*line: 325*/ IFRTYPE_FUNCTIONAL_WIRED = 0x2, // 2 +/*line: 326*/ IFRTYPE_FUNCTIONAL_WIFI_INFRA = 0x3, // 3 +/*line: 327*/ IFRTYPE_FUNCTIONAL_WIFI_AWDL = 0x4, // 4 +/*line: 328*/ IFRTYPE_FUNCTIONAL_CELLULAR = 0x5, // 5 +/*line: 329*/ IFRTYPE_FUNCTIONAL_INTCOPROC = 0x6, // 6 +/*line: 330*/ IFRTYPE_FUNCTIONAL_COMPANIONLINK = 0x7, // 7 +/*line: 331*/ IFRTYPE_FUNCTIONAL_MANAGEMENT = 0x8, // 8 +/*line: 332*/ IFRTYPE_FUNCTIONAL_LAST = 0x8, // 8 +}; + +enum macro_ifstatmax { +/* + * Structure used to retrieve aux status data from interfaces. + * Kernel suppliers to this interface should respect the formatting + * needed by ifconfig(8): each line starts with a TAB and ends with + * a newline. + */ +/*line: 415*/ IFSTATMAX = 0x320, /* 10 lines of text */ // 800 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 336 +// #define ifr_addr ifr_ifru.ifru_addr + +// Line: 337 +// #define ifr_dstaddr ifr_ifru.ifru_dstaddr + +// Line: 338 +// #define ifr_broadaddr ifr_ifru.ifru_broadaddr + +// Line: 340 +// #define ifr_flags ifr_ifru.ifru_flags + +// Line: 345 +// #define ifr_metric ifr_ifru.ifru_metric + +// Line: 346 +// #define ifr_mtu ifr_ifru.ifru_mtu + +// Line: 347 +// #define ifr_phys ifr_ifru.ifru_phys + +// Line: 348 +// #define ifr_media ifr_ifru.ifru_media + +// Line: 349 +// #define ifr_data ifr_ifru.ifru_data + +// Line: 350 +// #define ifr_devmtu ifr_ifru.ifru_devmtu + +// Line: 351 +// #define ifr_intval ifr_ifru.ifru_intval + +// Line: 352 +// #define ifr_kpi ifr_ifru.ifru_kpi + +// Line: 353 +// #define ifr_wake_flags ifr_ifru.ifru_wake_flags + +// Line: 354 +// #define ifr_route_refcnt ifr_ifru.ifru_route_refcnt + +// Line: 355 +// #define ifr_reqcap ifr_ifru.ifru_cap[0] + +// Line: 356 +// #define ifr_curcap ifr_ifru.ifru_cap[1] + +// Line: 436 +// #define ifc_buf ifc_ifcu.ifcu_buf + +// Line: 437 +// #define ifc_req ifc_ifcu.ifcu_req + diff --git a/macrodefs_enums/ios/net/if_types.h b/macrodefs_enums/ios/net/if_types.h new file mode 100644 index 000000000..718a49ae8 --- /dev/null +++ b/macrodefs_enums/ios/net/if_types.h @@ -0,0 +1,87 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/if_types.h + +// Depends on identifiers +enum macro_interface_types { +/* + * Interface types for benefit of parsing media address headers. + * This list is derived from the SNMP list of ifTypes, currently + * documented in RFC1573. + * The current list of assignments is maintained at: + * http://www.iana.org/assignments/smi-numbers + */ +/*line: 76*/ IFT_OTHER = 0x1, /* none of the following */ // 0x1 +/*line: 77*/ IFT_1822 = 0x2, /* old-style arpanet imp */ // 0x2 +/*line: 78*/ IFT_HDH1822 = 0x3, /* HDH arpanet imp */ // 0x3 +/*line: 79*/ IFT_X25DDN = 0x4, /* x25 to imp */ // 0x4 +/*line: 80*/ IFT_X25 = 0x5, /* PDN X25 interface (RFC877) */ // 0x5 +/*line: 81*/ IFT_ETHER = 0x6, /* Ethernet CSMACD */ // 0x6 +/*line: 82*/ IFT_ISO88023 = 0x7, /* CMSA CD */ // 0x7 +/*line: 83*/ IFT_ISO88024 = 0x8, /* Token Bus */ // 0x8 +/*line: 84*/ IFT_ISO88025 = 0x9, /* Token Ring */ // 0x9 +/*line: 85*/ IFT_ISO88026 = 0xa, /* MAN */ // 0xa +/*line: 86*/ IFT_STARLAN = 0xb, // 0xb +/*line: 87*/ IFT_P10 = 0xc, /* Proteon 10MBit ring */ // 0xc +/*line: 88*/ IFT_P80 = 0xd, /* Proteon 80MBit ring */ // 0xd +/*line: 89*/ IFT_HY = 0xe, /* Hyperchannel */ // 0xe +/*line: 90*/ IFT_FDDI = 0xf, // 0xf +/*line: 91*/ IFT_LAPB = 0x10, // 0x10 +/*line: 92*/ IFT_SDLC = 0x11, // 0x11 +/*line: 93*/ IFT_T1 = 0x12, // 0x12 +/*line: 94*/ IFT_CEPT = 0x13, /* E1 - european T1 */ // 0x13 +/*line: 95*/ IFT_ISDNBASIC = 0x14, // 0x14 +/*line: 96*/ IFT_ISDNPRIMARY = 0x15, // 0x15 +/*line: 97*/ IFT_PTPSERIAL = 0x16, /* Proprietary PTP serial */ // 0x16 +/*line: 98*/ IFT_PPP = 0x17, /* RFC 1331 */ // 0x17 +/*line: 99*/ IFT_LOOP = 0x18, /* loopback */ // 0x18 +/*line: 100*/ IFT_EON = 0x19, /* ISO over IP */ // 0x19 +/*line: 101*/ IFT_XETHER = 0x1a, /* obsolete 3MB experimental ethernet */ // 0x1a +/*line: 102*/ IFT_NSIP = 0x1b, /* XNS over IP */ // 0x1b +/*line: 103*/ IFT_SLIP = 0x1c, /* IP over generic TTY */ // 0x1c +/*line: 104*/ IFT_ULTRA = 0x1d, /* Ultra Technologies */ // 0x1d +/*line: 105*/ IFT_DS3 = 0x1e, /* Generic T3 */ // 0x1e +/*line: 106*/ IFT_SIP = 0x1f, /* SMDS */ // 0x1f +/*line: 107*/ IFT_FRELAY = 0x20, /* Frame Relay DTE only */ // 0x20 +/*line: 108*/ IFT_RS232 = 0x21, // 0x21 +/*line: 109*/ IFT_PARA = 0x22, /* parallel-port */ // 0x22 +/*line: 110*/ IFT_ARCNET = 0x23, // 0x23 +/*line: 111*/ IFT_ARCNETPLUS = 0x24, // 0x24 +/*line: 112*/ IFT_ATM = 0x25, /* ATM cells */ // 0x25 +/*line: 113*/ IFT_MIOX25 = 0x26, // 0x26 +/*line: 114*/ IFT_SONET = 0x27, /* SONET or SDH */ // 0x27 +/*line: 115*/ IFT_X25PLE = 0x28, // 0x28 +/*line: 116*/ IFT_ISO88022LLC = 0x29, // 0x29 +/*line: 117*/ IFT_LOCALTALK = 0x2a, // 0x2a +/*line: 118*/ IFT_SMDSDXI = 0x2b, // 0x2b +/*line: 119*/ IFT_FRELAYDCE = 0x2c, /* Frame Relay DCE */ // 0x2c +/*line: 120*/ IFT_V35 = 0x2d, // 0x2d +/*line: 121*/ IFT_HSSI = 0x2e, // 0x2e +/*line: 122*/ IFT_HIPPI = 0x2f, // 0x2f +/*line: 123*/ IFT_MODEM = 0x30, /* Generic Modem */ // 0x30 +/*line: 124*/ IFT_AAL5 = 0x31, /* AAL5 over ATM */ // 0x31 +/*line: 125*/ IFT_SONETPATH = 0x32, // 0x32 +/*line: 126*/ IFT_SONETVT = 0x33, // 0x33 +/*line: 127*/ IFT_SMDSICIP = 0x34, /* SMDS InterCarrier Interface */ // 0x34 +/*line: 128*/ IFT_PROPVIRTUAL = 0x35, /* Proprietary Virtual/internal */ // 0x35 +/*line: 129*/ IFT_PROPMUX = 0x36, /* Proprietary Multiplexing */ // 0x36 +/* + * IFT_GIF, IFT_FAITH and IFT_6LOWPAN are not based on IANA assignments. + * Note: IFT_STF has a defined ifType: 0xd7 (215), but we use 0x39. + */ +/*line: 134*/ IFT_GIF = 0x37, /*0xf0*/ // 0x37 +/*line: 135*/ IFT_FAITH = 0x38, /*0xf2*/ // 0x38 +/*line: 136*/ IFT_STF = 0x39, /*0xf3*/ // 0x39 +/*line: 137*/ IFT_6LOWPAN = 0x40, /* IETF RFC 6282 */ // 0x40 +/*line: 139*/ IFT_L2VLAN = 0x87, /* Layer 2 Virtual LAN using 802.1Q */ // 0x87 +/*line: 140*/ IFT_IEEE8023ADLAG = 0x88, /* IEEE802.3ad Link Aggregate */ // 0x88 +/*line: 141*/ IFT_IEEE1394 = 0x90, /* IEEE1394 High Performance SerialBus*/ // 0x90 +/*line: 142*/ IFT_BRIDGE = 0xd1, /* Transparent bridge interface */ // 0xd1 +/*line: 144*/ IFT_ENC = 0xf4, /* Encapsulation */ // 0xf4 +/*line: 145*/ IFT_PFLOG = 0xf5, /* Packet filter logging */ // 0xf5 +/*line: 146*/ IFT_PFSYNC = 0xf6, /* Packet filter state syncing */ // 0xf6 +/*line: 147*/ IFT_CARP = 0xf8, /* Common Address Redundancy Protocol */ // 0xf8 +/*line: 148*/ IFT_PKTAP = 0xfe, /* Packet tap pseudo interface */ // 0xfe +/*line: 149*/ IFT_CELLULAR = 0xff, /* Packet Data over Cellular */ // 0xff +/*line: 150*/ IFT_PDP = 0xff, /* deprecated; use IFT_CELLULAR */ // IFT_CELLULAR +}; + diff --git a/macrodefs_enums/ios/net/if_var.h b/macrodefs_enums/ios/net/if_var.h new file mode 100644 index 000000000..6b7f8179c --- /dev/null +++ b/macrodefs_enums/ios/net/if_var.h @@ -0,0 +1,65 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/if_var.h + +enum macro_if_family { +/*line: 74*/ APPLE_IF_FAM_LOOPBACK = 0x1, // 1 +/*line: 75*/ APPLE_IF_FAM_ETHERNET = 0x2, // 2 +/*line: 76*/ APPLE_IF_FAM_SLIP = 0x3, // 3 +/*line: 77*/ APPLE_IF_FAM_TUN = 0x4, // 4 +/*line: 78*/ APPLE_IF_FAM_VLAN = 0x5, // 5 +/*line: 79*/ APPLE_IF_FAM_PPP = 0x6, // 6 +/*line: 80*/ APPLE_IF_FAM_PVC = 0x7, // 7 +/*line: 81*/ APPLE_IF_FAM_DISC = 0x8, // 8 +/*line: 82*/ APPLE_IF_FAM_MDECAP = 0x9, // 9 +/*line: 83*/ APPLE_IF_FAM_GIF = 0xa, // 10 +/*line: 84*/ APPLE_IF_FAM_FAITH = 0xb, /* deprecated */ // 11 +/*line: 85*/ APPLE_IF_FAM_STF = 0xc, // 12 +/*line: 86*/ APPLE_IF_FAM_FIREWIRE = 0xd, // 13 +/*line: 87*/ APPLE_IF_FAM_BOND = 0xe, // 14 +/*line: 88*/ APPLE_IF_FAM_CELLULAR = 0xf, // 15 +/*line: 89*/ APPLE_IF_FAM_UNUSED_16 = 0x10, /* Un-used */ // 16 +/*line: 90*/ APPLE_IF_FAM_UTUN = 0x11, // 17 +/*line: 91*/ APPLE_IF_FAM_IPSEC = 0x12, // 18 +}; + +enum macro_mtu_range { +/* + * 72 was chosen below because it is the size of a TCP/IP + * header (40) + the minimum mss (32). + */ +/*line: 98*/ IF_MINMTU = 0x48, // 72 +/*line: 99*/ IF_MAXMTU = 0xffff, // 65535 +}; + +enum macro_ifnam_size { +/* + * Structures defining a network interface, providing a packet + * transport mechanism (ala level 0 of the PUP protocols). + * + * Each interface accepts output datagrams of a specified maximum + * length, and provides higher level routines with input datagrams + * received from its medium. + * + * Output occurs when the routine if_output is called, with three parameters: + * (*ifp->if_output)(ifp, m, dst, rt) + * Here m is the mbuf chain to be sent and dst is the destination address. + * The output routine encapsulates the supplied datagram if necessary, + * and then transmits it on its medium. + * + * On input, each interface unwraps the data received by it, and either + * places it on the input queue of a internetwork datagram routine + * and posts the associated software interrupt, or passes the datagram to a raw + * packet input routine. + * + * Routines exist for locating interfaces by their addresses + * or for locating a interface on a certain network, as well as more general + * routing and gateway routines maintaining information used to locate + * interfaces. These routines live in the files if.c and route.c + */ +/*line: 126*/ IFNAMSIZ = 0x10, // 16 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 140 +// #define IF_DATA_TIMEVAL timeval32 + diff --git a/macrodefs_enums/ios/net/if_var_status.h b/macrodefs_enums/ios/net/if_var_status.h new file mode 100644 index 000000000..1800e00ac --- /dev/null +++ b/macrodefs_enums/ios/net/if_var_status.h @@ -0,0 +1,122 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/if_var_status.h + +// Depends on identifiers +enum macro_if_status_flags { +/* + * Interface link status report -- includes statistics related to + * the link layer technology sent by the driver. The driver will monitor + * these statistics over an interval (3-4 secs) and will generate a report + * to the network stack. This will give first-hand information about the + * status of the first hop of the network path. The version and + * length values should be correct for the data to be processed correctly. + * The definitions are different for different kind of interfaces like + * Wifi, Cellular etc,. + */ +/*line: 82*/ IF_CELLULAR_STATUS_REPORT_VERSION_1 = 0x1, // 1 +/*line: 83*/ IF_WIFI_STATUS_REPORT_VERSION_1 = 0x1, // 1 +/*line: 84*/ IF_CELLULAR_STATUS_REPORT_CURRENT_VERSION = 0x1, // IF_CELLULAR_STATUS_REPORT_VERSION_1 +/*line: 86*/ IF_WIFI_STATUS_REPORT_CURRENT_VERSION = 0x1, // IF_WIFI_STATUS_REPORT_VERSION_1 +/*line: 96*/ IF_CELL_LINK_QUALITY_METRIC_VALID = 0x1, // 0x1 +/*line: 97*/ IF_CELL_UL_EFFECTIVE_BANDWIDTH_VALID = 0x2, // 0x2 +/*line: 98*/ IF_CELL_UL_MAX_BANDWIDTH_VALID = 0x4, // 0x4 +/*line: 99*/ IF_CELL_UL_MIN_LATENCY_VALID = 0x8, // 0x8 +/*line: 100*/ IF_CELL_UL_EFFECTIVE_LATENCY_VALID = 0x10, // 0x10 +/*line: 101*/ IF_CELL_UL_MAX_LATENCY_VALID = 0x20, // 0x20 +/*line: 102*/ IF_CELL_UL_RETXT_LEVEL_VALID = 0x40, // 0x40 +/*line: 103*/ IF_CELL_UL_BYTES_LOST_VALID = 0x80, // 0x80 +/*line: 104*/ IF_CELL_UL_MIN_QUEUE_SIZE_VALID = 0x100, // 0x100 +/*line: 105*/ IF_CELL_UL_AVG_QUEUE_SIZE_VALID = 0x200, // 0x200 +/*line: 106*/ IF_CELL_UL_MAX_QUEUE_SIZE_VALID = 0x400, // 0x400 +/*line: 107*/ IF_CELL_DL_EFFECTIVE_BANDWIDTH_VALID = 0x800, // 0x800 +/*line: 108*/ IF_CELL_DL_MAX_BANDWIDTH_VALID = 0x1000, // 0x1000 +/*line: 109*/ IF_CELL_CONFIG_INACTIVITY_TIME_VALID = 0x2000, // 0x2000 +/*line: 110*/ IF_CELL_CONFIG_BACKOFF_TIME_VALID = 0x4000, // 0x4000 +/*line: 111*/ IF_CELL_UL_MSS_RECOMMENDED_VALID = 0x8000, // 0x8000 +}; + +enum macro_cell_ul_status { +/*line: 120*/ IF_CELL_UL_RETXT_LEVEL_NONE = 0x1, // 1 +/*line: 121*/ IF_CELL_UL_RETXT_LEVEL_LOW = 0x2, // 2 +/*line: 122*/ IF_CELL_UL_RETXT_LEVEL_MEDIUM = 0x3, // 3 +/*line: 123*/ IF_CELL_UL_RETXT_LEVEL_HIGH = 0x4, // 4 +/*line: 132*/ IF_CELL_UL_MSS_RECOMMENDED_NONE = 0x0, /* Use default */ // 0x0 +/*line: 133*/ IF_CELL_UL_MSS_RECOMMENDED_MEDIUM = 0x1, /* 1200 byte MSS */ // 0x1 +/*line: 134*/ IF_CELL_UL_MSS_RECOMMENDED_LOW = 0x2, /* 512 byte MSS */ // 0x2 +}; + +enum macro_wifi_status_flags { +/*line: 159*/ IF_WIFI_LINK_QUALITY_METRIC_VALID = 0x1, // 0x1 +/*line: 160*/ IF_WIFI_UL_EFFECTIVE_BANDWIDTH_VALID = 0x2, // 0x2 +/*line: 161*/ IF_WIFI_UL_MAX_BANDWIDTH_VALID = 0x4, // 0x4 +/*line: 162*/ IF_WIFI_UL_MIN_LATENCY_VALID = 0x8, // 0x8 +/*line: 163*/ IF_WIFI_UL_EFFECTIVE_LATENCY_VALID = 0x10, // 0x10 +/*line: 164*/ IF_WIFI_UL_MAX_LATENCY_VALID = 0x20, // 0x20 +/*line: 165*/ IF_WIFI_UL_RETXT_LEVEL_VALID = 0x40, // 0x40 +/*line: 166*/ IF_WIFI_UL_ERROR_RATE_VALID = 0x80, // 0x80 +/*line: 167*/ IF_WIFI_UL_BYTES_LOST_VALID = 0x100, // 0x100 +/*line: 168*/ IF_WIFI_DL_EFFECTIVE_BANDWIDTH_VALID = 0x200, // 0x200 +/*line: 169*/ IF_WIFI_DL_MAX_BANDWIDTH_VALID = 0x400, // 0x400 +/*line: 170*/ IF_WIFI_DL_MIN_LATENCY_VALID = 0x800, // 0x800 +/*line: 171*/ IF_WIFI_DL_EFFECTIVE_LATENCY_VALID = 0x1000, // 0x1000 +/*line: 172*/ IF_WIFI_DL_MAX_LATENCY_VALID = 0x2000, // 0x2000 +/*line: 173*/ IF_WIFI_DL_ERROR_RATE_VALID = 0x4000, // 0x4000 +/*line: 174*/ IF_WIFI_CONFIG_FREQUENCY_VALID = 0x8000, // 0x8000 +/*line: 175*/ IF_WIFI_CONFIG_MULTICAST_RATE_VALID = 0x10000, // 0x10000 +/*line: 176*/ IF_WIFI_CONFIG_SCAN_COUNT_VALID = 0x20000, // 0x20000 +/*line: 177*/ IF_WIFI_CONFIG_SCAN_DURATION_VALID = 0x40000, // 0x40000 +/*line: 185*/ IF_WIFI_UL_RETXT_LEVEL_NONE = 0x1, // 1 +/*line: 186*/ IF_WIFI_UL_RETXT_LEVEL_LOW = 0x2, // 2 +/*line: 187*/ IF_WIFI_UL_RETXT_LEVEL_MEDIUM = 0x3, // 3 +/*line: 188*/ IF_WIFI_UL_RETXT_LEVEL_HIGH = 0x4, // 4 +/*line: 204*/ IF_WIFI_CONFIG_FREQUENCY_2_4_GHZ = 0x1, // 1 +/*line: 205*/ IF_WIFI_CONFIG_FREQUENCY_5_0_GHZ = 0x2, // 2 +}; + +enum macro_radio_contenders { +/* + * bitmap of all radio contenders. + */ +/*line: 406*/ IF_INTERFACE_ADVISORY_WIFI_RADIO_COEX_BT = 0x1, // 0x01 +/*line: 407*/ IF_INTERFACE_ADVISORY_WIFI_RADIO_COEX_AWDL = 0x2, // 0x02 +/* + * bitrate information for each queue (in Kbps). + */ +/*line: 416*/ IF_INTERFACE_ADVISORY_WIFI_TX_QUEUE_COUNT = 0x6, // 6 +}; + +enum macro_cellular_outage_state { +/* + * Cellular outage state: i.e. handover in progress. + * 0 - no outage + * 1 - outage. + */ +/*line: 470*/ IF_INTERFACE_ADVISORY_CELL_OUTAGE_STATE_NO = 0x0, // 0 +/*line: 471*/ IF_INTERFACE_ADVISORY_CELL_OUTAGE_STATE_YES = 0x1, // 1 +/* Reserving 1 for link layer */ +/*line: 593*/ IFNET_TRAFFIC_DESCRIPTOR_TYPE_INET = 0x2, // 2 +}; + +enum macro_traffic_direction { +/* Supported flags */ +/*line: 596*/ IFNET_TRAFFIC_DESCRIPTOR_FLAG_INBOUND = 0x1, // 0x0001 +/*line: 597*/ IFNET_TRAFFIC_DESCRIPTOR_FLAG_OUTBOUND = 0x2, // 0x0002 +}; + +enum macro_inet_traffic_descriptors { +/*line: 606*/ IFNET_TRAFFIC_DESCRIPTOR_INET_IPVER = 0x1, // 0x01 +/*line: 607*/ IFNET_TRAFFIC_DESCRIPTOR_INET_PROTO = 0x2, // 0x02 +/*line: 608*/ IFNET_TRAFFIC_DESCRIPTOR_INET_LADDR = 0x4, // 0x04 +/*line: 609*/ IFNET_TRAFFIC_DESCRIPTOR_INET_RADDR = 0x8, // 0x08 +/*line: 610*/ IFNET_TRAFFIC_DESCRIPTOR_INET_LPORT = 0x10, // 0x10 +/*line: 611*/ IFNET_TRAFFIC_DESCRIPTOR_INET_RPORT = 0x20, // 0x20 +}; + +enum macro_traffic_rule_action { +/*line: 634*/ IFNET_TRAFFIC_RULE_ACTION_STEER = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 620 +// #define iia_v4addr addr32[3] + diff --git a/macrodefs_enums/ios/net/net_kev.h b/macrodefs_enums/ios/net/net_kev.h new file mode 100644 index 000000000..5aea353e8 --- /dev/null +++ b/macrodefs_enums/ios/net/net_kev.h @@ -0,0 +1,69 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/net_kev.h + +enum macro_inet_event { +/* Kernel event subclass identifiers for KEV_NETWORK_CLASS */ +/*line: 35*/ KEV_INET_SUBCLASS = 0x1, /* inet subclass */ // 1 +/* KEV_INET_SUBCLASS event codes */ +/*line: 37*/ KEV_INET_NEW_ADDR = 0x1, /* Userland configured IP address */ // 1 +/*line: 38*/ KEV_INET_CHANGED_ADDR = 0x2, /* Address changed event */ // 2 +/*line: 39*/ KEV_INET_ADDR_DELETED = 0x3, /* IPv6 address was deleted */ // 3 +/*line: 40*/ KEV_INET_SIFDSTADDR = 0x4, /* Dest. address was set */ // 4 +/*line: 41*/ KEV_INET_SIFBRDADDR = 0x5, /* Broadcast address was set */ // 5 +/*line: 42*/ KEV_INET_SIFNETMASK = 0x6, /* Netmask was set */ // 6 +/*line: 43*/ KEV_INET_ARPCOLLISION = 0x7, /* ARP collision detected */ // 7 +/*line: 45*/ KEV_INET_PORTINUSE = 0x8, /* use ken_in_portinuse */ // 8 +/*line: 47*/ KEV_INET_ARPRTRFAILURE = 0x9, /* ARP resolution failed for router */ // 9 +/*line: 48*/ KEV_INET_ARPRTRALIVE = 0xa, /* ARP resolution succeeded for router */ // 10 +}; + +enum macro_data_link_events { +/*line: 50*/ KEV_DL_SUBCLASS = 0x2, /* Data Link subclass */ // 2 +/* + * Define Data-Link event subclass, and associated + * events. + */ +/*line: 55*/ KEV_DL_SIFFLAGS = 0x1, // 1 +/*line: 56*/ KEV_DL_SIFMETRICS = 0x2, // 2 +/*line: 57*/ KEV_DL_SIFMTU = 0x3, // 3 +/*line: 58*/ KEV_DL_SIFPHYS = 0x4, // 4 +/*line: 59*/ KEV_DL_SIFMEDIA = 0x5, // 5 +/*line: 60*/ KEV_DL_SIFGENERIC = 0x6, // 6 +/*line: 61*/ KEV_DL_ADDMULTI = 0x7, // 7 +/*line: 62*/ KEV_DL_DELMULTI = 0x8, // 8 +/*line: 63*/ KEV_DL_IF_ATTACHED = 0x9, // 9 +/*line: 64*/ KEV_DL_IF_DETACHING = 0xa, // 10 +/*line: 65*/ KEV_DL_IF_DETACHED = 0xb, // 11 +/*line: 66*/ KEV_DL_LINK_OFF = 0xc, // 12 +/*line: 67*/ KEV_DL_LINK_ON = 0xd, // 13 +/*line: 68*/ KEV_DL_PROTO_ATTACHED = 0xe, // 14 +/*line: 69*/ KEV_DL_PROTO_DETACHED = 0xf, // 15 +/*line: 70*/ KEV_DL_LINK_ADDRESS_CHANGED = 0x10, // 16 +/*line: 71*/ KEV_DL_WAKEFLAGS_CHANGED = 0x11, // 17 +/*line: 72*/ KEV_DL_IF_IDLE_ROUTE_REFCNT = 0x12, // 18 +/*line: 73*/ KEV_DL_IFCAP_CHANGED = 0x13, // 19 +/*line: 74*/ KEV_DL_LINK_QUALITY_METRIC_CHANGED = 0x14, // 20 +/*line: 75*/ KEV_DL_NODE_PRESENCE = 0x15, // 21 +/*line: 76*/ KEV_DL_NODE_ABSENCE = 0x16, // 22 +/*line: 77*/ KEV_DL_PRIMARY_ELECTED = 0x17, // 23 +/*line: 78*/ KEV_DL_ISSUES = 0x18, // 24 +/*line: 79*/ KEV_DL_IFDELEGATE_CHANGED = 0x19, // 25 +/*line: 80*/ KEV_DL_AWDL_RESTRICTED = 0x1a, // 26 +/*line: 81*/ KEV_DL_AWDL_UNRESTRICTED = 0x1b, // 27 +/*line: 82*/ KEV_DL_RRC_STATE_CHANGED = 0x1c, // 28 +/*line: 83*/ KEV_DL_QOS_MODE_CHANGED = 0x1d, // 29 +/*line: 84*/ KEV_DL_LOW_POWER_MODE_CHANGED = 0x1e, // 30 +}; + +enum macro_inet6_event { +/*line: 89*/ KEV_INET6_SUBCLASS = 0x6, /* inet6 subclass */ // 6 +/* KEV_INET6_SUBCLASS event codes */ +/*line: 91*/ KEV_INET6_NEW_USER_ADDR = 0x1, /* Userland configured IPv6 address */ // 1 +/*line: 92*/ KEV_INET6_CHANGED_ADDR = 0x2, /* Address changed event (future) */ // 2 +/*line: 93*/ KEV_INET6_ADDR_DELETED = 0x3, /* IPv6 address was deleted */ // 3 +/*line: 94*/ KEV_INET6_NEW_LL_ADDR = 0x4, /* Autoconf LL address appeared */ // 4 +/*line: 95*/ KEV_INET6_NEW_RTADV_ADDR = 0x5, /* Autoconf address has appeared */ // 5 +/*line: 96*/ KEV_INET6_DEFROUTER = 0x6, /* Default router detected */ // 6 +/*line: 97*/ KEV_INET6_REQUEST_NAT64_PREFIX = 0x7, /* Asking for the NAT64-prefix */ // 7 +}; + diff --git a/macrodefs_enums/ios/net/pfkeyv2.h b/macrodefs_enums/ios/net/pfkeyv2.h new file mode 100644 index 000000000..4cb438f4d --- /dev/null +++ b/macrodefs_enums/ios/net/pfkeyv2.h @@ -0,0 +1,196 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/net/pfkeyv2.h + +enum macro_pfkey_flags { +/*line: 77*/ __PFKEY_V2_H = 0x1, // 1 +/*line: 79*/ PF_KEY_V2 = 0x2, // 2 +/*line: 80*/ PFKEYV2_REVISION = 0x30c7e, // 199806L +}; + +enum macro_sadb_commands { +/*line: 82*/ SADB_RESERVED = 0x0, // 0 +/*line: 83*/ SADB_GETSPI = 0x1, // 1 +/*line: 84*/ SADB_UPDATE = 0x2, // 2 +/*line: 85*/ SADB_ADD = 0x3, // 3 +/*line: 86*/ SADB_DELETE = 0x4, // 4 +/*line: 87*/ SADB_GET = 0x5, // 5 +/*line: 88*/ SADB_ACQUIRE = 0x6, // 6 +/*line: 89*/ SADB_REGISTER = 0x7, // 7 +/*line: 90*/ SADB_EXPIRE = 0x8, // 8 +/*line: 91*/ SADB_FLUSH = 0x9, // 9 +/*line: 92*/ SADB_DUMP = 0xa, // 10 +/*line: 93*/ SADB_X_PROMISC = 0xb, // 11 +/*line: 94*/ SADB_X_PCHANGE = 0xc, // 12 +/*line: 96*/ SADB_X_SPDUPDATE = 0xd, // 13 +/*line: 97*/ SADB_X_SPDADD = 0xe, // 14 +/*line: 98*/ SADB_X_SPDDELETE = 0xf, /* by policy index */ // 15 +/*line: 99*/ SADB_X_SPDGET = 0x10, // 16 +/*line: 100*/ SADB_X_SPDACQUIRE = 0x11, // 17 +/*line: 101*/ SADB_X_SPDDUMP = 0x12, // 18 +/*line: 102*/ SADB_X_SPDFLUSH = 0x13, // 19 +/*line: 103*/ SADB_X_SPDSETIDX = 0x14, // 20 +/*line: 104*/ SADB_X_SPDEXPIRE = 0x15, // 21 +/*line: 105*/ SADB_X_SPDDELETE2 = 0x16, /* by policy id */ // 22 +/*line: 106*/ SADB_GETSASTAT = 0x17, // 23 +/*line: 107*/ SADB_X_SPDENABLE = 0x18, /* by policy id */ // 24 +/*line: 108*/ SADB_X_SPDDISABLE = 0x19, /* by policy id */ // 25 +/*line: 109*/ SADB_MIGRATE = 0x1a, // 26 +/*line: 110*/ SADB_MAX = 0x1a, // 26 +}; + +enum macro_sadb_extension_type { +/*line: 320*/ SADB_EXT_RESERVED = 0x0, // 0 +/*line: 321*/ SADB_EXT_SA = 0x1, // 1 +/*line: 322*/ SADB_EXT_LIFETIME_CURRENT = 0x2, // 2 +/*line: 323*/ SADB_EXT_LIFETIME_HARD = 0x3, // 3 +/*line: 324*/ SADB_EXT_LIFETIME_SOFT = 0x4, // 4 +/*line: 325*/ SADB_EXT_ADDRESS_SRC = 0x5, // 5 +/*line: 326*/ SADB_EXT_ADDRESS_DST = 0x6, // 6 +/*line: 327*/ SADB_EXT_ADDRESS_PROXY = 0x7, // 7 +/*line: 328*/ SADB_EXT_KEY_AUTH = 0x8, // 8 +/*line: 329*/ SADB_EXT_KEY_ENCRYPT = 0x9, // 9 +/*line: 330*/ SADB_EXT_IDENTITY_SRC = 0xa, // 10 +/*line: 331*/ SADB_EXT_IDENTITY_DST = 0xb, // 11 +/*line: 332*/ SADB_EXT_SENSITIVITY = 0xc, // 12 +/*line: 333*/ SADB_EXT_PROPOSAL = 0xd, // 13 +/*line: 334*/ SADB_EXT_SUPPORTED_AUTH = 0xe, // 14 +/*line: 335*/ SADB_EXT_SUPPORTED_ENCRYPT = 0xf, // 15 +/*line: 336*/ SADB_EXT_SPIRANGE = 0x10, // 16 +/*line: 337*/ SADB_X_EXT_KMPRIVATE = 0x11, // 17 +/*line: 338*/ SADB_X_EXT_POLICY = 0x12, // 18 +/*line: 339*/ SADB_X_EXT_SA2 = 0x13, // 19 +/*line: 340*/ SADB_EXT_SESSION_ID = 0x14, // 20 +/*line: 341*/ SADB_EXT_SASTAT = 0x15, // 21 +/*line: 342*/ SADB_X_EXT_IPSECIF = 0x16, // 22 +/*line: 343*/ SADB_X_EXT_ADDR_RANGE_SRC_START = 0x17, // 23 +/*line: 344*/ SADB_X_EXT_ADDR_RANGE_SRC_END = 0x18, // 24 +/*line: 345*/ SADB_X_EXT_ADDR_RANGE_DST_START = 0x19, // 25 +/*line: 346*/ SADB_X_EXT_ADDR_RANGE_DST_END = 0x1a, // 26 +/*line: 347*/ SADB_EXT_MIGRATE_ADDRESS_SRC = 0x1b, // 27 +/*line: 348*/ SADB_EXT_MIGRATE_ADDRESS_DST = 0x1c, // 28 +/*line: 349*/ SADB_X_EXT_MIGRATE_IPSECIF = 0x1d, // 29 +/*line: 350*/ SADB_EXT_MAX = 0x1d, // 29 +}; + +enum macro_sadb_satype { +/*line: 352*/ SADB_SATYPE_UNSPEC = 0x0, // 0 +/*line: 353*/ SADB_SATYPE_AH = 0x2, // 2 +/*line: 354*/ SADB_SATYPE_ESP = 0x3, // 3 +/*line: 355*/ SADB_SATYPE_RSVP = 0x5, // 5 +/*line: 356*/ SADB_SATYPE_OSPFV2 = 0x6, // 6 +/*line: 357*/ SADB_SATYPE_RIPV2 = 0x7, // 7 +/*line: 358*/ SADB_SATYPE_MIP = 0x8, // 8 +/*line: 359*/ SADB_X_SATYPE_IPCOMP = 0x9, // 9 +/*line: 360*/ SADB_X_SATYPE_POLICY = 0xa, // 10 +/*line: 361*/ SADB_SATYPE_MAX = 0xb, // 11 +}; + +enum macro_sa_state { +/*line: 363*/ SADB_SASTATE_LARVAL = 0x0, // 0 +/*line: 364*/ SADB_SASTATE_MATURE = 0x1, // 1 +/*line: 365*/ SADB_SASTATE_DYING = 0x2, // 2 +/*line: 366*/ SADB_SASTATE_DEAD = 0x3, // 3 +/*line: 367*/ SADB_SASTATE_MAX = 0x3, // 3 +}; + +enum macro_sadb_saflags_pfs { +/*line: 369*/ SADB_SAFLAGS_PFS = 0x1, // 1 +}; + +enum macro_authentication_algorithm { +/* RFC2367 numbers - meets RFC2407 */ +/*line: 372*/ SADB_AALG_NONE = 0x0, // 0 +/*line: 373*/ SADB_AALG_MD5HMAC = 0x1, /*2*/ // 1 +/*line: 374*/ SADB_AALG_SHA1HMAC = 0x2, /*3*/ // 2 +/*line: 375*/ SADB_AALG_MAX = 0x8, // 8 +/* private allocations - based on RFC2407/IANA assignment */ +/*line: 377*/ SADB_X_AALG_SHA2_256 = 0x6, /*5*/ // 6 +/*line: 378*/ SADB_X_AALG_SHA2_384 = 0x7, /*6*/ // 7 +/*line: 379*/ SADB_X_AALG_SHA2_512 = 0x8, /*7*/ // 8 +/* private allocations should use 249-255 (RFC2407) */ +/*line: 381*/ SADB_X_AALG_MD5 = 0x3, /*249*/ // 3 +/*line: 382*/ SADB_X_AALG_SHA = 0x4, /*250*/ // 4 +/*line: 383*/ SADB_X_AALG_NULL = 0x5, /*251*/ // 5 +}; + +enum macro_encryption_algorithm { +/* RFC2367 numbers - meets RFC2407 */ +/*line: 386*/ SADB_EALG_NONE = 0x0, // 0 +/*line: 387*/ SADB_EALG_DESCBC = 0x1, /*2*/ // 1 +/*line: 388*/ SADB_EALG_3DESCBC = 0x2, /*3*/ // 2 +/*line: 389*/ SADB_EALG_NULL = 0x3, /*11*/ // 3 +/*line: 390*/ SADB_EALG_MAX = 0xc, // 12 +/* private allocations - based on RFC2407/IANA assignment */ +/*line: 392*/ SADB_X_EALG_CAST128CBC = 0x5, /*6*/ // 5 +/*line: 393*/ SADB_X_EALG_BLOWFISHCBC = 0x4, /*7*/ // 4 +/*line: 394*/ SADB_X_EALG_RIJNDAELCBC = 0xc, // 12 +/*line: 395*/ SADB_X_EALG_AESCBC = 0xc, // 12 +/*line: 396*/ SADB_X_EALG_AES = 0xc, // 12 +/*line: 397*/ SADB_X_EALG_AES_GCM = 0xd, // 13 +/*line: 398*/ SADB_X_EALG_CHACHA20POLY1305 = 0xe, // 14 +/*line: 399*/ SADB_X_EALG_AES_GMAC = 0xf, // 15 +}; + +enum macro_sadb_x_calg { +/*line: 403*/ SADB_X_CALG_NONE = 0x0, // 0 +/*line: 404*/ SADB_X_CALG_OUI = 0x1, // 1 +/*line: 405*/ SADB_X_CALG_DEFLATE = 0x2, // 2 +/*line: 406*/ SADB_X_CALG_LZS = 0x3, // 3 +/*line: 407*/ SADB_X_CALG_MAX = 0x4, // 4 +}; + +enum macro_sadb_identtype { +/*line: 410*/ SADB_IDENTTYPE_RESERVED = 0x0, // 0 +/*line: 411*/ SADB_IDENTTYPE_PREFIX = 0x1, // 1 +/*line: 412*/ SADB_IDENTTYPE_FQDN = 0x2, // 2 +/*line: 413*/ SADB_IDENTTYPE_USERFQDN = 0x3, // 3 +/*line: 414*/ SADB_X_IDENTTYPE_ADDR = 0x4, // 4 +/*line: 415*/ SADB_IDENTTYPE_MAX = 0x4, // 4 +}; + +enum macro_sadb_x_ext { +/* `flags' in sadb_sa structure holds followings */ +/*line: 418*/ SADB_X_EXT_NONE = 0x0, /* i.e. new format. */ // 0x0000 +/*line: 419*/ SADB_X_EXT_OLD = 0x1, /* old format. */ // 0x0001 +/*line: 421*/ SADB_X_EXT_IV4B = 0x10, /* IV length of 4 bytes in use */ // 0x0010 +/*line: 422*/ SADB_X_EXT_DERIV = 0x20, /* DES derived */ // 0x0020 +/*line: 423*/ SADB_X_EXT_CYCSEQ = 0x40, /* allowing to cyclic sequence. */ // 0x0040 +}; + +enum macro_esp_padding { +/* three of followings are exclusive flags each them */ +/*line: 426*/ SADB_X_EXT_PSEQ = 0x0, /* sequencial padding for ESP */ // 0x0000 +/*line: 427*/ SADB_X_EXT_PRAND = 0x100, /* random padding for ESP */ // 0x0100 +/*line: 428*/ SADB_X_EXT_PZERO = 0x200, /* zero padding for ESP */ // 0x0200 +/*line: 429*/ SADB_X_EXT_PMASK = 0x300, /* mask for padding flag */ // 0x0300 +}; + +enum macro_sadb_x_ext_iiv { +/*line: 431*/ SADB_X_EXT_IIV = 0x400, /* Implicit IV */ // 0x0400 +}; + +enum macro_sadb_x_ext_rawcpi { +/*line: 436*/ SADB_X_EXT_RAWCPI = 0x80, /* use well known CPI (IPComp) */ // 0x0080 +}; + +enum macro_sadb_key_flags_max { +/*line: 439*/ SADB_KEY_FLAGS_MAX = 0x7fff, // 0x7fff +}; + +enum macro_lifetime_type { +/* Identifier for menber of lifetime structure */ +/*line: 446*/ SADB_X_LIFETIME_ALLOCATIONS = 0x0, // 0 +/*line: 447*/ SADB_X_LIFETIME_BYTES = 0x1, // 1 +/*line: 448*/ SADB_X_LIFETIME_ADDTIME = 0x2, // 2 +/*line: 449*/ SADB_X_LIFETIME_USETIME = 0x3, // 3 +}; + +enum macro_lifetime_rate { +/* The rate for SOFT lifetime against HARD one. */ +/*line: 452*/ PFKEY_SOFT_LIFETIME_RATE = 0x50, // 80 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 443 +// #define PFKEY_SPI_SIZE sizeof(u_int32_t) + diff --git a/macrodefs_enums/ios/netdb.h b/macrodefs_enums/ios/netdb.h new file mode 100644 index 000000000..f76f54812 --- /dev/null +++ b/macrodefs_enums/ios/netdb.h @@ -0,0 +1,79 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netdb.h + +// Depends on identifiers +enum macro_netdb_errors { +/*line: 171*/ NETDB_INTERNAL = -0x1, /* see errno */ // -1 +/*line: 172*/ NETDB_SUCCESS = 0x0, /* no problem */ // 0 +/*line: 174*/ HOST_NOT_FOUND = 0x1, /* Authoritative Answer Host not found */ // 1 +/*line: 175*/ TRY_AGAIN = 0x2, /* Non-Authoritative Host not found, or SERVERFAIL */ // 2 +/*line: 176*/ NO_RECOVERY = 0x3, /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ // 3 +/*line: 177*/ NO_DATA = 0x4, /* Valid name, no data record of requested type */ // 4 +/*line: 179*/ NO_ADDRESS = 0x4, /* no address, look for MX record */ // NO_DATA +/*line: 185*/ EAI_ADDRFAMILY = 0x1, /* address family for hostname not supported */ // 1 +/*line: 187*/ EAI_AGAIN = 0x2, /* temporary failure in name resolution */ // 2 +/*line: 188*/ EAI_BADFLAGS = 0x3, /* invalid value for ai_flags */ // 3 +/*line: 189*/ EAI_FAIL = 0x4, /* non-recoverable failure in name resolution */ // 4 +/*line: 190*/ EAI_FAMILY = 0x5, /* ai_family not supported */ // 5 +/*line: 191*/ EAI_MEMORY = 0x6, /* memory allocation failure */ // 6 +/*line: 193*/ EAI_NODATA = 0x7, /* no address associated with hostname */ // 7 +/*line: 195*/ EAI_NONAME = 0x8, /* hostname nor servname provided, or not known */ // 8 +/*line: 196*/ EAI_SERVICE = 0x9, /* servname not supported for ai_socktype */ // 9 +/*line: 197*/ EAI_SOCKTYPE = 0xa, /* ai_socktype not supported */ // 10 +/*line: 198*/ EAI_SYSTEM = 0xb, /* system error returned in errno */ // 11 +/*line: 200*/ EAI_BADHINTS = 0xc, /* invalid value for hints */ // 12 +/*line: 201*/ EAI_PROTOCOL = 0xd, /* resolved protocol is unknown */ // 13 +/*line: 203*/ EAI_OVERFLOW = 0xe, /* argument buffer overflow */ // 14 +/*line: 205*/ EAI_MAX = 0xf, // 15 +}; + +// Depends on identifiers +enum macro_getaddrinfo_flags { +/* + * Flag values for getaddrinfo() + */ +/*line: 211*/ AI_PASSIVE = 0x1, /* get address to use bind() */ // 0x00000001 +/*line: 212*/ AI_CANONNAME = 0x2, /* fill ai_canonname */ // 0x00000002 +/*line: 213*/ AI_NUMERICHOST = 0x4, /* prevent host name resolution */ // 0x00000004 +/*line: 214*/ AI_NUMERICSERV = 0x1000, /* prevent service name resolution */ // 0x00001000 +/*line: 217*/ AI_MASK = 0x1407, // (AI_PASSIVE|AI_CANONNAME|AI_NUMERICHOST|AI_NUMERICSERV|AI_ADDRCONFIG) +/*line: 222*/ AI_ALL = 0x100, /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */ // 0x00000100 +/*line: 224*/ AI_V4MAPPED_CFG = 0x200, /* accept IPv4-mapped if kernel supports */ // 0x00000200 +/*line: 226*/ AI_ADDRCONFIG = 0x400, /* only if any address is assigned */ // 0x00000400 +/*line: 227*/ AI_V4MAPPED = 0x800, /* accept IPv4-mapped IPv6 address */ // 0x00000800 +/*line: 230*/ AI_DEFAULT = 0x600, // (AI_V4MAPPED_CFG|AI_ADDRCONFIG) +/* If the hints pointer is null or ai_flags is zero, getaddrinfo() automatically defaults to the AI_DEFAULT behavior. + * To override this default behavior, thereby causing unusable addresses to be included in the results, pass any nonzero + * value for ai_flags, by setting any desired flag values, or by setting AI_UNUSABLE if no other flags are desired. */ +/*line: 234*/ AI_UNUSABLE = 0x10000000, /* return addresses even if unusable (i.e. opposite of AI_DEFAULT) */ // 0x10000000 +}; + +enum macro_nameinfo_limits { +/*line: 241*/ NI_MAXHOST = 0x401, // 1025 +/*line: 242*/ NI_MAXSERV = 0x20, // 32 +}; + +enum macro_getnameinfo_flags { +/* + * Flag values for getnameinfo() + */ +/*line: 247*/ NI_NOFQDN = 0x1, // 0x00000001 +/*line: 248*/ NI_NUMERICHOST = 0x2, // 0x00000002 +/*line: 249*/ NI_NAMEREQD = 0x4, // 0x00000004 +/*line: 250*/ NI_NUMERICSERV = 0x8, // 0x00000008 +/*line: 251*/ NI_NUMERICSCOPE = 0x100, // 0x00000100 +/*line: 252*/ NI_DGRAM = 0x10, // 0x00000010 +/*line: 254*/ NI_WITHSCOPEID = 0x20, // 0x00000020 +}; + +enum macro_scope_delimiter { +/* + * Scope delimit character + */ +/*line: 259*/ SCOPE_DELIMITER = 0x25, // '%' +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 119 +// #define h_addr h_addr_list[0] + diff --git a/macrodefs_enums/ios/netinet/icmp6.h b/macrodefs_enums/ios/netinet/icmp6.h new file mode 100644 index 000000000..37b4a8df3 --- /dev/null +++ b/macrodefs_enums/ios/netinet/icmp6.h @@ -0,0 +1,451 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/icmp6.h + +enum macro_icmpv6_pld_maxlen { +/*line: 100*/ ICMPV6_PLD_MAXLEN = 0x4d0, /* IPV6_MMTU - sizeof(struct ip6_hdr) + * - sizeof(struct icmp6_hdr) */ // 1232 +}; + +// Depends on identifiers +enum macro_icmp6_codes { +/*line: 123*/ ICMP6_DST_UNREACH = 0x1, /* dest unreachable, codes: */ // 1 +/*line: 124*/ ICMP6_PACKET_TOO_BIG = 0x2, /* packet too big */ // 2 +/*line: 125*/ ICMP6_TIME_EXCEEDED = 0x3, /* time exceeded, code: */ // 3 +/*line: 126*/ ICMP6_PARAM_PROB = 0x4, /* ip6 header bad */ // 4 +/*line: 128*/ ICMP6_ECHO_REQUEST = 0x80, /* echo service */ // 128 +/*line: 129*/ ICMP6_ECHO_REPLY = 0x81, /* echo reply */ // 129 +/*line: 130*/ MLD_LISTENER_QUERY = 0x82, /* multicast listener query */ // 130 +/*line: 131*/ MLD_LISTENER_REPORT = 0x83, /* multicast listener report */ // 131 +/*line: 132*/ MLD_LISTENER_DONE = 0x84, /* multicast listener done */ // 132 +/*line: 133*/ MLD_LISTENER_REDUCTION = 0x84, /* RFC3542 definition */ // MLD_LISTENER_DONE +}; + +enum macro_icmp6_membership { +/* RFC2292 decls */ +/*line: 136*/ ICMP6_MEMBERSHIP_QUERY = 0x82, /* group membership query */ // 130 +/*line: 137*/ ICMP6_MEMBERSHIP_REPORT = 0x83, /* group membership report */ // 131 +/*line: 138*/ ICMP6_MEMBERSHIP_REDUCTION = 0x84, /* group membership termination */ // 132 +}; + +// Depends on identifiers +enum macro_icmp6_types { +/* the followings are for backward compatibility to old KAME apps. */ +/*line: 141*/ MLD6_LISTENER_QUERY = 0x82, // MLD_LISTENER_QUERY +/*line: 142*/ MLD6_LISTENER_REPORT = 0x83, // MLD_LISTENER_REPORT +/*line: 143*/ MLD6_LISTENER_DONE = 0x84, // MLD_LISTENER_DONE +/*line: 145*/ ND_ROUTER_SOLICIT = 0x85, /* router solicitation */ // 133 +/*line: 146*/ ND_ROUTER_ADVERT = 0x86, /* router advertisement */ // 134 +/*line: 147*/ ND_NEIGHBOR_SOLICIT = 0x87, /* neighbor solicitation */ // 135 +/*line: 148*/ ND_NEIGHBOR_ADVERT = 0x88, /* neighbor advertisement */ // 136 +/*line: 149*/ ND_REDIRECT = 0x89, /* redirect */ // 137 +/*line: 151*/ ICMP6_ROUTER_RENUMBERING = 0x8a, /* router renumbering */ // 138 +/*line: 153*/ ICMP6_WRUREQUEST = 0x8b, /* who are you request */ // 139 +/*line: 154*/ ICMP6_WRUREPLY = 0x8c, /* who are you reply */ // 140 +/*line: 155*/ ICMP6_FQDN_QUERY = 0x8b, /* FQDN query */ // 139 +/*line: 156*/ ICMP6_FQDN_REPLY = 0x8c, /* FQDN reply */ // 140 +/*line: 157*/ ICMP6_NI_QUERY = 0x8b, /* node information request */ // 139 +/*line: 158*/ ICMP6_NI_REPLY = 0x8c, /* node information reply */ // 140 +/*line: 159*/ MLDV2_LISTENER_REPORT = 0x8f, /* RFC3810 listener report */ // 143 +}; + +enum macro_mld_message_type { +/* The definitions below are experimental. TBA */ +/*line: 162*/ MLD_MTRACE_RESP = 0xc8, /* mtrace resp (to sender) */ // 200 +/*line: 163*/ MLD_MTRACE = 0xc9, /* mtrace messages */ // 201 +}; + +// Depends on identifiers +enum macro_mld6_trace { +/*line: 165*/ MLD6_MTRACE_RESP = 0xc8, // MLD_MTRACE_RESP +/*line: 166*/ MLD6_MTRACE = 0xc9, // MLD_MTRACE +}; + +enum macro_icmp6_max_type { +/*line: 168*/ ICMP6_MAXTYPE = 0xc9, // 201 +}; + +enum macro_icmp6_destination_unreach { +/*line: 170*/ ICMP6_DST_UNREACH_NOROUTE = 0x0, /* no route to destination */ // 0 +/*line: 171*/ ICMP6_DST_UNREACH_ADMIN = 0x1, /* administratively prohibited */ // 1 +/*line: 172*/ ICMP6_DST_UNREACH_NOTNEIGHBOR = 0x2, /* not a neighbor(obsolete) */ // 2 +/*line: 173*/ ICMP6_DST_UNREACH_BEYONDSCOPE = 0x2, /* beyond scope of source address */ // 2 +/*line: 174*/ ICMP6_DST_UNREACH_ADDR = 0x3, /* address unreachable */ // 3 +/*line: 175*/ ICMP6_DST_UNREACH_NOPORT = 0x4, /* port unreachable */ // 4 +}; + +enum macro_icmp6_time_exceed { +/*line: 177*/ ICMP6_TIME_EXCEED_TRANSIT = 0x0, /* ttl==0 in transit */ // 0 +/*line: 178*/ ICMP6_TIME_EXCEED_REASSEMBLY = 0x1, /* ttl==0 in reass */ // 1 +}; + +enum macro_icmp6_paramprob { +/*line: 180*/ ICMP6_PARAMPROB_HEADER = 0x0, /* erroneous header field */ // 0 +/*line: 181*/ ICMP6_PARAMPROB_NEXTHEADER = 0x1, /* unrecognized next header */ // 1 +/*line: 182*/ ICMP6_PARAMPROB_OPTION = 0x2, /* unrecognized option */ // 2 +/*line: 183*/ ICMP6_PARAMPROB_FIRSTFRAG_INCOMP_HDR = 0x3, /* first fragment has incomplete IPv6 Header Chain */ // 3 +}; + +enum macro_icmp6_info_mask { +/*line: 185*/ ICMP6_INFOMSG_MASK = 0x80, /* all informational messages */ // 0x80 +}; + +enum macro_icmp6_subject { +/*line: 187*/ ICMP6_NI_SUBJ_IPV6 = 0x0, /* Query Subject is an IPv6 address */ // 0 +/*line: 188*/ ICMP6_NI_SUBJ_FQDN = 0x1, /* Query Subject is a Domain name */ // 1 +/*line: 189*/ ICMP6_NI_SUBJ_IPV4 = 0x2, /* Query Subject is an IPv4 address */ // 2 +}; + +enum macro_icmp6_status { +/*line: 191*/ ICMP6_NI_SUCCESS = 0x0, /* node information successful reply */ // 0 +/*line: 192*/ ICMP6_NI_REFUSED = 0x1, /* node information request is refused */ // 1 +/*line: 193*/ ICMP6_NI_UNKNOWN = 0x2, /* unknown Qtype */ // 2 +}; + +enum macro_router_renumbering_command { +/*line: 195*/ ICMP6_ROUTER_RENUMBERING_COMMAND = 0x0, /* rr command */ // 0 +/*line: 196*/ ICMP6_ROUTER_RENUMBERING_RESULT = 0x1, /* rr result */ // 1 +/*line: 197*/ ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET = 0xff, /* rr seq num reset */ // 255 +}; + +enum macro_icmp6_kernel_only_flags { +/* Used in kernel only */ +/*line: 200*/ ND_REDIRECT_ONLINK = 0x0, /* redirect to an on-link node */ // 0 +/*line: 201*/ ND_REDIRECT_ROUTER = 0x1, /* redirect to a better router */ // 1 +/*line: 259*/ ND_RA_FLAG_MANAGED = 0x80, // 0x80 +/*line: 260*/ ND_RA_FLAG_OTHER = 0x40, // 0x40 +/*line: 261*/ ND_RA_FLAG_HA = 0x20, // 0x20 +}; + +enum macro_ra_flag_rtpref_mask { +/* Router preference values based on RFC 4191 */ +/*line: 264*/ ND_RA_FLAG_RTPREF_MASK = 0x18, /* 00011000 */ // 0x18 +}; + +enum macro_nd_flags { +/*line: 266*/ ND_RA_FLAG_RTPREF_HIGH = 0x8, /* 00001000 */ // 0x08 +/*line: 267*/ ND_RA_FLAG_RTPREF_MEDIUM = 0x0, /* 00000000 */ // 0x00 +/*line: 268*/ ND_RA_FLAG_RTPREF_LOW = 0x18, /* 00011000 */ // 0x18 +/*line: 269*/ ND_RA_FLAG_RTPREF_RSV = 0x10, /* 00010000 */ // 0x10 +/*line: 300*/ ND_NA_FLAG_ROUTER = 0x80, // 0x80 +/*line: 301*/ ND_NA_FLAG_SOLICITED = 0x40, // 0x40 +/*line: 302*/ ND_NA_FLAG_OVERRIDE = 0x20, // 0x20 +}; + +enum macro_nd_options { +/*line: 324*/ ND_OPT_SOURCE_LINKADDR = 0x1, // 1 +/*line: 325*/ ND_OPT_TARGET_LINKADDR = 0x2, // 2 +/*line: 326*/ ND_OPT_PREFIX_INFORMATION = 0x3, // 3 +/*line: 327*/ ND_OPT_REDIRECTED_HEADER = 0x4, // 4 +/*line: 328*/ ND_OPT_MTU = 0x5, // 5 +/*line: 329*/ ND_OPT_NONCE = 0xe, /* RFC 3971 */ // 14 +/*line: 330*/ ND_OPT_PVD = 0x15, /* RFC 8801 */ // 21 +/*line: 331*/ ND_OPT_ROUTE_INFO = 0x18, /* RFC 4191 */ // 24 +/*line: 332*/ ND_OPT_RDNSS = 0x19, /* RFC 6106 */ // 25 +/*line: 333*/ ND_OPT_DNSSL = 0x1f, /* RFC 6106 */ // 31 +/*line: 334*/ ND_OPT_CAPTIVE_PORTAL = 0x25, /* RFC 7710 */ // 37 +/*line: 335*/ ND_OPT_PREF64 = 0x26, /* RFC 8781 */ // 38 +}; + +enum macro_pi_flags { +/*line: 348*/ ND_OPT_PI_FLAG_ONLINK = 0x80, // 0x80 +/*line: 349*/ ND_OPT_PI_FLAG_AUTO = 0x40, // 0x40 +}; + +enum macro_nonce_length { +/*line: 351*/ ND_OPT_NONCE_LEN = 0x6, // ((1*8)-2) +}; + +enum macro_icmp6_options { +/*line: 412*/ ND_OPT_PREF64_SCALED_LIFETIME_MASK = 0xfff8, // 0xfff8 +/*line: 413*/ ND_OPT_PREF64_PLC_MASK = 0x7, // 0x0007 +/*line: 414*/ ND_OPT_PREF64_LIFETIME_MAX = 0xfff8, // 65528 +/*line: 415*/ ND_OPT_PREF64_PLC_32 = 0x5, // 5 +/*line: 416*/ ND_OPT_PREF64_PLC_40 = 0x4, // 4 +/*line: 417*/ ND_OPT_PREF64_PLC_48 = 0x3, // 3 +/*line: 418*/ ND_OPT_PREF64_PLC_56 = 0x2, // 2 +/*line: 419*/ ND_OPT_PREF64_PLC_64 = 0x1, // 1 +/*line: 420*/ ND_OPT_PREF64_PLC_96 = 0x0, // 0 +/*line: 439*/ ND_OPT_PVD_FLAGS_HTTP = 0x80, // 0x80 +/*line: 440*/ ND_OPT_PVD_FLAGS_LEGACY = 0x40, // 0x40 +/*line: 441*/ ND_OPT_PVD_FLAGS_RA = 0x20, // 0x20 +/*line: 442*/ ND_OPT_PVD_DELAY_MASK = 0xf, // 0x0f +}; + +enum macro_icmp6_query_type { +/*line: 474*/ NI_QTYPE_NOOP = 0x0, /* NOOP */ // 0 +/*line: 475*/ NI_QTYPE_SUPTYPES = 0x1, /* Supported Qtypes */ // 1 +/*line: 476*/ NI_QTYPE_FQDN = 0x2, /* FQDN (draft 04) */ // 2 +/*line: 477*/ NI_QTYPE_DNSNAME = 0x2, /* DNS Name */ // 2 +/*line: 478*/ NI_QTYPE_NODEADDR = 0x3, /* Node Addresses */ // 3 +/*line: 479*/ NI_QTYPE_IPV4ADDR = 0x4, /* IPv4 Addresses */ // 4 +/*line: 485*/ NI_SUPTYPE_FLAG_COMPRESS = 0x100, // 0x0100 +/*line: 486*/ NI_FQDN_FLAG_VALIDTTL = 0x100, // 0x0100 +}; + +enum macro_node_address_flags { +/*line: 515*/ NI_NODEADDR_FLAG_TRUNCATE = 0x100, // 0x0100 +/*line: 516*/ NI_NODEADDR_FLAG_ALL = 0x200, // 0x0200 +/*line: 517*/ NI_NODEADDR_FLAG_COMPAT = 0x400, // 0x0400 +/*line: 518*/ NI_NODEADDR_FLAG_LINKLOCAL = 0x800, // 0x0800 +/*line: 519*/ NI_NODEADDR_FLAG_SITELOCAL = 0x1000, // 0x1000 +/*line: 520*/ NI_NODEADDR_FLAG_GLOBAL = 0x2000, // 0x2000 +/*line: 521*/ NI_NODEADDR_FLAG_ANYCAST = 0x4000, /* just experimental. not in spec */ // 0x4000 +}; + +enum macro_icmp6_rr_flags { +/*line: 542*/ ICMP6_RR_FLAGS_TEST = 0x80, // 0x80 +/*line: 543*/ ICMP6_RR_FLAGS_REQRESULT = 0x40, // 0x40 +/*line: 544*/ ICMP6_RR_FLAGS_FORCEAPPLY = 0x20, // 0x20 +/*line: 545*/ ICMP6_RR_FLAGS_SPECSITE = 0x10, // 0x10 +/*line: 546*/ ICMP6_RR_FLAGS_PREVDONE = 0x8, // 0x08 +}; + +enum macro_rpm_pco_options { +/*line: 564*/ RPM_PCO_ADD = 0x1, // 1 +/*line: 565*/ RPM_PCO_CHANGE = 0x2, // 2 +/*line: 566*/ RPM_PCO_SETGLOBAL = 0x3, // 3 +/*line: 567*/ RPM_PCO_MAX = 0x4, // 4 +}; + +enum macro_icmp6_ra_flags { +/*line: 579*/ ICMP6_RR_PCOUSE_RAFLAGS_ONLINK = 0x80, // 0x80 +/*line: 580*/ ICMP6_RR_PCOUSE_RAFLAGS_AUTO = 0x40, // 0x40 +/*line: 586*/ ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME = 0x80, // 0x80 +/*line: 587*/ ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME = 0x40, // 0x40 +/*line: 601*/ ICMP6_RR_RESULT_FLAGS_OOB = 0x200, // 0x0200 +/*line: 602*/ ICMP6_RR_RESULT_FLAGS_FORBIDDEN = 0x100, // 0x0100 +}; + +enum macro_icmpv6_ctl { +/* + * Names for ICMP sysctl objects + */ +/*line: 694*/ ICMPV6CTL_STATS = 0x1, // 1 +/*line: 695*/ ICMPV6CTL_REDIRACCEPT = 0x2, /* accept/process redirects */ // 2 +/*line: 696*/ ICMPV6CTL_REDIRTIMEOUT = 0x3, /* redirect cache time */ // 3 +/*line: 700*/ ICMPV6CTL_ND6_PRUNE = 0x6, // 6 +/*line: 701*/ ICMPV6CTL_ND6_DELAY = 0x8, // 8 +/*line: 702*/ ICMPV6CTL_ND6_UMAXTRIES = 0x9, // 9 +/*line: 703*/ ICMPV6CTL_ND6_MMAXTRIES = 0xa, // 10 +/*line: 704*/ ICMPV6CTL_ND6_USELOOPBACK = 0xb, // 11 +/*#define ICMPV6CTL_ND6_PROXYALL 12 obsoleted, do not reuse here */ +/*line: 706*/ ICMPV6CTL_NODEINFO = 0xd, // 13 +/*line: 707*/ ICMPV6CTL_ERRPPSLIMIT = 0xe, /* ICMPv6 error pps limitation */ // 14 +/*line: 708*/ ICMPV6CTL_ND6_MAXNUDHINT = 0xf, // 15 +/*line: 709*/ ICMPV6CTL_MTUDISC_HIWAT = 0x10, // 16 +/*line: 710*/ ICMPV6CTL_MTUDISC_LOWAT = 0x11, // 17 +/*line: 711*/ ICMPV6CTL_ND6_DEBUG = 0x12, // 18 +/*line: 712*/ ICMPV6CTL_ND6_DRLIST = 0x13, // 19 +/*line: 713*/ ICMPV6CTL_ND6_PRLIST = 0x14, // 20 +/*line: 714*/ ICMPV6CTL_MLD_MAXSRCFILTER = 0x15, // 21 +/*line: 715*/ ICMPV6CTL_MLD_SOMAXSRC = 0x16, // 22 +/*line: 716*/ ICMPV6CTL_MLD_VERSION = 0x17, // 23 +/*line: 717*/ ICMPV6CTL_ND6_MAXQLEN = 0x18, // 24 +/*line: 718*/ ICMPV6CTL_ND6_ACCEPT_6TO4 = 0x19, // 25 +/*line: 719*/ ICMPV6CTL_ND6_OPTIMISTIC_DAD = 0x1a, /* RFC 4429 */ // 26 +/*line: 720*/ ICMPV6CTL_ERRPPSLIMIT_RANDOM_INCR = 0x1b, // 27 +/*line: 721*/ ICMPV6CTL_MAXID = 0x1c, // 28 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 114 +// #define icmp6_data32 icmp6_dataun.icmp6_un_data32 + +// Line: 115 +// #define icmp6_data16 icmp6_dataun.icmp6_un_data16 + +// Line: 116 +// #define icmp6_data8 icmp6_dataun.icmp6_un_data8 + +// Line: 117 +// #define icmp6_pptr icmp6_data32[0] + +// Line: 118 +// #define icmp6_mtu icmp6_data32[0] + +// Line: 119 +// #define icmp6_id icmp6_data16[0] + +// Line: 120 +// #define icmp6_seq icmp6_data16[1] + +// Line: 121 +// #define icmp6_maxdelay icmp6_data16[0] + +// Line: 212 +// #define mld6_hdr mld_hdr + +// Line: 213 +// #define mld6_type mld_type + +// Line: 214 +// #define mld6_code mld_code + +// Line: 215 +// #define mld6_cksum mld_cksum + +// Line: 216 +// #define mld6_maxdelay mld_maxdelay + +// Line: 217 +// #define mld6_reserved mld_reserved + +// Line: 218 +// #define mld6_addr mld_addr + +// Line: 221 +// #define mld_type mld_icmp6_hdr.icmp6_type + +// Line: 222 +// #define mld_code mld_icmp6_hdr.icmp6_code + +// Line: 223 +// #define mld_cksum mld_icmp6_hdr.icmp6_cksum + +// Line: 224 +// #define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] + +// Line: 225 +// #define mld_reserved mld_icmp6_hdr.icmp6_data16[1] + +// Line: 226 +// #define mld_v2_reserved mld_icmp6_hdr.icmp6_data16[0] + +// Line: 227 +// #define mld_v2_numrecs mld_icmp6_hdr.icmp6_data16[1] + +// Line: 242 +// #define nd_rs_type nd_rs_hdr.icmp6_type + +// Line: 243 +// #define nd_rs_code nd_rs_hdr.icmp6_code + +// Line: 244 +// #define nd_rs_cksum nd_rs_hdr.icmp6_cksum + +// Line: 245 +// #define nd_rs_reserved nd_rs_hdr.icmp6_data32[0] + +// Line: 254 +// #define nd_ra_type nd_ra_hdr.icmp6_type + +// Line: 255 +// #define nd_ra_code nd_ra_hdr.icmp6_code + +// Line: 256 +// #define nd_ra_cksum nd_ra_hdr.icmp6_cksum + +// Line: 257 +// #define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0] + +// Line: 258 +// #define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1] + +// Line: 271 +// #define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1] + +// Line: 279 +// #define nd_ns_type nd_ns_hdr.icmp6_type + +// Line: 280 +// #define nd_ns_code nd_ns_hdr.icmp6_code + +// Line: 281 +// #define nd_ns_cksum nd_ns_hdr.icmp6_cksum + +// Line: 282 +// #define nd_ns_reserved nd_ns_hdr.icmp6_data32[0] + +// Line: 290 +// #define nd_na_type nd_na_hdr.icmp6_type + +// Line: 291 +// #define nd_na_code nd_na_hdr.icmp6_code + +// Line: 292 +// #define nd_na_cksum nd_na_hdr.icmp6_cksum + +// Line: 293 +// #define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0] + +// Line: 313 +// #define nd_rd_type nd_rd_hdr.icmp6_type + +// Line: 314 +// #define nd_rd_code nd_rd_hdr.icmp6_code + +// Line: 315 +// #define nd_rd_cksum nd_rd_hdr.icmp6_cksum + +// Line: 316 +// #define nd_rd_reserved nd_rd_hdr.icmp6_data32[0] + +// Line: 438 +// #define ND_OPT_PVD_MIN_LENGTH offsetof(struct nd_opt_pvd, nd_opt_pvd_id) + +// Line: 468 +// #define ni_type icmp6_ni_hdr.icmp6_type + +// Line: 469 +// #define ni_code icmp6_ni_hdr.icmp6_code + +// Line: 470 +// #define ni_cksum icmp6_ni_hdr.icmp6_cksum + +// Line: 471 +// #define ni_qtype icmp6_ni_hdr.icmp6_data16[0] + +// Line: 472 +// #define ni_flags icmp6_ni_hdr.icmp6_data16[1] + +// Line: 548 +// #define rr_type rr_hdr.icmp6_type + +// Line: 549 +// #define rr_code rr_hdr.icmp6_code + +// Line: 550 +// #define rr_cksum rr_hdr.icmp6_cksum + +// Line: 551 +// #define rr_seqnum rr_hdr.icmp6_data32[0] + +// Line: 662 +// #define icp6s_odst_unreach_noroute icp6s_outerrhist.icp6errs_dst_unreach_noroute + +// Line: 664 +// #define icp6s_odst_unreach_admin icp6s_outerrhist.icp6errs_dst_unreach_admin + +// Line: 665 +// #define icp6s_odst_unreach_beyondscope icp6s_outerrhist.icp6errs_dst_unreach_beyondscope + +// Line: 667 +// #define icp6s_odst_unreach_addr icp6s_outerrhist.icp6errs_dst_unreach_addr + +// Line: 668 +// #define icp6s_odst_unreach_noport icp6s_outerrhist.icp6errs_dst_unreach_noport + +// Line: 669 +// #define icp6s_opacket_too_big icp6s_outerrhist.icp6errs_packet_too_big + +// Line: 670 +// #define icp6s_otime_exceed_transit icp6s_outerrhist.icp6errs_time_exceed_transit + +// Line: 672 +// #define icp6s_otime_exceed_reassembly icp6s_outerrhist.icp6errs_time_exceed_reassembly + +// Line: 674 +// #define icp6s_oparamprob_header icp6s_outerrhist.icp6errs_paramprob_header + +// Line: 675 +// #define icp6s_oparamprob_nextheader icp6s_outerrhist.icp6errs_paramprob_nextheader + +// Line: 677 +// #define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option + +// Line: 678 +// #define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect + +// Line: 679 +// #define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown + diff --git a/macrodefs_enums/ios/netinet/in.h b/macrodefs_enums/ios/netinet/in.h new file mode 100644 index 000000000..24936cdb5 --- /dev/null +++ b/macrodefs_enums/ios/netinet/in.h @@ -0,0 +1,410 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/in.h + +// Depends on identifiers +enum macro_ip_protocols { +/* + * Protocols (RFC 1700) + */ +/*line: 97*/ IPPROTO_IP = 0x0, /* dummy for IP */ // 0 +/*line: 99*/ IPPROTO_HOPOPTS = 0x0, /* IP6 hop-by-hop options */ // 0 +/*line: 101*/ IPPROTO_ICMP = 0x1, /* control message protocol */ // 1 +/*line: 103*/ IPPROTO_IGMP = 0x2, /* group mgmt protocol */ // 2 +/*line: 104*/ IPPROTO_GGP = 0x3, /* gateway^2 (deprecated) */ // 3 +/*line: 105*/ IPPROTO_IPV4 = 0x4, /* IPv4 encapsulation */ // 4 +/*line: 106*/ IPPROTO_IPIP = 0x4, /* for compatibility */ // IPPROTO_IPV4 +/*line: 108*/ IPPROTO_TCP = 0x6, /* tcp */ // 6 +/*line: 110*/ IPPROTO_ST = 0x7, /* Stream protocol II */ // 7 +/*line: 111*/ IPPROTO_EGP = 0x8, /* exterior gateway protocol */ // 8 +/*line: 112*/ IPPROTO_PIGP = 0x9, /* private interior gateway */ // 9 +/*line: 113*/ IPPROTO_RCCMON = 0xa, /* BBN RCC Monitoring */ // 10 +/*line: 114*/ IPPROTO_NVPII = 0xb, /* network voice protocol*/ // 11 +/*line: 115*/ IPPROTO_PUP = 0xc, /* pup */ // 12 +/*line: 116*/ IPPROTO_ARGUS = 0xd, /* Argus */ // 13 +/*line: 117*/ IPPROTO_EMCON = 0xe, /* EMCON */ // 14 +/*line: 118*/ IPPROTO_XNET = 0xf, /* Cross Net Debugger */ // 15 +/*line: 119*/ IPPROTO_CHAOS = 0x10, /* Chaos*/ // 16 +/*line: 121*/ IPPROTO_UDP = 0x11, /* user datagram protocol */ // 17 +/*line: 123*/ IPPROTO_MUX = 0x12, /* Multiplexing */ // 18 +/*line: 124*/ IPPROTO_MEAS = 0x13, /* DCN Measurement Subsystems */ // 19 +/*line: 125*/ IPPROTO_HMP = 0x14, /* Host Monitoring */ // 20 +/*line: 126*/ IPPROTO_PRM = 0x15, /* Packet Radio Measurement */ // 21 +/*line: 127*/ IPPROTO_IDP = 0x16, /* xns idp */ // 22 +/*line: 128*/ IPPROTO_TRUNK1 = 0x17, /* Trunk-1 */ // 23 +/*line: 129*/ IPPROTO_TRUNK2 = 0x18, /* Trunk-2 */ // 24 +/*line: 130*/ IPPROTO_LEAF1 = 0x19, /* Leaf-1 */ // 25 +/*line: 131*/ IPPROTO_LEAF2 = 0x1a, /* Leaf-2 */ // 26 +/*line: 132*/ IPPROTO_RDP = 0x1b, /* Reliable Data */ // 27 +/*line: 133*/ IPPROTO_IRTP = 0x1c, /* Reliable Transaction */ // 28 +/*line: 134*/ IPPROTO_TP = 0x1d, /* tp-4 w/ class negotiation */ // 29 +/*line: 135*/ IPPROTO_BLT = 0x1e, /* Bulk Data Transfer */ // 30 +/*line: 136*/ IPPROTO_NSP = 0x1f, /* Network Services */ // 31 +/*line: 137*/ IPPROTO_INP = 0x20, /* Merit Internodal */ // 32 +/*line: 138*/ IPPROTO_SEP = 0x21, /* Sequential Exchange */ // 33 +/*line: 139*/ IPPROTO_3PC = 0x22, /* Third Party Connect */ // 34 +/*line: 140*/ IPPROTO_IDPR = 0x23, /* InterDomain Policy Routing */ // 35 +/*line: 141*/ IPPROTO_XTP = 0x24, /* XTP */ // 36 +/*line: 142*/ IPPROTO_DDP = 0x25, /* Datagram Delivery */ // 37 +/*line: 143*/ IPPROTO_CMTP = 0x26, /* Control Message Transport */ // 38 +/*line: 144*/ IPPROTO_TPXX = 0x27, /* TP++ Transport */ // 39 +/*line: 145*/ IPPROTO_IL = 0x28, /* IL transport protocol */ // 40 +/*line: 147*/ IPPROTO_IPV6 = 0x29, /* IP6 header */ // 41 +/*line: 149*/ IPPROTO_SDRP = 0x2a, /* Source Demand Routing */ // 42 +/*line: 150*/ IPPROTO_ROUTING = 0x2b, /* IP6 routing header */ // 43 +/*line: 151*/ IPPROTO_FRAGMENT = 0x2c, /* IP6 fragmentation header */ // 44 +/*line: 152*/ IPPROTO_IDRP = 0x2d, /* InterDomain Routing*/ // 45 +/*line: 153*/ IPPROTO_RSVP = 0x2e, /* resource reservation */ // 46 +/*line: 154*/ IPPROTO_GRE = 0x2f, /* General Routing Encap. */ // 47 +/*line: 155*/ IPPROTO_MHRP = 0x30, /* Mobile Host Routing */ // 48 +/*line: 156*/ IPPROTO_BHA = 0x31, /* BHA */ // 49 +/*line: 157*/ IPPROTO_ESP = 0x32, /* IP6 Encap Sec. Payload */ // 50 +/*line: 158*/ IPPROTO_AH = 0x33, /* IP6 Auth Header */ // 51 +/*line: 159*/ IPPROTO_INLSP = 0x34, /* Integ. Net Layer Security */ // 52 +/*line: 160*/ IPPROTO_SWIPE = 0x35, /* IP with encryption */ // 53 +/*line: 161*/ IPPROTO_NHRP = 0x36, /* Next Hop Resolution */ // 54 +/* 55-57: Unassigned */ +/*line: 163*/ IPPROTO_ICMPV6 = 0x3a, /* ICMP6 */ // 58 +/*line: 164*/ IPPROTO_NONE = 0x3b, /* IP6 no next header */ // 59 +/*line: 165*/ IPPROTO_DSTOPTS = 0x3c, /* IP6 destination option */ // 60 +/*line: 166*/ IPPROTO_AHIP = 0x3d, /* any host internal protocol */ // 61 +/*line: 167*/ IPPROTO_CFTP = 0x3e, /* CFTP */ // 62 +/*line: 168*/ IPPROTO_HELLO = 0x3f, /* "hello" routing protocol */ // 63 +/*line: 169*/ IPPROTO_SATEXPAK = 0x40, /* SATNET/Backroom EXPAK */ // 64 +/*line: 170*/ IPPROTO_KRYPTOLAN = 0x41, /* Kryptolan */ // 65 +/*line: 171*/ IPPROTO_RVD = 0x42, /* Remote Virtual Disk */ // 66 +/*line: 172*/ IPPROTO_IPPC = 0x43, /* Pluribus Packet Core */ // 67 +/*line: 173*/ IPPROTO_ADFS = 0x44, /* Any distributed FS */ // 68 +/*line: 174*/ IPPROTO_SATMON = 0x45, /* Satnet Monitoring */ // 69 +/*line: 175*/ IPPROTO_VISA = 0x46, /* VISA Protocol */ // 70 +/*line: 176*/ IPPROTO_IPCV = 0x47, /* Packet Core Utility */ // 71 +/*line: 177*/ IPPROTO_CPNX = 0x48, /* Comp. Prot. Net. Executive */ // 72 +/*line: 178*/ IPPROTO_CPHB = 0x49, /* Comp. Prot. HeartBeat */ // 73 +/*line: 179*/ IPPROTO_WSN = 0x4a, /* Wang Span Network */ // 74 +/*line: 180*/ IPPROTO_PVP = 0x4b, /* Packet Video Protocol */ // 75 +/*line: 181*/ IPPROTO_BRSATMON = 0x4c, /* BackRoom SATNET Monitoring */ // 76 +/*line: 182*/ IPPROTO_ND = 0x4d, /* Sun net disk proto (temp.) */ // 77 +/*line: 183*/ IPPROTO_WBMON = 0x4e, /* WIDEBAND Monitoring */ // 78 +/*line: 184*/ IPPROTO_WBEXPAK = 0x4f, /* WIDEBAND EXPAK */ // 79 +/*line: 185*/ IPPROTO_EON = 0x50, /* ISO cnlp */ // 80 +/*line: 186*/ IPPROTO_VMTP = 0x51, /* VMTP */ // 81 +/*line: 187*/ IPPROTO_SVMTP = 0x52, /* Secure VMTP */ // 82 +/*line: 188*/ IPPROTO_VINES = 0x53, /* Banyon VINES */ // 83 +/*line: 189*/ IPPROTO_TTP = 0x54, /* TTP */ // 84 +/*line: 190*/ IPPROTO_IGP = 0x55, /* NSFNET-IGP */ // 85 +/*line: 191*/ IPPROTO_DGP = 0x56, /* dissimilar gateway prot. */ // 86 +/*line: 192*/ IPPROTO_TCF = 0x57, /* TCF */ // 87 +/*line: 193*/ IPPROTO_IGRP = 0x58, /* Cisco/GXS IGRP */ // 88 +/*line: 194*/ IPPROTO_OSPFIGP = 0x59, /* OSPFIGP */ // 89 +/*line: 195*/ IPPROTO_SRPC = 0x5a, /* Strite RPC protocol */ // 90 +/*line: 196*/ IPPROTO_LARP = 0x5b, /* Locus Address Resoloution */ // 91 +/*line: 197*/ IPPROTO_MTP = 0x5c, /* Multicast Transport */ // 92 +/*line: 198*/ IPPROTO_AX25 = 0x5d, /* AX.25 Frames */ // 93 +/*line: 199*/ IPPROTO_IPEIP = 0x5e, /* IP encapsulated in IP */ // 94 +/*line: 200*/ IPPROTO_MICP = 0x5f, /* Mobile Int.ing control */ // 95 +/*line: 201*/ IPPROTO_SCCSP = 0x60, /* Semaphore Comm. security */ // 96 +/*line: 202*/ IPPROTO_ETHERIP = 0x61, /* Ethernet IP encapsulation */ // 97 +/*line: 203*/ IPPROTO_ENCAP = 0x62, /* encapsulation header */ // 98 +/*line: 204*/ IPPROTO_APES = 0x63, /* any private encr. scheme */ // 99 +/*line: 205*/ IPPROTO_GMTP = 0x64, /* GMTP*/ // 100 +/* 101-252: Partly Unassigned */ +/*line: 207*/ IPPROTO_PIM = 0x67, /* Protocol Independent Mcast */ // 103 +/*line: 208*/ IPPROTO_IPCOMP = 0x6c, /* payload compression (IPComp) */ // 108 +/*line: 209*/ IPPROTO_PGM = 0x71, /* PGM */ // 113 +/*line: 210*/ IPPROTO_SCTP = 0x84, /* SCTP */ // 132 +/* BSD Private, local use, namespace incursion */ +/*line: 213*/ IPPROTO_DIVERT = 0xfe, /* divert pseudo-protocol */ // 254 +/*line: 215*/ IPPROTO_RAW = 0xff, /* raw IP packet */ // 255 +/*line: 218*/ IPPROTO_MAX = 0x100, // 256 +/* last return value of *_input(), meaning "all job for this pkt is done". */ +/*line: 221*/ IPPROTO_DONE = 0x101, // 257 +}; + +enum macro_port_range { +/* + * Local port number conventions: + * + * When a user does a bind(2) or connect(2) with a port number of zero, + * a non-conflicting local port address is chosen. + * The default range is IPPORT_RESERVED through + * IPPORT_USERRESERVED, although that is settable by sysctl. + * + * A user may set the IPPROTO_IP option IP_PORTRANGE to change this + * default assignment range. + * + * The value IP_PORTRANGE_DEFAULT causes the default behavior. + * + * The value IP_PORTRANGE_HIGH changes the range of candidate port numbers + * into the "high" range. These are reserved for client outbound connections + * which do not want to be filtered by any firewalls. + * + * The value IP_PORTRANGE_LOW changes the range to the "low" are + * that is (by convention) restricted to privileged processes. This + * convention is based on "vouchsafe" principles only. It is only secure + * if you trust the remote host to restrict these ports. + * + * The default range of ports and the high range can be changed by + * sysctl(3). (net.inet.ip.port{hi,low}{first,last}_auto) + * + * Changing those values has bad security implications if you are + * using a a stateless firewall that is allowing packets outside of that + * range in order to allow transparent outgoing connections. + * + * Such a firewall configuration will generally depend on the use of these + * default values. If you change them, you may find your Security + * Administrator looking for you with a heavy object. + * + * For a slightly more orthodox text view on this: + * + * ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers + * + * port numbers are divided into three ranges: + * + * 0 - 1023 Well Known Ports + * 1024 - 49151 Registered Ports + * 49152 - 65535 Dynamic and/or Private Ports + * + */ +/*line: 269*/ __DARWIN_IPPORT_RESERVED = 0x400, // 1024 +}; + +// Depends on identifiers +enum macro_ipports { +/*line: 279*/ IPPORT_RESERVED = 0x400, // __DARWIN_IPPORT_RESERVED +/*line: 281*/ IPPORT_USERRESERVED = 0x1388, // 5000 +}; + +enum macro_auto_port_range { +/* + * Default local port range to use by setting IP_PORTRANGE_HIGH + */ +/*line: 286*/ IPPORT_HIFIRSTAUTO = 0xc000, // 49152 +/*line: 287*/ IPPORT_HILASTAUTO = 0xffff, // 65535 +}; + +enum macro_reserved_port_range { +/* + * Scanning for a free reserved port return a value below IPPORT_RESERVED, + * but higher than IPPORT_RESERVEDSTART. Traditionally the start value was + * 512, but that conflicts with some well-known-services that firewalls may + * have a fit if we use. + */ +/*line: 295*/ IPPORT_RESERVEDSTART = 0x258, // 600 +}; + +// Depends on identifiers +enum macro_ip_address_flags { +/* + * Definitions of bits in internet address integers. + * On subnets, the decomposition of addresses to host and net parts + * is done according to subnet mask, not the masks here. + */ +/*line: 310*/ INADDR_ANY = 0x0, // (u_int32_t)0x00000000 +/*line: 311*/ INADDR_BROADCAST = 0xffffffff, /* must be masked */ // (u_int32_t)0xffffffff +}; + +enum macro_ip_address_class { +/*line: 315*/ IN_CLASSA_NET = 0xff000000, // 0xff000000 +/*line: 316*/ IN_CLASSA_NSHIFT = 0x18, // 24 +/*line: 317*/ IN_CLASSA_HOST = 0xffffff, // 0x00ffffff +/*line: 318*/ IN_CLASSA_MAX = 0x80, // 128 +/*line: 321*/ IN_CLASSB_NET = 0xffff0000, // 0xffff0000 +/*line: 322*/ IN_CLASSB_NSHIFT = 0x10, // 16 +/*line: 323*/ IN_CLASSB_HOST = 0xffff, // 0x0000ffff +/*line: 324*/ IN_CLASSB_MAX = 0x10000, // 65536 +}; + +enum macro_ip_class { +/*line: 327*/ IN_CLASSC_NET = 0xffffff00, // 0xffffff00 +/*line: 328*/ IN_CLASSC_NSHIFT = 0x8, // 8 +/*line: 329*/ IN_CLASSC_HOST = 0xff, // 0x000000ff +}; + +enum macro_classful_network { +/*line: 332*/ IN_CLASSD_NET = 0xf0000000, /* These ones aren't really */ // 0xf0000000 +/*line: 333*/ IN_CLASSD_NSHIFT = 0x1c, /* net and host fields, but */ // 28 +/*line: 334*/ IN_CLASSD_HOST = 0xfffffff, /* routing needn't know. */ // 0x0fffffff +}; + +// Depends on identifiers +enum macro_in_addr { +/*line: 340*/ INADDR_LOOPBACK = 0x7f000001, // (u_int32_t)0x7f000001 +/*line: 342*/ INADDR_NONE = 0xffffffff, /* -1 return */ // 0xffffffff +}; + +// Depends on identifiers +enum macro_multicast_groups { +/*line: 344*/ INADDR_UNSPEC_GROUP = 0xe0000000, /* 224.0.0.0 */ // (u_int32_t)0xe0000000 +/*line: 345*/ INADDR_ALLHOSTS_GROUP = 0xe0000001, /* 224.0.0.1 */ // (u_int32_t)0xe0000001 +/*line: 346*/ INADDR_ALLRTRS_GROUP = 0xe0000002, /* 224.0.0.2 */ // (u_int32_t)0xe0000002 +/*line: 347*/ INADDR_ALLRPTS_GROUP = 0xe0000016, /* 224.0.0.22, IGMPv3 */ // (u_int32_t)0xe0000016 +/*line: 348*/ INADDR_CARP_GROUP = 0xe0000012, /* 224.0.0.18 */ // (u_int32_t)0xe0000012 +/*line: 349*/ INADDR_PFSYNC_GROUP = 0xe00000f0, /* 224.0.0.240 */ // (u_int32_t)0xe00000f0 +/*line: 350*/ INADDR_ALLMDNS_GROUP = 0xe00000fb, /* 224.0.0.251 */ // (u_int32_t)0xe00000fb +/*line: 351*/ INADDR_MAX_LOCAL_GROUP = 0xe00000ff, /* 224.0.0.255 */ // (u_int32_t)0xe00000ff +}; + +// Depends on identifiers +enum macro_in_linklocalnetnum { +/*line: 354*/ IN_LINKLOCALNETNUM = 0xa9fe0000, /* 169.254.0.0 */ // (u_int32_t)0xA9FE0000 +}; + +enum macro_loopbacknet { +/*line: 368*/ IN_LOOPBACKNET = 0x7f, /* official! */ // 127 +}; + +enum macro_inet_addrstrlen { +/*line: 386*/ INET_ADDRSTRLEN = 0x10, // 16 +}; + +// Depends on identifiers +enum macro_ip_socket_options { +/* + * Options for use with [gs]etsockopt at the IP level. + * First word of comment is data type; bool is stored in int. + */ +/*line: 405*/ IP_OPTIONS = 0x1, /* buf/ip_opts; set/get IP options */ // 1 +/*line: 406*/ IP_HDRINCL = 0x2, /* int; header is included with data */ // 2 +/*line: 407*/ IP_TOS = 0x3, /* int; IP type of service and preced. */ // 3 +/*line: 408*/ IP_TTL = 0x4, /* int; IP time to live */ // 4 +/*line: 409*/ IP_RECVOPTS = 0x5, /* bool; receive all IP opts w/dgram */ // 5 +/*line: 410*/ IP_RECVRETOPTS = 0x6, /* bool; receive IP opts for response */ // 6 +/*line: 411*/ IP_RECVDSTADDR = 0x7, /* bool; receive IP dst addr w/dgram */ // 7 +/*line: 412*/ IP_RETOPTS = 0x8, /* ip_opts; set/get IP options */ // 8 +/*line: 413*/ IP_MULTICAST_IF = 0x9, /* u_char; set/get IP multicast i/f */ // 9 +/*line: 414*/ IP_MULTICAST_TTL = 0xa, /* u_char; set/get IP multicast ttl */ // 10 +/*line: 415*/ IP_MULTICAST_LOOP = 0xb, /* u_char; set/get IP multicast loopback */ // 11 +/*line: 416*/ IP_ADD_MEMBERSHIP = 0xc, /* ip_mreq; add an IP group membership */ // 12 +/*line: 417*/ IP_DROP_MEMBERSHIP = 0xd, /* ip_mreq; drop an IP group membership */ // 13 +/*line: 418*/ IP_MULTICAST_VIF = 0xe, /* set/get IP mcast virt. iface */ // 14 +/*line: 419*/ IP_RSVP_ON = 0xf, /* enable RSVP in kernel */ // 15 +/*line: 420*/ IP_RSVP_OFF = 0x10, /* disable RSVP in kernel */ // 16 +/*line: 421*/ IP_RSVP_VIF_ON = 0x11, /* set RSVP per-vif socket */ // 17 +/*line: 422*/ IP_RSVP_VIF_OFF = 0x12, /* unset RSVP per-vif socket */ // 18 +/*line: 423*/ IP_PORTRANGE = 0x13, /* int; range to choose for unspec port */ // 19 +/*line: 424*/ IP_RECVIF = 0x14, /* bool; receive reception if w/dgram */ // 20 +/* for IPSEC */ +/*line: 426*/ IP_IPSEC_POLICY = 0x15, /* int; set/get security policy */ // 21 +/*line: 427*/ IP_FAITH = 0x16, /* deprecated */ // 22 +/*line: 429*/ IP_STRIPHDR = 0x17, /* bool: drop receive of raw IP header */ // 23 +/*line: 431*/ IP_RECVTTL = 0x18, /* bool; receive reception TTL w/dgram */ // 24 +/*line: 432*/ IP_BOUND_IF = 0x19, /* int; set/get bound interface */ // 25 +/*line: 433*/ IP_PKTINFO = 0x1a, /* get pktinfo on recv socket, set src on sent dgram */ // 26 +/*line: 434*/ IP_RECVPKTINFO = 0x1a, /* receive pktinfo w/dgram */ // IP_PKTINFO +/*line: 435*/ IP_RECVTOS = 0x1b, /* bool; receive IP TOS w/dgram */ // 27 +/*line: 436*/ IP_DONTFRAG = 0x1c, /* don't fragment packet */ // 28 +/*line: 438*/ IP_FW_ADD = 0x28, /* add a firewall rule to chain */ // 40 +/*line: 439*/ IP_FW_DEL = 0x29, /* delete a firewall rule from chain */ // 41 +/*line: 440*/ IP_FW_FLUSH = 0x2a, /* flush firewall rule chain */ // 42 +/*line: 441*/ IP_FW_ZERO = 0x2b, /* clear single/all firewall counter(s) */ // 43 +/*line: 442*/ IP_FW_GET = 0x2c, /* get entire firewall rule chain */ // 44 +/*line: 443*/ IP_FW_RESETLOG = 0x2d, /* reset logging counters */ // 45 +/* These older firewall socket option codes are maintained for backward compatibility. */ +/*line: 446*/ IP_OLD_FW_ADD = 0x32, /* add a firewall rule to chain */ // 50 +/*line: 447*/ IP_OLD_FW_DEL = 0x33, /* delete a firewall rule from chain */ // 51 +/*line: 448*/ IP_OLD_FW_FLUSH = 0x34, /* flush firewall rule chain */ // 52 +/*line: 449*/ IP_OLD_FW_ZERO = 0x35, /* clear single/all firewall counter(s) */ // 53 +/*line: 450*/ IP_OLD_FW_GET = 0x36, /* get entire firewall rule chain */ // 54 +/*line: 451*/ IP_NAT__XXX = 0x37, /* set/get NAT opts XXX Deprecated, do not use */ // 55 +/*line: 452*/ IP_OLD_FW_RESETLOG = 0x38, /* reset logging counters */ // 56 +/*line: 454*/ IP_DUMMYNET_CONFIGURE = 0x3c, /* add/configure a dummynet pipe */ // 60 +/*line: 455*/ IP_DUMMYNET_DEL = 0x3d, /* delete a dummynet pipe from chain */ // 61 +/*line: 456*/ IP_DUMMYNET_FLUSH = 0x3e, /* flush dummynet */ // 62 +/*line: 457*/ IP_DUMMYNET_GET = 0x40, /* get entire dummynet pipes */ // 64 +/*line: 459*/ IP_TRAFFIC_MGT_BACKGROUND = 0x41, /* int*; get background IO flags; set background IO */ // 65 +/*line: 460*/ IP_MULTICAST_IFINDEX = 0x42, /* int*; set/get IP multicast i/f index */ // 66 +/* IPv4 Source Filter Multicast API [RFC3678] */ +/*line: 463*/ IP_ADD_SOURCE_MEMBERSHIP = 0x46, /* join a source-specific group */ // 70 +/*line: 464*/ IP_DROP_SOURCE_MEMBERSHIP = 0x47, /* drop a single source */ // 71 +/*line: 465*/ IP_BLOCK_SOURCE = 0x48, /* block a source */ // 72 +/*line: 466*/ IP_UNBLOCK_SOURCE = 0x49, /* unblock a source */ // 73 +/* The following option is private; do not use it from user applications. */ +/*line: 469*/ IP_MSFILTER = 0x4a, /* set/get filter list */ // 74 +}; + +enum macro_multicast_control { +/* Protocol Independent Multicast API [RFC3678] */ +/*line: 472*/ MCAST_JOIN_GROUP = 0x50, /* join an any-source group */ // 80 +/*line: 473*/ MCAST_LEAVE_GROUP = 0x51, /* leave all sources for group */ // 81 +/*line: 474*/ MCAST_JOIN_SOURCE_GROUP = 0x52, /* join a source-specific group */ // 82 +/*line: 475*/ MCAST_LEAVE_SOURCE_GROUP = 0x53, /* leave a single source */ // 83 +/*line: 476*/ MCAST_BLOCK_SOURCE = 0x54, /* block a source */ // 84 +/*line: 477*/ MCAST_UNBLOCK_SOURCE = 0x55, /* unblock a source */ // 85 +}; + +enum macro_ip_options_constants { +/* + * Defaults and limits for options + */ +/*line: 483*/ IP_DEFAULT_MULTICAST_TTL = 0x1, /* normally limit m'casts to 1 hop */ // 1 +/*line: 484*/ IP_DEFAULT_MULTICAST_LOOP = 0x1, /* normally hear sends if a member */ // 1 +/* + * The imo_membership vector for each socket is now dynamically allocated at + * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized + * according to a power-of-two increment. + */ +/*line: 491*/ IP_MIN_MEMBERSHIPS = 0x1f, // 31 +/*line: 492*/ IP_MAX_MEMBERSHIPS = 0xfff, // 4095 +}; + +enum macro_ip_multicast_limits { +/* + * Default resource limits for IPv4 multicast source filtering. + * These may be modified by sysctl. + */ +/*line: 498*/ IP_MAX_GROUP_SRC_FILTER = 0x200, /* sources per group */ // 512 +/*line: 499*/ IP_MAX_SOCK_SRC_FILTER = 0x80, /* sources per socket/group */ // 128 +/*line: 500*/ IP_MAX_SOCK_MUTE_FILTER = 0x80, /* XXX no longer used */ // 128 +}; + +enum macro_multicast_filter_mode { +/* + * Filter modes; also used to represent per-socket filter mode internally. + */ +/*line: 584*/ MCAST_UNDEFINED = 0x0, /* fmode: not yet defined */ // 0 +/*line: 585*/ MCAST_INCLUDE = 0x1, /* fmode: include these source(s) */ // 1 +/*line: 586*/ MCAST_EXCLUDE = 0x2, /* fmode: exclude these source(s) */ // 2 +}; + +enum macro_ip_port_range { +/* + * Argument for IP_PORTRANGE: + * - which range to search when port is unspecified at bind() or connect() + */ +/*line: 592*/ IP_PORTRANGE_DEFAULT = 0x0, /* default range */ // 0 +/*line: 593*/ IP_PORTRANGE_HIGH = 0x1, /* "high" - request firewall bypass */ // 1 +/*line: 594*/ IP_PORTRANGE_LOW = 0x2, /* "low" - vouchsafe security */ // 2 +}; + +// Depends on identifiers +enum macro_ip_protocol_id { +/* + * Definitions for inet sysctl operations. + * + * Third level is protocol number. + * Fourth level is desired variable within that protocol. + */ +/*line: 628*/ IPPROTO_MAXID = 0x34, /* don't list to IPPROTO_MAX */ // (IPPROTO_AH+1) +}; + +enum macro_ip_controls { +/* + * Names for IP sysctl objects + */ +/*line: 633*/ IPCTL_FORWARDING = 0x1, /* act as router */ // 1 +/*line: 634*/ IPCTL_SENDREDIRECTS = 0x2, /* may send redirects when forwarding */ // 2 +/*line: 635*/ IPCTL_DEFTTL = 0x3, /* default TTL */ // 3 +/*line: 639*/ IPCTL_RTEXPIRE = 0x5, /* cloned route expiration time */ // 5 +/*line: 640*/ IPCTL_RTMINEXPIRE = 0x6, /* min value for expiration time */ // 6 +/*line: 641*/ IPCTL_RTMAXCACHE = 0x7, /* trigger level for dynamic expire */ // 7 +/*line: 642*/ IPCTL_SOURCEROUTE = 0x8, /* may perform source routes */ // 8 +/*line: 643*/ IPCTL_DIRECTEDBROADCAST = 0x9, /* may re-broadcast received packets */ // 9 +/*line: 644*/ IPCTL_INTRQMAXLEN = 0xa, /* max length of netisr queue */ // 10 +/*line: 645*/ IPCTL_INTRQDROPS = 0xb, /* number of netisr q drops */ // 11 +/*line: 646*/ IPCTL_STATS = 0xc, /* ipstat structure */ // 12 +/*line: 647*/ IPCTL_ACCEPTSOURCEROUTE = 0xd, /* may accept source routed packets */ // 13 +/*line: 648*/ IPCTL_FASTFORWARDING = 0xe, /* use fast IP forwarding code */ // 14 +/*line: 649*/ IPCTL_KEEPFAITH = 0xf, /* deprecated */ // 15 +/*line: 650*/ IPCTL_GIF_TTL = 0x10, /* default TTL for gif encap packet */ // 16 +/*line: 651*/ IPCTL_MAXID = 0x11, // 17 +}; + diff --git a/macrodefs_enums/ios/netinet/in_pcb.h b/macrodefs_enums/ios/netinet/in_pcb.h new file mode 100644 index 000000000..bf9c24cc9 --- /dev/null +++ b/macrodefs_enums/ios/netinet/in_pcb.h @@ -0,0 +1,35 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/in_pcb.h + +enum macro_inp_flags { +/* + * These defines are for use with the inpcb. + */ +/*line: 266*/ INP_IPV4 = 0x1, // 0x1 +/*line: 267*/ INP_IPV6 = 0x2, // 0x2 +/*line: 268*/ INP_V4MAPPEDV6 = 0x4, // 0x4 +/* + * Flags for inp_flags. + * + * Some of these are publicly defined for legacy reasons, as they are + * (unfortunately) used by certain applications to determine, at compile + * time, whether or not the OS supports certain features. + */ +/*line: 283*/ INP_ANONPORT = 0x40, /* port chosen for user */ // 0x00000040 +/*line: 286*/ IN6P_IPV6_V6ONLY = 0x8000, /* restrict AF_INET6 socket for v6 */ // 0x00008000 +/*line: 289*/ IN6P_BINDV6ONLY = 0x1000000, /* do not grab IPv4 traffic */ // 0x01000000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 269 +// #define inp_faddr inp_dependfaddr.inp46_foreign.ia46_addr4 + +// Line: 270 +// #define inp_laddr inp_dependladdr.inp46_local.ia46_addr4 + +// Line: 271 +// #define in6p_faddr inp_dependfaddr.inp6_foreign + +// Line: 272 +// #define in6p_laddr inp_dependladdr.inp6_local + diff --git a/macrodefs_enums/ios/netinet/ip.h b/macrodefs_enums/ios/netinet/ip.h new file mode 100644 index 000000000..3c2226e7c --- /dev/null +++ b/macrodefs_enums/ios/netinet/ip.h @@ -0,0 +1,123 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/ip.h + +enum macro_ip_flags { +/* + * Definitions for internet protocol version 4. + * Per RFC 791, September 1981. + */ +/*line: 76*/ IPVERSION = 0x4, // 4 +/*line: 98*/ IP_RF = 0x8000, /* reserved fragment flag */ // 0x8000 +/*line: 99*/ IP_DF = 0x4000, /* dont fragment flag */ // 0x4000 +/*line: 100*/ IP_MF = 0x2000, /* more fragments flag */ // 0x2000 +/*line: 101*/ IP_OFFMASK = 0x1fff, /* mask for fragmenting bits */ // 0x1fff +}; + +enum macro_ip_maxpacket { +/*line: 115*/ IP_MAXPACKET = 0xffff, /* maximum packet size */ // 65535 +}; + +enum macro_ip_tos { +/* + * Definitions for IP type of service (ip_tos) + */ +/*line: 120*/ IPTOS_LOWDELAY = 0x10, // 0x10 +/*line: 121*/ IPTOS_THROUGHPUT = 0x8, // 0x08 +/*line: 122*/ IPTOS_RELIABILITY = 0x4, // 0x04 +/*line: 123*/ IPTOS_MINCOST = 0x2, // 0x02 +/* ECN RFC3168 obsoletes RFC2481, and these will be deprecated soon. */ +/*line: 126*/ IPTOS_CE = 0x1, // 0x01 +/*line: 127*/ IPTOS_ECT = 0x2, // 0x02 +}; + +enum macro_dscp_shift { +/*line: 130*/ IPTOS_DSCP_SHIFT = 0x2, // 2 +}; + +enum macro_ip_ecn_flags { +/* + * ECN (Explicit Congestion Notification) codepoints in RFC3168 + * mapped to the lower 2 bits of the TOS field. + */ +/*line: 136*/ IPTOS_ECN_NOTECT = 0x0, /* not-ECT */ // 0x00 +/*line: 137*/ IPTOS_ECN_ECT1 = 0x1, /* ECN-capable transport (1) */ // 0x01 +/*line: 138*/ IPTOS_ECN_ECT0 = 0x2, /* ECN-capable transport (0) */ // 0x02 +/*line: 139*/ IPTOS_ECN_CE = 0x3, /* congestion experienced */ // 0x03 +/*line: 140*/ IPTOS_ECN_MASK = 0x3, /* ECN field mask */ // 0x03 +}; + +enum macro_ip_precedence { +/* + * Definitions for IP precedence (also in ip_tos) (hopefully unused) + */ +/*line: 145*/ IPTOS_PREC_NETCONTROL = 0xe0, // 0xe0 +/*line: 146*/ IPTOS_PREC_INTERNETCONTROL = 0xc0, // 0xc0 +/*line: 147*/ IPTOS_PREC_CRITIC_ECP = 0xa0, // 0xa0 +/*line: 148*/ IPTOS_PREC_FLASHOVERRIDE = 0x80, // 0x80 +/*line: 149*/ IPTOS_PREC_FLASH = 0x60, // 0x60 +/*line: 150*/ IPTOS_PREC_IMMEDIATE = 0x40, // 0x40 +/*line: 151*/ IPTOS_PREC_PRIORITY = 0x20, // 0x20 +/*line: 152*/ IPTOS_PREC_ROUTINE = 0x0, // 0x00 +}; + +enum macro_ip_option_type { +/*line: 161*/ IPOPT_CONTROL = 0x0, // 0x00 +/*line: 162*/ IPOPT_RESERVED1 = 0x20, // 0x20 +/*line: 163*/ IPOPT_DEBMEAS = 0x40, // 0x40 +/*line: 164*/ IPOPT_RESERVED2 = 0x60, // 0x60 +}; + +enum macro_ip_options { +/*line: 166*/ IPOPT_EOL = 0x0, /* end of option list */ // 0 +/*line: 167*/ IPOPT_NOP = 0x1, /* no operation */ // 1 +/*line: 169*/ IPOPT_RR = 0x7, /* record packet route */ // 7 +/*line: 170*/ IPOPT_TS = 0x44, /* timestamp */ // 68 +/*line: 171*/ IPOPT_SECURITY = 0x82, /* provide s,c,h,tcc */ // 130 +/*line: 172*/ IPOPT_LSRR = 0x83, /* loose source route */ // 131 +/*line: 173*/ IPOPT_SATID = 0x88, /* satnet id */ // 136 +/*line: 174*/ IPOPT_SSRR = 0x89, /* strict source route */ // 137 +/*line: 175*/ IPOPT_RA = 0x94, /* router alert */ // 148 +}; + +enum macro_ip_option_field_offsets { +/* + * Offsets to fields in options other than EOL and NOP. + */ +/*line: 180*/ IPOPT_OPTVAL = 0x0, /* option ID */ // 0 +/*line: 181*/ IPOPT_OLEN = 0x1, /* option length */ // 1 +/*line: 182*/ IPOPT_OFFSET = 0x2, /* offset within option */ // 2 +/*line: 183*/ IPOPT_MINOFF = 0x4, /* min value of above */ // 4 +}; + +enum macro_ip_option_timestamp_bits { +/* flag bits for ipt_flg */ +/*line: 210*/ IPOPT_TS_TSONLY = 0x0, /* timestamps only */ // 0 +/*line: 211*/ IPOPT_TS_TSANDADDR = 0x1, /* timestamps and addresses */ // 1 +/*line: 212*/ IPOPT_TS_PRESPEC = 0x3, /* specified modules only */ // 3 +}; + +enum macro_ip_security_level { +/* bits for security (not byte swapped) */ +/*line: 215*/ IPOPT_SECUR_UNCLASS = 0x0, // 0x0000 +/*line: 216*/ IPOPT_SECUR_CONFID = 0xf135, // 0xf135 +/*line: 217*/ IPOPT_SECUR_EFTO = 0x789a, // 0x789a +/*line: 218*/ IPOPT_SECUR_MMMM = 0xbc4d, // 0xbc4d +/*line: 219*/ IPOPT_SECUR_RESTR = 0xaf13, // 0xaf13 +/*line: 220*/ IPOPT_SECUR_SECRET = 0xd788, // 0xd788 +/*line: 221*/ IPOPT_SECUR_TOPSECRET = 0x6bc5, // 0x6bc5 +}; + +enum macro_ip_impl_parameters { +/* + * Internet implementation parameters. + */ +/*line: 226*/ MAXTTL = 0xff, /* maximum time to live (seconds) */ // 255 +/*line: 227*/ IPDEFTTL = 0x40, /* default ttl, from RFC 1340 */ // 64 +/*line: 228*/ IPFRAGTTL = 0x1e, /* time to live for frags (seconds) */ // 30 +/*line: 229*/ IPTTLDEC = 0x1, /* subtracted when forwarding */ // 1 +}; + +enum macro_ip_default_mss { +/*line: 231*/ IP_MSS = 0x240, /* default maximum segment size */ // 576 +}; + diff --git a/macrodefs_enums/ios/netinet/ip6.h b/macrodefs_enums/ios/netinet/ip6.h new file mode 100644 index 000000000..7f80434b0 --- /dev/null +++ b/macrodefs_enums/ios/netinet/ip6.h @@ -0,0 +1,107 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/ip6.h + +enum macro_ipv6_constants { +/*line: 126*/ IPV6_VERSION = 0x60, // 0x60 +/*line: 127*/ IPV6_VERSION_MASK = 0xf0, // 0xf0 +/*line: 135*/ IPV6_FLOWINFO_MASK = 0xffffff0f, /* flow info (28 bits) */ // 0xffffff0f +/*line: 136*/ IPV6_FLOWLABEL_MASK = 0xffff0f00, /* flow label (20 bits) */ // 0xffff0f00 +/*line: 137*/ IPV6_FLOW_ECN_MASK = 0x3000, /* the 2 ECN bits */ // 0x00003000 +/* ECN bits proposed by Sally Floyd */ +/*line: 142*/ IP6TOS_CE = 0x1, /* congestion experienced */ // 0x01 +/*line: 143*/ IP6TOS_ECT = 0x2, /* ECN-capable transport */ // 0x02 +}; + +enum macro_ip6_flow_dscp { +/* + * To access the 6 bits of the DSCP value in the 32 bits ip6_flow field + */ +/*line: 149*/ IP6FLOW_DSCP_MASK = 0xfc00000, // 0x0fc00000 +/*line: 150*/ IP6FLOW_DSCP_SHIFT = 0x16, // 22 +}; + +enum macro_ip6_option { +/* Option types and related macros */ +/*line: 178*/ IP6OPT_PAD1 = 0x0, /* 00 0 00000 */ // 0x00 +/*line: 179*/ IP6OPT_PADN = 0x1, /* 00 0 00001 */ // 0x01 +/*line: 180*/ IP6OPT_JUMBO = 0xc2, /* 11 0 00010 = 194 */ // 0xC2 +/*line: 181*/ IP6OPT_NSAP_ADDR = 0xc3, /* 11 0 00011 */ // 0xC3 +/*line: 182*/ IP6OPT_TUNNEL_LIMIT = 0x4, /* 00 0 00100 */ // 0x04 +/*line: 183*/ IP6OPT_RTALERT = 0x5, /* 00 0 00101 (KAME definition) */ // 0x05 +/*line: 184*/ IP6OPT_ROUTER_ALERT = 0x5, /* 00 0 00101 (RFC3542, recommended) */ // 0x05 +}; + +enum macro_ip6_options { +/*line: 186*/ IP6OPT_RTALERT_LEN = 0x4, // 4 +/*line: 187*/ IP6OPT_RTALERT_MLD = 0x0, /* Datagram contains an MLD message */ // 0 +/*line: 188*/ IP6OPT_RTALERT_RSVP = 0x1, /* Datagram contains an RSVP message */ // 1 +/*line: 189*/ IP6OPT_RTALERT_ACTNET = 0x2, /* contains an Active Networks msg */ // 2 +/*line: 190*/ IP6OPT_MINLEN = 0x2, // 2 +}; + +enum macro_ip6opt_eid { +/*line: 192*/ IP6OPT_EID = 0x8a, /* 10 0 01010 */ // 0x8a +}; + +enum macro_ip6_option_type { +/*line: 195*/ IP6OPT_TYPE_SKIP = 0x0, // 0x00 +/*line: 196*/ IP6OPT_TYPE_DISCARD = 0x40, // 0x40 +/*line: 197*/ IP6OPT_TYPE_FORCEICMP = 0x80, // 0x80 +/*line: 198*/ IP6OPT_TYPE_ICMP = 0xc0, // 0xC0 +}; + +enum macro_ip6_mutable { +/*line: 200*/ IP6OPT_MUTABLE = 0x20, // 0x20 +}; + +enum macro_ip6_jumbo_len { +/*line: 214*/ IP6OPT_JUMBO_LEN = 0x6, // 6 +}; + +enum macro_ip6_alert { +/*line: 246*/ IP6_ALERT_MLD = 0x0, // 0x0000 +/*line: 247*/ IP6_ALERT_RSVP = 0x100, // 0x0100 +/*line: 248*/ IP6_ALERT_AN = 0x200, // 0x0200 +}; + +enum macro_ip6_flags { +/*line: 284*/ IP6F_OFF_MASK = 0xf8ff, /* mask out offset from _offlg */ // 0xf8ff +/*line: 285*/ IP6F_RESERVED_MASK = 0x600, /* reserved bits in ip6f_offlg */ // 0x0600 +/*line: 286*/ IP6F_MORE_FRAG = 0x100, /* more-fragments flag */ // 0x0100 +}; + +enum macro_ipv6_parameters { +/* + * Internet implementation parameters. + */ +/*line: 292*/ IPV6_MAXHLIM = 0xff, /* maximum hoplimit */ // 255 +/*line: 293*/ IPV6_DEFHLIM = 0x40, /* default hlim */ // 64 +/*line: 294*/ IPV6_FRAGTTL = 0x3c, /* ttl for fragment packets (seconds) */ // 60 +/*line: 295*/ IPV6_HLIMDEC = 0x1, /* subtracted when forwarding */ // 1 +}; + +enum macro_ipv6_limits { +/*line: 297*/ IPV6_MMTU = 0x500, /* minimal MTU and reassembly. 1024 + 256 */ // 1280 +/*line: 298*/ IPV6_MAXPACKET = 0xffff, /* ip6 max packet size without Jumbo payload*/ // 65535 +/*line: 299*/ IPV6_MAXOPTHDR = 0x800, /* max option header size, 256 64-bit words */ // 2048 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 119 +// #define ip6_vfc ip6_ctlun.ip6_un2_vfc + +// Line: 120 +// #define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow + +// Line: 121 +// #define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen + +// Line: 122 +// #define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt + +// Line: 123 +// #define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim + +// Line: 124 +// #define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim + diff --git a/macrodefs_enums/ios/netinet/ip_icmp.h b/macrodefs_enums/ios/netinet/ip_icmp.h new file mode 100644 index 000000000..772a08371 --- /dev/null +++ b/macrodefs_enums/ios/netinet/ip_icmp.h @@ -0,0 +1,138 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/ip_icmp.h + +// Depends on identifiers +enum macro_icmp_minlen { +/* + * Lower bounds on packet lengths for various types. + * For the error advice packets must first insure that the + * packet is large enough to contain the returned ip header. + * Only then can we do the check to see if 64 bits of packet + * data have been returned, since we need to check the returned + * ip header length. + */ +/*line: 155*/ ICMP_MINLEN = 0x8, /* abs minimum */ // 8 +/*line: 157*/ ICMP_MASKLEN = 0xc, /* address mask */ // 12 +/*line: 158*/ ICMP_ADVLENMIN = 0x10, /* min */ // (8+sizeof(structip)+8) +}; + +enum macro_icmp_types { +/* + * Definition of type and code field values. + */ +/*line: 170*/ ICMP_ECHOREPLY = 0x0, /* echo reply */ // 0 +/*line: 171*/ ICMP_UNREACH = 0x3, /* dest unreachable, codes: */ // 3 +/*line: 172*/ ICMP_UNREACH_NET = 0x0, /* bad net */ // 0 +/*line: 173*/ ICMP_UNREACH_HOST = 0x1, /* bad host */ // 1 +/*line: 174*/ ICMP_UNREACH_PROTOCOL = 0x2, /* bad protocol */ // 2 +/*line: 175*/ ICMP_UNREACH_PORT = 0x3, /* bad port */ // 3 +/*line: 176*/ ICMP_UNREACH_NEEDFRAG = 0x4, /* IP_DF caused drop */ // 4 +/*line: 177*/ ICMP_UNREACH_SRCFAIL = 0x5, /* src route failed */ // 5 +/*line: 178*/ ICMP_UNREACH_NET_UNKNOWN = 0x6, /* unknown net */ // 6 +/*line: 179*/ ICMP_UNREACH_HOST_UNKNOWN = 0x7, /* unknown host */ // 7 +/*line: 180*/ ICMP_UNREACH_ISOLATED = 0x8, /* src host isolated */ // 8 +/*line: 181*/ ICMP_UNREACH_NET_PROHIB = 0x9, /* prohibited access */ // 9 +/*line: 182*/ ICMP_UNREACH_HOST_PROHIB = 0xa, /* ditto */ // 10 +/*line: 183*/ ICMP_UNREACH_TOSNET = 0xb, /* bad tos for net */ // 11 +/*line: 184*/ ICMP_UNREACH_TOSHOST = 0xc, /* bad tos for host */ // 12 +/*line: 185*/ ICMP_UNREACH_FILTER_PROHIB = 0xd, /* admin prohib */ // 13 +/*line: 186*/ ICMP_UNREACH_HOST_PRECEDENCE = 0xe, /* host prec vio. */ // 14 +/*line: 187*/ ICMP_UNREACH_PRECEDENCE_CUTOFF = 0xf, /* prec cutoff */ // 15 +/*line: 188*/ ICMP_SOURCEQUENCH = 0x4, /* packet lost, slow down */ // 4 +/*line: 189*/ ICMP_REDIRECT = 0x5, /* shorter route, codes: */ // 5 +/*line: 190*/ ICMP_REDIRECT_NET = 0x0, /* for network */ // 0 +/*line: 191*/ ICMP_REDIRECT_HOST = 0x1, /* for host */ // 1 +/*line: 192*/ ICMP_REDIRECT_TOSNET = 0x2, /* for tos and net */ // 2 +/*line: 193*/ ICMP_REDIRECT_TOSHOST = 0x3, /* for tos and host */ // 3 +/*line: 194*/ ICMP_ALTHOSTADDR = 0x6, /* alternate host address */ // 6 +/*line: 195*/ ICMP_ECHO = 0x8, /* echo service */ // 8 +/*line: 196*/ ICMP_ROUTERADVERT = 0x9, /* router advertisement */ // 9 +/*line: 197*/ ICMP_ROUTERADVERT_NORMAL = 0x0, /* normal advertisement */ // 0 +/*line: 198*/ ICMP_ROUTERADVERT_NOROUTE_COMMON = 0x10, /* selective routing */ // 16 +/*line: 199*/ ICMP_ROUTERSOLICIT = 0xa, /* router solicitation */ // 10 +/*line: 200*/ ICMP_TIMXCEED = 0xb, /* time exceeded, code: */ // 11 +/*line: 201*/ ICMP_TIMXCEED_INTRANS = 0x0, /* ttl==0 in transit */ // 0 +/*line: 202*/ ICMP_TIMXCEED_REASS = 0x1, /* ttl==0 in reass */ // 1 +/*line: 203*/ ICMP_PARAMPROB = 0xc, /* ip header bad */ // 12 +/*line: 204*/ ICMP_PARAMPROB_ERRATPTR = 0x0, /* error at param ptr */ // 0 +/*line: 205*/ ICMP_PARAMPROB_OPTABSENT = 0x1, /* req. opt. absent */ // 1 +/*line: 206*/ ICMP_PARAMPROB_LENGTH = 0x2, /* bad length */ // 2 +/*line: 207*/ ICMP_TSTAMP = 0xd, /* timestamp request */ // 13 +/*line: 208*/ ICMP_TSTAMPREPLY = 0xe, /* timestamp reply */ // 14 +/*line: 209*/ ICMP_IREQ = 0xf, /* information request */ // 15 +/*line: 210*/ ICMP_IREQREPLY = 0x10, /* information reply */ // 16 +/*line: 211*/ ICMP_MASKREQ = 0x11, /* address mask request */ // 17 +/*line: 212*/ ICMP_MASKREPLY = 0x12, /* address mask reply */ // 18 +/*line: 213*/ ICMP_TRACEROUTE = 0x1e, /* traceroute */ // 30 +/*line: 214*/ ICMP_DATACONVERR = 0x1f, /* data conversion error */ // 31 +/*line: 215*/ ICMP_MOBILE_REDIRECT = 0x20, /* mobile host redirect */ // 32 +/*line: 216*/ ICMP_IPV6_WHEREAREYOU = 0x21, /* IPv6 where-are-you */ // 33 +/*line: 217*/ ICMP_IPV6_IAMHERE = 0x22, /* IPv6 i-am-here */ // 34 +/*line: 218*/ ICMP_MOBILE_REGREQUEST = 0x23, /* mobile registration req */ // 35 +/*line: 219*/ ICMP_MOBILE_REGREPLY = 0x24, /* mobile registration reply */ // 36 +/*line: 220*/ ICMP_SKIP = 0x27, /* SKIP */ // 39 +/*line: 221*/ ICMP_PHOTURIS = 0x28, /* Photuris */ // 40 +/*line: 222*/ ICMP_PHOTURIS_UNKNOWN_INDEX = 0x1, /* unknown sec index */ // 1 +/*line: 223*/ ICMP_PHOTURIS_AUTH_FAILED = 0x2, /* auth failed */ // 2 +/*line: 224*/ ICMP_PHOTURIS_DECRYPT_FAILED = 0x3, /* decrypt failed */ // 3 +}; + +enum macro_icmp_max_type { +/*line: 226*/ ICMP_MAXTYPE = 0x28, // 40 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 114 +// #define icmp_pptr icmp_hun.ih_pptr + +// Line: 115 +// #define icmp_gwaddr icmp_hun.ih_gwaddr + +// Line: 116 +// #define icmp_id icmp_hun.ih_idseq.icd_id + +// Line: 117 +// #define icmp_seq icmp_hun.ih_idseq.icd_seq + +// Line: 118 +// #define icmp_void icmp_hun.ih_void + +// Line: 119 +// #define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void + +// Line: 120 +// #define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu + +// Line: 121 +// #define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs + +// Line: 122 +// #define icmp_wpa icmp_hun.ih_rtradv.irt_wpa + +// Line: 123 +// #define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime + +// Line: 138 +// #define icmp_otime icmp_dun.id_ts.its_otime + +// Line: 139 +// #define icmp_rtime icmp_dun.id_ts.its_rtime + +// Line: 140 +// #define icmp_ttime icmp_dun.id_ts.its_ttime + +// Line: 141 +// #define icmp_ip icmp_dun.id_ip.idi_ip + +// Line: 142 +// #define icmp_radv icmp_dun.id_radv + +// Line: 143 +// #define icmp_mask icmp_dun.id_mask + +// Line: 144 +// #define icmp_data icmp_dun.id_data + +// Line: 156 +// #define ICMP_TSLEN (8 + 3 * sizeof (n_time)) + diff --git a/macrodefs_enums/ios/netinet/tcp.h b/macrodefs_enums/ios/netinet/tcp.h new file mode 100644 index 000000000..e88d02604 --- /dev/null +++ b/macrodefs_enums/ios/netinet/tcp.h @@ -0,0 +1,153 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/tcp.h + +// Depends on identifiers +enum macro_tcp_header_flags { +/*line: 101*/ TH_FIN = 0x1, // 0x01 +/*line: 102*/ TH_SYN = 0x2, // 0x02 +/*line: 103*/ TH_RST = 0x4, // 0x04 +/*line: 104*/ TH_PUSH = 0x8, // 0x08 +/*line: 105*/ TH_ACK = 0x10, // 0x10 +/*line: 106*/ TH_URG = 0x20, // 0x20 +/*line: 107*/ TH_ECE = 0x40, // 0x40 +/*line: 108*/ TH_CWR = 0x80, // 0x80 +/*line: 109*/ TH_AE = 0x100, /* maps into th_x2 */ // 0x100 +/*line: 110*/ TH_FLAGS = 0xf7, // (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR) +/*line: 111*/ TH_FLAGS_ALL = 0xff, // (TH_FLAGS|TH_PUSH) +/*line: 112*/ TH_ACCEPT = 0x17, // (TH_FIN|TH_SYN|TH_RST|TH_ACK) +/*line: 113*/ TH_ACE = 0x1c0, // (TH_AE|TH_CWR|TH_ECE) +}; + +// Depends on identifiers +enum macro_tcp_option_kinds { +/*line: 120*/ TCPOPT_EOL = 0x0, // 0 +/*line: 121*/ TCPOPT_NOP = 0x1, // 1 +/*line: 122*/ TCPOPT_MAXSEG = 0x2, // 2 +/*line: 123*/ TCPOLEN_MAXSEG = 0x4, // 4 +/*line: 124*/ TCPOPT_WINDOW = 0x3, // 3 +/*line: 125*/ TCPOLEN_WINDOW = 0x3, // 3 +/*line: 126*/ TCPOPT_SACK_PERMITTED = 0x4, /* Experimental */ // 4 +/*line: 127*/ TCPOLEN_SACK_PERMITTED = 0x2, // 2 +/*line: 128*/ TCPOPT_SACK = 0x5, /* Experimental */ // 5 +/*line: 129*/ TCPOLEN_SACK = 0x8, /* len of sack block */ // 8 +/*line: 130*/ TCPOPT_TIMESTAMP = 0x8, // 8 +/*line: 131*/ TCPOLEN_TIMESTAMP = 0xa, // 10 +/*line: 132*/ TCPOLEN_TSTAMP_APPA = 0xc, /* appendix A */ // (TCPOLEN_TIMESTAMP+2) +/*line: 133*/ TCPOPT_TSTAMP_HDR = 0x101080a, // (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) +}; + +enum macro_max_tcpoptlen { +/*line: 136*/ MAX_TCPOPTLEN = 0x28, /* Absolute maximum TCP options len */ // 40 +}; + +// Depends on identifiers +enum macro_tcp_extended_options { +/*line: 138*/ TCPOPT_CC = 0xb, /* CC options: RFC-1644 */ // 11 +/*line: 139*/ TCPOPT_CCNEW = 0xc, // 12 +/*line: 140*/ TCPOPT_CCECHO = 0xd, // 13 +/*line: 141*/ TCPOLEN_CC = 0x6, // 6 +/*line: 142*/ TCPOLEN_CC_APPA = 0x8, // (TCPOLEN_CC+2) +/*line: 145*/ TCPOPT_SIGNATURE = 0x13, /* Keyed MD5: RFC 2385 */ // 19 +/*line: 146*/ TCPOLEN_SIGNATURE = 0x12, // 18 +/*line: 151*/ TCPOPT_FASTOPEN = 0x22, // 34 +/*line: 152*/ TCPOLEN_FASTOPEN_REQ = 0x2, // 2 +/*line: 154*/ TCPOPT_ACCECN0 = 0xac, /* AccECN Order 0 */ // 172 +/*line: 155*/ TCPOPT_ACCECN1 = 0xae, /* AccECN Order 1 */ // 174 +/*line: 156*/ TCPOLEN_ACCECN_EMPTY = 0x2, /* Empty option contains kind and length */ // 2 +/*line: 157*/ TCPOLEN_ACCECN_COUNTER = 0x3, /* Length of each AccECN counter */ // 3 +/*line: 162*/ TCPOPT_SACK_HDR = 0x1010500, // (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK<<8) +/* Miscellaneous constants */ +/*line: 164*/ MAX_SACK_BLKS = 0x6, /* Max # SACK blocks stored at sender side */ // 6 +}; + +enum macro_tcp_limits { +/* + * A SACK option that specifies n blocks will have a length of (8*n + 2) + * bytes, so the 40 bytes available for TCP options can specify a + * maximum of 4 blocks. + */ +/*line: 172*/ TCP_MAX_SACK = 0x4, /* MAX # SACKs sent in any segment */ // 4 +/* + * Default maximum segment size for TCP. + * With an IP MTU of 576, this is 536, + * but 512 is probably more convenient. + * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). + */ +/*line: 181*/ TCP_MSS = 0x200, // 512 +/* + * TCP_MINMSS is defined to be 216 which is fine for the smallest + * link MTU (256 bytes, SLIP interface) in the Internet. + * However it is very unlikely to come across such low MTU interfaces + * these days (anno dato 2004). + * Probably it can be set to 512 without ill effects. But we play safe. + * See tcp_subr.c tcp_minmss SYSCTL declaration for more comments. + * Setting this to "0" disables the minmss check. + */ +/*line: 192*/ TCP_MINMSS = 0xd8, // 216 +/* + * Default maximum segment size for TCP6. + * With an IP6 MSS of 1280, this is 1220, + * but 1024 is probably more convenient. (xxx kazu in doubt) + * This should be defined as MIN(1024, IP6_MSS - sizeof (struct tcpip6hdr)) + */ +/*line: 200*/ TCP6_MSS = 0x400, // 1024 +/*line: 202*/ TCP_MAXWIN = 0xffff, /* largest value for (unscaled) window */ // 65535 +/*line: 203*/ TTCP_CLIENT_SND_WND = 0x1000, /* dflt send window for T/TCP client */ // 4096 +/*line: 205*/ TCP_MAX_WINSHIFT = 0xe, /* maximum window shift */ // 14 +/*line: 207*/ TCP_MAXHLEN = 0x3c, /* max length of header in bytes */ // (0xf<<2) +}; + +enum macro_tcp_socket_options{ +/* + * User-settable options (used with setsockopt). + */ +/*line: 215*/ TCP_NODELAY = 0x1, /* don't delay send to coalesce packets */ // 0x01 +/*line: 217*/ TCP_MAXSEG = 0x2, /* set maximum segment size */ // 0x02 +/*line: 218*/ TCP_NOPUSH = 0x4, /* don't push last block of write */ // 0x04 +/*line: 219*/ TCP_NOOPT = 0x8, /* don't use TCP options */ // 0x08 +/*line: 220*/ TCP_KEEPALIVE = 0x10, /* idle time used when SO_KEEPALIVE is enabled */ // 0x10 +/*line: 221*/ TCP_CONNECTIONTIMEOUT = 0x20, /* connection timeout */ // 0x20 +/*line: 222*/ PERSIST_TIMEOUT = 0x40, /* time after which a connection in + * persist timeout will terminate. + * see draft-ananth-tcpm-persist-02.txt + */ // 0x40 +/*line: 226*/ TCP_RXT_CONNDROPTIME = 0x80, /* time after which tcp retransmissions will be + * stopped and the connection will be dropped + */ // 0x80 +/*line: 229*/ TCP_RXT_FINDROP = 0x100, /* when this option is set, drop a connection + * after retransmitting the FIN 3 times. It will + * prevent holding too many mbufs in socket + * buffer queues. + */ // 0x100 +/*line: 234*/ TCP_KEEPINTVL = 0x101, /* interval between keepalives */ // 0x101 +/*line: 235*/ TCP_KEEPCNT = 0x102, /* number of keepalives before close */ // 0x102 +/*line: 236*/ TCP_SENDMOREACKS = 0x103, /* always ack every other packet */ // 0x103 +/*line: 237*/ TCP_ENABLE_ECN = 0x104, /* Enable ECN on a connection */ // 0x104 +/*line: 238*/ TCP_FASTOPEN = 0x105, /* Enable/Disable TCP Fastopen on this socket */ // 0x105 +/*line: 239*/ TCP_CONNECTION_INFO = 0x106, /* State of TCP connection */ // 0x106 +/*line: 243*/ TCP_NOTSENT_LOWAT = 0x201, /* Low water mark for TCP unsent data */ // 0x201 +}; + +enum macro_tcp_connection_info_flags { +/*line: 251*/ TCPCI_OPT_TIMESTAMPS = 0x1, /* Timestamps enabled */ // 0x00000001 +/*line: 252*/ TCPCI_OPT_SACK = 0x2, /* SACK enabled */ // 0x00000002 +/*line: 253*/ TCPCI_OPT_WSCALE = 0x4, /* Window scaling enabled */ // 0x00000004 +/*line: 254*/ TCPCI_OPT_ECN = 0x8, /* ECN enabled */ // 0x00000008 +/*line: 256*/ TCPCI_FLAG_LOSSRECOVERY = 0x1, // 0x00000001 +/*line: 257*/ TCPCI_FLAG_REORDERING_DETECTED = 0x2, // 0x00000002 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 80 +// #define tcp6_seq tcp_seq + +// Line: 81 +// #define tcp6hdr tcphdr + +// Line: 160 +// #define TCPOPT_SACK_PERMIT_HDR \ +// (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK_PERMITTED<<8|TCPOLEN_SACK_PERMITTED) + +// Line: 208 +// #define TCP_MAXOLEN (TCP_MAXHLEN - sizeof(struct tcphdr)) + diff --git a/macrodefs_enums/ios/netinet/tcp_timer.h b/macrodefs_enums/ios/netinet/tcp_timer.h new file mode 100644 index 000000000..098d131e1 --- /dev/null +++ b/macrodefs_enums/ios/netinet/tcp_timer.h @@ -0,0 +1,71 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/tcp_timer.h + +enum macro_tcp_ntimers_ext { +/* Keep the external definition the same for binary compatibility */ +/*line: 70*/ TCPT_NTIMERS_EXT = 0x4, // 4 +}; + +// Depends on identifiers +enum macro_tcp_timers { +/* + * Definitions of the TCP timers. + * + * The TCPT_PTO timer is used for probing for a tail loss in a send window. + * If this probe gets acknowledged using SACK, it will allow the connection + * to enter fast-recovery instead of hitting a retransmit timeout. A probe + * timeout will send the last unacknowledged segment to generate more acks + * with SACK information which can be used for fast-retransmiting the lost + * packets. This will fire in the order of 10ms. + * + * The TCPT_REXMT timer is used to force retransmissions. + * The TCP has the TCPT_REXMT timer set whenever segments + * have been sent for which ACKs are expected but not yet + * received. If an ACK is received which advances tp->snd_una, + * then the retransmit timer is cleared (if there are no more + * outstanding segments) or reset to the base value (if there + * are more ACKs expected). Whenever the retransmit timer goes off, + * we retransmit one unacknowledged segment, and do a backoff + * on the retransmit timer. + * + * The TCPT_DELACK timer is used for transmitting delayed acknowledgements + * if an acknowledgement was delayed in anticipation of a new segment. + * + * The TCPT_PERSIST timer is used to keep window size information + * flowing even if the window goes shut. If all previous transmissions + * have been acknowledged(so that there are no retransmissions in progress), + * and the window is too small to bother sending anything, then we start + * the TCPT_PERSIST timer. When it expires, if the window is nonzero, + * we go to transmit state. Otherwise, at intervals send a single byte + * into the peer's window to force him to update our window information. + * We do this at most as often as TCPT_PERSMIN time intervals, + * but no more frequently than the current estimate of round-trip + * packet time. The TCPT_PERSIST timer is cleared whenever we receive + * a window update from the peer. + * + * The TCPT_KEEP timer is used to keep connections alive. If an + * connection is idle (no segments received) for TCPTV_KEEP_INIT amount + * of time, but not yet established, then we drop the connection. + * Once the connection is established, if the connection is idle for + * TCPTV_KEEP_IDLE time (and keepalives have been enabled on the socket), + * we begin to probe the connection. We force the peer to send us a + * segment by sending: + * + * This segment is (deliberately) outside the window, and should elicit + * an ack segment in response from the peer. If, despite the TCPT_KEEP + * initiated segments we cannot elicit a response from a peer in + * TCPT_MAXIDLE amount of time probing, then we drop the connection. + * + * The TCPT_2MSL timer is used for keeping the conenction in Time-wait state + * before fully closing it so that the connection 4-tuple can be reused. + */ +/*line: 123*/ TCPT_REXMT = 0x0, /* retransmit */ // 0 +/*line: 124*/ TCPT_PERSIST = 0x1, /* retransmit persistence */ // 1 +/*line: 125*/ TCPT_KEEP = 0x2, /* keep alive */ // 2 +/*line: 126*/ TCPT_2MSL = 0x3, /* 2*msl quiet time timer */ // 3 +/*line: 127*/ TCPT_DELACK = 0x4, /* delayed ack timer */ // 4 +/*line: 132*/ TCPT_MAX = 0x4, // 4 +/*line: 134*/ TCPT_NONE = 0x5, // (TCPT_MAX+1) +/*line: 135*/ TCPT_NTIMERS = 0x5, // (TCPT_MAX+1) +}; + diff --git a/macrodefs_enums/ios/netinet/tcp_var.h b/macrodefs_enums/ios/netinet/tcp_var.h new file mode 100644 index 000000000..706a69562 --- /dev/null +++ b/macrodefs_enums/ios/netinet/tcp_var.h @@ -0,0 +1,61 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/tcp_var.h + +enum macro_tcp_flags { +/*line: 99*/ TF_ACKNOW = 0x1, /* ack peer immediately */ // 0x00001 +/*line: 100*/ TF_DELACK = 0x2, /* ack, but try to delay it */ // 0x00002 +/*line: 101*/ TF_NODELAY = 0x4, /* don't delay packets to coalesce */ // 0x00004 +/*line: 102*/ TF_NOOPT = 0x8, /* don't use tcp options */ // 0x00008 +/*line: 103*/ TF_SENTFIN = 0x10, /* have sent FIN */ // 0x00010 +/*line: 104*/ TF_REQ_SCALE = 0x20, /* have/will request window scaling */ // 0x00020 +/*line: 105*/ TF_RCVD_SCALE = 0x40, /* other side has requested scaling */ // 0x00040 +/*line: 106*/ TF_REQ_TSTMP = 0x80, /* have/will request timestamps */ // 0x00080 +/*line: 107*/ TF_RCVD_TSTMP = 0x100, /* a timestamp was received in SYN */ // 0x00100 +/*line: 108*/ TF_SACK_PERMIT = 0x200, /* other side said I could SACK */ // 0x00200 +/*line: 109*/ TF_NEEDSYN = 0x400, /* send SYN (implicit state) - unused but needed for backwards compatibility */ // 0x00400 +/*line: 110*/ TF_NEEDFIN = 0x800, /* send FIN (implicit state) */ // 0x00800 +/*line: 111*/ TF_NOPUSH = 0x1000, /* don't push */ // 0x01000 +/*line: 112*/ TF_REQ_CC = 0x2000, /* have/will request CC */ // 0x02000 +/*line: 113*/ TF_RCVD_CC = 0x4000, /* a CC was received in SYN */ // 0x04000 +/*line: 114*/ TF_SENDCCNEW = 0x8000, /* Not implemented */ // 0x08000 +/*line: 115*/ TF_MORETOCOME = 0x10000, /* More data to be appended to sock */ // 0x10000 +/*line: 116*/ TF_LQ_OVERFLOW = 0x20000, /* listen queue overflow */ // 0x20000 +/*line: 117*/ TF_RXWIN0SENT = 0x40000, /* sent a receiver win 0 in response */ // 0x40000 +/*line: 118*/ TF_SLOWLINK = 0x80000, /* route is a on a modem speed link */ // 0x80000 +}; + +enum macro_tcp_out_of_band { +/*line: 166*/ TCPOOB_HAVEDATA = 0x1, // 0x01 +/*line: 167*/ TCPOOB_HADDATA = 0x2, // 0x02 +}; + +enum macro_tcp_controls { +/* + * Names for TCP sysctl objects + */ +/*line: 601*/ TCPCTL_DO_RFC1323 = 0x1, /* use RFC-1323 extensions */ // 1 +/*line: 602*/ TCPCTL_DO_RFC1644 = 0x2, /* use RFC-1644 extensions */ // 2 +/*line: 603*/ TCPCTL_MSSDFLT = 0x3, /* MSS default */ // 3 +/*line: 604*/ TCPCTL_STATS = 0x4, /* statistics (read-only) */ // 4 +/*line: 605*/ TCPCTL_RTTDFLT = 0x5, /* default RTT estimate */ // 5 +/*line: 606*/ TCPCTL_KEEPIDLE = 0x6, /* keepalive idle timer */ // 6 +/*line: 607*/ TCPCTL_KEEPINTVL = 0x7, /* interval to send keepalives */ // 7 +/*line: 608*/ TCPCTL_SENDSPACE = 0x8, /* send buffer space */ // 8 +/*line: 609*/ TCPCTL_RECVSPACE = 0x9, /* receive buffer space */ // 9 +/*line: 610*/ TCPCTL_KEEPINIT = 0xa, /* timeout for establishing syn */ // 10 +/*line: 611*/ TCPCTL_PCBLIST = 0xb, /* list of all outstanding PCBs */ // 11 +/*line: 612*/ TCPCTL_DELACKTIME = 0xc, /* time before sending delayed ACK */ // 12 +/*line: 613*/ TCPCTL_V6MSSDFLT = 0xd, /* MSS default for IPv6 */ // 13 +/*line: 614*/ TCPCTL_MAXID = 0xe, // 14 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 187 +// #define tcps_ecn_setup tcps_ecn_client_success + +// Line: 188 +// #define tcps_sent_cwr tcps_ecn_recv_ece + +// Line: 189 +// #define tcps_sent_ece tcps_ecn_sent_ece + diff --git a/macrodefs_enums/ios/netinet/udp.h b/macrodefs_enums/ios/netinet/udp.h new file mode 100644 index 000000000..5570c1ba9 --- /dev/null +++ b/macrodefs_enums/ios/netinet/udp.h @@ -0,0 +1,10 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet/udp.h + +enum macro_udp_nocsksum { +/* + * User-settable options (used with setsockopt). + */ +/*line: 83*/ UDP_NOCKSUM = 0x1, /* don't checksum outbound payloads */ // 0x01 +}; + diff --git a/macrodefs_enums/ios/netinet6/in6.h b/macrodefs_enums/ios/netinet6/in6.h new file mode 100644 index 000000000..33c48918a --- /dev/null +++ b/macrodefs_enums/ios/netinet6/in6.h @@ -0,0 +1,240 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet6/in6.h + +enum macro_ipv6_ports { +/* + * Local port number conventions: + * + * Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root), + * unless a kernel is compiled with IPNOPRIVPORTS defined. + * + * When a user does a bind(2) or connect(2) with a port number of zero, + * a non-conflicting local port address is chosen. + * + * The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although + * that is settable by sysctl(3); net.inet.ip.anonportmin and + * net.inet.ip.anonportmax respectively. + * + * A user may set the IPPROTO_IP option IP_PORTRANGE to change this + * default assignment range. + * + * The value IP_PORTRANGE_DEFAULT causes the default behavior. + * + * The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT, + * and exists only for FreeBSD compatibility purposes. + * + * The value IP_PORTRANGE_LOW changes the range to the "low" are + * that is (by convention) restricted to privileged processes. + * This convention is based on "vouchsafe" principles only. + * It is only secure if you trust the remote host to restrict these ports. + * The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX. + */ +/*line: 142*/ IPV6PORT_RESERVED = 0x400, // 1024 +/*line: 143*/ IPV6PORT_ANONMIN = 0xc000, // 49152 +/*line: 144*/ IPV6PORT_ANONMAX = 0xffff, // 65535 +/*line: 145*/ IPV6PORT_RESERVEDMIN = 0x258, // 600 +/*line: 146*/ IPV6PORT_RESERVEDMAX = 0x3ff, // (IPV6PORT_RESERVED-1) +}; + +enum macro_inet6_addrstrlen { +/*line: 162*/ INET6_ADDRSTRLEN = 0x2e, // 46 +}; + +enum macro_ipv6_scope { +/* + * KAME Scope Values + */ +/*line: 281*/ __IPV6_ADDR_SCOPE_NODELOCAL = 0x1, // 0x01 +/*line: 282*/ __IPV6_ADDR_SCOPE_INTFACELOCAL = 0x1, // 0x01 +/*line: 283*/ __IPV6_ADDR_SCOPE_LINKLOCAL = 0x2, // 0x02 +/*line: 284*/ __IPV6_ADDR_SCOPE_SITELOCAL = 0x5, // 0x05 +/*line: 285*/ __IPV6_ADDR_SCOPE_ORGLOCAL = 0x8, /* just used in this file */ // 0x08 +/*line: 286*/ __IPV6_ADDR_SCOPE_GLOBAL = 0xe, // 0x0e +}; + +enum macro_ipv6_mc_flags { +/*line: 304*/ IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10, // 0x10 +/*line: 305*/ IPV6_ADDR_MC_FLAGS_PREFIX = 0x20, // 0x20 +/*line: 306*/ IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30, // (IPV6_ADDR_MC_FLAGS_TRANSIENT|IPV6_ADDR_MC_FLAGS_PREFIX) +}; + +enum macro_ipv6_socket_options { +/*line: 380*/ IPV6_SOCKOPT_RESERVED1 = 0x3, /* reserved for future use */ // 3 +/*line: 382*/ IPV6_UNICAST_HOPS = 0x4, /* int; IP6 hops */ // 4 +/*line: 383*/ IPV6_MULTICAST_IF = 0x9, /* u_int; set/get IP6 multicast i/f */ // 9 +/*line: 384*/ IPV6_MULTICAST_HOPS = 0xa, /* int; set/get IP6 multicast hops */ // 10 +/*line: 385*/ IPV6_MULTICAST_LOOP = 0xb, /* u_int; set/get IP6 mcast loopback */ // 11 +/*line: 386*/ IPV6_JOIN_GROUP = 0xc, /* ip6_mreq; join a group membership */ // 12 +/*line: 387*/ IPV6_LEAVE_GROUP = 0xd, /* ip6_mreq; leave a group membership */ // 13 +/*line: 390*/ IPV6_PORTRANGE = 0xe, /* int; range to choose for unspec port */ // 14 +/*line: 391*/ ICMP6_FILTER = 0x12, /* icmp6_filter; icmp6 filter */ // 18 +/*line: 392*/ IPV6_2292PKTINFO = 0x13, /* bool; send/recv if, src/dst addr */ // 19 +/*line: 393*/ IPV6_2292HOPLIMIT = 0x14, /* bool; hop limit */ // 20 +/*line: 394*/ IPV6_2292NEXTHOP = 0x15, /* bool; next hop addr */ // 21 +/*line: 395*/ IPV6_2292HOPOPTS = 0x16, /* bool; hop-by-hop option */ // 22 +/*line: 396*/ IPV6_2292DSTOPTS = 0x17, /* bool; destinaion option */ // 23 +/*line: 397*/ IPV6_2292RTHDR = 0x18, /* ip6_rthdr: routing header */ // 24 +/* buf/cmsghdr; set/get IPv6 options [obsoleted by RFC3542] */ +/*line: 400*/ IPV6_2292PKTOPTIONS = 0x19, // 25 +/*line: 412*/ IPV6_CHECKSUM = 0x1a, /* int; checksum offset for raw socket */ // 26 +/*line: 414*/ IPV6_V6ONLY = 0x1b, /* bool; only bind INET6 at wildcard bind */ // 27 +/*line: 416*/ IPV6_BINDV6ONLY = 0x1b, // IPV6_V6ONLY +/*line: 420*/ IPV6_IPSEC_POLICY = 0x1c, /* struct; get/set security policy */ // 28 +/*line: 422*/ IPV6_FAITH = 0x1d, /* deprecated */ // 29 +/*line: 425*/ IPV6_FW_ADD = 0x1e, /* add a firewall rule to chain */ // 30 +/*line: 426*/ IPV6_FW_DEL = 0x1f, /* delete a firewall rule from chain */ // 31 +/*line: 427*/ IPV6_FW_FLUSH = 0x20, /* flush firewall rule chain */ // 32 +/*line: 428*/ IPV6_FW_ZERO = 0x21, /* clear single/all firewall counter(s) */ // 33 +/*line: 429*/ IPV6_FW_GET = 0x22, /* get entire firewall rule chain */ // 34 +/* + * APPLE: NOTE the value of those 2 options is kept unchanged from + * previous version of darwin/OS X for binary compatibility reasons + * and differ from FreeBSD (values 57 and 61). See below. + */ +/*line: 437*/ IPV6_RECVTCLASS = 0x23, /* bool; recv traffic class values */ // 35 +/*line: 438*/ IPV6_TCLASS = 0x24, /* int; send traffic class value */ // 36 +}; + +enum macro_ipv6_bound_if { +/*line: 505*/ IPV6_BOUND_IF = 0x7d, /* int; set/get bound interface */ // 125 +}; + +enum macro_ipv6_options { +/* to define items, should talk with KAME guys first, for *BSD compatibility */ +/*line: 509*/ IPV6_RTHDR_LOOSE = 0x0, /* this hop need not be a neighbor. */ // 0 +/*line: 510*/ IPV6_RTHDR_STRICT = 0x1, /* this hop must be a neighbor. */ // 1 +/*line: 511*/ IPV6_RTHDR_TYPE_0 = 0x0, /* IPv6 routing header type 0 */ // 0 +/* + * Defaults and limits for options + */ +/*line: 516*/ IPV6_DEFAULT_MULTICAST_HOPS = 0x1, /* normally limit m'casts to 1 hop */ // 1 +/*line: 517*/ IPV6_DEFAULT_MULTICAST_LOOP = 0x1, /* normally hear sends if a member */ // 1 +/* + * The im6o_membership vector for each socket is now dynamically allocated at + * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized + * according to a power-of-two increment. + */ +/*line: 524*/ IPV6_MIN_MEMBERSHIPS = 0x1f, // 31 +/*line: 525*/ IPV6_MAX_MEMBERSHIPS = 0xfff, // 4095 +}; + +enum macro_ipv6_multicast_filter_limits { +/* + * Default resource limits for IPv6 multicast source filtering. + * These may be modified by sysctl. + */ +/*line: 531*/ IPV6_MAX_GROUP_SRC_FILTER = 0x200, /* sources per group */ // 512 +/*line: 532*/ IPV6_MAX_SOCK_SRC_FILTER = 0x80, /* sources per socket/group */ // 128 +}; + +enum macro_ipv6_portrange { +/* + * Argument for IPV6_PORTRANGE: + * - which range to search when port is unspecified at bind() or connect() + */ +/*line: 562*/ IPV6_PORTRANGE_DEFAULT = 0x0, /* default range */ // 0 +/*line: 563*/ IPV6_PORTRANGE_HIGH = 0x1, /* "high" - request firewall bypass */ // 1 +/*line: 564*/ IPV6_PORTRANGE_LOW = 0x2, /* "low" - vouchsafe security */ // 2 +}; + +enum macro_ipv6_protocol { +/* + * Definitions for inet6 sysctl operations. + * + * Third level is protocol number. + * Fourth level is desired variable within that protocol. + */ +/*line: 572*/ IPV6PROTO_MAXID = 0x68, /* don't list to IPV6PROTO_MAX */ // (IPPROTO_PIM+1) +}; + +enum macro_ipv6ctl { +/* + * Names for IP sysctl objects + */ +/*line: 577*/ IPV6CTL_FORWARDING = 0x1, /* act as router */ // 1 +/*line: 578*/ IPV6CTL_SENDREDIRECTS = 0x2, /* may send redirects when forwarding */ // 2 +/*line: 579*/ IPV6CTL_DEFHLIM = 0x3, /* default Hop-Limit */ // 3 +/*line: 583*/ IPV6CTL_FORWSRCRT = 0x5, /* forward source-routed dgrams */ // 5 +/*line: 584*/ IPV6CTL_STATS = 0x6, /* stats */ // 6 +/*line: 585*/ IPV6CTL_MRTSTATS = 0x7, /* multicast forwarding stats */ // 7 +/*line: 586*/ IPV6CTL_MRTPROTO = 0x8, /* multicast routing protocol */ // 8 +/*line: 587*/ IPV6CTL_MAXFRAGPACKETS = 0x9, /* max packets reassembly queue */ // 9 +/*line: 588*/ IPV6CTL_SOURCECHECK = 0xa, /* verify source route and intf */ // 10 +/*line: 589*/ IPV6CTL_SOURCECHECK_LOGINT = 0xb, /* minimume logging interval */ // 11 +/*line: 590*/ IPV6CTL_ACCEPT_RTADV = 0xc, // 12 +/*line: 591*/ IPV6CTL_KEEPFAITH = 0xd, /* deprecated */ // 13 +/*line: 592*/ IPV6CTL_LOG_INTERVAL = 0xe, // 14 +/*line: 593*/ IPV6CTL_HDRNESTLIMIT = 0xf, // 15 +/*line: 594*/ IPV6CTL_DAD_COUNT = 0x10, // 16 +/*line: 595*/ IPV6CTL_AUTO_FLOWLABEL = 0x11, // 17 +/*line: 596*/ IPV6CTL_DEFMCASTHLIM = 0x12, // 18 +/*line: 597*/ IPV6CTL_GIF_HLIM = 0x13, /* default HLIM for gif encap packet */ // 19 +/*line: 598*/ IPV6CTL_KAME_VERSION = 0x14, // 20 +/*line: 599*/ IPV6CTL_USE_DEPRECATED = 0x15, /* use deprec addr (RFC2462 5.5.4) */ // 21 +/*line: 600*/ IPV6CTL_RR_PRUNE = 0x16, /* walk timer for router renumbering */ // 22 +/*line: 604*/ IPV6CTL_V6ONLY = 0x18, // 24 +/*line: 605*/ IPV6CTL_RTEXPIRE = 0x19, /* cloned route expiration time */ // 25 +/*line: 606*/ IPV6CTL_RTMINEXPIRE = 0x1a, /* min value for expiration time */ // 26 +/*line: 607*/ IPV6CTL_RTMAXCACHE = 0x1b, /* trigger level for dynamic expire */ // 27 +/*line: 609*/ IPV6CTL_USETEMPADDR = 0x20, /* use temporary addresses [RFC 4941] */ // 32 +/*line: 610*/ IPV6CTL_TEMPPLTIME = 0x21, /* preferred lifetime for tmpaddrs */ // 33 +/*line: 611*/ IPV6CTL_TEMPVLTIME = 0x22, /* valid lifetime for tmpaddrs */ // 34 +/*line: 612*/ IPV6CTL_AUTO_LINKLOCAL = 0x23, /* automatic link-local addr assign */ // 35 +/*line: 613*/ IPV6CTL_RIP6STATS = 0x24, /* raw_ip6 stats */ // 36 +/*line: 614*/ IPV6CTL_PREFER_TEMPADDR = 0x25, /* prefer temporary addr as src */ // 37 +/*line: 615*/ IPV6CTL_ADDRCTLPOLICY = 0x26, /* get/set address selection policy */ // 38 +/*line: 616*/ IPV6CTL_USE_DEFAULTZONE = 0x27, /* use default scope zone */ // 39 +/*line: 618*/ IPV6CTL_MAXFRAGS = 0x29, /* max fragments */ // 41 +/*line: 619*/ IPV6CTL_MCAST_PMTU = 0x2c, /* enable pMTU discovery for mcast? */ // 44 +/*line: 621*/ IPV6CTL_NEIGHBORGCTHRESH = 0x2e, // 46 +/*line: 622*/ IPV6CTL_MAXIFPREFIXES = 0x2f, // 47 +/*line: 623*/ IPV6CTL_MAXIFDEFROUTERS = 0x30, // 48 +/*line: 624*/ IPV6CTL_MAXDYNROUTES = 0x31, // 49 +/*line: 625*/ ICMPV6CTL_ND6_ONLINKNSRFC4861 = 0x32, // 50 +/*line: 626*/ IPV6CTL_ULA_USETEMPADDR = 0x33, // 51 +}; + +enum macro_ipv6ctl_maxid { +/* to define items, should talk with KAME guys first, for *BSD compatibility */ +/*line: 631*/ IPV6CTL_MAXID = 0x33, // 51 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 160 +// #define s6_addr __u6_addr.__u6_addr8 + +// Line: 185 +// #define IN6ADDR_ANY_INIT {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}} + +// Line: 188 +// #define IN6ADDR_LOOPBACK_INIT {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} + +// Line: 192 +// #define IN6ADDR_NODELOCAL_ALLNODES_INIT {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} + +// Line: 195 +// #define IN6ADDR_INTFACELOCAL_ALLNODES_INIT {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} + +// Line: 198 +// #define IN6ADDR_LINKLOCAL_ALLNODES_INIT {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} + +// Line: 201 +// #define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }}} + +// Line: 204 +// #define IN6ADDR_LINKLOCAL_ALLV2ROUTERS_INIT {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16 }}} + +// Line: 207 +// #define IN6ADDR_V4MAPPED_INIT {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ +// 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }}} + +// Line: 210 +// #define IN6ADDR_MULTICAST_PREFIX IN6MASK8 + diff --git a/macrodefs_enums/ios/netinet6/ipsec.h b/macrodefs_enums/ios/netinet6/ipsec.h new file mode 100644 index 000000000..2b833867d --- /dev/null +++ b/macrodefs_enums/ios/netinet6/ipsec.h @@ -0,0 +1,79 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet6/ipsec.h + +enum macro_ipsec_options { +/* according to IANA assignment, port 0x0000 and proto 0xff are reserved. */ +/*line: 46*/ IPSEC_PORT_ANY = 0x0, // 0 +/*line: 47*/ IPSEC_ULPROTO_ANY = 0xff, // 255 +/*line: 48*/ IPSEC_PROTO_ANY = 0xff, // 255 +}; + +enum macro_ipsec_mode { +/* NOTE: DON'T use IPSEC_MODE_ANY at SPD. It's only use in SAD */ +/*line: 52*/ IPSEC_MODE_ANY = 0x0, /* i.e. wildcard. */ // 0 +/*line: 53*/ IPSEC_MODE_TRANSPORT = 0x1, // 1 +/*line: 54*/ IPSEC_MODE_TUNNEL = 0x2, // 2 +}; + +enum macro_ipsec_direction { +/* + * Direction of security policy. + * NOTE: Since INVALID is used just as flag. + * The other are used for loop counter too. + */ +/*line: 61*/ IPSEC_DIR_ANY = 0x0, // 0 +/*line: 62*/ IPSEC_DIR_INBOUND = 0x1, // 1 +/*line: 63*/ IPSEC_DIR_OUTBOUND = 0x2, // 2 +/*line: 64*/ IPSEC_DIR_MAX = 0x3, // 3 +/*line: 65*/ IPSEC_DIR_INVALID = 0x4, // 4 +}; + +enum macro_ipsec_policy { +/* + * IPSEC, ENTRUST and BYPASS are allowed for setsockopt() in PCB, + * DISCARD, IPSEC and NONE are allowed for setkey() in SPD. + * DISCARD and NONE are allowed for system default. + */ +/*line: 73*/ IPSEC_POLICY_DISCARD = 0x0, /* discarding packet */ // 0 +/*line: 74*/ IPSEC_POLICY_NONE = 0x1, /* through IPsec engine */ // 1 +/*line: 75*/ IPSEC_POLICY_IPSEC = 0x2, /* do IPsec */ // 2 +/*line: 76*/ IPSEC_POLICY_ENTRUST = 0x3, /* consulting SPD if present. */ // 3 +/*line: 77*/ IPSEC_POLICY_BYPASS = 0x4, /* only for privileged socket. */ // 4 +/*line: 78*/ IPSEC_POLICY_GENERATE = 0x5, /* same as discard - IKE daemon can override with generated policy */ // 5 +}; + +enum macro_security_level { +/* Security protocol level */ +/*line: 81*/ IPSEC_LEVEL_DEFAULT = 0x0, /* reference to system default */ // 0 +/*line: 82*/ IPSEC_LEVEL_USE = 0x1, /* use SA if present. */ // 1 +/*line: 83*/ IPSEC_LEVEL_REQUIRE = 0x2, /* require SA. */ // 2 +/*line: 84*/ IPSEC_LEVEL_UNIQUE = 0x3, /* unique SA. */ // 3 +/*line: 86*/ IPSEC_MANUAL_REQID_MAX = 0x3fff, // 0x3fff +/* + * if security policy level == unique, this id + * indicate to a relative SA for use, else is + * zero. + * 1 - 0x3fff are reserved for manual keying. + * 0 are reserved for above reason. Others is + * for kernel use. + * Note that this id doesn't identify SA + * by only itself. + */ +/*line: 97*/ IPSEC_REPLAYWSIZE = 0x20, // 32 +}; + +enum macro_key_max_bytes { +/* + * Maximum key sizes in bytes expected to be passed from userspace. + * + * These values are based on the NULL algorithms for AH and ESP, + * which both specify a keymax of 2048 bits. + */ +/*line: 105*/ IPSEC_KEY_AUTH_MAX_BYTES = 0x100, // 256 +/*line: 106*/ IPSEC_KEY_ENCRYPT_MAX_BYTES = 0x100, // 256 +}; + +enum macro_max_wake_pkt_len { +/*line: 138*/ IPSEC_MAX_WAKE_PKT_LEN = 0x64, // 100 +}; + diff --git a/macrodefs_enums/ios/netinet6/scope6_var.h b/macrodefs_enums/ios/netinet6/scope6_var.h new file mode 100644 index 000000000..cd4eef5cf --- /dev/null +++ b/macrodefs_enums/ios/netinet6/scope6_var.h @@ -0,0 +1,11 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/netinet6/scope6_var.h + +enum macro_scope6_id { +/* + * 16 is correspondent to 4bit multicast scope field. + * i.e. from node-local to global with some reserved/unassigned types. + */ +/*line: 66*/ SCOPE6_ID_MAX = 0x10, // 16 +}; + diff --git a/macrodefs_enums/ios/nl_types.h b/macrodefs_enums/ios/nl_types.h new file mode 100644 index 000000000..157e4a233 --- /dev/null +++ b/macrodefs_enums/ios/nl_types.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/nl_types.h + +enum macro_nl_flags { +/*line: 89*/ NL_SETD = 0x1, // 1 +/*line: 90*/ NL_CAT_LOCALE = 0x1, // 1 +}; + diff --git a/macrodefs_enums/ios/notify.h b/macrodefs_enums/ios/notify.h new file mode 100644 index 000000000..1b4885e44 --- /dev/null +++ b/macrodefs_enums/ios/notify.h @@ -0,0 +1,38 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/notify.h + +enum macro_notify_status { +/*! @defineblock Status Codes + * Status codes returned by the API. See notify(3) for detailed description. + */ +/*line: 81*/ NOTIFY_STATUS_OK = 0x0, // 0 +/*line: 82*/ NOTIFY_STATUS_INVALID_NAME = 0x1, // 1 +/*line: 83*/ NOTIFY_STATUS_INVALID_TOKEN = 0x2, // 2 +/*line: 84*/ NOTIFY_STATUS_INVALID_PORT = 0x3, // 3 +/*line: 85*/ NOTIFY_STATUS_INVALID_FILE = 0x4, // 4 +/*line: 86*/ NOTIFY_STATUS_INVALID_SIGNAL = 0x5, // 5 +/*line: 87*/ NOTIFY_STATUS_INVALID_REQUEST = 0x6, // 6 +/*line: 88*/ NOTIFY_STATUS_NOT_AUTHORIZED = 0x7, // 7 +/*line: 89*/ NOTIFY_STATUS_OPT_DISABLE = 0x8, // 8 +/*line: 90*/ NOTIFY_STATUS_SERVER_NOT_FOUND = 0x9, // 9 +/*line: 91*/ NOTIFY_STATUS_NULL_INPUT = 0xa, // 10 +/*line: 93*/ NOTIFY_STATUS_FAILED = 0xf4240, // 1000000 +}; + +enum macro_reuse_flag { +/*! + * Flag bits used for registration. + */ +/*line: 100*/ NOTIFY_REUSE = 0x1, // 0x00000001 +}; + +enum macro_notify_token { +/*! + * Token values are zero or positive integers. + * NOTIFY_TOKEN_INVALID is useful as an initial value for + * a token value passed as an in/out parameter to one of + * the registration routines below. + */ +/*line: 109*/ NOTIFY_TOKEN_INVALID = -0x1, // -1 +}; + diff --git a/macrodefs_enums/ios/notify_keys.h b/macrodefs_enums/ios/notify_keys.h new file mode 100644 index 000000000..fbe11f343 --- /dev/null +++ b/macrodefs_enums/ios/notify_keys.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/notify_keys.h + diff --git a/macrodefs_enums/ios/ntsid.h b/macrodefs_enums/ios/ntsid.h new file mode 100644 index 000000000..cfc4167ee --- /dev/null +++ b/macrodefs_enums/ios/ntsid.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ntsid.h + +enum macro_max_authorities { +/*line: 28*/ NTSID_MAX_AUTHORITIES = 0x10, // 16 +}; + diff --git a/macrodefs_enums/ios/objc/NSObjCRuntime.h b/macrodefs_enums/ios/objc/NSObjCRuntime.h new file mode 100644 index 000000000..f53f64e0f --- /dev/null +++ b/macrodefs_enums/ios/objc/NSObjCRuntime.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/objc/NSObjCRuntime.h + +// Depends on identifiers +enum macro_integer_limits { +/*line: 20*/ NSIntegerMax = 0x7fffffffffffffff, // LONG_MAX +/*line: 21*/ NSIntegerMin = -0x8000000000000000, // LONG_MIN +/*line: 22*/ NSUIntegerMax = 0xffffffffffffffff, // ULONG_MAX +}; + +enum macro_integer_defined { +/*line: 24*/ NSINTEGER_DEFINED = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 28 +// #define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) + diff --git a/macrodefs_enums/ios/objc/objc-api.h b/macrodefs_enums/ios/objc/objc-api.h new file mode 100644 index 000000000..31c7fb0b7 --- /dev/null +++ b/macrodefs_enums/ios/objc/objc-api.h @@ -0,0 +1,47 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/objc/objc-api.h + +// This is looks like conditional macros +// enum macro_objc_flags { +// /*line: 68*/ OBJC_API_VERSION = 0x2, // 2 +// /* GC is unsupported. GC API symbols are not exported. */ +// /*line: 89*/ OBJC_NO_GC = 0x1, // 1 +// /*line: 90*/ OBJC_NO_GC_API = 0x1, // 1 +// }; + +// enum macro_ns_enforce_ns_object { +// /*line: 97*/ NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER = 0x1, // 1 +// }; + +// enum macro_objc_flags { +// /*line: 104*/ OBJC_OLD_DISPATCH_PROTOTYPES = 0x0, // 0 +// }; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 157 +// #define OBJC_ISA_AVAILABILITY __attribute__((deprecated)) + +// Line: 214 +// #define OBJC_EXTERN extern + +// Line: 223 +// #define OBJC_EXPORT OBJC_EXTERN OBJC_VISIBLE + +// Line: 227 +// #define OBJC_IMPORT extern + +// Line: 232 +// #define OBJC_ROOT_CLASS __attribute__((objc_root_class)) + +// Line: 243 +// #define OBJC_INLINE __inline + +// Line: 288 +// #define OBJC_NOESCAPE __attribute__((noescape)) + +// Line: 298 +// #define OBJC_REFINED_FOR_SWIFT __attribute__((swift_private)) + +// Line: 305 +// #define OBJC_NOT_TAIL_CALLED __attribute__((not_tail_called)) + diff --git a/macrodefs_enums/ios/objc/objc.h b/macrodefs_enums/ios/objc/objc.h new file mode 100644 index 000000000..2d2574bf2 --- /dev/null +++ b/macrodefs_enums/ios/objc/objc.h @@ -0,0 +1,24 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/objc/objc.h + +enum macro_objc_bool_flag { +/*line: 71*/ OBJC_BOOL_IS_BOOL = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_nil_value { +/*line: 107*/ Nil = 0x0, // __DARWIN_NULL +}; + +// Depends on identifiers +enum macro_nil_flag { +/*line: 115*/ nil = 0x0, // __DARWIN_NULL +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 96 +// #define YES __objc_yes + +// Line: 97 +// #define NO __objc_no + diff --git a/macrodefs_enums/ios/objc/runtime.h b/macrodefs_enums/ios/objc/runtime.h new file mode 100644 index 000000000..cd39ab6b3 --- /dev/null +++ b/macrodefs_enums/ios/objc/runtime.h @@ -0,0 +1,101 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/objc/runtime.h + +enum macro_objc_class_filter { +/** + * Enumerates classes, filtering by image, name, protocol conformance and superclass. + * + * @param image The image to search. Can be NULL (search the caller's image), + * OBJC_DYNAMIC_CLASSES (search dynamically registered classes), + * a handle returned by dlopen(3), or the Mach header of an image + * loaded into the current process. + * @param namePrefix If non-NULL, a required prefix for the class name. + * @param conformingTo If non-NULL, a protocol to which the enumerated classes + * must conform. + * @param subclassing If non-NULL, a class which the enumerated classes must + * subclass. + * @param block A block that is called for each matching class. Can abort + * enumeration by setting *stop to YES. + * + */ +/*line: 363*/ OBJC_DYNAMIC_CLASSES = -0x1, // ((constvoid*)-1) +}; + +enum macro_objc_class_hook_defined { +/*line: 1738*/ OBJC_GETCLASSHOOK_DEFINED = 0x1, // 1 +}; + +enum macro_add_load_image_func { +/** + * Add a function to be called when a new image is loaded. The function is + * called after ObjC has scanned and fixed up the image. It is called + * BEFORE +load methods are invoked. + * + * When adding a new function, that function is immediately called with all + * images that are currently loaded. It is then called as needed for images + * that are loaded afterwards. + * + * Note: the function is called with ObjC's internal runtime lock held. + * Be VERY careful with what the function does to avoid deadlocks or + * poor performance. + * + * @param func The function to add. + */ +/*line: 1766*/ OBJC_ADDLOADIMAGEFUNC_DEFINED = 0x1, // 1 +}; + +enum macro_objc_sethook_lazyclassnamer_defined { +/*line: 1795*/ OBJC_SETHOOK_LAZYCLASSNAMER_DEFINED = 0x1, // 1 +}; + +enum macro_objc_realizeclass { +/*line: 1817*/ OBJC_REALIZECLASSFROMSWIFT_DEFINED = 0x1, // 1 +}; + +enum macro_type_encoding { +// Type encoding characters +/*line: 1824*/ _C_ID = 0x40, // '@' +/*line: 1825*/ _C_CLASS = 0x23, // '#' +/*line: 1826*/ _C_SEL = 0x3a, // ':' +/*line: 1827*/ _C_CHR = 0x63, // 'c' +/*line: 1828*/ _C_UCHR = 0x43, // 'C' +/*line: 1829*/ _C_SHT = 0x73, // 's' +/*line: 1830*/ _C_USHT = 0x53, // 'S' +/*line: 1831*/ _C_INT = 0x69, // 'i' +/*line: 1832*/ _C_UINT = 0x49, // 'I' +/*line: 1833*/ _C_LNG = 0x6c, // 'l' +/*line: 1834*/ _C_ULNG = 0x4c, // 'L' +/*line: 1835*/ _C_LNG_LNG = 0x71, // 'q' +/*line: 1836*/ _C_ULNG_LNG = 0x51, // 'Q' +/*line: 1837*/ _C_INT128 = 0x74, // 't' +/*line: 1838*/ _C_UINT128 = 0x54, // 'T' +/*line: 1839*/ _C_FLT = 0x66, // 'f' +/*line: 1840*/ _C_DBL = 0x64, // 'd' +/*line: 1841*/ _C_LNG_DBL = 0x44, // 'D' +/*line: 1842*/ _C_BFLD = 0x62, // 'b' +/*line: 1843*/ _C_BOOL = 0x42, // 'B' +/*line: 1844*/ _C_VOID = 0x76, // 'v' +/*line: 1845*/ _C_UNDEF = 0x3f, // '?' +/*line: 1846*/ _C_PTR = 0x5e, // '^' +/*line: 1847*/ _C_CHARPTR = 0x2a, // '*' +/*line: 1848*/ _C_ATOM = 0x25, // '%' +/*line: 1849*/ _C_ARY_B = 0x5b, // '[' +/*line: 1850*/ _C_ARY_E = 0x5d, // ']' +/*line: 1851*/ _C_UNION_B = 0x28, // '(' +/*line: 1852*/ _C_UNION_E = 0x29, // ')' +/*line: 1853*/ _C_STRUCT_B = 0x7b, // '{' +/*line: 1854*/ _C_STRUCT_E = 0x7d, // '}' +/*line: 1855*/ _C_VECTOR = 0x21, // '!' +// Modifiers +/*line: 1858*/ _C_COMPLEX = 0x6a, // 'j' +/*line: 1859*/ _C_ATOMIC = 0x41, // 'A' +/*line: 1860*/ _C_CONST = 0x72, // 'r' +/*line: 1861*/ _C_IN = 0x6e, // 'n' +/*line: 1862*/ _C_INOUT = 0x4e, // 'N' +/*line: 1863*/ _C_OUT = 0x6f, // 'o' +/*line: 1864*/ _C_BYCOPY = 0x4f, // 'O' +/*line: 1865*/ _C_BYREF = 0x52, // 'R' +/*line: 1866*/ _C_ONEWAY = 0x56, // 'V' +/*line: 1867*/ _C_GNUREGISTER = 0x2b, // '+' +}; + diff --git a/macrodefs_enums/ios/os/activity.h b/macrodefs_enums/ios/os/activity.h new file mode 100644 index 000000000..33c74933e --- /dev/null +++ b/macrodefs_enums/ios/os/activity.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/activity.h + +enum macro_os_activity_object_api { +/*line: 24*/ OS_ACTIVITY_OBJECT_API = 0x0, // 0 +}; + +enum macro_activity_null { +/*line: 98*/ OS_ACTIVITY_NULL = 0x0, // 0 +}; + diff --git a/macrodefs_enums/ios/os/atomic.h b/macrodefs_enums/ios/os/atomic.h new file mode 100644 index 000000000..1af89d93c --- /dev/null +++ b/macrodefs_enums/ios/os/atomic.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/atomic.h + +enum macro_atomic_cxx { +/*line: 60*/ OS_ATOMIC_USES_CXX = 0x0, // 0 +}; + diff --git a/macrodefs_enums/ios/os/availability.h b/macrodefs_enums/ios/os/availability.h new file mode 100644 index 000000000..5fb2191f6 --- /dev/null +++ b/macrodefs_enums/ios/os/availability.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/availability.h + +enum macro_api_to_be_deprecated { +/*line: 37*/ API_TO_BE_DEPRECATED = 0x186a0, // 100000 +/*line: 41*/ API_TO_BE_DEPRECATED_MACOS = 0x186a0, // 100000 +/*line: 45*/ API_TO_BE_DEPRECATED_IOS = 0x186a0, // 100000 +/*line: 49*/ API_TO_BE_DEPRECATED_TVOS = 0x186a0, // 100000 +/*line: 53*/ API_TO_BE_DEPRECATED_WATCHOS = 0x186a0, // 100000 +/*line: 61*/ __API_TO_BE_DEPRECATED_MACCATALYST = 0x186a0, // 100000 +/*line: 65*/ API_TO_BE_DEPRECATED_DRIVERKIT = 0x186a0, // 100000 +/*line: 69*/ API_TO_BE_DEPRECATED_VISIONOS = 0x186a0, // 100000 +}; + diff --git a/macrodefs_enums/ios/os/base.h b/macrodefs_enums/ios/os/base.h new file mode 100644 index 000000000..4b13495d4 --- /dev/null +++ b/macrodefs_enums/ios/os/base.h @@ -0,0 +1,110 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/base.h + +// Depends on identifiers +enum macro_nonnullflags { +/*line: 47*/ OS_NONNULL1 = 0x1, // __attribute__((__nonnull__(1))) +/*line: 48*/ OS_NONNULL2 = 0x2, // __attribute__((__nonnull__(2))) +/*line: 49*/ OS_NONNULL3 = 0x3, // __attribute__((__nonnull__(3))) +/*line: 50*/ OS_NONNULL4 = 0x4, // __attribute__((__nonnull__(4))) +/*line: 51*/ OS_NONNULL5 = 0x5, // __attribute__((__nonnull__(5))) +/*line: 52*/ OS_NONNULL6 = 0x6, // __attribute__((__nonnull__(6))) +/*line: 53*/ OS_NONNULL7 = 0x7, // __attribute__((__nonnull__(7))) +/*line: 54*/ OS_NONNULL8 = 0x8, // __attribute__((__nonnull__(8))) +/*line: 55*/ OS_NONNULL9 = 0x9, // __attribute__((__nonnull__(9))) +/*line: 56*/ OS_NONNULL10 = 0xa, // __attribute__((__nonnull__(10))) +/*line: 57*/ OS_NONNULL11 = 0xb, // __attribute__((__nonnull__(11))) +/*line: 58*/ OS_NONNULL12 = 0xc, // __attribute__((__nonnull__(12))) +/*line: 59*/ OS_NONNULL13 = 0xd, // __attribute__((__nonnull__(13))) +/*line: 60*/ OS_NONNULL14 = 0xe, // __attribute__((__nonnull__(14))) +/*line: 61*/ OS_NONNULL15 = 0xf, // __attribute__((__nonnull__(15))) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 45 +// #define OS_NORETURN __attribute__((__noreturn__)) + +// Line: 46 +// #define OS_NOTHROW __attribute__((__nothrow__)) + +// Line: 62 +// #define OS_NONNULL_ALL __attribute__((__nonnull__)) + +// Line: 63 +// #define OS_SENTINEL __attribute__((__sentinel__)) + +// Line: 64 +// #define OS_PURE __attribute__((__pure__)) + +// Line: 65 +// #define OS_CONST __attribute__((__const__)) + +// Line: 66 +// #define OS_WARN_RESULT __attribute__((__warn_unused_result__)) + +// Line: 67 +// #define OS_MALLOC __attribute__((__malloc__)) + +// Line: 68 +// #define OS_USED __attribute__((__used__)) + +// Line: 69 +// #define OS_UNUSED __attribute__((__unused__)) + +// Line: 70 +// #define OS_COLD __attribute__((__cold__)) + +// Line: 71 +// #define OS_WEAK __attribute__((__weak__)) + +// Line: 72 +// #define OS_WEAK_IMPORT __attribute__((__weak_import__)) + +// Line: 73 +// #define OS_NOINLINE __attribute__((__noinline__)) + +// Line: 74 +// #define OS_ALWAYS_INLINE __attribute__((__always_inline__)) + +// Line: 75 +// #define OS_TRANSPARENT_UNION __attribute__((__transparent_union__)) + +// Line: 79 +// #define OS_INLINE static __inline__ + +// Line: 121 +// #define OS_NOESCAPE __attribute__((__noescape__)) + +// Line: 129 +// #define OS_FALLTHROUGH __attribute__((__fallthrough__)) + +// Line: 149 +// #define OS_OVERLOADABLE __attribute__((__overloadable__)) + +// Line: 161 +// #define __OS_ENUM_ATTR __attribute__((enum_extensibility(open))) + +// Line: 162 +// #define __OS_ENUM_ATTR_CLOSED __attribute__((enum_extensibility(closed))) + +// Line: 176 +// #define __OS_OPTIONS_ATTR __attribute__((flag_enum)) + +// Line: 258 +// #define OS_REFINED_FOR_SWIFT __attribute__((__swift_private__)) + +// Line: 285 +// #define OS_NOT_TAIL_CALLED __attribute__((__not_tail_called__)) + +// Line: 339 +// #define OS_ASSUME_PTR_ABI_SINGLE_BEGIN __ASSUME_PTR_ABI_SINGLE_BEGIN + +// Line: 340 +// #define OS_ASSUME_PTR_ABI_SINGLE_END __ASSUME_PTR_ABI_SINGLE_END + +// Line: 341 +// #define OS_UNSAFE_INDEXABLE __unsafe_indexable + +// Line: 342 +// #define OS_HEADER_INDEXABLE __header_indexable + diff --git a/macrodefs_enums/ios/os/lock.h b/macrodefs_enums/ios/os/lock.h new file mode 100644 index 000000000..013dc4d84 --- /dev/null +++ b/macrodefs_enums/ios/os/lock.h @@ -0,0 +1,17 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/lock.h + +enum macro_os_lock_api_version { +/*! @header + * Low-level lock API. + */ +/*line: 37*/ OS_LOCK_API_VERSION = 0x1339f35, // 20160309 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 41 +// #define OS_UNFAIR_LOCK_AVAILABILITY __API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) + +// Line: 93 +// #define OS_UNFAIR_LOCK_INIT ((os_unfair_lock){0}) + diff --git a/macrodefs_enums/ios/os/log.h b/macrodefs_enums/ios/os/log.h new file mode 100644 index 000000000..f1c0bd4b5 --- /dev/null +++ b/macrodefs_enums/ios/os/log.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/log.h + +// Depends on identifiers +enum macro_os_log_disabled { +/*line: 44*/ OS_LOG_DISABLED = 0x0, // ((os_log_t_Nonnull)NULL) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 53 +// #define OS_LOG_DEFAULT OS_OBJECT_GLOBAL_OBJECT(os_log_t, _os_log_default) + diff --git a/macrodefs_enums/ios/os/object.h b/macrodefs_enums/ios/os/object.h new file mode 100644 index 000000000..ccc1b7345 --- /dev/null +++ b/macrodefs_enums/ios/os/object.h @@ -0,0 +1,29 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/object.h + +enum macro_objc_support { +/*line: 63*/ OS_OBJECT_HAVE_OBJC_SUPPORT = 0x0, // 0 +}; + +enum macro_os_object_use { +/*line: 93*/ OS_OBJECT_USE_OBJC = 0x0, // 0 +}; + +enum macro_object_flags { +/*line: 100*/ OS_OBJECT_SWIFT3 = 0x0, // 0 +/*line: 234*/ OS_OBJECT_USE_OBJC_RETAIN_RELEASE = 0x0, // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 58 +// #define OS_OBJECT_ASSUME_ABI_SINGLE_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN + +// Line: 59 +// #define OS_OBJECT_ASSUME_ABI_SINGLE_END OS_ASSUME_PTR_ABI_SINGLE_END + +// Line: 111 +// #define OS_OBJECT_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + +// Line: 231 +// #define OS_WARN_RESULT_NEEDS_RELEASE OS_WARN_RESULT + diff --git a/macrodefs_enums/ios/os/os_sync_wait_on_address.h b/macrodefs_enums/ios/os/os_sync_wait_on_address.h new file mode 100644 index 000000000..88864832d --- /dev/null +++ b/macrodefs_enums/ios/os/os_sync_wait_on_address.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/os_sync_wait_on_address.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 38 +// #define OS_WAIT_ON_ADDR_AVAILABILITY __API_AVAILABLE(macos(14.4), ios(17.4), tvos(17.4), watchos(10.4)) + diff --git a/macrodefs_enums/ios/os/signpost.h b/macrodefs_enums/ios/os/signpost.h new file mode 100644 index 000000000..9796f7432 --- /dev/null +++ b/macrodefs_enums/ios/os/signpost.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/signpost.h + +// Depends on identifiers +enum macro_signpost_ids { +/*line: 113*/ OS_SIGNPOST_ID_NULL = 0x0, // ((os_signpost_id_t)0) +/*line: 114*/ OS_SIGNPOST_ID_INVALID = -0x1, // ((os_signpost_id_t)~0) +/*line: 115*/ OS_SIGNPOST_ID_EXCLUSIVE = 0xeeeeb0b5b2b2eeee, // ((os_signpost_id_t)0xEEEEB0B5B2B2EEEE) +}; + +enum macro_signpost_type_mask { +/*line: 365*/ OS_SIGNPOST_TYPE_MASK = 0x3, // 0x03 +}; + diff --git a/macrodefs_enums/ios/os/trace.h b/macrodefs_enums/ios/os/trace.h new file mode 100644 index 000000000..cc6e5f0f6 --- /dev/null +++ b/macrodefs_enums/ios/os/trace.h @@ -0,0 +1,22 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/trace.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 33 +// #define OS_TRACE_UNINITIALIZED __attribute__((uninitialized)) + +// Line: 146 +// #define OS_TRACE_TYPE_RELEASE (1u << 0) + +// Line: 153 +// #define OS_TRACE_TYPE_DEBUG (1u << 1) + +// Line: 160 +// #define OS_TRACE_TYPE_INFO (1u << 2) + +// Line: 167 +// #define OS_TRACE_TYPE_ERROR ((1u << 6) | (1u << 0)) + +// Line: 174 +// #define OS_TRACE_TYPE_FAULT ((1u << 7) | (1u << 6) | (1u << 0)) + diff --git a/macrodefs_enums/ios/os/trace_base.h b/macrodefs_enums/ios/os/trace_base.h new file mode 100644 index 000000000..ccadef9a8 --- /dev/null +++ b/macrodefs_enums/ios/os/trace_base.h @@ -0,0 +1,23 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/trace_base.h + +// This is all conditional macros +// enum macro_os_log_features { +// /*line: 32*/ OS_LOG_TARGET_HAS_10_15_FEATURES = 0x0, // 0 +// }; + +// enum macro_os_log_features { +// /*line: 38*/ OS_LOG_TARGET_HAS_10_14_FEATURES = 0x0, // 0 +// }; + +// enum macro_os_log_features { +// /*line: 44*/ OS_LOG_TARGET_HAS_10_13_FEATURES = 0x0, // 0 +// }; + +// enum macro_os_log_features { +// /*line: 50*/ OS_LOG_TARGET_HAS_10_12_FEATURES = 0x0, // 0 +// }; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 72 +// #define OS_LOG_UNINITIALIZED __attribute__((uninitialized)) diff --git a/macrodefs_enums/ios/os/workgroup_base.h b/macrodefs_enums/ios/os/workgroup_base.h new file mode 100644 index 000000000..4a45448db --- /dev/null +++ b/macrodefs_enums/ios/os/workgroup_base.h @@ -0,0 +1,34 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/workgroup_base.h + +enum macro_workgroup_sizes { +/*line: 53*/ __OS_WORKGROUP_ATTR_SIZE__ = 0x3c, // 60 +/*line: 54*/ __OS_WORKGROUP_INTERVAL_DATA_SIZE__ = 0x38, // 56 +/*line: 55*/ __OS_WORKGROUP_JOIN_TOKEN_SIZE__ = 0x24, // 36 +}; + +enum macro_workgroup_signature { +/*line: 62*/ _OS_WORKGROUP_ATTR_SIG_DEFAULT_INIT = 0x2fa863b4, // 0x2FA863B4 +/*line: 63*/ _OS_WORKGROUP_ATTR_SIG_EMPTY_INIT = 0x2fa863c4, // 0x2FA863C4 +/*line: 72*/ _OS_WORKGROUP_INTERVAL_DATA_SIG_INIT = 0x52a74c4d, // 0x52A74C4D +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__)) + +// Line: 30 +// #define OS_WORKGROUP_EXPORT OS_EXPORT + +// Line: 31 +// #define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED + +// Line: 32 +// #define OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN + +// Line: 33 +// #define OS_WORKGROUP_ASSUME_ABI_SINGLE_END OS_ASSUME_PTR_ABI_SINGLE_END + +// Line: 34 +// #define OS_WORKGROUP_UNSAFE_INDEXABLE OS_UNSAFE_INDEXABLE + diff --git a/macrodefs_enums/ios/os/workgroup_interval.h b/macrodefs_enums/ios/os/workgroup_interval.h new file mode 100644 index 000000000..bf5a36b43 --- /dev/null +++ b/macrodefs_enums/ios/os/workgroup_interval.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/workgroup_interval.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 58 +// #define OS_WORKGROUP_INTERVAL_DATA_INITIALIZER { .sig = _OS_WORKGROUP_INTERVAL_DATA_SIG_INIT } + diff --git a/macrodefs_enums/ios/os/workgroup_object.h b/macrodefs_enums/ios/os/workgroup_object.h new file mode 100644 index 000000000..93b8ecbcd --- /dev/null +++ b/macrodefs_enums/ios/os/workgroup_object.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/os/workgroup_object.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 66 +// #define OS_WORKGROUP_ATTR_INITIALIZER_DEFAULT { .sig = _OS_WORKGROUP_ATTR_SIG_DEFAULT_INIT } + diff --git a/macrodefs_enums/ios/paths.h b/macrodefs_enums/ios/paths.h new file mode 100644 index 000000000..e521147f6 --- /dev/null +++ b/macrodefs_enums/ios/paths.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/paths.h + diff --git a/macrodefs_enums/ios/printf.h b/macrodefs_enums/ios/printf.h new file mode 100644 index 000000000..c15bd7766 --- /dev/null +++ b/macrodefs_enums/ios/printf.h @@ -0,0 +1,27 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/printf.h + +enum macro_printfmaxarg { +/* + * The API defined by GLIBC allows a renderer to take multiple arguments + * This is obviously usable for things like (ptr+len) pairs etc. + * The current limit is to deal with up to __PRINTFMAXARG arguments (any + * above this limit are ignored). + */ +/*line: 65*/ __PRINTFMAXARG = 0x2, // 2 +}; + +// Depends on identifiers +enum macro_printf_flags { +/*line: 127*/ PA_FLAG_MASK = 0xff0000, // 0xff0000 +/*line: 128*/ PA_FLAG_LONG_LONG = 0x10000, // (1<<16) +/*line: 129*/ PA_FLAG_LONG = 0x20000, // (1<<17) +/*line: 130*/ PA_FLAG_SHORT = 0x40000, // (1<<18) +/*line: 131*/ PA_FLAG_PTR = 0x80000, // (1<<19) +/*line: 132*/ PA_FLAG_QUAD = 0x100000, // (1<<20) +/*line: 133*/ PA_FLAG_INTMAX = 0x200000, // (1<<21) +/*line: 134*/ PA_FLAG_SIZE = 0x400000, // (1<<22) +/*line: 135*/ PA_FLAG_PTRDIFF = 0x800000, // (1<<23) +/*line: 136*/ PA_FLAG_LONG_DOUBLE = 0x10000, // PA_FLAG_LONG_LONG +}; + diff --git a/macrodefs_enums/ios/pthread.h b/macrodefs_enums/ios/pthread.h new file mode 100644 index 000000000..c132ca050 --- /dev/null +++ b/macrodefs_enums/ios/pthread.h @@ -0,0 +1,86 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pthread/pthread.h + +enum macro_pthread_create_flags { +/* + * Thread attributes + */ +/*line: 135*/ PTHREAD_CREATE_JOINABLE = 0x1, // 1 +/*line: 136*/ PTHREAD_CREATE_DETACHED = 0x2, // 2 +}; + +enum macro_pthread_sched { +/*line: 138*/ PTHREAD_INHERIT_SCHED = 0x1, // 1 +/*line: 139*/ PTHREAD_EXPLICIT_SCHED = 0x2, // 2 +}; + +enum macro_pthread_cancel_state { +/*line: 141*/ PTHREAD_CANCEL_ENABLE = 0x1, /* Cancel takes place at next cancellation point */ // 0x01 +/*line: 142*/ PTHREAD_CANCEL_DISABLE = 0x0, /* Cancel postponed */ // 0x00 +/*line: 143*/ PTHREAD_CANCEL_DEFERRED = 0x2, /* Cancel waits until cancellation point */ // 0x02 +/*line: 144*/ PTHREAD_CANCEL_ASYNCHRONOUS = 0x0, /* Cancel occurs immediately */ // 0x00 +}; + +enum macro_pthread_canceled { +/* Value returned from pthread_join() when a thread is canceled */ +/*line: 147*/ PTHREAD_CANCELED = 0x1, // ((void*)1) +}; + +enum macro_pthread_scope { +/* We only support PTHREAD_SCOPE_SYSTEM */ +/*line: 150*/ PTHREAD_SCOPE_SYSTEM = 0x1, // 1 +/*line: 151*/ PTHREAD_SCOPE_PROCESS = 0x2, // 2 +}; + +enum macro_pthread_process { +/*line: 153*/ PTHREAD_PROCESS_SHARED = 0x1, // 1 +/*line: 154*/ PTHREAD_PROCESS_PRIVATE = 0x2, // 2 +}; + +enum macro_mutex_protocol { +/* + * Mutex protocol attributes + */ +/*line: 159*/ PTHREAD_PRIO_NONE = 0x0, // 0 +/*line: 160*/ PTHREAD_PRIO_INHERIT = 0x1, // 1 +/*line: 161*/ PTHREAD_PRIO_PROTECT = 0x2, // 2 +}; + +// Depends on identifiers +enum macro_mutex_type { +/* + * Mutex type attributes + */ +/*line: 166*/ PTHREAD_MUTEX_NORMAL = 0x0, // 0 +/*line: 167*/ PTHREAD_MUTEX_ERRORCHECK = 0x1, // 1 +/*line: 168*/ PTHREAD_MUTEX_RECURSIVE = 0x2, // 2 +/*line: 169*/ PTHREAD_MUTEX_DEFAULT = 0x0, // PTHREAD_MUTEX_NORMAL +}; + +enum macro_mutex_policy { +/* + * Mutex policy attributes + */ +/*line: 174*/ PTHREAD_MUTEX_POLICY_FAIRSHARE_NP = 0x1, // 1 +/*line: 175*/ PTHREAD_MUTEX_POLICY_FIRSTFIT_NP = 0x3, // 3 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 180 +// #define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWLOCK_SIG_init, {0}} + +// Line: 185 +// #define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}} + +// Line: 190 +// #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {_PTHREAD_ERRORCHECK_MUTEX_SIG_init, {0}} + +// Line: 191 +// #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {_PTHREAD_RECURSIVE_MUTEX_SIG_init, {0}} + +// Line: 214 +// #define PTHREAD_COND_INITIALIZER {_PTHREAD_COND_SIG_init, {0}} + +// Line: 220 +// #define PTHREAD_ONCE_INIT {_PTHREAD_ONCE_SIG_init, {0}} + diff --git a/macrodefs_enums/ios/pthread/pthread.h b/macrodefs_enums/ios/pthread/pthread.h new file mode 100644 index 000000000..fc173690b --- /dev/null +++ b/macrodefs_enums/ios/pthread/pthread.h @@ -0,0 +1,86 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pthread/pthread.h + +enum macro_pthread_create_flags { +/* + * Thread attributes + */ +/*line: 135*/ PTHREAD_CREATE_JOINABLE = 0x1, // 1 +/*line: 136*/ PTHREAD_CREATE_DETACHED = 0x2, // 2 +}; + +enum macro_pthread_sched { +/*line: 138*/ PTHREAD_INHERIT_SCHED = 0x1, // 1 +/*line: 139*/ PTHREAD_EXPLICIT_SCHED = 0x2, // 2 +}; + +enum macro_pthread_cancel_state { +/*line: 141*/ PTHREAD_CANCEL_ENABLE = 0x1, /* Cancel takes place at next cancellation point */ // 0x01 +/*line: 142*/ PTHREAD_CANCEL_DISABLE = 0x0, /* Cancel postponed */ // 0x00 +/*line: 143*/ PTHREAD_CANCEL_DEFERRED = 0x2, /* Cancel waits until cancellation point */ // 0x02 +/*line: 144*/ PTHREAD_CANCEL_ASYNCHRONOUS = 0x0, /* Cancel occurs immediately */ // 0x00 +}; + +enum macro_pthread_canceled { +/* Value returned from pthread_join() when a thread is canceled */ +/*line: 147*/ PTHREAD_CANCELED = 0x1, // ((void*)1) +}; + +enum macro_pthread_scope { +/* We only support PTHREAD_SCOPE_SYSTEM */ +/*line: 150*/ PTHREAD_SCOPE_SYSTEM = 0x1, // 1 +/*line: 151*/ PTHREAD_SCOPE_PROCESS = 0x2, // 2 +}; + +enum macro_pthread_process_share { +/*line: 153*/ PTHREAD_PROCESS_SHARED = 0x1, // 1 +/*line: 154*/ PTHREAD_PROCESS_PRIVATE = 0x2, // 2 +}; + +enum macro_mutex_protocol { +/* + * Mutex protocol attributes + */ +/*line: 159*/ PTHREAD_PRIO_NONE = 0x0, // 0 +/*line: 160*/ PTHREAD_PRIO_INHERIT = 0x1, // 1 +/*line: 161*/ PTHREAD_PRIO_PROTECT = 0x2, // 2 +}; + +// Depends on identifiers +enum macro_mutex_type { +/* + * Mutex type attributes + */ +/*line: 166*/ PTHREAD_MUTEX_NORMAL = 0x0, // 0 +/*line: 167*/ PTHREAD_MUTEX_ERRORCHECK = 0x1, // 1 +/*line: 168*/ PTHREAD_MUTEX_RECURSIVE = 0x2, // 2 +/*line: 169*/ PTHREAD_MUTEX_DEFAULT = 0x0, // PTHREAD_MUTEX_NORMAL +}; + +enum macro_mutex_policy { +/* + * Mutex policy attributes + */ +/*line: 174*/ PTHREAD_MUTEX_POLICY_FAIRSHARE_NP = 0x1, // 1 +/*line: 175*/ PTHREAD_MUTEX_POLICY_FIRSTFIT_NP = 0x3, // 3 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 180 +// #define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWLOCK_SIG_init, {0}} + +// Line: 185 +// #define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}} + +// Line: 190 +// #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {_PTHREAD_ERRORCHECK_MUTEX_SIG_init, {0}} + +// Line: 191 +// #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {_PTHREAD_RECURSIVE_MUTEX_SIG_init, {0}} + +// Line: 214 +// #define PTHREAD_COND_INITIALIZER {_PTHREAD_COND_SIG_init, {0}} + +// Line: 220 +// #define PTHREAD_ONCE_INIT {_PTHREAD_ONCE_SIG_init, {0}} + diff --git a/macrodefs_enums/ios/pthread/pthread_impl.h b/macrodefs_enums/ios/pthread/pthread_impl.h new file mode 100644 index 000000000..3ff8cf37d --- /dev/null +++ b/macrodefs_enums/ios/pthread/pthread_impl.h @@ -0,0 +1,32 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pthread/pthread_impl.h + +enum macro_pthread_mutex_sig { +/* + * [Internal] data structure signatures + */ +/*line: 41*/ _PTHREAD_MUTEX_SIG_init = 0x32aaaba7, // 0x32AAABA7 +}; + +enum macro_pthread_sigs { +/*line: 43*/ _PTHREAD_ERRORCHECK_MUTEX_SIG_init = 0x32aaaba1, // 0x32AAABA1 +/*line: 44*/ _PTHREAD_RECURSIVE_MUTEX_SIG_init = 0x32aaaba2, // 0x32AAABA2 +/*line: 45*/ _PTHREAD_FIRSTFIT_MUTEX_SIG_init = 0x32aaaba3, // 0x32AAABA3 +/*line: 47*/ _PTHREAD_COND_SIG_init = 0x3cb0b1bb, // 0x3CB0B1BB +/*line: 48*/ _PTHREAD_ONCE_SIG_init = 0x30b1bcba, // 0x30B1BCBA +/*line: 49*/ _PTHREAD_RWLOCK_SIG_init = 0x2da8b3b4, // 0x2DA8B3B4 +}; + +enum macro_scheduling_policy { +/* + * POSIX scheduling policies + */ +/*line: 54*/ SCHED_OTHER = 0x1, // 1 +/*line: 55*/ SCHED_FIFO = 0x4, // 4 +/*line: 56*/ SCHED_RR = 0x2, // 2 +}; + +enum macro_sched_param_size { +/*line: 58*/ __SCHED_PARAM_SIZE__ = 0x4, // 4 +}; + diff --git a/macrodefs_enums/ios/pthread/pthread_spis.h b/macrodefs_enums/ios/pthread/pthread_spis.h new file mode 100644 index 000000000..0a40af657 --- /dev/null +++ b/macrodefs_enums/ios/pthread/pthread_spis.h @@ -0,0 +1,16 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pthread/pthread_spis.h + +// Depends on identifiers +enum macro_mutex_policy { +/*line: 71*/ _PTHREAD_MUTEX_POLICY_FAIRSHARE = 0x1, // PTHREAD_MUTEX_POLICY_FAIRSHARE_NP +/*line: 72*/ _PTHREAD_MUTEX_POLICY_FIRSTFIT = 0x3, // PTHREAD_MUTEX_POLICY_FIRSTFIT_NP +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 65 +// #define PTHREAD_FIRSTFIT_MUTEX_INITIALIZER {_PTHREAD_FIRSTFIT_MUTEX_SIG_init, {0}} + +// Line: 70 +// #define _PTHREAD_MUTEX_POLICY_NONE PTHREAD_MUTEX_POLICY_NONE + diff --git a/macrodefs_enums/ios/pthread_impl.h b/macrodefs_enums/ios/pthread_impl.h new file mode 100644 index 000000000..65ddecaa5 --- /dev/null +++ b/macrodefs_enums/ios/pthread_impl.h @@ -0,0 +1,32 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pthread/pthread_impl.h + +enum macro_pthread_mutex_sig { +/* + * [Internal] data structure signatures + */ +/*line: 41*/ _PTHREAD_MUTEX_SIG_init = 0x32aaaba7, // 0x32AAABA7 +}; + +enum macro_pthread_signatures { +/*line: 43*/ _PTHREAD_ERRORCHECK_MUTEX_SIG_init = 0x32aaaba1, // 0x32AAABA1 +/*line: 44*/ _PTHREAD_RECURSIVE_MUTEX_SIG_init = 0x32aaaba2, // 0x32AAABA2 +/*line: 45*/ _PTHREAD_FIRSTFIT_MUTEX_SIG_init = 0x32aaaba3, // 0x32AAABA3 +/*line: 47*/ _PTHREAD_COND_SIG_init = 0x3cb0b1bb, // 0x3CB0B1BB +/*line: 48*/ _PTHREAD_ONCE_SIG_init = 0x30b1bcba, // 0x30B1BCBA +/*line: 49*/ _PTHREAD_RWLOCK_SIG_init = 0x2da8b3b4, // 0x2DA8B3B4 +}; + +enum macro_sched_policy { +/* + * POSIX scheduling policies + */ +/*line: 54*/ SCHED_OTHER = 0x1, // 1 +/*line: 55*/ SCHED_FIFO = 0x4, // 4 +/*line: 56*/ SCHED_RR = 0x2, // 2 +}; + +enum macro_sched_param_size { +/*line: 58*/ __SCHED_PARAM_SIZE__ = 0x4, // 4 +}; + diff --git a/macrodefs_enums/ios/pthread_spis.h b/macrodefs_enums/ios/pthread_spis.h new file mode 100644 index 000000000..0a40af657 --- /dev/null +++ b/macrodefs_enums/ios/pthread_spis.h @@ -0,0 +1,16 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pthread/pthread_spis.h + +// Depends on identifiers +enum macro_mutex_policy { +/*line: 71*/ _PTHREAD_MUTEX_POLICY_FAIRSHARE = 0x1, // PTHREAD_MUTEX_POLICY_FAIRSHARE_NP +/*line: 72*/ _PTHREAD_MUTEX_POLICY_FIRSTFIT = 0x3, // PTHREAD_MUTEX_POLICY_FIRSTFIT_NP +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 65 +// #define PTHREAD_FIRSTFIT_MUTEX_INITIALIZER {_PTHREAD_FIRSTFIT_MUTEX_SIG_init, {0}} + +// Line: 70 +// #define _PTHREAD_MUTEX_POLICY_NONE PTHREAD_MUTEX_POLICY_NONE + diff --git a/macrodefs_enums/ios/pwd.h b/macrodefs_enums/ios/pwd.h new file mode 100644 index 000000000..059f16716 --- /dev/null +++ b/macrodefs_enums/ios/pwd.h @@ -0,0 +1,21 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/pwd.h + +enum macro_password_storage { +/*line: 66*/ _PW_KEYBYNAME = 0x31, /* stored by name */ // '1' +/*line: 67*/ _PW_KEYBYNUM = 0x32, /* stored by entry in the "file" */ // '2' +/*line: 68*/ _PW_KEYBYUID = 0x33, /* stored by uid */ // '3' +/*line: 70*/ _PASSWORD_EFMT1 = 0x5f, /* extended encryption format */ // '_' +/*line: 72*/ _PASSWORD_LEN = 0x80, /* max length, not counting NULL */ // 128 +}; + +enum macro_password_flags { +/*line: 74*/ _PASSWORD_NOUID = 0x1, /* flag for no specified uid. */ // 0x01 +/*line: 75*/ _PASSWORD_NOGID = 0x2, /* flag for no specified gid. */ // 0x02 +/*line: 76*/ _PASSWORD_NOCHG = 0x4, /* flag for no specified change. */ // 0x04 +/*line: 77*/ _PASSWORD_NOEXP = 0x8, /* flag for no specified expire. */ // 0x08 +/*line: 79*/ _PASSWORD_WARNDAYS = 0xe, /* days to warn about expiry */ // 14 +/*line: 80*/ _PASSWORD_CHGNOW = -0x1, /* special day to force password + * change at next login */ // -1 +}; + diff --git a/macrodefs_enums/ios/readpassphrase.h b/macrodefs_enums/ios/readpassphrase.h new file mode 100644 index 000000000..c64d9fd27 --- /dev/null +++ b/macrodefs_enums/ios/readpassphrase.h @@ -0,0 +1,13 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/readpassphrase.h + +enum macro_readpassphrase_flags { +/*line: 24*/ RPP_ECHO_OFF = 0x0, /* Turn off echo (default). */ // 0x00 +/*line: 25*/ RPP_ECHO_ON = 0x1, /* Leave echo on. */ // 0x01 +/*line: 26*/ RPP_REQUIRE_TTY = 0x2, /* Fail if there is no tty. */ // 0x02 +/*line: 27*/ RPP_FORCELOWER = 0x4, /* Force input to lower case. */ // 0x04 +/*line: 28*/ RPP_FORCEUPPER = 0x8, /* Force input to upper case. */ // 0x08 +/*line: 29*/ RPP_SEVENBIT = 0x10, /* Strip the high bit from input. */ // 0x10 +/*line: 30*/ RPP_STDIN = 0x20, /* Read from stdin, not /dev/tty */ // 0x20 +}; + diff --git a/macrodefs_enums/ios/resolv.h b/macrodefs_enums/ios/resolv.h new file mode 100644 index 000000000..b7a518c5b --- /dev/null +++ b/macrodefs_enums/ios/resolv.h @@ -0,0 +1,374 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/resolv.h + +enum macro_resolver_version { +/*% + * Revision information. This is the release date in YYYYMMDD format. + * It can change every day so the right thing to do with it is use it + * in preprocessor commands such as "#if (__RES > 19931104)". Do not + * compare for equality; rather, use it to determine whether your resolver + * is new enough to contain a certain feature. + */ +/*line: 88*/ __RES = 0x1328dbe, // 20090302 +}; + +enum macro_resolver_limits { +/*% + * Global defines and variables for resolver stub. + */ +/*line: 166*/ MAXNS = 0x3, /*%< max # name servers we'll track */ // 3 +/*line: 167*/ MAXDFLSRCH = 0x3, /*%< # default domain levels to try */ // 3 +/*line: 168*/ MAXDNSRCH = 0x6, /*%< max # domains in search path */ // 6 +/*line: 169*/ LOCALDOMAINPARTS = 0x2, /*%< min levels in name that is "local" */ // 2 +/*line: 170*/ RES_TIMEOUT = 0x5, /*%< min. seconds between retries */ // 5 +/*line: 171*/ MAXRESOLVSORT = 0xa, /*%< number of net to sort on */ // 10 +/*line: 172*/ RES_MAXNDOTS = 0xf, /*%< should reflect bit field size */ // 15 +/*line: 173*/ RES_MAXRETRANS = 0x1e, /*%< only for resolv.conf/RES_OPTIONS */ // 30 +/*line: 174*/ RES_MAXRETRY = 0x5, /*%< only for resolv.conf/RES_OPTIONS */ // 5 +/*line: 175*/ RES_DFLRETRY = 0x2, /*%< Default #/tries. */ // 2 +/*line: 176*/ RES_MAXTIME = 0xffff, /*%< Infinity, in milliseconds. */ // 65535 +}; + +enum macro_resolver_flags { +/*% + * Resolver flags (used to be discrete per-module statics ints). + */ +/*line: 258*/ RES_F_VC = 0x1, /*%< socket is TCP */ // 0x00000001 +/*line: 259*/ RES_F_CONN = 0x2, /*%< socket is connected */ // 0x00000002 +/*line: 260*/ RES_F_EDNS0ERR = 0x4, /*%< EDNS0 caused errors */ // 0x00000004 +/*line: 261*/ RES_F__UNUSED = 0x8, /*%< (unused) */ // 0x00000008 +/*line: 262*/ RES_F_LASTMASK = 0xf0, /*%< ordinal server of last res_nsend */ // 0x000000F0 +/*line: 263*/ RES_F_LASTSHIFT = 0x4, /*%< bit position of LASTMASK "flag" */ // 4 +}; + +enum macro_resolve_options { +/* res_findzonecut2() options */ +/*line: 267*/ RES_EXHAUSTIVE = 0x1, /*%< always do all queries */ // 0x00000001 +/*line: 268*/ RES_IPV4ONLY = 0x2, /*%< IPv4 only */ // 0x00000002 +/*line: 269*/ RES_IPV6ONLY = 0x4, /*%< IPv6 only */ // 0x00000004 +}; + +enum macro_resolver_options { +/*% + * Resolver options (keep these in synch with res_debug.c, please) + */ +/*line: 274*/ RES_INIT = 0x1, /*%< address initialized */ // 0x00000001 +/*line: 275*/ RES_DEBUG = 0x2, /*%< print debug messages */ // 0x00000002 +/*line: 276*/ RES_AAONLY = 0x4, /*%< authoritative answers only (!IMPL)*/ // 0x00000004 +/*line: 277*/ RES_USEVC = 0x8, /*%< use virtual circuit */ // 0x00000008 +/*line: 278*/ RES_PRIMARY = 0x10, /*%< query primary server only (!IMPL) */ // 0x00000010 +/*line: 279*/ RES_IGNTC = 0x20, /*%< ignore truncation errors */ // 0x00000020 +/*line: 280*/ RES_RECURSE = 0x40, /*%< recursion desired */ // 0x00000040 +/*line: 281*/ RES_DEFNAMES = 0x80, /*%< use default domain name */ // 0x00000080 +/*line: 282*/ RES_STAYOPEN = 0x100, /*%< Keep TCP socket open */ // 0x00000100 +/*line: 283*/ RES_DNSRCH = 0x200, /*%< search up local domain tree */ // 0x00000200 +/*line: 284*/ RES_INSECURE1 = 0x400, /*%< type 1 security disabled */ // 0x00000400 +/*line: 285*/ RES_INSECURE2 = 0x800, /*%< type 2 security disabled */ // 0x00000800 +/*line: 286*/ RES_NOALIASES = 0x1000, /*%< shuts off HOSTALIASES feature */ // 0x00001000 +/*line: 287*/ RES_USE_INET6 = 0x2000, /*%< use/map IPv6 in gethostbyname() */ // 0x00002000 +/*line: 288*/ RES_ROTATE = 0x4000, /*%< rotate ns list after each query */ // 0x00004000 +/*line: 289*/ RES_NOCHECKNAME = 0x8000, /*%< do not check names for sanity. */ // 0x00008000 +/*line: 290*/ RES_KEEPTSIG = 0x10000, /*%< do not strip TSIG records */ // 0x00010000 +/*line: 291*/ RES_BLAST = 0x20000, /*%< blast all recursive servers */ // 0x00020000 +/* Keep names for compatibility, these are not used by libresolv */ +/*line: 296*/ RES_NO_NIBBLE = 0x40000, /* disable IPv6 nibble mode reverse */ // 0x00040000 +/*line: 297*/ RES_NO_BITSTRING = 0x80000, /* disable IPv6 bitstring mode reverse */ // 0x00080000 +/*line: 299*/ RES_NOTLDQUERY = 0x100000, /*%< don't unqualified name as a tld */ // 0x00100000 +/*line: 300*/ RES_USE_DNSSEC = 0x200000, /*%< use DNSSEC using OK bit in OPT */ // 0x00200000 +/*line: 303*/ RES_NSID = 0x800000, /*%< request name server ID */ // 0x00800000 +/* KAME extensions: use higher bit to avoid conflict with ISC use */ +/*line: 306*/ RES_USE_DNAME = 0x10000000, /*%< use DNAME */ // 0x10000000 +/*line: 308*/ RES_USE_A6 = 0x20000000, /* use A6 */ // 0x20000000 +/*line: 310*/ RES_USE_EDNS0 = 0x40000000, /*%< use EDNS0 if configured */ // 0x40000000 +/*line: 311*/ RES_NO_NIBBLE2 = 0x80000000, /*%< disable alternate nibble lookup */ // 0x80000000 +}; + +// Depends on identifiers +enum macro_resolve_flags { +/*line: 313*/ RES_DEFAULT = 0x800002c0, // (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NO_NIBBLE2) +}; + +enum macro_resolver_pfcode { +/*% + * Resolver "pfcode" values. Used by dig. + */ +/*line: 319*/ RES_PRF_STATS = 0x1, // 0x00000001 +/*line: 320*/ RES_PRF_UPDATE = 0x2, // 0x00000002 +/*line: 321*/ RES_PRF_CLASS = 0x4, // 0x00000004 +/*line: 322*/ RES_PRF_CMD = 0x8, // 0x00000008 +/*line: 323*/ RES_PRF_QUES = 0x10, // 0x00000010 +/*line: 324*/ RES_PRF_ANS = 0x20, // 0x00000020 +/*line: 325*/ RES_PRF_AUTH = 0x40, // 0x00000040 +/*line: 326*/ RES_PRF_ADD = 0x80, // 0x00000080 +/*line: 327*/ RES_PRF_HEAD1 = 0x100, // 0x00000100 +/*line: 328*/ RES_PRF_HEAD2 = 0x200, // 0x00000200 +/*line: 329*/ RES_PRF_TTLID = 0x400, // 0x00000400 +/*line: 330*/ RES_PRF_HEADX = 0x800, // 0x00000800 +/*line: 331*/ RES_PRF_QUERY = 0x1000, // 0x00001000 +/*line: 332*/ RES_PRF_REPLY = 0x2000, // 0x00002000 +/*line: 333*/ RES_PRF_INIT = 0x4000, // 0x00004000 +/*line: 334*/ RES_PRF_TRUNC = 0x8000, // 0x00008000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 110 +// #define __h_errno_set _res_9_h_errno_set + +// Line: 111 +// #define __res_state __res_9_state + +// Line: 136 +// #define res_goahead res_9_goahead + +// Line: 137 +// #define res_nextns res_9_nextns + +// Line: 138 +// #define res_modified res_9_modified + +// Line: 139 +// #define res_done res_9_done + +// Line: 140 +// #define res_error res_9_error + +// Line: 141 +// #define res_sendhookact res_9_sendhookact + +// Line: 155 +// #define res_sym res_9_sym + +// Line: 178 +// #define __res_state_ext __res_9_state_ext + +// Line: 199 +// #define nsaddr nsaddr_list[0] + +// Line: 235 +// #define res_state res_9_state + +// Line: 240 +// #define res_sockaddr_union res_9_sockaddr_union + +// Line: 370 +// #define fp_nquery res_9_fp_nquery + +// Line: 371 +// #define fp_query res_9_fp_query + +// Line: 372 +// #define hostalias res_9_hostalias_1 + +// Line: 373 +// #define p_query res_9_p_query + +// Line: 374 +// #define res_close res_9_close + +// Line: 375 +// #define res_init res_9_init + +// Line: 376 +// #define res_isourserver res_9_isourserver + +// Line: 377 +// #define res_mkquery res_9_mkquery + +// Line: 378 +// #define res_query res_9_query + +// Line: 379 +// #define res_querydomain res_9_querydomain + +// Line: 380 +// #define res_search res_9_search + +// Line: 381 +// #define res_send res_9_send + +// Line: 382 +// #define res_sendsigned res_9_sendsigned + +// Line: 432 +// #define __p_key_syms __res_9_p_key_syms + +// Line: 433 +// #define __p_cert_syms __res_9_p_cert_syms + +// Line: 434 +// #define __p_class_syms __res_9_p_class_syms + +// Line: 435 +// #define __p_type_syms __res_9_p_type_syms + +// Line: 436 +// #define __p_rcode_syms __res_9_p_rcode_syms + +// Line: 447 +// #define b64_ntop res_9_b64_ntop + +// Line: 448 +// #define b64_pton res_9_b64_pton + +// Line: 449 +// #define dn_comp res_9_dn_comp + +// Line: 450 +// #define dn_count_labels res_9_dn_count_labels + +// Line: 451 +// #define dn_expand res_9_dn_expand + +// Line: 452 +// #define dn_skipname res_9_dn_skipname + +// Line: 453 +// #define fp_resstat res_9_fp_resstat + +// Line: 454 +// #define loc_aton res_9_loc_aton + +// Line: 455 +// #define loc_ntoa res_9_loc_ntoa + +// Line: 456 +// #define p_cdname res_9_p_cdname + +// Line: 457 +// #define p_cdnname res_9_p_cdnname + +// Line: 458 +// #define p_class res_9_p_class + +// Line: 459 +// #define p_fqname res_9_p_fqname + +// Line: 460 +// #define p_fqnname res_9_p_fqnname + +// Line: 461 +// #define p_option res_9_p_option + +// Line: 462 +// #define p_secstodate res_9_p_secstodate + +// Line: 463 +// #define p_section res_9_p_section + +// Line: 464 +// #define p_time res_9_p_time + +// Line: 465 +// #define p_type res_9_p_type + +// Line: 466 +// #define p_rcode res_9_p_rcode + +// Line: 467 +// #define putlong res_9_putlong + +// Line: 468 +// #define putshort res_9_putshort + +// Line: 469 +// #define res_dnok res_9_dnok + +// Line: 470 +// #define res_findzonecut res_9_findzonecut + +// Line: 471 +// #define res_findzonecut2 res_9_findzonecut2 + +// Line: 472 +// #define res_hnok res_9_hnok + +// Line: 473 +// #define res_hostalias res_9_hostalias_2 + +// Line: 474 +// #define res_mailok res_9_mailok + +// Line: 475 +// #define res_nameinquery res_9_nameinquery + +// Line: 476 +// #define res_nclose res_9_nclose + +// Line: 477 +// #define res_ninit res_9_ninit + +// Line: 478 +// #define res_nmkquery res_9_nmkquery + +// Line: 479 +// #define res_pquery res_9_pquery + +// Line: 480 +// #define res_nquery res_9_nquery + +// Line: 481 +// #define res_nquerydomain res_9_nquerydomain + +// Line: 482 +// #define res_nsearch res_9_nsearch + +// Line: 483 +// #define res_nsend res_9_nsend + +// Line: 484 +// #define res_nsendsigned res_9_nsendsigned + +// Line: 485 +// #define res_nisourserver res_9_nisourserver + +// Line: 486 +// #define res_ownok res_9_ownok + +// Line: 487 +// #define res_queriesmatch res_9_queriesmatch + +// Line: 488 +// #define res_randomid res_9_randomid + +// Line: 489 +// #define res_nrandomid res_9_nrandomid + +// Line: 490 +// #define sym_ntop res_9_sym_ntop + +// Line: 491 +// #define sym_ntos res_9_sym_ntos + +// Line: 492 +// #define sym_ston res_9_sym_ston + +// Line: 493 +// #define res_nopt res_9_nopt + +// Line: 494 +// #define res_nopt_rdata res_9_nopt_rdata + +// Line: 495 +// #define res_ndestroy res_9_ndestroy + +// Line: 496 +// #define res_nametoclass res_9_nametoclass + +// Line: 497 +// #define res_nametotype res_9_nametotype + +// Line: 498 +// #define res_setservers res_9_setservers + +// Line: 499 +// #define res_getservers res_9_getservers + +// Line: 502 +// #define getlong res_9_getlong + +// Line: 503 +// #define getshort res_9_getshort + +// Line: 504 +// #define __res_vinit res_9_vinit + diff --git a/macrodefs_enums/ios/rpc/auth.h b/macrodefs_enums/ios/rpc/auth.h new file mode 100644 index 000000000..e07a142d1 --- /dev/null +++ b/macrodefs_enums/ios/rpc/auth.h @@ -0,0 +1,16 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/auth.h + +enum macro_auth_limits { +/*line: 73*/ MAX_AUTH_BYTES = 0x190, // 400 +/*line: 74*/ MAXNETNAMELEN = 0xff, /* maximum length of network user's name */ // 255 +}; + +enum macro_auth_types { +/*line: 213*/ AUTH_NONE = 0x0, /* no authentication */ // 0 +/*line: 214*/ AUTH_NULL = 0x0, /* backward compatibility */ // 0 +/*line: 215*/ AUTH_UNIX = 0x1, /* unix style (uid, gids) */ // 1 +/*line: 216*/ AUTH_SHORT = 0x2, /* short hand unix style */ // 2 +/*line: 217*/ AUTH_DES = 0x3, /* des style (encrypted timestamps) */ // 3 +}; + diff --git a/macrodefs_enums/ios/rpc/auth_unix.h b/macrodefs_enums/ios/rpc/auth_unix.h new file mode 100644 index 000000000..f3292a342 --- /dev/null +++ b/macrodefs_enums/ios/rpc/auth_unix.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/auth_unix.h + +enum macro_max_machine_name { +/* The machine name is part of a credential; it may not exceed 255 bytes */ +/*line: 76*/ MAX_MACHINE_NAME = 0xff, // 255 +}; + diff --git a/macrodefs_enums/ios/rpc/clnt.h b/macrodefs_enums/ios/rpc/clnt.h new file mode 100644 index 000000000..0c3b68bb3 --- /dev/null +++ b/macrodefs_enums/ios/rpc/clnt.h @@ -0,0 +1,46 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/clnt.h + +enum macro_clnt_ctrl { +/* + * control operations that apply to both udp and tcp transports + */ +/*line: 239*/ CLSET_TIMEOUT = 0x1, /* set timeout (timeval) */ // 1 +/*line: 240*/ CLGET_TIMEOUT = 0x2, /* get timeout (timeval) */ // 2 +/*line: 241*/ CLGET_SERVER_ADDR = 0x3, /* get server's address (sockaddr) */ // 3 +/* + * udp only control operations + */ +/*line: 245*/ CLSET_RETRY_TIMEOUT = 0x4, /* set retry timeout (timeval) */ // 4 +/*line: 246*/ CLGET_RETRY_TIMEOUT = 0x5, /* get retry timeout (timeval) */ // 5 +}; + +enum macro_rpctest_constants { +/*line: 264*/ RPCTEST_PROGRAM = 0x1, // ((unsignedint)1) +/*line: 265*/ RPCTEST_VERSION = 0x1, // ((unsignedint)1) +/*line: 266*/ RPCTEST_NULL_PROC = 0x2, // ((unsignedint)2) +/*line: 267*/ RPCTEST_NULL_BATCH_PROC = 0x3, // ((unsignedint)3) +}; + +enum macro_nullproc { +/*line: 280*/ NULLPROC = 0x0, // ((unsignedint)0) +}; + +enum macro_rpc_message_sizes { +/*line: 443*/ UDPMSGSIZE = 0x2260, /* rpc imposed limit on udp msg size */ // 8800 +/*line: 444*/ RPCSMALLMSGSIZE = 0x190, /* a more reasonable packet size */ // 400 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 145 +// #define re_errno ru.RE_errno + +// Line: 146 +// #define re_why ru.RE_why + +// Line: 147 +// #define re_vers ru.RE_vers + +// Line: 148 +// #define re_lb ru.RE_lb + diff --git a/macrodefs_enums/ios/rpc/rpc_msg.h b/macrodefs_enums/ios/rpc/rpc_msg.h new file mode 100644 index 000000000..a73ffdab8 --- /dev/null +++ b/macrodefs_enums/ios/rpc/rpc_msg.h @@ -0,0 +1,39 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/rpc_msg.h + +enum macro_rpc_flags { +/*line: 70*/ RPC_MSG_VERSION = 0x2, // ((unsignedint)2) +/*line: 74*/ RPC_SERVICE_PORT = 0x800, // ((unsignedshort)2048) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 134 +// #define ar_results ru.AR_results + +// Line: 135 +// #define ar_vers ru.AR_versions + +// Line: 155 +// #define rj_vers ru.RJ_versions + +// Line: 156 +// #define rj_why ru.RJ_why + +// Line: 168 +// #define rp_acpt ru.RP_ar + +// Line: 169 +// #define rp_rjct ru.RP_dr + +// Line: 205 +// #define rm_call ru.RM_cmb + +// Line: 206 +// #define rm_reply ru.RM_rmb + +// Line: 208 +// #define acpted_rply ru.RM_rmb.ru.RP_ar + +// Line: 209 +// #define rjcted_rply ru.RM_rmb.ru.RP_dr + diff --git a/macrodefs_enums/ios/rpc/svc.h b/macrodefs_enums/ios/rpc/svc.h new file mode 100644 index 000000000..d14dfc989 --- /dev/null +++ b/macrodefs_enums/ios/rpc/svc.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/svc.h + +enum macro_rpc_anysock { +/* + * Socket to use on svcxxx_create call to get default socket + */ +/*line: 327*/ RPC_ANYSOCK = -0x1, // -1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 305 +// #define svc_fds svc_fdset.fds_bits[0] + diff --git a/macrodefs_enums/ios/rpc/types.h b/macrodefs_enums/ios/rpc/types.h new file mode 100644 index 000000000..093960cdc --- /dev/null +++ b/macrodefs_enums/ios/rpc/types.h @@ -0,0 +1,23 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/types.h + +enum macro_dontcare { +/*line: 65*/ __dontcare__ = -0x1, // -1 +}; + +enum macro_boolean { +/*line: 68*/ FALSE = 0x0, // (0) +/*line: 71*/ TRUE = 0x1, // (1) +}; + +enum macro_null_value { +/*line: 79*/ NULL = 0x0, // ((void*)0) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 63 +// #define bool_t int + +// Line: 64 +// #define enum_t int + diff --git a/macrodefs_enums/ios/rpc/xdr.h b/macrodefs_enums/ios/rpc/xdr.h new file mode 100644 index 000000000..09de2e36c --- /dev/null +++ b/macrodefs_enums/ios/rpc/xdr.h @@ -0,0 +1,33 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpc/xdr.h + +enum macro_bytes_per_xdr_unit { +/* + * This is the number of bytes per unit of external data. + */ +/*line: 112*/ BYTES_PER_XDR_UNIT = 0x4, // (4) +}; + +// Depends on identifiers +enum macro_xdr_discriminant { +/* + * Support struct for discriminated unions. + * You create an array of xdrdiscrim structures, terminated with + * an entry with a null procedure pointer. The xdr_union routine gets + * the discriminant value and then searches the array of structures + * for a matching value. If a match is found the associated xdr routine + * is called to handle that part of the union. If there is + * no match, then a default routine may be called. + * If there is no match and no default routine it is an error. + */ +/*line: 316*/ NULL_xdrproc_t = 0x0, // ((xdrproc_t)0) +}; + +enum macro_max_netobj_size { +/* + * Common opaque bytes objects used by many rpc protocols; + * declared here due to commonality. + */ +/*line: 417*/ MAX_NETOBJ_SZ = 0x400, // 1024 +}; + diff --git a/macrodefs_enums/ios/rpcsvc/bootparam_prot.h b/macrodefs_enums/ios/rpcsvc/bootparam_prot.h new file mode 100644 index 000000000..b1da659d6 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/bootparam_prot.h @@ -0,0 +1,26 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/bootparam_prot.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_bootparam_limits { +/*line: 19*/ MAX_MACHINE_NAME = 0xff, // 255 +/*line: 20*/ MAX_PATH_LEN = 0x400, // 1024 +/*line: 21*/ MAX_FILEID = 0x20, // 32 +/*line: 22*/ IP_ADDR_TYPE = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_boot_params { +/*line: 143*/ BOOTPARAMPROG = 0x186ba, // ((rpc_uint)100026) +/*line: 144*/ BOOTPARAMVERS = 0x1, // ((rpc_uint)1) +}; + +// Depends on identifiers +enum macro_bootparam_proc { +/*line: 155*/ BOOTPARAMPROC_WHOAMI = 0x1, // ((rpc_uint)1) +/*line: 158*/ BOOTPARAMPROC_GETFILE = 0x2, // ((rpc_uint)2) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/klm_prot.h b/macrodefs_enums/ios/rpcsvc/klm_prot.h new file mode 100644 index 000000000..cc8252317 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/klm_prot.h @@ -0,0 +1,21 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/klm_prot.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_max_string_length { +/*line: 13*/ LM_MAXSTRLEN = 0x400, // 1024 +}; + +// Depends on identifiers +enum macro_klm_constants { +/*line: 135*/ KLM_PROG = 0x186b4, // ((rpc_uint)100020) +/*line: 136*/ KLM_VERS = 0x1, // ((rpc_uint)1) +/*line: 153*/ KLM_TEST = 0x1, // ((rpc_uint)1) +/*line: 156*/ KLM_LOCK = 0x2, // ((rpc_uint)2) +/*line: 159*/ KLM_CANCEL = 0x3, // ((rpc_uint)3) +/*line: 162*/ KLM_UNLOCK = 0x4, // ((rpc_uint)4) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/mount.h b/macrodefs_enums/ios/rpcsvc/mount.h new file mode 100644 index 000000000..0f08b4037 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/mount.h @@ -0,0 +1,30 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/mount.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_mount_limits { +/*line: 13*/ MNTPATHLEN = 0x400, // 1024 +/*line: 14*/ MNTNAMLEN = 0xff, // 255 +/*line: 15*/ FHSIZE = 0x20, // 32 +}; + +// Depends on identifiers +enum macro_mount_constants { +/*line: 137*/ MOUNTPROG = 0x186a5, // ((rpc_uint)100005) +/*line: 138*/ MOUNTVERS = 0x1, // ((rpc_uint)1) +}; + +// Depends on identifiers +enum macro_mountproc { +/*line: 164*/ MOUNTPROC_NULL = 0x0, // ((rpc_uint)0) +/*line: 167*/ MOUNTPROC_MNT = 0x1, // ((rpc_uint)1) +/*line: 170*/ MOUNTPROC_DUMP = 0x2, // ((rpc_uint)2) +/*line: 173*/ MOUNTPROC_UMNT = 0x3, // ((rpc_uint)3) +/*line: 176*/ MOUNTPROC_UMNTALL = 0x4, // ((rpc_uint)4) +/*line: 179*/ MOUNTPROC_EXPORT = 0x5, // ((rpc_uint)5) +/*line: 182*/ MOUNTPROC_EXPORTALL = 0x6, // ((rpc_uint)6) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/nfs_prot.h b/macrodefs_enums/ios/rpcsvc/nfs_prot.h new file mode 100644 index 000000000..d13ebbbd5 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/nfs_prot.h @@ -0,0 +1,53 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/nfs_prot.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_nfs_protocol_constants { +/*line: 13*/ NFS_PORT = 0x801, // 2049 +/*line: 14*/ NFS_MAXDATA = 0x2000, // 8192 +/*line: 15*/ NFS_MAXPATHLEN = 0x400, // 1024 +/*line: 16*/ NFS_MAXNAMLEN = 0xff, // 255 +/*line: 17*/ NFS_FHSIZE = 0x20, // 32 +/*line: 18*/ NFS_COOKIESIZE = 0x4, // 4 +/*line: 19*/ NFS_FIFO_DEV = -0x1, // -1 +/*line: 20*/ NFSMODE_FMT = 0xf000, // 0170000 +/*line: 21*/ NFSMODE_DIR = 0x4000, // 0040000 +/*line: 22*/ NFSMODE_CHR = 0x2000, // 0020000 +/*line: 23*/ NFSMODE_BLK = 0x6000, // 0060000 +/*line: 24*/ NFSMODE_REG = 0x8000, // 0100000 +/*line: 25*/ NFSMODE_LNK = 0xa000, // 0120000 +/*line: 26*/ NFSMODE_SOCK = 0xc000, // 0140000 +/*line: 27*/ NFSMODE_FIFO = 0x1000, // 0010000 +}; + +// Depends on identifiers +enum macro_nfs_rpc_program_info { +/*line: 491*/ NFS_PROGRAM = 0x186a3, // ((rpc_uint)100003) +/*line: 492*/ NFS_VERSION = 0x2, // ((rpc_uint)2) +}; + +// Depends on identifiers +enum macro_nfs_procedure { +/*line: 551*/ NFSPROC_NULL = 0x0, // ((rpc_uint)0) +/*line: 554*/ NFSPROC_GETATTR = 0x1, // ((rpc_uint)1) +/*line: 557*/ NFSPROC_SETATTR = 0x2, // ((rpc_uint)2) +/*line: 560*/ NFSPROC_ROOT = 0x3, // ((rpc_uint)3) +/*line: 563*/ NFSPROC_LOOKUP = 0x4, // ((rpc_uint)4) +/*line: 566*/ NFSPROC_READLINK = 0x5, // ((rpc_uint)5) +/*line: 569*/ NFSPROC_READ = 0x6, // ((rpc_uint)6) +/*line: 572*/ NFSPROC_WRITECACHE = 0x7, // ((rpc_uint)7) +/*line: 575*/ NFSPROC_WRITE = 0x8, // ((rpc_uint)8) +/*line: 578*/ NFSPROC_CREATE = 0x9, // ((rpc_uint)9) +/*line: 581*/ NFSPROC_REMOVE = 0xa, // ((rpc_uint)10) +/*line: 584*/ NFSPROC_RENAME = 0xb, // ((rpc_uint)11) +/*line: 587*/ NFSPROC_LINK = 0xc, // ((rpc_uint)12) +/*line: 590*/ NFSPROC_SYMLINK = 0xd, // ((rpc_uint)13) +/*line: 593*/ NFSPROC_MKDIR = 0xe, // ((rpc_uint)14) +/*line: 596*/ NFSPROC_RMDIR = 0xf, // ((rpc_uint)15) +/*line: 599*/ NFSPROC_READDIR = 0x10, // ((rpc_uint)16) +/*line: 602*/ NFSPROC_STATFS = 0x11, // ((rpc_uint)17) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/nlm_prot.h b/macrodefs_enums/ios/rpcsvc/nlm_prot.h new file mode 100644 index 000000000..b290dacbe --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/nlm_prot.h @@ -0,0 +1,87 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/nlm_prot.h + +// enum macro_rpcgen_version { +// /*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +// }; + +// Depends on identifiers +enum macro_nlm_limits { +/*line: 13*/ LM_MAXSTRLEN = 0x400, // 1024 +/*line: 14*/ MAXNAMELEN = 0x401, // LM_MAXSTRLEN+1 +}; + +// Depends on identifiers +enum macro_nlm_program { +/*line: 540*/ NLM_PROG = 0x186b5, // ((rpc_uint)100021) +/*line: 541*/ NLM_SM = 0x0, // ((rpc_uint)0) +}; + +// Depends on identifiers +enum macro_nlm_sm_notify { +/*line: 549*/ NLM_SM_NOTIFY = 0x1, // ((rpc_uint)1) +}; + +// // Depends on identifiers +// enum macro_nlm_version { +// /*line: 558*/ NLM_VERS = 0x1, // ((rpc_uint)1) +// }; + +// Depends on identifiers +enum macro_nlm_operations { +/*line: 608*/ NLM_TEST = 0x1, // ((rpc_uint)1) +/*line: 611*/ NLM_LOCK = 0x2, // ((rpc_uint)2) +/*line: 614*/ NLM_CANCEL = 0x3, // ((rpc_uint)3) +/*line: 617*/ NLM_UNLOCK = 0x4, // ((rpc_uint)4) +/*line: 620*/ NLM_GRANTED = 0x5, // ((rpc_uint)5) +/*line: 623*/ NLM_TEST_MSG = 0x6, // ((rpc_uint)6) +/*line: 626*/ NLM_LOCK_MSG = 0x7, // ((rpc_uint)7) +/*line: 629*/ NLM_CANCEL_MSG = 0x8, // ((rpc_uint)8) +/*line: 632*/ NLM_UNLOCK_MSG = 0x9, // ((rpc_uint)9) +/*line: 635*/ NLM_GRANTED_MSG = 0xa, // ((rpc_uint)10) +/*line: 638*/ NLM_TEST_RES = 0xb, // ((rpc_uint)11) +/*line: 641*/ NLM_LOCK_RES = 0xc, // ((rpc_uint)12) +/*line: 644*/ NLM_CANCEL_RES = 0xd, // ((rpc_uint)13) +/*line: 647*/ NLM_UNLOCK_RES = 0xe, // ((rpc_uint)14) +/*line: 650*/ NLM_GRANTED_RES = 0xf, // ((rpc_uint)15) + + +/*line: 778*/ NLM_SHARE = 0x14, // ((rpc_uint)20) +/*line: 781*/ NLM_UNSHARE = 0x15, // ((rpc_uint)21) +/*line: 784*/ NLM_NM_LOCK = 0x16, // ((rpc_uint)22) +/*line: 787*/ NLM_FREE_ALL = 0x17, // ((rpc_uint)23) +}; + +// // Depends on identifiers +// enum macro_nlm_versx { +// /*line: 701*/ NLM_VERSX = 0x3, // ((rpc_uint)3) +// }; + +// // Depends on identifiers +// enum macro_nlm_version { +// /*line: 835*/ NLM_VERS4 = 0x4, // ((rpc_uint)4) +// }; + +// Depends on identifiers +enum macro_nlm4_operations { +/*line: 897*/ NLM4_TEST = 0x1, // ((rpc_uint)1) +/*line: 900*/ NLM4_LOCK = 0x2, // ((rpc_uint)2) +/*line: 903*/ NLM4_CANCEL = 0x3, // ((rpc_uint)3) +/*line: 906*/ NLM4_UNLOCK = 0x4, // ((rpc_uint)4) +/*line: 909*/ NLM4_GRANTED = 0x5, // ((rpc_uint)5) +/*line: 912*/ NLM4_TEST_MSG = 0x6, // ((rpc_uint)6) +/*line: 915*/ NLM4_LOCK_MSG = 0x7, // ((rpc_uint)7) +/*line: 918*/ NLM4_CANCEL_MSG = 0x8, // ((rpc_uint)8) +/*line: 921*/ NLM4_UNLOCK_MSG = 0x9, // ((rpc_uint)9) +/*line: 924*/ NLM4_GRANTED_MSG = 0xa, // ((rpc_uint)10) +/*line: 927*/ NLM4_TEST_RES = 0xb, // ((rpc_uint)11) +/*line: 930*/ NLM4_LOCK_RES = 0xc, // ((rpc_uint)12) +/*line: 933*/ NLM4_CANCEL_RES = 0xd, // ((rpc_uint)13) +/*line: 936*/ NLM4_UNLOCK_RES = 0xe, // ((rpc_uint)14) +/*line: 939*/ NLM4_GRANTED_RES = 0xf, // ((rpc_uint)15) +/*line: 942*/ NLM4_SHARE = 0x14, // ((rpc_uint)20) +/*line: 945*/ NLM4_UNSHARE = 0x15, // ((rpc_uint)21) +/*line: 948*/ NLM4_NM_LOCK = 0x16, // ((rpc_uint)22) +/*line: 951*/ NLM4_FREE_ALL = 0x17, // ((rpc_uint)23) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/rex.h b/macrodefs_enums/ios/rpcsvc/rex.h new file mode 100644 index 000000000..15d815248 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/rex.h @@ -0,0 +1,112 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/rex.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_string_size { +/*line: 13*/ STRINGSIZE = 0x400, // 1024 +}; + +enum macro_rex_flags { +/*line: 24*/ SIGINT = 0x2, // 2 +/*line: 25*/ REX_INTERACTIVE = 0x1, // 1 +/*line: 82*/ B0 = 0x0, // 0 +/*line: 83*/ B50 = 0x1, // 1 +/*line: 84*/ B75 = 0x2, // 2 +/*line: 85*/ B110 = 0x3, // 3 +/*line: 86*/ B134 = 0x4, // 4 +/*line: 87*/ B150 = 0x5, // 5 +/*line: 88*/ B200 = 0x6, // 6 +/*line: 89*/ B300 = 0x7, // 7 +/*line: 90*/ B600 = 0x8, // 8 +/*line: 91*/ B1200 = 0x9, // 9 +/*line: 92*/ B1800 = 0xa, // 10 +/*line: 93*/ B2400 = 0xb, // 11 +/*line: 94*/ B4800 = 0xc, // 12 +/*line: 95*/ B9600 = 0xd, // 13 +/*line: 96*/ B19200 = 0xe, // 14 +/*line: 97*/ B38400 = 0xf, // 15 +/*line: 98*/ TANDEM = 0x1, // 0x00000001 +/*line: 99*/ CBREAK = 0x2, // 0x00000002 +/*line: 100*/ LCASE = 0x4, // 0x00000004 +/*line: 101*/ ECHO = 0x8, // 0x00000008 +/*line: 102*/ CRMOD = 0x10, // 0x00000010 +/*line: 103*/ RAW = 0x20, // 0x00000020 +/*line: 104*/ ODDP = 0x40, // 0x00000040 +/*line: 105*/ EVENP = 0x80, // 0x00000080 +/*line: 106*/ ANYP = 0xc0, // 0x000000c0 +/*line: 107*/ NLDELAY = 0x300, // 0x00000300 +/*line: 108*/ NL0 = 0x0, // 0x00000000 +/*line: 109*/ NL1 = 0x100, // 0x00000100 +/*line: 110*/ NL2 = 0x200, // 0x00000200 +/*line: 111*/ NL3 = 0x300, // 0x00000300 +/*line: 112*/ TBDELAY = 0xc00, // 0x00000c00 +/*line: 113*/ TAB0 = 0x0, // 0x00000000 +/*line: 114*/ TAB1 = 0x400, // 0x00000400 +/*line: 115*/ TAB2 = 0x800, // 0x00000800 +/*line: 116*/ XTABS = 0xc00, // 0x00000c00 +/*line: 117*/ CRDELAY = 0x3000, // 0x00003000 +/*line: 118*/ CR0 = 0x0, // 0x00000000 +/*line: 119*/ CR1 = 0x1000, // 0x00001000 +/*line: 120*/ CR2 = 0x2000, // 0x00002000 +/*line: 121*/ CR3 = 0x3000, // 0x00003000 +/*line: 122*/ VTDELAY = 0x4000, // 0x00004000 +/*line: 123*/ FF0 = 0x0, // 0x00000000 +/*line: 124*/ FF1 = 0x4000, // 0x00004000 +/*line: 125*/ BSDELAY = 0x8000, // 0x00008000 +/*line: 126*/ BS0 = 0x0, // 0x00000000 +/*line: 127*/ BS1 = 0x8000, // 0x00008000 +/*line: 128*/ CRTBS = 0x10000, // 0x00010000 +/*line: 129*/ PRTERA = 0x20000, // 0x00020000 +/*line: 130*/ CRTERA = 0x40000, // 0x00040000 +/*line: 131*/ TILDE = 0x80000, // 0x00080000 +/*line: 132*/ MDMBUF = 0x100000, // 0x00100000 +/*line: 133*/ LITOUT = 0x200000, // 0x00200000 +/*line: 134*/ TOSTOP = 0x400000, // 0x00400000 +/*line: 135*/ FLUSHO = 0x800000, // 0x00800000 +/*line: 136*/ NOHANG = 0x1000000, // 0x01000000 +/*line: 137*/ L001000 = 0x2000000, // 0x02000000 +/*line: 138*/ CRTKIL = 0x4000000, // 0x04000000 +/*line: 139*/ PASS8 = 0x8000000, // 0x08000000 +/*line: 140*/ CTLECH = 0x10000000, // 0x10000000 +/*line: 141*/ PENDIN = 0x20000000, // 0x20000000 +/*line: 142*/ DECCTQ = 0x40000000, // 0x40000000 +/*line: 143*/ NOFLSH = 0x80000000, // 0x80000000 +}; + +enum macro_line_control_flags { +/*line: 203*/ LCRTBS = 0x1, // 0x0001 +/*line: 204*/ LPRTERA = 0x2, // 0x0002 +/*line: 205*/ LCRTERA = 0x4, // 0x0004 +/*line: 206*/ LTILDE = 0x8, // 0x0008 +/*line: 207*/ LMDMBUF = 0x10, // 0x0010 +/*line: 208*/ LLITOUT = 0x20, // 0x0020 +/*line: 209*/ LTOSTOP = 0x40, // 0x0040 +/*line: 210*/ LFLUSHO = 0x80, // 0x0080 +/*line: 211*/ LNOHANG = 0x100, // 0x0100 +/*line: 212*/ LL001000 = 0x200, // 0x0200 +/*line: 213*/ LCRTKIL = 0x400, // 0x0400 +/*line: 214*/ LPASS8 = 0x800, // 0x0800 +/*line: 215*/ LCTLECH = 0x1000, // 0x1000 +/*line: 216*/ LPENDIN = 0x2000, // 0x2000 +/*line: 217*/ LDECCTQ = 0x4000, // 0x4000 +/*line: 218*/ LNOFLSH = 0x8000, // 0x8000 +}; + +// Depends on identifiers +enum macro_rex_identifiers { +/*line: 220*/ REXPROG = 0x186b1, // ((rpc_uint)100017) +/*line: 221*/ REXVERS = 0x1, // ((rpc_uint)1) +}; + +// Depends on identifiers +enum macro_rex_procedure { +/*line: 241*/ REXPROC_START = 0x1, // ((rpc_uint)1) +/*line: 244*/ REXPROC_WAIT = 0x2, // ((rpc_uint)2) +/*line: 247*/ REXPROC_MODES = 0x3, // ((rpc_uint)3) +/*line: 250*/ REXPROC_WINCH = 0x4, // ((rpc_uint)4) +/*line: 253*/ REXPROC_SIGNAL = 0x5, // ((rpc_uint)5) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/rnusers.h b/macrodefs_enums/ios/rpcsvc/rnusers.h new file mode 100644 index 000000000..42b7c8317 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/rnusers.h @@ -0,0 +1,27 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/rnusers.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_rusers_version { +/* + * The following structures are used by version 2 of the rusersd protocol. + * They were not developed with rpcgen, so they do not appear as RPCL. + */ +/*line: 18*/ RUSERSVERS_ORIG = 0x1, /* original version */ // 1 +/*line: 19*/ RUSERSVERS_IDLE = 0x2, // 2 +/*line: 20*/ MAXUSERS = 0x64, // 100 +}; + +// Depends on identifiers +enum macro_rpc_constants { +/*line: 53*/ RUSERSVERS_1 = 0x1, // ((rpc_uint)1) +/*line: 54*/ RUSERSVERS_2 = 0x2, // ((rpc_uint)2) +/*line: 56*/ RUSERSPROG = 0x186a2, // ((rpc_uint)100002) +/*line: 59*/ RUSERSPROC_NUM = 0x1, // ((rpc_uint)1) +/*line: 62*/ RUSERSPROC_NAMES = 0x2, // ((rpc_uint)2) +/*line: 65*/ RUSERSPROC_ALLNAMES = 0x3, // ((rpc_uint)3) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/rquota.h b/macrodefs_enums/ios/rpcsvc/rquota.h new file mode 100644 index 000000000..5bf13848d --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/rquota.h @@ -0,0 +1,23 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/rquota.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +enum macro_path_length { +/*line: 13*/ RQ_PATHLEN = 0x400, // 1024 +}; + +// Depends on identifiers +enum macro_rpc_quota { +/*line: 82*/ RQUOTAPROG = 0x186ab, // ((rpc_uint)100011) +/*line: 83*/ RQUOTAVERS = 0x1, // ((rpc_uint)1) +}; + +// Depends on identifiers +enum macro_rpc_quota_operation { +/*line: 94*/ RQUOTAPROC_GETQUOTA = 0x1, // ((rpc_uint)1) +/*line: 97*/ RQUOTAPROC_GETACTIVEQUOTA = 0x2, // ((rpc_uint)2) +}; + diff --git a/macrodefs_enums/ios/rpcsvc/rstat.h b/macrodefs_enums/ios/rpcsvc/rstat.h new file mode 100644 index 000000000..2230d9f71 --- /dev/null +++ b/macrodefs_enums/ios/rpcsvc/rstat.h @@ -0,0 +1,35 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/rpcsvc/rstat.h + +enum macro_rpcgen_version { +/*line: 9*/ RPCGEN_VERSION = 0x30b52, // 199506 +}; + +// Depends on identifiers +enum macro_load_average_scale { +/* + * Scale factor for scaled integers used to count load averages. + */ +/*line: 17*/ FSHIFT = 0x8, /* bits to right of fixed binary point */ // 8 +/*line: 18*/ FSCALE = 0x100, // (1< +**
  • [[SQLITE_FCNTL_LOCKSTATE]] +** The [SQLITE_FCNTL_LOCKSTATE] opcode is used for debugging. This +** opcode causes the xFileControl method to write the current state of +** the lock (one of [SQLITE_LOCK_NONE], [SQLITE_LOCK_SHARED], +** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE]) +** into an integer that the pArg argument points to. +** This capability is only available if SQLite is compiled with [SQLITE_DEBUG]. +** +**
  • [[SQLITE_FCNTL_SIZE_HINT]] +** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS +** layer a hint of how large the database file will grow to be during the +** current transaction. This hint is not guaranteed to be accurate but it +** is often close. The underlying VFS might choose to preallocate database +** file space based on this hint in order to help writes to the database +** file run faster. +** +**
  • [[SQLITE_FCNTL_SIZE_LIMIT]] +** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that +** implements [sqlite3_deserialize()] to set an upper bound on the size +** of the in-memory database. The argument is a pointer to a [sqlite3_int64]. +** If the integer pointed to is negative, then it is filled in with the +** current limit. Otherwise the limit is set to the larger of the value +** of the integer pointed to and the current database size. The integer +** pointed to is set to the new limit. +** +**
  • [[SQLITE_FCNTL_CHUNK_SIZE]] +** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS +** extends and truncates the database file in chunks of a size specified +** by the user. The fourth argument to [sqlite3_file_control()] should +** point to an integer (type int) containing the new chunk-size to use +** for the nominated database. Allocating database file space in large +** chunks (say 1MB at a time), may reduce file-system fragmentation and +** improve performance on some systems. +** +**
  • [[SQLITE_FCNTL_FILE_POINTER]] +** The [SQLITE_FCNTL_FILE_POINTER] opcode is used to obtain a pointer +** to the [sqlite3_file] object associated with a particular database +** connection. See also [SQLITE_FCNTL_JOURNAL_POINTER]. +** +**
  • [[SQLITE_FCNTL_JOURNAL_POINTER]] +** The [SQLITE_FCNTL_JOURNAL_POINTER] opcode is used to obtain a pointer +** to the [sqlite3_file] object associated with the journal file (either +** the [rollback journal] or the [write-ahead log]) for a particular database +** connection. See also [SQLITE_FCNTL_FILE_POINTER]. +** +**
  • [[SQLITE_FCNTL_SYNC_OMITTED]] +** No longer in use. +** +**
  • [[SQLITE_FCNTL_SYNC]] +** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and +** sent to the VFS immediately before the xSync method is invoked on a +** database file descriptor. Or, if the xSync method is not invoked +** because the user has configured SQLite with +** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place +** of the xSync method. In most cases, the pointer argument passed with +** this file-control is NULL. However, if the database file is being synced +** as part of a multi-database commit, the argument points to a nul-terminated +** string containing the transactions super-journal file name. VFSes that +** do not need this signal should silently ignore this opcode. Applications +** should not call [sqlite3_file_control()] with this opcode as doing so may +** disrupt the operation of the specialized VFSes that do require it. +** +**
  • [[SQLITE_FCNTL_COMMIT_PHASETWO]] +** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite +** and sent to the VFS after a transaction has been committed immediately +** but before the database is unlocked. VFSes that do not need this signal +** should silently ignore this opcode. Applications should not call +** [sqlite3_file_control()] with this opcode as doing so may disrupt the +** operation of the specialized VFSes that do require it. +** +**
  • [[SQLITE_FCNTL_WIN32_AV_RETRY]] +** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic +** retry counts and intervals for certain disk I/O operations for the +** windows [VFS] in order to provide robustness in the presence of +** anti-virus programs. By default, the windows VFS will retry file read, +** file write, and file delete operations up to 10 times, with a delay +** of 25 milliseconds before the first retry and with the delay increasing +** by an additional 25 milliseconds with each subsequent retry. This +** opcode allows these two values (10 retries and 25 milliseconds of delay) +** to be adjusted. The values are changed for all database connections +** within the same process. The argument is a pointer to an array of two +** integers where the first integer is the new retry count and the second +** integer is the delay. If either integer is negative, then the setting +** is not changed but instead the prior value of that setting is written +** into the array entry, allowing the current retry settings to be +** interrogated. The zDbName parameter is ignored. +** +**
  • [[SQLITE_FCNTL_PERSIST_WAL]] +** ^The [SQLITE_FCNTL_PERSIST_WAL] opcode is used to set or query the +** persistent [WAL | Write Ahead Log] setting. By default, the auxiliary +** write ahead log ([WAL file]) and shared memory +** files used for transaction control +** are automatically deleted when the latest connection to the database +** closes. Setting persistent WAL mode causes those files to persist after +** close. Persisting the files is useful when other processes that do not +** have write permission on the directory containing the database file want +** to read the database file, as the WAL and shared memory files must exist +** in order for the database to be readable. The fourth parameter to +** [sqlite3_file_control()] for this opcode should be a pointer to an integer. +** That integer is 0 to disable persistent WAL mode or 1 to enable persistent +** WAL mode. If the integer is -1, then it is overwritten with the current +** WAL persistence setting. +** +**
  • [[SQLITE_FCNTL_POWERSAFE_OVERWRITE]] +** ^The [SQLITE_FCNTL_POWERSAFE_OVERWRITE] opcode is used to set or query the +** persistent "powersafe-overwrite" or "PSOW" setting. The PSOW setting +** determines the [SQLITE_IOCAP_POWERSAFE_OVERWRITE] bit of the +** xDeviceCharacteristics methods. The fourth parameter to +** [sqlite3_file_control()] for this opcode should be a pointer to an integer. +** That integer is 0 to disable zero-damage mode or 1 to enable zero-damage +** mode. If the integer is -1, then it is overwritten with the current +** zero-damage mode setting. +** +**
  • [[SQLITE_FCNTL_OVERWRITE]] +** ^The [SQLITE_FCNTL_OVERWRITE] opcode is invoked by SQLite after opening +** a write transaction to indicate that, unless it is rolled back for some +** reason, the entire database file will be overwritten by the current +** transaction. This is used by VACUUM operations. +** +**
  • [[SQLITE_FCNTL_VFSNAME]] +** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of +** all [VFSes] in the VFS stack. The names are of all VFS shims and the +** final bottom-level VFS are written into memory obtained from +** [sqlite3_malloc()] and the result is stored in the char* variable +** that the fourth parameter of [sqlite3_file_control()] points to. +** The caller is responsible for freeing the memory when done. As with +** all file-control actions, there is no guarantee that this will actually +** do anything. Callers should initialize the char* variable to a NULL +** pointer in case this file-control is not implemented. This file-control +** is intended for diagnostic use only. +** +**
  • [[SQLITE_FCNTL_VFS_POINTER]] +** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level +** [VFSes] currently in use. ^(The argument X in +** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be +** of type "[sqlite3_vfs] **". This opcodes will set *X +** to a pointer to the top-level VFS.)^ +** ^When there are multiple VFS shims in the stack, this opcode finds the +** upper-most shim only. +** +**
  • [[SQLITE_FCNTL_PRAGMA]] +** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA] +** file control is sent to the open [sqlite3_file] object corresponding +** to the database file to which the pragma statement refers. ^The argument +** to the [SQLITE_FCNTL_PRAGMA] file control is an array of +** pointers to strings (char**) in which the second element of the array +** is the name of the pragma and the third element is the argument to the +** pragma or NULL if the pragma has no argument. ^The handler for an +** [SQLITE_FCNTL_PRAGMA] file control can optionally make the first element +** of the char** argument point to a string obtained from [sqlite3_mprintf()] +** or the equivalent and that string will become the result of the pragma or +** the error message if the pragma fails. ^If the +** [SQLITE_FCNTL_PRAGMA] file control returns [SQLITE_NOTFOUND], then normal +** [PRAGMA] processing continues. ^If the [SQLITE_FCNTL_PRAGMA] +** file control returns [SQLITE_OK], then the parser assumes that the +** VFS has handled the PRAGMA itself and the parser generates a no-op +** prepared statement if result string is NULL, or that returns a copy +** of the result string if the string is non-NULL. +** ^If the [SQLITE_FCNTL_PRAGMA] file control returns +** any result code other than [SQLITE_OK] or [SQLITE_NOTFOUND], that means +** that the VFS encountered an error while handling the [PRAGMA] and the +** compilation of the PRAGMA fails with an error. ^The [SQLITE_FCNTL_PRAGMA] +** file control occurs at the beginning of pragma statement analysis and so +** it is able to override built-in [PRAGMA] statements. +** +**
  • [[SQLITE_FCNTL_BUSYHANDLER]] +** ^The [SQLITE_FCNTL_BUSYHANDLER] +** file-control may be invoked by SQLite on the database file handle +** shortly after it is opened in order to provide a custom VFS with access +** to the connection's busy-handler callback. The argument is of type (void**) +** - an array of two (void *) values. The first (void *) actually points +** to a function of type (int (*)(void *)). In order to invoke the connection's +** busy-handler, this function should be invoked with the second (void *) in +** the array as the only argument. If it returns non-zero, then the operation +** should be retried. If it returns zero, the custom VFS should abandon the +** current operation. +** +**
  • [[SQLITE_FCNTL_TEMPFILENAME]] +** ^Applications can invoke the [SQLITE_FCNTL_TEMPFILENAME] file-control +** to have SQLite generate a +** temporary filename using the same algorithm that is followed to generate +** temporary filenames for TEMP tables and other internal uses. The +** argument should be a char** which will be filled with the filename +** written into memory obtained from [sqlite3_malloc()]. The caller should +** invoke [sqlite3_free()] on the result to avoid a memory leak. +** +**
  • [[SQLITE_FCNTL_MMAP_SIZE]] +** The [SQLITE_FCNTL_MMAP_SIZE] file control is used to query or set the +** maximum number of bytes that will be used for memory-mapped I/O. +** The argument is a pointer to a value of type sqlite3_int64 that +** is an advisory maximum number of bytes in the file to memory map. The +** pointer is overwritten with the old value. The limit is not changed if +** the value originally pointed to is negative, and so the current limit +** can be queried by passing in a pointer to a negative number. This +** file-control is used internally to implement [PRAGMA mmap_size]. +** +**
  • [[SQLITE_FCNTL_TRACE]] +** The [SQLITE_FCNTL_TRACE] file control provides advisory information +** to the VFS about what the higher layers of the SQLite stack are doing. +** This file control is used by some VFS activity tracing [shims]. +** The argument is a zero-terminated string. Higher layers in the +** SQLite stack may generate instances of this file control if +** the [SQLITE_USE_FCNTL_TRACE] compile-time option is enabled. +** +**
  • [[SQLITE_FCNTL_HAS_MOVED]] +** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a +** pointer to an integer and it writes a boolean into that integer depending +** on whether or not the file has been renamed, moved, or deleted since it +** was first opened. +** +**
  • [[SQLITE_FCNTL_WIN32_GET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_GET_HANDLE] opcode can be used to obtain the +** underlying native file handle associated with a file handle. This file +** control interprets its argument as a pointer to a native file handle and +** writes the resulting value there. +** +**
  • [[SQLITE_FCNTL_WIN32_SET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_SET_HANDLE] opcode is used for debugging. This +** opcode causes the xFileControl method to swap the file handle with the one +** pointed to by the pArg argument. This capability is used during testing +** and only needs to be supported when SQLITE_TEST is defined. +** +**
  • [[SQLITE_FCNTL_WAL_BLOCK]] +** The [SQLITE_FCNTL_WAL_BLOCK] is a signal to the VFS layer that it might +** be advantageous to block on the next WAL lock if the lock is not immediately +** available. The WAL subsystem issues this signal during rare +** circumstances in order to fix a problem with priority inversion. +** Applications should not use this file-control. +** +**
  • [[SQLITE_FCNTL_ZIPVFS]] +** The [SQLITE_FCNTL_ZIPVFS] opcode is implemented by zipvfs only. All other +** VFS should return SQLITE_NOTFOUND for this opcode. +** +**
  • [[SQLITE_FCNTL_RBU]] +** The [SQLITE_FCNTL_RBU] opcode is implemented by the special VFS used by +** the RBU extension only. All other VFS should return SQLITE_NOTFOUND for +** this opcode. +** +**
  • [[SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]] +** If the [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] opcode returns SQLITE_OK, then +** the file descriptor is placed in "batch write mode", which +** means all subsequent write operations will be deferred and done +** atomically at the next [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. Systems +** that do not support batch atomic writes will return SQLITE_NOTFOUND. +** ^Following a successful SQLITE_FCNTL_BEGIN_ATOMIC_WRITE and prior to +** the closing [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] or +** [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE], SQLite will make +** no VFS interface calls on the same [sqlite3_file] file descriptor +** except for calls to the xWrite method and the xFileControl method +** with [SQLITE_FCNTL_SIZE_HINT]. +** +**
  • [[SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]] +** The [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] opcode causes all write +** operations since the previous successful call to +** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be performed atomically. +** This file control returns [SQLITE_OK] if and only if the writes were +** all performed successfully and have been committed to persistent storage. +** ^Regardless of whether or not it is successful, this file control takes +** the file descriptor out of batch write mode so that all subsequent +** write operations are independent. +** ^SQLite will never invoke SQLITE_FCNTL_COMMIT_ATOMIC_WRITE without +** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE]] +** The [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE] opcode causes all write +** operations since the previous successful call to +** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be rolled back. +** ^This file control takes the file descriptor out of batch write mode +** so that all subsequent write operations are independent. +** ^SQLite will never invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE without +** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_LOCK_TIMEOUT]] +** The [SQLITE_FCNTL_LOCK_TIMEOUT] opcode is used to configure a VFS +** to block for up to M milliseconds before failing when attempting to +** obtain a file lock using the xLock or xShmLock methods of the VFS. +** The parameter is a pointer to a 32-bit signed integer that contains +** the value that M is to be set to. Before returning, the 32-bit signed +** integer is overwritten with the previous value of M. +** +**
  • [[SQLITE_FCNTL_DATA_VERSION]] +** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to +** a database file. The argument is a pointer to a 32-bit unsigned integer. +** The "data version" for the pager is written into the pointer. The +** "data version" changes whenever any change occurs to the corresponding +** database file, either through SQL statements on the same database +** connection or through transactions committed by separate database +** connections possibly in other processes. The [sqlite3_total_changes()] +** interface can be used to find if any database on the connection has changed, +** but that interface responds to changes on TEMP as well as MAIN and does +** not provide a mechanism to detect changes to MAIN only. Also, the +** [sqlite3_total_changes()] interface responds to internal changes only and +** omits changes made by other database connections. The +** [PRAGMA data_version] command provides a mechanism to detect changes to +** a single attached database that occur due to other database connections, +** but omits changes implemented by the database connection on which it is +** called. This file control is the only mechanism to detect changes that +** happen either internally or externally and that are associated with +** a particular attached database. +** +**
  • [[SQLITE_FCNTL_CKPT_START]] +** The [SQLITE_FCNTL_CKPT_START] opcode is invoked from within a checkpoint +** in wal mode before the client starts to copy pages from the wal +** file to the database file. +** +**
  • [[SQLITE_FCNTL_CKPT_DONE]] +** The [SQLITE_FCNTL_CKPT_DONE] opcode is invoked from within a checkpoint +** in wal mode after the client has finished copying pages from the wal +** file to the database file, but before the *-shm file is updated to +** record the fact that the pages have been checkpointed. +** +**
  • [[SQLITE_FCNTL_EXTERNAL_READER]] +** The EXPERIMENTAL [SQLITE_FCNTL_EXTERNAL_READER] opcode is used to detect +** whether or not there is a database client in another process with a wal-mode +** transaction open on the database or not. It is only available on unix.The +** (void*) argument passed with this file-control should be a pointer to a +** value of type (int). The integer value is set to 1 if the database is a wal +** mode database and there exists at least one client in another process that +** currently has an SQL transaction open on the database. It is set to 0 if +** the database is not a wal-mode db, or if there is no such connection in any +** other process. This opcode cannot be used to detect transactions opened +** by clients within the current process, only within other processes. +** +**
  • [[SQLITE_FCNTL_CKSM_FILE]] +** The [SQLITE_FCNTL_CKSM_FILE] opcode is for use internally by the +** [checksum VFS shim] only. +** +**
  • [[SQLITE_FCNTL_RESET_CACHE]] +** If there is currently no transaction open on the database, and the +** database is not a temp db, then the [SQLITE_FCNTL_RESET_CACHE] file-control +** purges the contents of the in-memory page cache. If there is an open +** transaction, or if the db is a temp-db, this opcode is a no-op, not an error. +** +*/ +/*line: 1216*/ SQLITE_FCNTL_LOCKSTATE = 0x1, // 1 +/*line: 1217*/ SQLITE_FCNTL_GET_LOCKPROXYFILE = 0x2, // 2 +/*line: 1218*/ SQLITE_FCNTL_SET_LOCKPROXYFILE = 0x3, // 3 +/*line: 1219*/ SQLITE_FCNTL_LAST_ERRNO = 0x4, // 4 +/*line: 1220*/ SQLITE_FCNTL_SIZE_HINT = 0x5, // 5 +/*line: 1221*/ SQLITE_FCNTL_CHUNK_SIZE = 0x6, // 6 +/*line: 1222*/ SQLITE_FCNTL_FILE_POINTER = 0x7, // 7 +/*line: 1223*/ SQLITE_FCNTL_SYNC_OMITTED = 0x8, // 8 +/*line: 1224*/ SQLITE_FCNTL_WIN32_AV_RETRY = 0x9, // 9 +/*line: 1225*/ SQLITE_FCNTL_PERSIST_WAL = 0xa, // 10 +/*line: 1226*/ SQLITE_FCNTL_OVERWRITE = 0xb, // 11 +/*line: 1227*/ SQLITE_FCNTL_VFSNAME = 0xc, // 12 +/*line: 1228*/ SQLITE_FCNTL_POWERSAFE_OVERWRITE = 0xd, // 13 +/*line: 1229*/ SQLITE_FCNTL_PRAGMA = 0xe, // 14 +/*line: 1230*/ SQLITE_FCNTL_BUSYHANDLER = 0xf, // 15 +/*line: 1231*/ SQLITE_FCNTL_TEMPFILENAME = 0x10, // 16 +/*line: 1232*/ SQLITE_FCNTL_MMAP_SIZE = 0x12, // 18 +/*line: 1233*/ SQLITE_FCNTL_TRACE = 0x13, // 19 +/*line: 1234*/ SQLITE_FCNTL_HAS_MOVED = 0x14, // 20 +/*line: 1235*/ SQLITE_FCNTL_SYNC = 0x15, // 21 +/*line: 1236*/ SQLITE_FCNTL_COMMIT_PHASETWO = 0x16, // 22 +/*line: 1237*/ SQLITE_FCNTL_WIN32_SET_HANDLE = 0x17, // 23 +/*line: 1238*/ SQLITE_FCNTL_WAL_BLOCK = 0x18, // 24 +/*line: 1239*/ SQLITE_FCNTL_ZIPVFS = 0x19, // 25 +/*line: 1240*/ SQLITE_FCNTL_RBU = 0x1a, // 26 +/*line: 1241*/ SQLITE_FCNTL_VFS_POINTER = 0x1b, // 27 +/*line: 1242*/ SQLITE_FCNTL_JOURNAL_POINTER = 0x1c, // 28 +/*line: 1243*/ SQLITE_FCNTL_WIN32_GET_HANDLE = 0x1d, // 29 +/*line: 1244*/ SQLITE_FCNTL_PDB = 0x1e, // 30 +/*line: 1245*/ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 0x1f, // 31 +/*line: 1246*/ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 0x20, // 32 +/*line: 1247*/ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 0x21, // 33 +/*line: 1248*/ SQLITE_FCNTL_LOCK_TIMEOUT = 0x22, // 34 +/*line: 1249*/ SQLITE_FCNTL_DATA_VERSION = 0x23, // 35 +/*line: 1250*/ SQLITE_FCNTL_SIZE_LIMIT = 0x24, // 36 +/*line: 1251*/ SQLITE_FCNTL_CKPT_DONE = 0x25, // 37 +/*line: 1252*/ SQLITE_FCNTL_RESERVE_BYTES = 0x26, // 38 +/*line: 1253*/ SQLITE_FCNTL_CKPT_START = 0x27, // 39 +/*line: 1254*/ SQLITE_FCNTL_EXTERNAL_READER = 0x28, // 40 +/*line: 1255*/ SQLITE_FCNTL_CKSM_FILE = 0x29, // 41 +/*line: 1256*/ SQLITE_FCNTL_RESET_CACHE = 0x2a, // 42 +}; + +// Depends on identifiers +enum macro_fcntl_options { +/* deprecated names */ +/*line: 1259*/ SQLITE_GET_LOCKPROXYFILE = 0x2, // SQLITE_FCNTL_GET_LOCKPROXYFILE +/*line: 1260*/ SQLITE_SET_LOCKPROXYFILE = 0x3, // SQLITE_FCNTL_SET_LOCKPROXYFILE +/*line: 1261*/ SQLITE_LAST_ERRNO = 0x4, // SQLITE_FCNTL_LAST_ERRNO +}; + +enum macro_access_flags { +/* +** CAPI3REF: Flags for the xAccess VFS method +** +** These integer constants can be used as the third parameter to +** the xAccess method of an [sqlite3_vfs] object. They determine +** what kind of permissions the xAccess method is looking for. +** With SQLITE_ACCESS_EXISTS, the xAccess method +** simply checks whether the file exists. +** With SQLITE_ACCESS_READWRITE, the xAccess method +** checks whether the named directory is both readable and writable +** (in other words, if files can be added, removed, and renamed within +** the directory). +** The SQLITE_ACCESS_READWRITE constant is currently used only by the +** [temp_store_directory pragma], though this could change in a future +** release of SQLite. +** With SQLITE_ACCESS_READ, the xAccess method +** checks whether the file is readable. The SQLITE_ACCESS_READ constant is +** currently unused, though it might be used in a future release of +** SQLite. +*/ +/*line: 1536*/ SQLITE_ACCESS_EXISTS = 0x0, // 0 +/*line: 1537*/ SQLITE_ACCESS_READWRITE = 0x1, /* Used by PRAGMA temp_store_directory */ // 1 +/*line: 1538*/ SQLITE_ACCESS_READ = 0x2, /* Unused */ // 2 +}; + +enum macro_shm_lock_flags { +/* +** CAPI3REF: Flags for the xShmLock VFS method +** +** These integer constants define the various locking operations +** allowed by the xShmLock method of [sqlite3_io_methods]. The +** following are the only legal combinations of flags to the +** xShmLock method: +** +**
      +**
    • SQLITE_SHM_LOCK | SQLITE_SHM_SHARED +**
    • SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE +**
    • SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED +**
    • SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE +**
    +** +** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as +** was given on the corresponding lock. +** +** The xShmLock method can transition between unlocked and SHARED or +** between unlocked and EXCLUSIVE. It cannot transition between SHARED +** and EXCLUSIVE. +*/ +/*line: 1562*/ SQLITE_SHM_UNLOCK = 0x1, // 1 +/*line: 1563*/ SQLITE_SHM_LOCK = 0x2, // 2 +/*line: 1564*/ SQLITE_SHM_SHARED = 0x4, // 4 +/*line: 1565*/ SQLITE_SHM_EXCLUSIVE = 0x8, // 8 +}; + +enum macro_sqlite_shm_nlock { +/* +** CAPI3REF: Maximum xShmLock index +** +** The xShmLock method on [sqlite3_io_methods] may use values +** between 0 and this upper bound as its "offset" argument. +** The SQLite core will never attempt to acquire or release a +** lock outside of this range +*/ +/*line: 1575*/ SQLITE_SHM_NLOCK = 0x8, // 8 +}; + +enum macro_sqlite_config { +/* +** CAPI3REF: Configuration Options +** KEYWORDS: {configuration option} +** +** These constants are the available integer configuration options that +** can be passed as the first argument to the [sqlite3_config()] interface. +** +** Most of the configuration options for sqlite3_config() +** will only work if invoked prior to [sqlite3_initialize()] or after +** [sqlite3_shutdown()]. The few exceptions to this rule are called +** "anytime configuration options". +** ^Calling [sqlite3_config()] with a first argument that is not an +** anytime configuration option in between calls to [sqlite3_initialize()] and +** [sqlite3_shutdown()] is a no-op that returns SQLITE_MISUSE. +** +** The set of anytime configuration options can change (by insertions +** and/or deletions) from one release of SQLite to the next. +** As of SQLite version 3.42.0, the complete set of anytime configuration +** options is: +**
      +**
    • SQLITE_CONFIG_LOG +**
    • SQLITE_CONFIG_PCACHE_HDRSZ +**
    +** +** New configuration options may be added in future releases of SQLite. +** Existing configuration options might be discontinued. Applications +** should check the return code from [sqlite3_config()] to make sure that +** the call worked. The [sqlite3_config()] interface will return a +** non-zero [error code] if a discontinued or unsupported configuration option +** is invoked. +** +**
    +** [[SQLITE_CONFIG_SINGLETHREAD]]
    SQLITE_CONFIG_SINGLETHREAD
    +**
    The system-provided library does not support single-threaded behaviour +** and [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_SINGLETHREAD configuration option.
    +** +** [[SQLITE_CONFIG_MULTITHREAD]]
    SQLITE_CONFIG_MULTITHREAD
    +**
    There are no arguments to this option. ^This option sets the +** [threading mode] to Multi-thread. In other words, it disables +** mutexing on [database connection] and [prepared statement] objects. +** The application is responsible for serializing access to +** [database connections] and [prepared statements]. But other mutexes +** are enabled so that SQLite will be safe to use in a multi-threaded +** environment as long as no two threads attempt to use the same +** [database connection] at the same time. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to set the Multi-thread [threading mode] and +** [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_MULTITHREAD configuration option.
    +** +** [[SQLITE_CONFIG_SERIALIZED]]
    SQLITE_CONFIG_SERIALIZED
    +**
    There are no arguments to this option. ^This option sets the +** [threading mode] to Serialized. In other words, this option enables +** all mutexes including the recursive +** mutexes on [database connection] and [prepared statement] objects. +** In this mode (which is the default when SQLite is compiled with +** [SQLITE_THREADSAFE=1]) the SQLite library will itself serialize access +** to [database connections] and [prepared statements] so that the +** application is free to use the same [database connection] or the +** same [prepared statement] in different threads at the same time. +** ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to set the Serialized [threading mode] and +** [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_SERIALIZED configuration option.
    +** +** [[SQLITE_CONFIG_MALLOC]]
    SQLITE_CONFIG_MALLOC
    +**
    ^(The SQLITE_CONFIG_MALLOC option takes a single argument which is +** a pointer to an instance of the [sqlite3_mem_methods] structure. +** The argument specifies +** alternative low-level memory allocation routines to be used in place of +** the memory allocation routines built into SQLite.)^ ^SQLite makes +** its own private copy of the content of the [sqlite3_mem_methods] structure +** before the [sqlite3_config()] call returns.
    +** +** [[SQLITE_CONFIG_GETMALLOC]]
    SQLITE_CONFIG_GETMALLOC
    +**
    ^(The SQLITE_CONFIG_GETMALLOC option takes a single argument which +** is a pointer to an instance of the [sqlite3_mem_methods] structure. +** The [sqlite3_mem_methods] +** structure is filled with the currently defined memory allocation routines.)^ +** This option can be used to overload the default memory allocation +** routines with a wrapper that simulations memory allocation failure or +** tracks memory usage, for example.
    +** +** [[SQLITE_CONFIG_SMALL_MALLOC]]
    SQLITE_CONFIG_SMALL_MALLOC
    +**
    ^The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of +** type int, interpreted as a boolean, which if true provides a hint to +** SQLite that it should avoid large memory allocations if possible. +** SQLite will run faster if it is free to make large memory allocations, +** but some application might prefer to run slower in exchange for +** guarantees about memory fragmentation that are possible if large +** allocations are avoided. This hint is normally off. +**
    +** +** [[SQLITE_CONFIG_MEMSTATUS]]
    SQLITE_CONFIG_MEMSTATUS
    +**
    ^The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int, +** interpreted as a boolean, which enables or disables the collection of +** memory allocation statistics. ^(When memory allocation statistics are +** disabled, the following SQLite interfaces become non-operational: +**
      +**
    • [sqlite3_memory_used()] +**
    • [sqlite3_memory_highwater()] +**
    • [sqlite3_soft_heap_limit64()] +**
    • [sqlite3_status64()] +**
    )^ +** ^Memory allocation statistics are enabled by default unless SQLite is +** compiled with [SQLITE_DEFAULT_MEMSTATUS]=0 in which case memory +** allocation statistics are disabled by default. +**
    +** +** [[SQLITE_CONFIG_SCRATCH]]
    SQLITE_CONFIG_SCRATCH
    +**
    The SQLITE_CONFIG_SCRATCH option is no longer used. +**
    +** +** [[SQLITE_CONFIG_PAGECACHE]]
    SQLITE_CONFIG_PAGECACHE
    +**
    ^The SQLITE_CONFIG_PAGECACHE option specifies a memory pool +** that SQLite can use for the database page cache with the default page +** cache implementation. +** This configuration option is a no-op if an application-defined page +** cache implementation is loaded using the [SQLITE_CONFIG_PCACHE2]. +** ^There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to +** 8-byte aligned memory (pMem), the size of each page cache line (sz), +** and the number of cache lines (N). +** The sz argument should be the size of the largest database page +** (a power of two between 512 and 65536) plus some extra bytes for each +** page header. ^The number of extra bytes needed by the page header +** can be determined using [SQLITE_CONFIG_PCACHE_HDRSZ]. +** ^It is harmless, apart from the wasted memory, +** for the sz parameter to be larger than necessary. The pMem +** argument must be either a NULL pointer or a pointer to an 8-byte +** aligned block of memory of at least sz*N bytes, otherwise +** subsequent behavior is undefined. +** ^When pMem is not NULL, SQLite will strive to use the memory provided +** to satisfy page cache needs, falling back to [sqlite3_malloc()] if +** a page cache line is larger than sz bytes or if all of the pMem buffer +** is exhausted. +** ^If pMem is NULL and N is non-zero, then each database connection +** does an initial bulk allocation for page cache memory +** from [sqlite3_malloc()] sufficient for N cache lines if N is positive or +** of -1024*N bytes if N is negative, . ^If additional +** page cache memory is needed beyond what is provided by the initial +** allocation, then SQLite goes to [sqlite3_malloc()] separately for each +** additional cache line.
    +** +** [[SQLITE_CONFIG_HEAP]]
    SQLITE_CONFIG_HEAP
    +**
    ^The SQLITE_CONFIG_HEAP option specifies a static memory buffer +** that SQLite will use for all of its dynamic memory allocation needs +** beyond those provided for by [SQLITE_CONFIG_PAGECACHE]. +** ^The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled +** with either [SQLITE_ENABLE_MEMSYS3] or [SQLITE_ENABLE_MEMSYS5] and returns +** [SQLITE_ERROR] if invoked otherwise. +** ^There are three arguments to SQLITE_CONFIG_HEAP: +** An 8-byte aligned pointer to the memory, +** the number of bytes in the memory buffer, and the minimum allocation size. +** ^If the first pointer (the memory pointer) is NULL, then SQLite reverts +** to using its default memory allocator (the system malloc() implementation), +** undoing any prior invocation of [SQLITE_CONFIG_MALLOC]. ^If the +** memory pointer is not NULL then the alternative memory +** allocator is engaged to handle all of SQLites memory allocation needs. +** The first pointer (the memory pointer) must be aligned to an 8-byte +** boundary or subsequent behavior of SQLite will be undefined. +** The minimum allocation size is capped at 2**12. Reasonable values +** for the minimum allocation size are 2**5 through 2**8.
    +** +** [[SQLITE_CONFIG_MUTEX]]
    SQLITE_CONFIG_MUTEX
    +**
    ^(The SQLITE_CONFIG_MUTEX option takes a single argument which is a +** pointer to an instance of the [sqlite3_mutex_methods] structure. +** The argument specifies alternative low-level mutex routines to be used +** in place the mutex routines built into SQLite.)^ ^SQLite makes a copy of +** the content of the [sqlite3_mutex_methods] structure before the call to +** [sqlite3_config()] returns. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** the entire mutexing subsystem is omitted from the build and hence calls to +** [sqlite3_config()] with the SQLITE_CONFIG_MUTEX configuration option will +** return [SQLITE_ERROR].
    +** +** [[SQLITE_CONFIG_GETMUTEX]]
    SQLITE_CONFIG_GETMUTEX
    +**
    ^(The SQLITE_CONFIG_GETMUTEX option takes a single argument which +** is a pointer to an instance of the [sqlite3_mutex_methods] structure. The +** [sqlite3_mutex_methods] +** structure is filled with the currently defined mutex routines.)^ +** This option can be used to overload the default mutex allocation +** routines with a wrapper used to track mutex usage for performance +** profiling or testing, for example. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** the entire mutexing subsystem is omitted from the build and hence calls to +** [sqlite3_config()] with the SQLITE_CONFIG_GETMUTEX configuration option will +** return [SQLITE_ERROR].
    +** +** [[SQLITE_CONFIG_LOOKASIDE]]
    SQLITE_CONFIG_LOOKASIDE
    +**
    ^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine +** the default size of lookaside memory on each [database connection]. +** The first argument is the +** size of each lookaside buffer slot and the second is the number of +** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE +** sets the default lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE] +** option to [sqlite3_db_config()] can be used to change the lookaside +** configuration on individual connections.)^
    +** +** [[SQLITE_CONFIG_PCACHE2]]
    SQLITE_CONFIG_PCACHE2
    +**
    ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is +** a pointer to an [sqlite3_pcache_methods2] object. This object specifies +** the interface to a custom page cache implementation.)^ +** ^SQLite makes a copy of the [sqlite3_pcache_methods2] object.
    +** +** [[SQLITE_CONFIG_GETPCACHE2]]
    SQLITE_CONFIG_GETPCACHE2
    +**
    ^(The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which +** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies of +** the current page cache implementation into that object.)^
    +** +** [[SQLITE_CONFIG_LOG]]
    SQLITE_CONFIG_LOG
    +**
    The SQLITE_CONFIG_LOG option is used to configure the SQLite +** global [error log]. +** (^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a +** function with a call signature of void(*)(void*,int,const char*), +** and a pointer to void. ^If the function pointer is not NULL, it is +** invoked by [sqlite3_log()] to process each logging event. ^If the +** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. +** ^The void pointer that is the second argument to SQLITE_CONFIG_LOG is +** passed through as the first parameter to the application-defined logger +** function whenever that function is invoked. ^The second parameter to +** the logger function is a copy of the first parameter to the corresponding +** [sqlite3_log()] call and is intended to be a [result code] or an +** [extended result code]. ^The third parameter passed to the logger is +** log message after formatting via [sqlite3_snprintf()]. +** The SQLite logging interface is not reentrant; the logger function +** supplied by the application must not invoke any SQLite interface. +** In a multi-threaded application, the application-defined logger +** function must be threadsafe.
    +** +** [[SQLITE_CONFIG_URI]]
    SQLITE_CONFIG_URI +**
    ^(The SQLITE_CONFIG_URI option takes a single argument of type int. +** If non-zero, then URI handling is globally enabled. If the parameter is zero, +** then URI handling is globally disabled.)^ ^If URI handling is globally +** enabled, all filenames passed to [sqlite3_open()], [sqlite3_open_v2()], +** [sqlite3_open16()] or +** specified as part of [ATTACH] commands are interpreted as URIs, regardless +** of whether or not the [SQLITE_OPEN_URI] flag is set when the database +** connection is opened. ^If it is globally disabled, filenames are +** only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the +** database connection is opened. ^(By default, URI handling is globally +** disabled. The default value may be changed by compiling with the +** [SQLITE_USE_URI] symbol defined.)^ +** +** [[SQLITE_CONFIG_COVERING_INDEX_SCAN]]
    SQLITE_CONFIG_COVERING_INDEX_SCAN +**
    ^The SQLITE_CONFIG_COVERING_INDEX_SCAN option takes a single integer +** argument which is interpreted as a boolean in order to enable or disable +** the use of covering indices for full table scans in the query optimizer. +** ^The default setting is determined +** by the [SQLITE_ALLOW_COVERING_INDEX_SCAN] compile-time option, or is "on" +** if that compile-time option is omitted. +** The ability to disable the use of covering indices for full table scans +** is because some incorrectly coded legacy applications might malfunction +** when the optimization is enabled. Providing the ability to +** disable the optimization allows the older, buggy application code to work +** without change even with newer versions of SQLite. +** +** [[SQLITE_CONFIG_PCACHE]] [[SQLITE_CONFIG_GETPCACHE]] +**
    SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE +**
    These options are obsolete and should not be used by new code. +** They are retained for backwards compatibility but are now no-ops. +**
    +** +** [[SQLITE_CONFIG_SQLLOG]] +**
    SQLITE_CONFIG_SQLLOG +**
    This option is only available if sqlite is compiled with the +** [SQLITE_ENABLE_SQLLOG] pre-processor macro defined. The first argument should +** be a pointer to a function of type void(*)(void*,sqlite3*,const char*, int). +** The second should be of type (void*). The callback is invoked by the library +** in three separate circumstances, identified by the value passed as the +** fourth parameter. If the fourth parameter is 0, then the database connection +** passed as the second argument has just been opened. The third argument +** points to a buffer containing the name of the main database file. If the +** fourth parameter is 1, then the SQL statement that the third parameter +** points to has just been executed. Or, if the fourth parameter is 2, then +** the connection being passed as the second parameter is being closed. The +** third parameter is passed NULL In this case. An example of using this +** configuration option can be seen in the "test_sqllog.c" source file in +** the canonical SQLite source tree.
    +** +** [[SQLITE_CONFIG_MMAP_SIZE]] +**
    SQLITE_CONFIG_MMAP_SIZE +**
    ^SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values +** that are the default mmap size limit (the default setting for +** [PRAGMA mmap_size]) and the maximum allowed mmap size limit. +** ^The default setting can be overridden by each database connection using +** either the [PRAGMA mmap_size] command, or by using the +** [SQLITE_FCNTL_MMAP_SIZE] file control. ^(The maximum allowed mmap size +** will be silently truncated if necessary so that it does not exceed the +** compile-time maximum mmap size set by the +** [SQLITE_MAX_MMAP_SIZE] compile-time option.)^ +** ^If either argument to this option is negative, then that argument is +** changed to its compile-time default. +** +** [[SQLITE_CONFIG_WIN32_HEAPSIZE]] +**
    SQLITE_CONFIG_WIN32_HEAPSIZE +**
    ^The SQLITE_CONFIG_WIN32_HEAPSIZE option is only available if SQLite is +** compiled for Windows with the [SQLITE_WIN32_MALLOC] pre-processor macro +** defined. ^SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value +** that specifies the maximum size of the created heap. +** +** [[SQLITE_CONFIG_PCACHE_HDRSZ]] +**
    SQLITE_CONFIG_PCACHE_HDRSZ +**
    ^The SQLITE_CONFIG_PCACHE_HDRSZ option takes a single parameter which +** is a pointer to an integer and writes into that integer the number of extra +** bytes per page required for each page in [SQLITE_CONFIG_PAGECACHE]. +** The amount of extra space required can change depending on the compiler, +** target platform, and SQLite version. +** +** [[SQLITE_CONFIG_PMASZ]] +**
    SQLITE_CONFIG_PMASZ +**
    ^The SQLITE_CONFIG_PMASZ option takes a single parameter which +** is an unsigned integer and sets the "Minimum PMA Size" for the multithreaded +** sorter to that integer. The default minimum PMA Size is set by the +** [SQLITE_SORTER_PMASZ] compile-time option. New threads are launched +** to help with sort operations when multithreaded sorting +** is enabled (using the [PRAGMA threads] command) and the amount of content +** to be sorted exceeds the page size times the minimum of the +** [PRAGMA cache_size] setting and this value. +** +** [[SQLITE_CONFIG_STMTJRNL_SPILL]] +**
    SQLITE_CONFIG_STMTJRNL_SPILL +**
    ^The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which +** becomes the [statement journal] spill-to-disk threshold. +** [Statement journals] are held in memory until their size (in bytes) +** exceeds this threshold, at which point they are written to disk. +** Or if the threshold is -1, statement journals are always held +** exclusively in memory. +** Since many statement journals never become large, setting the spill +** threshold to a value such as 64KiB can greatly reduce the amount of +** I/O required to support statement rollback. +** The default value for this setting is controlled by the +** [SQLITE_STMTJRNL_SPILL] compile-time option. +** +** [[SQLITE_CONFIG_SORTERREF_SIZE]] +**
    SQLITE_CONFIG_SORTERREF_SIZE +**
    The SQLITE_CONFIG_SORTERREF_SIZE option accepts a single parameter +** of type (int) - the new value of the sorter-reference size threshold. +** Usually, when SQLite uses an external sort to order records according +** to an ORDER BY clause, all fields required by the caller are present in the +** sorted records. However, if SQLite determines based on the declared type +** of a table column that its values are likely to be very large - larger +** than the configured sorter-reference size threshold - then a reference +** is stored in each sorted record and the required column values loaded +** from the database as records are returned in sorted order. The default +** value for this option is to never use this optimization. Specifying a +** negative value for this option restores the default behaviour. +** This option is only available if SQLite is compiled with the +** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option. +** +** [[SQLITE_CONFIG_MEMDB_MAXSIZE]] +**
    SQLITE_CONFIG_MEMDB_MAXSIZE +**
    The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter +** [sqlite3_int64] parameter which is the default maximum size for an in-memory +** database created using [sqlite3_deserialize()]. This default maximum +** size can be adjusted up or down for individual databases using the +** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If this +** configuration setting is never used, then the default maximum is determined +** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that +** compile-time option is not set, then the default maximum is 1073741824. +**
    +*/ +/*line: 2151*/ SQLITE_CONFIG_SINGLETHREAD = 0x1, /* not supported */ // 1 +/*line: 2152*/ SQLITE_CONFIG_MULTITHREAD = 0x2, /* nil */ // 2 +/*line: 2153*/ SQLITE_CONFIG_SERIALIZED = 0x3, /* nil */ // 3 +/*line: 2154*/ SQLITE_CONFIG_MALLOC = 0x4, /* sqlite3_mem_methods* */ // 4 +/*line: 2155*/ SQLITE_CONFIG_GETMALLOC = 0x5, /* sqlite3_mem_methods* */ // 5 +/*line: 2156*/ SQLITE_CONFIG_SCRATCH = 0x6, /* No longer used */ // 6 +/*line: 2157*/ SQLITE_CONFIG_PAGECACHE = 0x7, /* void*, int sz, int N */ // 7 +/*line: 2158*/ SQLITE_CONFIG_HEAP = 0x8, /* void*, int nByte, int min */ // 8 +/*line: 2159*/ SQLITE_CONFIG_MEMSTATUS = 0x9, /* boolean */ // 9 +/*line: 2160*/ SQLITE_CONFIG_MUTEX = 0xa, /* sqlite3_mutex_methods* */ // 10 +/*line: 2161*/ SQLITE_CONFIG_GETMUTEX = 0xb, /* sqlite3_mutex_methods* */ // 11 +/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */ +/*line: 2163*/ SQLITE_CONFIG_LOOKASIDE = 0xd, /* int int */ // 13 +/*line: 2164*/ SQLITE_CONFIG_PCACHE = 0xe, /* no-op */ // 14 +/*line: 2165*/ SQLITE_CONFIG_GETPCACHE = 0xf, /* no-op */ // 15 +/*line: 2166*/ SQLITE_CONFIG_LOG = 0x10, /* xFunc, void* */ // 16 +/*line: 2167*/ SQLITE_CONFIG_URI = 0x11, /* int */ // 17 +/*line: 2168*/ SQLITE_CONFIG_PCACHE2 = 0x12, /* sqlite3_pcache_methods2* */ // 18 +/*line: 2169*/ SQLITE_CONFIG_GETPCACHE2 = 0x13, /* sqlite3_pcache_methods2* */ // 19 +/*line: 2170*/ SQLITE_CONFIG_COVERING_INDEX_SCAN = 0x14, /* int */ // 20 +/*line: 2171*/ SQLITE_CONFIG_SQLLOG = 0x15, /* xSqllog, void* */ // 21 +/*line: 2172*/ SQLITE_CONFIG_MMAP_SIZE = 0x16, /* sqlite3_int64, sqlite3_int64 */ // 22 +/*line: 2173*/ SQLITE_CONFIG_WIN32_HEAPSIZE = 0x17, /* int nByte */ // 23 +/*line: 2174*/ SQLITE_CONFIG_PCACHE_HDRSZ = 0x18, /* int *psz */ // 24 +/*line: 2175*/ SQLITE_CONFIG_PMASZ = 0x19, /* unsigned int szPma */ // 25 +/*line: 2176*/ SQLITE_CONFIG_STMTJRNL_SPILL = 0x1a, /* int nByte */ // 26 +/*line: 2177*/ SQLITE_CONFIG_SMALL_MALLOC = 0x1b, /* boolean */ // 27 +/*line: 2178*/ SQLITE_CONFIG_SORTERREF_SIZE = 0x1c, /* int nByte */ // 28 +/*line: 2179*/ SQLITE_CONFIG_MEMDB_MAXSIZE = 0x1d, /* sqlite3_int64 */ // 29 +}; + +enum macro_db_config { +/* +** CAPI3REF: Database Connection Configuration Options +** +** These constants are the available integer configuration options that +** can be passed as the second argument to the [sqlite3_db_config()] interface. +** +** New configuration options may be added in future releases of SQLite. +** Existing configuration options might be discontinued. Applications +** should check the return code from [sqlite3_db_config()] to make sure that +** the call worked. ^The [sqlite3_db_config()] interface will return a +** non-zero [error code] if a discontinued or unsupported configuration option +** is invoked. +** +**
    +** [[SQLITE_DBCONFIG_LOOKASIDE]] +**
    SQLITE_DBCONFIG_LOOKASIDE
    +**
    ^This option takes three additional arguments that determine the +** [lookaside memory allocator] configuration for the [database connection]. +** ^The first argument (the third parameter to [sqlite3_db_config()] is a +** pointer to a memory buffer to use for lookaside memory. +** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb +** may be NULL in which case SQLite will allocate the +** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the +** size of each lookaside buffer slot. ^The third argument is the number of +** slots. The size of the buffer in the first argument must be greater than +** or equal to the product of the second and third arguments. The buffer +** must be aligned to an 8-byte boundary. ^If the second argument to +** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally +** rounded down to the next smaller multiple of 8. ^(The lookaside memory +** configuration for a database connection can only be changed when that +** connection is not currently using lookaside memory, or in other words +** when the "current value" returned by +** [sqlite3_db_status](D,[SQLITE_DBSTATUS_LOOKASIDE_USED],...) is zero. +** Any attempt to change the lookaside memory configuration when lookaside +** memory is in use leaves the configuration unchanged and returns +** [SQLITE_BUSY].)^
    +** +** [[SQLITE_DBCONFIG_ENABLE_FKEY]] +**
    SQLITE_DBCONFIG_ENABLE_FKEY
    +**
    ^This option is used to enable or disable the enforcement of +** [foreign key constraints]. There should be two additional arguments. +** The first argument is an integer which is 0 to disable FK enforcement, +** positive to enable FK enforcement or negative to leave FK enforcement +** unchanged. The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether FK enforcement is off or on +** following this call. The second parameter may be a NULL pointer, in +** which case the FK enforcement setting is not reported back.
    +** +** [[SQLITE_DBCONFIG_ENABLE_TRIGGER]] +**
    SQLITE_DBCONFIG_ENABLE_TRIGGER
    +**
    ^This option is used to enable or disable [CREATE TRIGGER | triggers]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable triggers, +** positive to enable triggers or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether triggers are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the trigger setting is not reported back. +** +**

    Originally this option disabled all triggers. ^(However, since +** SQLite version 3.35.0, TEMP triggers are still allowed even if +** this option is off. So, in other words, this option now only disables +** triggers in the main database schema or in the schemas of ATTACH-ed +** databases.)^

    +** +** [[SQLITE_DBCONFIG_ENABLE_VIEW]] +**
    SQLITE_DBCONFIG_ENABLE_VIEW
    +**
    ^This option is used to enable or disable [CREATE VIEW | views]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable views, +** positive to enable views or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether views are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the view setting is not reported back. +** +**

    Originally this option disabled all views. ^(However, since +** SQLite version 3.35.0, TEMP views are still allowed even if +** this option is off. So, in other words, this option now only disables +** views in the main database schema or in the schemas of ATTACH-ed +** databases.)^

    +** +** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] +**
    SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
    +**
    ^This option is not supported on the system-provided version of SQLite. +** +** For compatibility purposes, this sqlite3_db_config will always return +** SQLITE_OK when this opcode is used, and will always report that the +** [fts3_tokenizer() function] is disabled. +** +** In use, the fts3_tokenizer() function requires bound parameters and will +** return an error if passed literals.
    +** +** [[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]] +**
    SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION
    +**
    ^This option is not supported in the system-provided version of SQLite. +**
    +** +** [[SQLITE_DBCONFIG_MAINDBNAME]]
    SQLITE_DBCONFIG_MAINDBNAME
    +**
    ^This option is used to change the name of the "main" database +** schema. ^The sole argument is a pointer to a constant UTF8 string +** which will become the new schema name in place of "main". ^SQLite +** does not make a copy of the new main schema name string, so the application +** must ensure that the argument passed into this DBCONFIG option is unchanged +** until after the database connection closes. +**
    +** +** [[SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE]] +**
    SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
    +**
    Usually, when a database in wal mode is closed or detached from a +** database handle, SQLite checks if this will mean that there are now no +** connections at all to the database. If so, it performs a checkpoint +** operation before closing the connection. This option may be used to +** override this behaviour. The first parameter passed to this operation +** is an integer - positive to disable checkpoints-on-close, or zero (the +** default) to enable them, and negative to leave the setting unchanged. +** The second parameter is a pointer to an integer +** into which is written 0 or 1 to indicate whether checkpoints-on-close +** have been disabled - 0 if they are not disabled, 1 if they are. +**
    +** +** [[SQLITE_DBCONFIG_ENABLE_QPSG]]
    SQLITE_DBCONFIG_ENABLE_QPSG
    +**
    ^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates +** the [query planner stability guarantee] (QPSG). When the QPSG is active, +** a single SQL query statement will always use the same algorithm regardless +** of values of [bound parameters].)^ The QPSG disables some query optimizations +** that look at the values of bound parameters, which can make some queries +** slower. But the QPSG has the advantage of more predictable behavior. With +** the QPSG active, SQLite will always use the same query plan in the field as +** was used during testing in the lab. +** The first argument to this setting is an integer which is 0 to disable +** the QPSG, positive to enable QPSG, or negative to leave the setting +** unchanged. The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether the QPSG is disabled or enabled +** following this call. +**
    +** +** [[SQLITE_DBCONFIG_TRIGGER_EQP]]
    SQLITE_DBCONFIG_TRIGGER_EQP
    +**
    By default, the output of EXPLAIN QUERY PLAN commands does not +** include output for any operations performed by trigger programs. This +** option is used to set or clear (the default) a flag that governs this +** behavior. The first parameter passed to this operation is an integer - +** positive to enable output for trigger programs, or zero to disable it, +** or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which is written +** 0 or 1 to indicate whether output-for-triggers has been disabled - 0 if +** it is not disabled, 1 if it is. +**
    +** +** [[SQLITE_DBCONFIG_RESET_DATABASE]]
    SQLITE_DBCONFIG_RESET_DATABASE
    +**
    Set the SQLITE_DBCONFIG_RESET_DATABASE flag and then run +** [VACUUM] in order to reset a database back to an empty database +** with no schema and no content. The following process works even for +** a badly corrupted database file: +**
      +**
    1. If the database connection is newly opened, make sure it has read the +** database schema by preparing then discarding some query against the +** database, or calling sqlite3_table_column_metadata(), ignoring any +** errors. This step is only necessary if the application desires to keep +** the database in WAL mode after the reset if it was in WAL mode before +** the reset. +**
    2. sqlite3_db_config(db, SQLITE_DBCONFIG_RESET_DATABASE, 1, 0); +**
    3. [sqlite3_exec](db, "[VACUUM]", 0, 0, 0); +**
    4. sqlite3_db_config(db, SQLITE_DBCONFIG_RESET_DATABASE, 0, 0); +**
    +** Because resetting a database is destructive and irreversible, the +** process requires the use of this obscure API and multiple steps to +** help ensure that it does not happen by accident. Because this +** feature must be capable of resetting corrupt databases, and +** shutting down virtual tables may require access to that corrupt +** storage, the library must abandon any installed virtual tables +** without calling their xDestroy() methods. +** +** [[SQLITE_DBCONFIG_DEFENSIVE]]
    SQLITE_DBCONFIG_DEFENSIVE
    +**
    The SQLITE_DBCONFIG_DEFENSIVE option activates or deactivates the +** "defensive" flag for a database connection. When the defensive +** flag is enabled, language features that allow ordinary SQL to +** deliberately corrupt the database file are disabled. The disabled +** features include but are not limited to the following: +**
      +**
    • The [PRAGMA writable_schema=ON] statement. +**
    • The [PRAGMA journal_mode=OFF] statement. +**
    • The [PRAGMA schema_version=N] statement. +**
    • Writes to the [sqlite_dbpage] virtual table. +**
    • Direct writes to [shadow tables]. +**
    +**
    +** +** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]]
    SQLITE_DBCONFIG_WRITABLE_SCHEMA
    +**
    The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the +** "writable_schema" flag. This has the same effect and is logically equivalent +** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF]. +** The first argument to this setting is an integer which is 0 to disable +** the writable_schema, positive to enable writable_schema, or negative to +** leave the setting unchanged. The second parameter is a pointer to an +** integer into which is written 0 or 1 to indicate whether the writable_schema +** is enabled or disabled following this call. +**
    +** +** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]] +**
    SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
    +**
    The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates +** the legacy behavior of the [ALTER TABLE RENAME] command such it +** behaves as it did prior to [version 3.24.0] (2018-06-04). See the +** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for +** additional information. This feature can also be turned on and off +** using the [PRAGMA legacy_alter_table] statement. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DML]] +**
    SQLITE_DBCONFIG_DQS_DML
    +**
    The SQLITE_DBCONFIG_DQS_DML option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DML statements +** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DDL]] +**
    SQLITE_DBCONFIG_DQS_DDL
    +**
    The SQLITE_DBCONFIG_DQS option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DDL statements, +** such as CREATE TABLE and CREATE INDEX. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    +** +** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]] +**
    SQLITE_DBCONFIG_TRUSTED_SCHEMA
    +**
    The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to +** assume that database schemas are untainted by malicious content. +** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite +** takes additional defensive steps to protect the application from harm +** including: +**
      +**
    • Prohibit the use of SQL functions inside triggers, views, +** CHECK constraints, DEFAULT clauses, expression indexes, +** partial indexes, or generated columns +** unless those functions are tagged with [SQLITE_INNOCUOUS]. +**
    • Prohibit the use of virtual tables inside of triggers or views +** unless those virtual tables are tagged with [SQLITE_VTAB_INNOCUOUS]. +**
    +** This setting defaults to "on" for legacy compatibility, however +** all applications are advised to turn it off if possible. This setting +** can also be controlled using the [PRAGMA trusted_schema] statement. +**
    +** +** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]] +**
    SQLITE_DBCONFIG_LEGACY_FILE_FORMAT
    +**
    The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates +** the legacy file format flag. When activated, this flag causes all newly +** created database file to have a schema format version number (the 4-byte +** integer found at offset 44 into the database header) of 1. This in turn +** means that the resulting database file will be readable and writable by +** any SQLite version back to 3.0.0 ([dateof:3.0.0]). Without this setting, +** newly created databases are generally not understandable by SQLite versions +** prior to 3.3.0 ([dateof:3.3.0]). As these words are written, there +** is now scarcely any need to generate database files that are compatible +** all the way back to version 3.0.0, and so this setting is of little +** practical use, but is provided so that SQLite can continue to claim the +** ability to generate new database files that are compatible with version +** 3.0.0. +**

    Note that when the SQLITE_DBCONFIG_LEGACY_FILE_FORMAT setting is on, +** the [VACUUM] command will fail with an obscure error when attempting to +** process a table with generated columns and a descending index. This is +** not considered a bug since SQLite versions 3.3.0 and earlier do not support +** either generated columns or descending indexes. +**

    +** +** [[SQLITE_DBCONFIG_STMT_SCANSTATUS]] +**
    SQLITE_DBCONFIG_STMT_SCANSTATUS
    +**
    The SQLITE_DBCONFIG_STMT_SCANSTATUS option is only useful in +** SQLITE_ENABLE_STMT_SCANSTATUS builds. In this case, it sets or clears +** a flag that enables collection of the sqlite3_stmt_scanstatus_v2() +** statistics. For statistics to be collected, the flag must be set on +** the database handle both when the SQL statement is prepared and when it +** is stepped. The flag is set (collection of statistics is enabled) +** by default. This option takes two arguments: an integer and a pointer to +** an integer.. The first argument is 1, 0, or -1 to enable, disable, or +** leave unchanged the statement scanstatus option. If the second argument +** is not NULL, then the value of the statement scanstatus setting after +** processing the first argument is written into the integer that the second +** argument points to. +**
    +** +** [[SQLITE_DBCONFIG_REVERSE_SCANORDER]] +**
    SQLITE_DBCONFIG_REVERSE_SCANORDER
    +**
    The SQLITE_DBCONFIG_REVERSE_SCANORDER option changes the default order +** in which tables and indexes are scanned so that the scans start at the end +** and work toward the beginning rather than starting at the beginning and +** working toward the end. Setting SQLITE_DBCONFIG_REVERSE_SCANORDER is the +** same as setting [PRAGMA reverse_unordered_selects]. This option takes +** two arguments which are an integer and a pointer to an integer. The first +** argument is 1, 0, or -1 to enable, disable, or leave unchanged the +** reverse scan order flag, respectively. If the second argument is not NULL, +** then 0 or 1 is written into the integer that the second argument points to +** depending on if the reverse scan order flag is set after processing the +** first argument. +**
    +** +**
    +*/ +/*line: 2483*/ SQLITE_DBCONFIG_MAINDBNAME = 0x3e8, /* const char* */ // 1000 +/*line: 2484*/ SQLITE_DBCONFIG_LOOKASIDE = 0x3e9, /* void* int int */ // 1001 +/*line: 2485*/ SQLITE_DBCONFIG_ENABLE_FKEY = 0x3ea, /* int int* */ // 1002 +/*line: 2486*/ SQLITE_DBCONFIG_ENABLE_TRIGGER = 0x3eb, /* int int* */ // 1003 +/*line: 2487*/ SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 0x3ec, /* no op* */ // 1004 +/*line: 2488*/ SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 0x3ed, /* no op */ // 1005 +/*line: 2489*/ SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 0x3ee, /* int int* */ // 1006 +/*line: 2490*/ SQLITE_DBCONFIG_ENABLE_QPSG = 0x3ef, /* int int* */ // 1007 +/*line: 2491*/ SQLITE_DBCONFIG_TRIGGER_EQP = 0x3f0, /* int int* */ // 1008 +/*line: 2492*/ SQLITE_DBCONFIG_RESET_DATABASE = 0x3f1, /* int int* */ // 1009 +/*line: 2493*/ SQLITE_DBCONFIG_DEFENSIVE = 0x3f2, /* int int* */ // 1010 +/*line: 2494*/ SQLITE_DBCONFIG_WRITABLE_SCHEMA = 0x3f3, /* int int* */ // 1011 +/*line: 2495*/ SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 0x3f4, /* int int* */ // 1012 +/*line: 2496*/ SQLITE_DBCONFIG_DQS_DML = 0x3f5, /* int int* */ // 1013 +/*line: 2497*/ SQLITE_DBCONFIG_DQS_DDL = 0x3f6, /* int int* */ // 1014 +/*line: 2498*/ SQLITE_DBCONFIG_ENABLE_VIEW = 0x3f7, /* int int* */ // 1015 +/*line: 2499*/ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 0x3f8, /* int int* */ // 1016 +/*line: 2500*/ SQLITE_DBCONFIG_TRUSTED_SCHEMA = 0x3f9, /* int int* */ // 1017 +/*line: 2501*/ SQLITE_DBCONFIG_STMT_SCANSTATUS = 0x3fa, /* int int* */ // 1018 +/*line: 2502*/ SQLITE_DBCONFIG_REVERSE_SCANORDER = 0x3fb, /* int int* */ // 1019 +/*line: 2503*/ SQLITE_DBCONFIG_MAX = 0x3fb, /* Largest DBCONFIG */ // 1019 +}; + +enum macro_authorizer_codes { +/* +** CAPI3REF: Authorizer Return Codes +** +** The [sqlite3_set_authorizer | authorizer callback function] must +** return either [SQLITE_OK] or one of these two constants in order +** to signal SQLite whether or not the action is permitted. See the +** [sqlite3_set_authorizer | authorizer documentation] for additional +** information. +** +** Note that SQLITE_IGNORE is also used as a [conflict resolution mode] +** returned from the [sqlite3_vtab_on_conflict()] interface. +*/ +/*line: 3235*/ SQLITE_DENY = 0x1, /* Abort the SQL statement with an error */ // 1 +/*line: 3236*/ SQLITE_IGNORE = 0x2, /* Don't allow access, but don't generate an error */ // 2 +}; + +enum macro_sqlite_operation { +/******************************************* 3rd ************ 4th ***********/ +/*line: 3258*/ SQLITE_CREATE_INDEX = 0x1, /* Index Name Table Name */ // 1 +/*line: 3259*/ SQLITE_CREATE_TABLE = 0x2, /* Table Name NULL */ // 2 +/*line: 3260*/ SQLITE_CREATE_TEMP_INDEX = 0x3, /* Index Name Table Name */ // 3 +/*line: 3261*/ SQLITE_CREATE_TEMP_TABLE = 0x4, /* Table Name NULL */ // 4 +/*line: 3262*/ SQLITE_CREATE_TEMP_TRIGGER = 0x5, /* Trigger Name Table Name */ // 5 +/*line: 3263*/ SQLITE_CREATE_TEMP_VIEW = 0x6, /* View Name NULL */ // 6 +/*line: 3264*/ SQLITE_CREATE_TRIGGER = 0x7, /* Trigger Name Table Name */ // 7 +/*line: 3265*/ SQLITE_CREATE_VIEW = 0x8, /* View Name NULL */ // 8 +/*line: 3266*/ SQLITE_DELETE = 0x9, /* Table Name NULL */ // 9 +/*line: 3267*/ SQLITE_DROP_INDEX = 0xa, /* Index Name Table Name */ // 10 +/*line: 3268*/ SQLITE_DROP_TABLE = 0xb, /* Table Name NULL */ // 11 +/*line: 3269*/ SQLITE_DROP_TEMP_INDEX = 0xc, /* Index Name Table Name */ // 12 +/*line: 3270*/ SQLITE_DROP_TEMP_TABLE = 0xd, /* Table Name NULL */ // 13 +/*line: 3271*/ SQLITE_DROP_TEMP_TRIGGER = 0xe, /* Trigger Name Table Name */ // 14 +/*line: 3272*/ SQLITE_DROP_TEMP_VIEW = 0xf, /* View Name NULL */ // 15 +/*line: 3273*/ SQLITE_DROP_TRIGGER = 0x10, /* Trigger Name Table Name */ // 16 +/*line: 3274*/ SQLITE_DROP_VIEW = 0x11, /* View Name NULL */ // 17 +/*line: 3275*/ SQLITE_INSERT = 0x12, /* Table Name NULL */ // 18 +/*line: 3276*/ SQLITE_PRAGMA = 0x13, /* Pragma Name 1st arg or NULL */ // 19 +/*line: 3277*/ SQLITE_READ = 0x14, /* Table Name Column Name */ // 20 +/*line: 3278*/ SQLITE_SELECT = 0x15, /* NULL NULL */ // 21 +/*line: 3279*/ SQLITE_TRANSACTION = 0x16, /* Operation NULL */ // 22 +/*line: 3280*/ SQLITE_UPDATE = 0x17, /* Table Name Column Name */ // 23 +/*line: 3281*/ SQLITE_ATTACH = 0x18, /* Filename NULL */ // 24 +/*line: 3282*/ SQLITE_DETACH = 0x19, /* Database Name NULL */ // 25 +/*line: 3283*/ SQLITE_ALTER_TABLE = 0x1a, /* Database Name Table Name */ // 26 +/*line: 3284*/ SQLITE_REINDEX = 0x1b, /* Index Name NULL */ // 27 +/*line: 3285*/ SQLITE_ANALYZE = 0x1c, /* Table Name NULL */ // 28 +/*line: 3286*/ SQLITE_CREATE_VTABLE = 0x1d, /* Table Name Module Name */ // 29 +/*line: 3287*/ SQLITE_DROP_VTABLE = 0x1e, /* Table Name Module Name */ // 30 +/*line: 3288*/ SQLITE_FUNCTION = 0x1f, /* NULL Function Name */ // 31 +/*line: 3289*/ SQLITE_SAVEPOINT = 0x20, /* Operation Savepoint Name */ // 32 +/*line: 3290*/ SQLITE_COPY = 0x0, /* No longer used */ // 0 +/*line: 3291*/ SQLITE_RECURSIVE = 0x21, /* NULL NULL */ // 33 +}; + +enum macro_sqlite_trace_events { +/* +** CAPI3REF: SQL Trace Event Codes +** KEYWORDS: SQLITE_TRACE +** +** These constants identify classes of events that can be monitored +** using the [sqlite3_trace_v2()] tracing logic. The M argument +** to [sqlite3_trace_v2(D,M,X,P)] is an OR-ed combination of one or more of +** the following constants. ^The first argument to the trace callback +** is one of the following constants. +** +** New tracing constants may be added in future releases. +** +** ^A trace callback has four arguments: xCallback(T,C,P,X). +** ^The T argument is one of the integer type codes above. +** ^The C argument is a copy of the context pointer passed in as the +** fourth argument to [sqlite3_trace_v2()]. +** The P and X arguments are pointers whose meanings depend on T. +** +**
    +** [[SQLITE_TRACE_STMT]]
    SQLITE_TRACE_STMT
    +**
    ^An SQLITE_TRACE_STMT callback is invoked when a prepared statement +** first begins running and possibly at other times during the +** execution of the prepared statement, such as at the start of each +** trigger subprogram. ^The P argument is a pointer to the +** [prepared statement]. ^The X argument is a pointer to a string which +** is the unexpanded SQL text of the prepared statement or an SQL comment +** that indicates the invocation of a trigger. ^The callback can compute +** the same text that would have been returned by the legacy [sqlite3_trace()] +** interface by using the X argument when X begins with "--" and invoking +** [sqlite3_expanded_sql(P)] otherwise. +** +** [[SQLITE_TRACE_PROFILE]]
    SQLITE_TRACE_PROFILE
    +**
    ^An SQLITE_TRACE_PROFILE callback provides approximately the same +** information as is provided by the [sqlite3_profile()] callback. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument points to a 64-bit integer which is approximately +** the number of nanoseconds that the prepared statement took to run. +** ^The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. +** +** [[SQLITE_TRACE_ROW]]
    SQLITE_TRACE_ROW
    +**
    ^An SQLITE_TRACE_ROW callback is invoked whenever a prepared +** statement generates a single row of result. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument is unused. +** +** [[SQLITE_TRACE_CLOSE]]
    SQLITE_TRACE_CLOSE
    +**
    ^An SQLITE_TRACE_CLOSE callback is invoked when a database +** connection closes. +** ^The P argument is a pointer to the [database connection] object +** and the X argument is unused. +**
    +*/ +/*line: 3391*/ SQLITE_TRACE_STMT = 0x1, // 0x01 +/*line: 3392*/ SQLITE_TRACE_PROFILE = 0x2, // 0x02 +/*line: 3393*/ SQLITE_TRACE_ROW = 0x4, // 0x04 +/*line: 3394*/ SQLITE_TRACE_CLOSE = 0x8, // 0x08 +}; + +enum macro_sqlite_limits { +/* +** CAPI3REF: Run-Time Limit Categories +** KEYWORDS: {limit category} {*limit categories} +** +** These constants define various performance limits +** that can be lowered at run-time using [sqlite3_limit()]. +** The synopsis of the meanings of the various limits is shown below. +** Additional information is available at [limits | Limits in SQLite]. +** +**
    +** [[SQLITE_LIMIT_LENGTH]] ^(
    SQLITE_LIMIT_LENGTH
    +**
    The maximum size of any string or BLOB or table row, in bytes.
    )^ +** +** [[SQLITE_LIMIT_SQL_LENGTH]] ^(
    SQLITE_LIMIT_SQL_LENGTH
    +**
    The maximum length of an SQL statement, in bytes.
    )^ +** +** [[SQLITE_LIMIT_COLUMN]] ^(
    SQLITE_LIMIT_COLUMN
    +**
    The maximum number of columns in a table definition or in the +** result set of a [SELECT] or the maximum number of columns in an index +** or in an ORDER BY or GROUP BY clause.
    )^ +** +** [[SQLITE_LIMIT_EXPR_DEPTH]] ^(
    SQLITE_LIMIT_EXPR_DEPTH
    +**
    The maximum depth of the parse tree on any expression.
    )^ +** +** [[SQLITE_LIMIT_COMPOUND_SELECT]] ^(
    SQLITE_LIMIT_COMPOUND_SELECT
    +**
    The maximum number of terms in a compound SELECT statement.
    )^ +** +** [[SQLITE_LIMIT_VDBE_OP]] ^(
    SQLITE_LIMIT_VDBE_OP
    +**
    The maximum number of instructions in a virtual machine program +** used to implement an SQL statement. If [sqlite3_prepare_v2()] or +** the equivalent tries to allocate space for more than this many opcodes +** in a single prepared statement, an SQLITE_NOMEM error is returned.
    )^ +** +** [[SQLITE_LIMIT_FUNCTION_ARG]] ^(
    SQLITE_LIMIT_FUNCTION_ARG
    +**
    The maximum number of arguments on a function.
    )^ +** +** [[SQLITE_LIMIT_ATTACHED]] ^(
    SQLITE_LIMIT_ATTACHED
    +**
    The maximum number of [ATTACH | attached databases].)^
    +** +** [[SQLITE_LIMIT_LIKE_PATTERN_LENGTH]] +** ^(
    SQLITE_LIMIT_LIKE_PATTERN_LENGTH
    +**
    The maximum length of the pattern argument to the [LIKE] or +** [GLOB] operators.
    )^ +** +** [[SQLITE_LIMIT_VARIABLE_NUMBER]] +** ^(
    SQLITE_LIMIT_VARIABLE_NUMBER
    +**
    The maximum index number of any [parameter] in an SQL statement.)^ +** +** [[SQLITE_LIMIT_TRIGGER_DEPTH]] ^(
    SQLITE_LIMIT_TRIGGER_DEPTH
    +**
    The maximum depth of recursion for triggers.
    )^ +** +** [[SQLITE_LIMIT_WORKER_THREADS]] ^(
    SQLITE_LIMIT_WORKER_THREADS
    +**
    The maximum number of auxiliary worker threads that a single +** [prepared statement] may start.
    )^ +**
    +*/ +/*line: 4151*/ SQLITE_LIMIT_LENGTH = 0x0, // 0 +/*line: 4152*/ SQLITE_LIMIT_SQL_LENGTH = 0x1, // 1 +/*line: 4153*/ SQLITE_LIMIT_COLUMN = 0x2, // 2 +/*line: 4154*/ SQLITE_LIMIT_EXPR_DEPTH = 0x3, // 3 +/*line: 4155*/ SQLITE_LIMIT_COMPOUND_SELECT = 0x4, // 4 +/*line: 4156*/ SQLITE_LIMIT_VDBE_OP = 0x5, // 5 +/*line: 4157*/ SQLITE_LIMIT_FUNCTION_ARG = 0x6, // 6 +/*line: 4158*/ SQLITE_LIMIT_ATTACHED = 0x7, // 7 +/*line: 4159*/ SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 0x8, // 8 +/*line: 4160*/ SQLITE_LIMIT_VARIABLE_NUMBER = 0x9, // 9 +/*line: 4161*/ SQLITE_LIMIT_TRIGGER_DEPTH = 0xa, // 10 +/*line: 4162*/ SQLITE_LIMIT_WORKER_THREADS = 0xb, // 11 +}; + +enum macro_prepare_flags { +/* +** CAPI3REF: Prepare Flags +** +** These constants define various flags that can be passed into +** "prepFlags" parameter of the [sqlite3_prepare_v3()] and +** [sqlite3_prepare16_v3()] interfaces. +** +** New flags may be added in future releases of SQLite. +** +**
    +** [[SQLITE_PREPARE_PERSISTENT]] ^(
    SQLITE_PREPARE_PERSISTENT
    +**
    The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner +** that the prepared statement will be retained for a long time and +** probably reused many times.)^ ^Without this flag, [sqlite3_prepare_v3()] +** and [sqlite3_prepare16_v3()] assume that the prepared statement will +** be used just once or at most a few times and then destroyed using +** [sqlite3_finalize()] relatively soon. The current implementation acts +** on this hint by avoiding the use of [lookaside memory] so as not to +** deplete the limited store of lookaside memory. Future versions of +** SQLite may act on this hint differently. +** +** [[SQLITE_PREPARE_NORMALIZE]]
    SQLITE_PREPARE_NORMALIZE
    +**
    The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used +** to be required for any prepared statement that wanted to use the +** [sqlite3_normalized_sql()] interface. However, the +** [sqlite3_normalized_sql()] interface is now available to all +** prepared statements, regardless of whether or not they use this +** flag. +** +** [[SQLITE_PREPARE_NO_VTAB]]
    SQLITE_PREPARE_NO_VTAB
    +**
    The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler +** to return an error (error code SQLITE_ERROR) if the statement uses +** any virtual tables. +**
    +*/ +/*line: 4199*/ SQLITE_PREPARE_PERSISTENT = 0x1, // 0x01 +/*line: 4200*/ SQLITE_PREPARE_NORMALIZE = 0x2, // 0x02 +/*line: 4201*/ SQLITE_PREPARE_NO_VTAB = 0x4, // 0x04 +}; + +enum macro_sqlite_datatype { +/* +** CAPI3REF: Fundamental Datatypes +** KEYWORDS: SQLITE_TEXT +** +** ^(Every value in SQLite has one of five fundamental datatypes: +** +**
      +**
    • 64-bit signed integer +**
    • 64-bit IEEE floating point number +**
    • string +**
    • BLOB +**
    • NULL +**
    )^ +** +** These constants are codes for each of those types. +** +** Note that the SQLITE_TEXT constant was also used in SQLite version 2 +** for a completely different meaning. Software that links against both +** SQLite version 2 and SQLite version 3 should use SQLITE3_TEXT, not +** SQLITE_TEXT. +*/ +/*line: 5073*/ SQLITE_INTEGER = 0x1, // 1 +/*line: 5074*/ SQLITE_FLOAT = 0x2, // 2 +/*line: 5075*/ SQLITE_BLOB = 0x4, // 4 +/*line: 5076*/ SQLITE_NULL = 0x5, // 5 +/*line: 5080*/ SQLITE_TEXT = 0x3, // 3 +/*line: 5082*/ SQLITE3_TEXT = 0x3, // 3 +}; + +enum macro_text_encoding { +/* +** CAPI3REF: Text Encodings +** +** These constant define integer codes that represent the various +** text encodings supported by SQLite. +*/ +/*line: 5552*/ SQLITE_UTF8 = 0x1, /* IMP: R-37514-35566 */ // 1 +/*line: 5553*/ SQLITE_UTF16LE = 0x2, /* IMP: R-03371-37637 */ // 2 +/*line: 5554*/ SQLITE_UTF16BE = 0x3, /* IMP: R-51971-34154 */ // 3 +/*line: 5555*/ SQLITE_UTF16 = 0x4, /* Use native byte order */ // 4 +/*line: 5556*/ SQLITE_ANY = 0x5, /* Deprecated */ // 5 +/*line: 5557*/ SQLITE_UTF16_ALIGNED = 0x8, /* sqlite3_create_collation only */ // 8 +}; + +enum macro_sqlite_function_flags { +/* +** CAPI3REF: Function Flags +** +** These constants may be ORed together with the +** [SQLITE_UTF8 | preferred text encoding] as the fourth argument +** to [sqlite3_create_function()], [sqlite3_create_function16()], or +** [sqlite3_create_function_v2()]. +** +**
    +** [[SQLITE_DETERMINISTIC]]
    SQLITE_DETERMINISTIC
    +** The SQLITE_DETERMINISTIC flag means that the new function always gives +** the same output when the input parameters are the same. +** The [abs|abs() function] is deterministic, for example, but +** [randomblob|randomblob()] is not. Functions must +** be deterministic in order to be used in certain contexts such as +** with the WHERE clause of [partial indexes] or in [generated columns]. +** SQLite might also optimize deterministic functions by factoring them +** out of inner loops. +**
    +** +** [[SQLITE_DIRECTONLY]]
    SQLITE_DIRECTONLY
    +** The SQLITE_DIRECTONLY flag means that the function may only be invoked +** from top-level SQL, and cannot be used in VIEWs or TRIGGERs nor in +** schema structures such as [CHECK constraints], [DEFAULT clauses], +** [expression indexes], [partial indexes], or [generated columns]. +**

    +** The SQLITE_DIRECTONLY flag is recommended for any +** [application-defined SQL function] +** that has side-effects or that could potentially leak sensitive information. +** This will prevent attacks in which an application is tricked +** into using a database file that has had its schema surreptitiously +** modified to invoke the application-defined function in ways that are +** harmful. +**

    +** Some people say it is good practice to set SQLITE_DIRECTONLY on all +** [application-defined SQL functions], regardless of whether or not they +** are security sensitive, as doing so prevents those functions from being used +** inside of the database schema, and thus ensures that the database +** can be inspected and modified using generic tools (such as the [CLI]) +** that do not have access to the application-defined functions. +**

    +** +** [[SQLITE_INNOCUOUS]]
    SQLITE_INNOCUOUS
    +** The SQLITE_INNOCUOUS flag means that the function is unlikely +** to cause problems even if misused. An innocuous function should have +** no side effects and should not depend on any values other than its +** input parameters. The [abs|abs() function] is an example of an +** innocuous function. +** The [load_extension() SQL function] is not innocuous because of its +** side effects. +**

    SQLITE_INNOCUOUS is similar to SQLITE_DETERMINISTIC, but is not +** exactly the same. The [random|random() function] is an example of a +** function that is innocuous but not deterministic. +**

    Some heightened security settings +** ([SQLITE_DBCONFIG_TRUSTED_SCHEMA] and [PRAGMA trusted_schema=OFF]) +** disable the use of SQL functions inside views and triggers and in +** schema structures such as [CHECK constraints], [DEFAULT clauses], +** [expression indexes], [partial indexes], and [generated columns] unless +** the function is tagged with SQLITE_INNOCUOUS. Most built-in functions +** are innocuous. Developers are advised to avoid using the +** SQLITE_INNOCUOUS flag for application-defined functions unless the +** function has been carefully audited and found to be free of potentially +** security-adverse side-effects and information-leaks. +**

    +** +** [[SQLITE_SUBTYPE]]
    SQLITE_SUBTYPE
    +** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call +** [sqlite3_value_subtype()] to inspect the sub-types of its arguments. +** Specifying this flag makes no difference for scalar or aggregate user +** functions. However, if it is not specified for a user-defined window +** function, then any sub-types belonging to arguments passed to the window +** function may be discarded before the window function is called (i.e. +** sqlite3_value_subtype() will always return 0). +**
    +**
    +*/ +/*line: 5635*/ SQLITE_DETERMINISTIC = 0x800, // 0x000000800 +/*line: 5636*/ SQLITE_DIRECTONLY = 0x80000, // 0x000080000 +/*line: 5637*/ SQLITE_SUBTYPE = 0x100000, // 0x000100000 +/*line: 5638*/ SQLITE_INNOCUOUS = 0x200000, // 0x000200000 +}; + +// Depends on identifiers +enum macro_destructor_type { +/*line: 6025*/ SQLITE_STATIC = 0x0, // ((sqlite3_destructor_type)0) +/*line: 6026*/ SQLITE_TRANSIENT = -0x1, // ((sqlite3_destructor_type)-1) +}; + +enum macro_transaction_state { +/* +** CAPI3REF: Allowed return values from [sqlite3_txn_state()] +** KEYWORDS: {transaction state} +** +** These constants define the current transaction state of a database file. +** ^The [sqlite3_txn_state(D,S)] interface returns one of these +** constants in order to describe the transaction state of schema S +** in [database connection] D. +** +**
    +** [[SQLITE_TXN_NONE]]
    SQLITE_TXN_NONE
    +**
    The SQLITE_TXN_NONE state means that no transaction is currently +** pending.
    +** +** [[SQLITE_TXN_READ]]
    SQLITE_TXN_READ
    +**
    The SQLITE_TXN_READ state means that the database is currently +** in a read transaction. Content has been read from the database file +** but nothing in the database file has changed. The transaction state +** will advanced to SQLITE_TXN_WRITE if any changes occur and there are +** no other conflicting concurrent write transactions. The transaction +** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or +** [COMMIT].
    +** +** [[SQLITE_TXN_WRITE]]
    SQLITE_TXN_WRITE
    +**
    The SQLITE_TXN_WRITE state means that the database is currently +** in a write transaction. Content has been written to the database file +** but has not yet committed. The transaction state will change to +** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].
    +*/ +/*line: 6635*/ SQLITE_TXN_NONE = 0x0, // 0 +/*line: 6636*/ SQLITE_TXN_READ = 0x1, // 1 +/*line: 6637*/ SQLITE_TXN_WRITE = 0x2, // 2 +}; + +enum macro_sqlite_index { +/* +** CAPI3REF: Virtual Table Scan Flags +** +** Virtual table implementations are allowed to set the +** [sqlite3_index_info].idxFlags field to some combination of +** these bits. +*/ +/*line: 7312*/ SQLITE_INDEX_SCAN_UNIQUE = 0x1, /* Scan visits at most 1 row */ // 1 +/* +** CAPI3REF: Virtual Table Constraint Operator Codes +** +** These macros define the allowed values for the +** [sqlite3_index_info].aConstraint[].op field. Each value represents +** an operator that is part of a constraint term in the WHERE clause of +** a query that uses a [virtual table]. +** +** ^The left-hand operand of the operator is given by the corresponding +** aConstraint[].iColumn field. ^An iColumn of -1 indicates the left-hand +** operand is the rowid. +** The SQLITE_INDEX_CONSTRAINT_LIMIT and SQLITE_INDEX_CONSTRAINT_OFFSET +** operators have no left-hand operand, and so for those operators the +** corresponding aConstraint[].iColumn is meaningless and should not be +** used. +** +** All operator values from SQLITE_INDEX_CONSTRAINT_FUNCTION through +** value 255 are reserved to represent functions that are overloaded +** by the [xFindFunction|xFindFunction method] of the virtual table +** implementation. +** +** The right-hand operands for each constraint might be accessible using +** the [sqlite3_vtab_rhs_value()] interface. Usually the right-hand +** operand is only available if it appears as a single constant literal +** in the input SQL. If the right-hand operand is another column or an +** expression (even a constant expression) or a parameter, then the +** sqlite3_vtab_rhs_value() probably will not be able to extract it. +** ^The SQLITE_INDEX_CONSTRAINT_ISNULL and +** SQLITE_INDEX_CONSTRAINT_ISNOTNULL operators have no right-hand operand +** and hence calls to sqlite3_vtab_rhs_value() for those operators will +** always return SQLITE_NOTFOUND. +** +** The collating sequence to be used for comparison can be found using +** the [sqlite3_vtab_collation()] interface. For most real-world virtual +** tables, the collating sequence of constraints does not matter (for example +** because the constraints are numeric) and so the sqlite3_vtab_collation() +** interface is not commonly needed. +*/ +/*line: 7352*/ SQLITE_INDEX_CONSTRAINT_EQ = 0x2, // 2 +/*line: 7353*/ SQLITE_INDEX_CONSTRAINT_GT = 0x4, // 4 +/*line: 7354*/ SQLITE_INDEX_CONSTRAINT_LE = 0x8, // 8 +/*line: 7355*/ SQLITE_INDEX_CONSTRAINT_LT = 0x10, // 16 +/*line: 7356*/ SQLITE_INDEX_CONSTRAINT_GE = 0x20, // 32 +/*line: 7357*/ SQLITE_INDEX_CONSTRAINT_MATCH = 0x40, // 64 +/*line: 7358*/ SQLITE_INDEX_CONSTRAINT_LIKE = 0x41, // 65 +/*line: 7359*/ SQLITE_INDEX_CONSTRAINT_GLOB = 0x42, // 66 +/*line: 7360*/ SQLITE_INDEX_CONSTRAINT_REGEXP = 0x43, // 67 +/*line: 7361*/ SQLITE_INDEX_CONSTRAINT_NE = 0x44, // 68 +/*line: 7362*/ SQLITE_INDEX_CONSTRAINT_ISNOT = 0x45, // 69 +/*line: 7363*/ SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 0x46, // 70 +/*line: 7364*/ SQLITE_INDEX_CONSTRAINT_ISNULL = 0x47, // 71 +/*line: 7365*/ SQLITE_INDEX_CONSTRAINT_IS = 0x48, // 72 +/*line: 7366*/ SQLITE_INDEX_CONSTRAINT_LIMIT = 0x49, // 73 +/*line: 7367*/ SQLITE_INDEX_CONSTRAINT_OFFSET = 0x4a, // 74 +/*line: 7368*/ SQLITE_INDEX_CONSTRAINT_FUNCTION = 0x96, // 150 +}; + +enum macro_mutex_types { +/* +** CAPI3REF: Mutex Types +** +** The [sqlite3_mutex_alloc()] interface takes a single argument +** which is one of these integer constants. +** +** The set of static mutexes may change from one SQLite release to the +** next. Applications that override the built-in mutex logic must be +** prepared to accommodate additional static mutexes. +*/ +/*line: 7994*/ SQLITE_MUTEX_FAST = 0x0, // 0 +/*line: 7995*/ SQLITE_MUTEX_RECURSIVE = 0x1, // 1 +/*line: 7996*/ SQLITE_MUTEX_STATIC_MAIN = 0x2, // 2 +/*line: 7997*/ SQLITE_MUTEX_STATIC_MEM = 0x3, /* sqlite3_malloc() */ // 3 +/*line: 7998*/ SQLITE_MUTEX_STATIC_MEM2 = 0x4, /* NOT USED */ // 4 +/*line: 7999*/ SQLITE_MUTEX_STATIC_OPEN = 0x4, /* sqlite3BtreeOpen() */ // 4 +/*line: 8000*/ SQLITE_MUTEX_STATIC_PRNG = 0x5, /* sqlite3_randomness() */ // 5 +/*line: 8001*/ SQLITE_MUTEX_STATIC_LRU = 0x6, /* lru page list */ // 6 +/*line: 8002*/ SQLITE_MUTEX_STATIC_LRU2 = 0x7, /* NOT USED */ // 7 +/*line: 8003*/ SQLITE_MUTEX_STATIC_PMEM = 0x7, /* sqlite3PageMalloc() */ // 7 +/*line: 8004*/ SQLITE_MUTEX_STATIC_APP1 = 0x8, /* For use by application */ // 8 +/*line: 8005*/ SQLITE_MUTEX_STATIC_APP2 = 0x9, /* For use by application */ // 9 +/*line: 8006*/ SQLITE_MUTEX_STATIC_APP3 = 0xa, /* For use by application */ // 10 +/*line: 8007*/ SQLITE_MUTEX_STATIC_VFS1 = 0xb, /* For use by built-in VFS */ // 11 +/*line: 8008*/ SQLITE_MUTEX_STATIC_VFS2 = 0xc, /* For use by extension VFS */ // 12 +/*line: 8009*/ SQLITE_MUTEX_STATIC_VFS3 = 0xd, /* For use by application VFS */ // 13 +}; + +// Depends on identifiers +enum macro_sqlite_mutex { +/* Legacy compatibility: */ +/*line: 8012*/ SQLITE_MUTEX_STATIC_MASTER = 0x2, // SQLITE_MUTEX_STATIC_MAIN +}; + +enum macro_test_control { +/* +** CAPI3REF: Testing Interface Operation Codes +** +** These constants are the valid operation code parameters used +** as the first argument to [sqlite3_test_control()]. +** +** These parameters and their meanings are subject to change +** without notice. These values are for testing purposes only. +** Applications should not use any of these parameters or the +** [sqlite3_test_control()] interface. +*/ +/*line: 8100*/ SQLITE_TESTCTRL_FIRST = 0x5, // 5 +/*line: 8101*/ SQLITE_TESTCTRL_PRNG_SAVE = 0x5, // 5 +/*line: 8102*/ SQLITE_TESTCTRL_PRNG_RESTORE = 0x6, // 6 +/*line: 8103*/ SQLITE_TESTCTRL_PRNG_RESET = 0x7, /* NOT USED */ // 7 +/*line: 8104*/ SQLITE_TESTCTRL_BITVEC_TEST = 0x8, // 8 +/*line: 8105*/ SQLITE_TESTCTRL_FAULT_INSTALL = 0x9, // 9 +/*line: 8106*/ SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 0xa, // 10 +/*line: 8107*/ SQLITE_TESTCTRL_PENDING_BYTE = 0xb, // 11 +/*line: 8108*/ SQLITE_TESTCTRL_ASSERT = 0xc, // 12 +/*line: 8109*/ SQLITE_TESTCTRL_ALWAYS = 0xd, // 13 +/*line: 8110*/ SQLITE_TESTCTRL_RESERVE = 0xe, /* NOT USED */ // 14 +/*line: 8111*/ SQLITE_TESTCTRL_OPTIMIZATIONS = 0xf, // 15 +/*line: 8112*/ SQLITE_TESTCTRL_ISKEYWORD = 0x10, /* NOT USED */ // 16 +/*line: 8113*/ SQLITE_TESTCTRL_SCRATCHMALLOC = 0x11, /* NOT USED */ // 17 +/*line: 8114*/ SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 0x11, // 17 +/*line: 8115*/ SQLITE_TESTCTRL_LOCALTIME_FAULT = 0x12, // 18 +/*line: 8116*/ SQLITE_TESTCTRL_EXPLAIN_STMT = 0x13, /* NOT USED */ // 19 +/*line: 8117*/ SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 0x13, // 19 +/*line: 8118*/ SQLITE_TESTCTRL_NEVER_CORRUPT = 0x14, // 20 +/*line: 8119*/ SQLITE_TESTCTRL_VDBE_COVERAGE = 0x15, // 21 +/*line: 8120*/ SQLITE_TESTCTRL_BYTEORDER = 0x16, // 22 +/*line: 8121*/ SQLITE_TESTCTRL_ISINIT = 0x17, // 23 +/*line: 8122*/ SQLITE_TESTCTRL_SORTER_MMAP = 0x18, // 24 +/*line: 8123*/ SQLITE_TESTCTRL_IMPOSTER = 0x19, // 25 +/*line: 8124*/ SQLITE_TESTCTRL_PARSER_COVERAGE = 0x1a, // 26 +/*line: 8125*/ SQLITE_TESTCTRL_RESULT_INTREAL = 0x1b, // 27 +/*line: 8126*/ SQLITE_TESTCTRL_PRNG_SEED = 0x1c, // 28 +/*line: 8127*/ SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 0x1d, // 29 +/*line: 8128*/ SQLITE_TESTCTRL_SEEK_COUNT = 0x1e, // 30 +/*line: 8129*/ SQLITE_TESTCTRL_TRACEFLAGS = 0x1f, // 31 +/*line: 8130*/ SQLITE_TESTCTRL_TUNE = 0x20, // 32 +/*line: 8131*/ SQLITE_TESTCTRL_LOGEST = 0x21, // 33 +/*line: 8132*/ SQLITE_TESTCTRL_USELONGDOUBLE = 0x22, // 34 +/*line: 8133*/ SQLITE_TESTCTRL_LAST = 0x22, /* Largest TESTCTRL */ // 34 +}; + +enum macro_sqlite3_status { +/* +** CAPI3REF: Status Parameters +** KEYWORDS: {status parameters} +** +** These integer constants designate various run-time status parameters +** that can be returned by [sqlite3_status()]. +** +**
    +** [[SQLITE_STATUS_MEMORY_USED]] ^(
    SQLITE_STATUS_MEMORY_USED
    +**
    This parameter is the current amount of memory checked out +** using [sqlite3_malloc()], either directly or indirectly. The +** figure includes calls made to [sqlite3_malloc()] by the application +** and internal memory usage by the SQLite library. Auxiliary page-cache +** memory controlled by [SQLITE_CONFIG_PAGECACHE] is not included in +** this parameter. The amount returned is the sum of the allocation +** sizes as reported by the xSize method in [sqlite3_mem_methods].
    )^ +** +** [[SQLITE_STATUS_MALLOC_SIZE]] ^(
    SQLITE_STATUS_MALLOC_SIZE
    +**
    This parameter records the largest memory allocation request +** handed to [sqlite3_malloc()] or [sqlite3_realloc()] (or their +** internal equivalents). Only the value returned in the +** *pHighwater parameter to [sqlite3_status()] is of interest. +** The value written into the *pCurrent parameter is undefined.
    )^ +** +** [[SQLITE_STATUS_MALLOC_COUNT]] ^(
    SQLITE_STATUS_MALLOC_COUNT
    +**
    This parameter records the number of separate memory allocations +** currently checked out.
    )^ +** +** [[SQLITE_STATUS_PAGECACHE_USED]] ^(
    SQLITE_STATUS_PAGECACHE_USED
    +**
    This parameter returns the number of pages used out of the +** [pagecache memory allocator] that was configured using +** [SQLITE_CONFIG_PAGECACHE]. The +** value returned is in pages, not in bytes.
    )^ +** +** [[SQLITE_STATUS_PAGECACHE_OVERFLOW]] +** ^(
    SQLITE_STATUS_PAGECACHE_OVERFLOW
    +**
    This parameter returns the number of bytes of page cache +** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE] +** buffer and where forced to overflow to [sqlite3_malloc()]. The +** returned value includes allocations that overflowed because they +** where too large (they were larger than the "sz" parameter to +** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because +** no space was left in the page cache.
    )^ +** +** [[SQLITE_STATUS_PAGECACHE_SIZE]] ^(
    SQLITE_STATUS_PAGECACHE_SIZE
    +**
    This parameter records the largest memory allocation request +** handed to the [pagecache memory allocator]. Only the value returned in the +** *pHighwater parameter to [sqlite3_status()] is of interest. +** The value written into the *pCurrent parameter is undefined.
    )^ +** +** [[SQLITE_STATUS_SCRATCH_USED]]
    SQLITE_STATUS_SCRATCH_USED
    +**
    No longer used.
    +** +** [[SQLITE_STATUS_SCRATCH_OVERFLOW]] ^(
    SQLITE_STATUS_SCRATCH_OVERFLOW
    +**
    No longer used.
    +** +** [[SQLITE_STATUS_SCRATCH_SIZE]]
    SQLITE_STATUS_SCRATCH_SIZE
    +**
    No longer used.
    +** +** [[SQLITE_STATUS_PARSER_STACK]] ^(
    SQLITE_STATUS_PARSER_STACK
    +**
    The *pHighwater parameter records the deepest parser stack. +** The *pCurrent value is undefined. The *pHighwater value is only +** meaningful if SQLite is compiled with [YYTRACKMAXSTACKDEPTH].
    )^ +**
    +** +** New status parameters may be added from time to time. +*/ +/*line: 8444*/ SQLITE_STATUS_MEMORY_USED = 0x0, // 0 +/*line: 8445*/ SQLITE_STATUS_PAGECACHE_USED = 0x1, // 1 +/*line: 8446*/ SQLITE_STATUS_PAGECACHE_OVERFLOW = 0x2, // 2 +/*line: 8447*/ SQLITE_STATUS_SCRATCH_USED = 0x3, /* NOT USED */ // 3 +/*line: 8448*/ SQLITE_STATUS_SCRATCH_OVERFLOW = 0x4, /* NOT USED */ // 4 +/*line: 8449*/ SQLITE_STATUS_MALLOC_SIZE = 0x5, // 5 +/*line: 8450*/ SQLITE_STATUS_PARSER_STACK = 0x6, // 6 +/*line: 8451*/ SQLITE_STATUS_PAGECACHE_SIZE = 0x7, // 7 +/*line: 8452*/ SQLITE_STATUS_SCRATCH_SIZE = 0x8, /* NOT USED */ // 8 +/*line: 8453*/ SQLITE_STATUS_MALLOC_COUNT = 0x9, // 9 +}; + +enum macro_db_status_options { +/* +** CAPI3REF: Status Parameters for database connections +** KEYWORDS: {SQLITE_DBSTATUS options} +** +** These constants are the available integer "verbs" that can be passed as +** the second argument to the [sqlite3_db_status()] interface. +** +** New verbs may be added in future releases of SQLite. Existing verbs +** might be discontinued. Applications should check the return code from +** [sqlite3_db_status()] to make sure that the call worked. +** The [sqlite3_db_status()] interface will return a non-zero error code +** if a discontinued or unsupported verb is invoked. +** +**
    +** [[SQLITE_DBSTATUS_LOOKASIDE_USED]] ^(
    SQLITE_DBSTATUS_LOOKASIDE_USED
    +**
    This parameter returns the number of lookaside memory slots currently +** checked out.
    )^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(
    SQLITE_DBSTATUS_LOOKASIDE_HIT
    +**
    This parameter returns the number of malloc attempts that were +** satisfied using lookaside memory. Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]] +** ^(
    SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE
    +**
    This parameter returns the number malloc attempts that might have +** been satisfied using lookaside memory but failed due to the amount of +** memory requested being larger than the lookaside slot size. +** Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]] +** ^(
    SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL
    +**
    This parameter returns the number malloc attempts that might have +** been satisfied using lookaside memory but failed due to all lookaside +** memory already being in use. +** Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_CACHE_USED]] ^(
    SQLITE_DBSTATUS_CACHE_USED
    +**
    This parameter returns the approximate number of bytes of heap +** memory used by all pager caches associated with the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. +** +** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]] +** ^(
    SQLITE_DBSTATUS_CACHE_USED_SHARED
    +**
    This parameter is similar to DBSTATUS_CACHE_USED, except that if a +** pager cache is shared between two or more connections the bytes of heap +** memory used by that pager cache is divided evenly between the attached +** connections.)^ In other words, if none of the pager caches associated +** with the database connection are shared, this request returns the same +** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are +** shared, the value returned by this call will be smaller than that returned +** by DBSTATUS_CACHE_USED. ^The highwater mark associated with +** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. +** +** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(
    SQLITE_DBSTATUS_SCHEMA_USED
    +**
    This parameter returns the approximate number of bytes of heap +** memory used to store the schema for all databases associated +** with the connection - main, temp, and any [ATTACH]-ed databases.)^ +** ^The full amount of memory used by the schemas is reported, even if the +** schema memory is shared with other database connections due to +** [shared cache mode] being enabled. +** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. +** +** [[SQLITE_DBSTATUS_STMT_USED]] ^(
    SQLITE_DBSTATUS_STMT_USED
    +**
    This parameter returns the approximate number of bytes of heap +** and lookaside memory used by all prepared statements associated with +** the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_HIT]] ^(
    SQLITE_DBSTATUS_CACHE_HIT
    +**
    This parameter returns the number of pager cache hits that have +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT +** is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_MISS]] ^(
    SQLITE_DBSTATUS_CACHE_MISS
    +**
    This parameter returns the number of pager cache misses that have +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS +** is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_WRITE]] ^(
    SQLITE_DBSTATUS_CACHE_WRITE
    +**
    This parameter returns the number of dirty cache entries that have +** been written to disk. Specifically, the number of pages written to the +** wal file in wal mode databases, or the number of pages written to the +** database file in rollback mode databases. Any pages written as part of +** transaction rollback or database recovery operations are not included. +** If an IO or other error occurs while writing a page to disk, the effect +** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The +** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_SPILL]] ^(
    SQLITE_DBSTATUS_CACHE_SPILL
    +**
    This parameter returns the number of dirty cache entries that have +** been written to disk in the middle of a transaction due to the page +** cache overflowing. Transactions are more efficient if they are written +** to disk all at once. When pages spill mid-transaction, that introduces +** additional overhead. This parameter can be used help identify +** inefficiencies that can be resolved by increasing the cache size. +**
    +** +** [[SQLITE_DBSTATUS_DEFERRED_FKS]] ^(
    SQLITE_DBSTATUS_DEFERRED_FKS
    +**
    This parameter returns zero for the current value if and only if +** all foreign key constraints (deferred or immediate) have been +** resolved.)^ ^The highwater mark is always 0. +**
    +**
    +*/ +/*line: 8591*/ SQLITE_DBSTATUS_LOOKASIDE_USED = 0x0, // 0 +/*line: 8592*/ SQLITE_DBSTATUS_CACHE_USED = 0x1, // 1 +/*line: 8593*/ SQLITE_DBSTATUS_SCHEMA_USED = 0x2, // 2 +/*line: 8594*/ SQLITE_DBSTATUS_STMT_USED = 0x3, // 3 +/*line: 8595*/ SQLITE_DBSTATUS_LOOKASIDE_HIT = 0x4, // 4 +/*line: 8596*/ SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 0x5, // 5 +/*line: 8597*/ SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 0x6, // 6 +/*line: 8598*/ SQLITE_DBSTATUS_CACHE_HIT = 0x7, // 7 +/*line: 8599*/ SQLITE_DBSTATUS_CACHE_MISS = 0x8, // 8 +/*line: 8600*/ SQLITE_DBSTATUS_CACHE_WRITE = 0x9, // 9 +/*line: 8601*/ SQLITE_DBSTATUS_DEFERRED_FKS = 0xa, // 10 +/*line: 8602*/ SQLITE_DBSTATUS_CACHE_USED_SHARED = 0xb, // 11 +/*line: 8603*/ SQLITE_DBSTATUS_CACHE_SPILL = 0xc, // 12 +/*line: 8604*/ SQLITE_DBSTATUS_MAX = 0xc, /* Largest defined DBSTATUS */ // 12 +}; + +enum macro_stmt_status { +/* +** CAPI3REF: Status Parameters for prepared statements +** KEYWORDS: {SQLITE_STMTSTATUS counter} {SQLITE_STMTSTATUS counters} +** +** These preprocessor macros define integer codes that name counter +** values associated with the [sqlite3_stmt_status()] interface. +** The meanings of the various counters are as follows: +** +**
    +** [[SQLITE_STMTSTATUS_FULLSCAN_STEP]]
    SQLITE_STMTSTATUS_FULLSCAN_STEP
    +**
    ^This is the number of times that SQLite has stepped forward in +** a table as part of a full table scan. Large numbers for this counter +** may indicate opportunities for performance improvement through +** careful use of indices.
    +** +** [[SQLITE_STMTSTATUS_SORT]]
    SQLITE_STMTSTATUS_SORT
    +**
    ^This is the number of sort operations that have occurred. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance through careful use of indices.
    +** +** [[SQLITE_STMTSTATUS_AUTOINDEX]]
    SQLITE_STMTSTATUS_AUTOINDEX
    +**
    ^This is the number of rows inserted into transient indices that +** were created automatically in order to help joins run faster. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance by adding permanent indices that do not +** need to be reinitialized each time the statement is run.
    +** +** [[SQLITE_STMTSTATUS_VM_STEP]]
    SQLITE_STMTSTATUS_VM_STEP
    +**
    ^This is the number of virtual machine operations executed +** by the prepared statement if that number is less than or equal +** to 2147483647. The number of virtual machine operations can be +** used as a proxy for the total work done by the prepared statement. +** If the number of virtual machine operations exceeds 2147483647 +** then the value returned by this statement status code is undefined. +** +** [[SQLITE_STMTSTATUS_REPREPARE]]
    SQLITE_STMTSTATUS_REPREPARE
    +**
    ^This is the number of times that the prepare statement has been +** automatically regenerated due to schema changes or changes to +** [bound parameters] that might affect the query plan. +** +** [[SQLITE_STMTSTATUS_RUN]]
    SQLITE_STMTSTATUS_RUN
    +**
    ^This is the number of times that the prepared statement has +** been run. A single "run" for the purposes of this counter is one +** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()]. +** The counter is incremented on the first [sqlite3_step()] call of each +** cycle. +** +** [[SQLITE_STMTSTATUS_FILTER_MISS]] +** [[SQLITE_STMTSTATUS_FILTER HIT]] +**
    SQLITE_STMTSTATUS_FILTER_HIT
    +** SQLITE_STMTSTATUS_FILTER_MISS
    +**
    ^SQLITE_STMTSTATUS_FILTER_HIT is the number of times that a join +** step was bypassed because a Bloom filter returned not-found. The +** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of +** times that the Bloom filter returned a find, and thus the join step +** had to be processed as normal. +** +** [[SQLITE_STMTSTATUS_MEMUSED]]
    SQLITE_STMTSTATUS_MEMUSED
    +**
    ^This is the approximate number of bytes of heap memory +** used to store the prepared statement. ^This value is not actually +** a counter, and so the resetFlg parameter to sqlite3_stmt_status() +** is ignored when the opcode is SQLITE_STMTSTATUS_MEMUSED. +**
    +**
    +*/ +/*line: 8698*/ SQLITE_STMTSTATUS_FULLSCAN_STEP = 0x1, // 1 +/*line: 8699*/ SQLITE_STMTSTATUS_SORT = 0x2, // 2 +/*line: 8700*/ SQLITE_STMTSTATUS_AUTOINDEX = 0x3, // 3 +/*line: 8701*/ SQLITE_STMTSTATUS_VM_STEP = 0x4, // 4 +/*line: 8702*/ SQLITE_STMTSTATUS_REPREPARE = 0x5, // 5 +/*line: 8703*/ SQLITE_STMTSTATUS_RUN = 0x6, // 6 +/*line: 8704*/ SQLITE_STMTSTATUS_FILTER_MISS = 0x7, // 7 +/*line: 8705*/ SQLITE_STMTSTATUS_FILTER_HIT = 0x8, // 8 +/*line: 8706*/ SQLITE_STMTSTATUS_MEMUSED = 0x63, // 99 +}; + +enum macro_checkpoint_mode { +/* +** CAPI3REF: Checkpoint Mode Values +** KEYWORDS: {checkpoint mode} +** +** These constants define all valid values for the "checkpoint mode" passed +** as the third parameter to the [sqlite3_wal_checkpoint_v2()] interface. +** See the [sqlite3_wal_checkpoint_v2()] documentation for details on the +** meaning of each of these checkpoint modes. +*/ +/*line: 9434*/ SQLITE_CHECKPOINT_PASSIVE = 0x0, /* Do as much as possible w/o blocking */ // 0 +/*line: 9435*/ SQLITE_CHECKPOINT_FULL = 0x1, /* Wait for writers, then checkpoint */ // 1 +/*line: 9436*/ SQLITE_CHECKPOINT_RESTART = 0x2, /* Like FULL but wait for readers */ // 2 +/*line: 9437*/ SQLITE_CHECKPOINT_TRUNCATE = 0x3, /* Like RESTART but also truncate WAL */ // 3 +}; + +enum macro_vtab_config_options { +/* +** CAPI3REF: Virtual Table Configuration Options +** KEYWORDS: {virtual table configuration options} +** KEYWORDS: {virtual table configuration option} +** +** These macros define the various options to the +** [sqlite3_vtab_config()] interface that [virtual table] implementations +** can use to customize and optimize their behavior. +** +**
    +** [[SQLITE_VTAB_CONSTRAINT_SUPPORT]] +**
    SQLITE_VTAB_CONSTRAINT_SUPPORT
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_CONSTRAINT_SUPPORT,X) are supported, +** where X is an integer. If X is zero, then the [virtual table] whose +** [xCreate] or [xConnect] method invoked [sqlite3_vtab_config()] does not +** support constraints. In this configuration (which is the default) if +** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire +** statement is rolled back as if [ON CONFLICT | OR ABORT] had been +** specified as part of the users SQL statement, regardless of the actual +** ON CONFLICT mode specified. +** +** If X is non-zero, then the virtual table implementation guarantees +** that if [xUpdate] returns [SQLITE_CONSTRAINT], it will do so before +** any modifications to internal or persistent data structures have been made. +** If the [ON CONFLICT] mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite +** is able to roll back a statement or database transaction, and abandon +** or continue processing the current SQL statement as appropriate. +** If the ON CONFLICT mode is REPLACE and the [xUpdate] method returns +** [SQLITE_CONSTRAINT], SQLite handles this as if the ON CONFLICT mode +** had been ABORT. +** +** Virtual table implementations that are required to handle OR REPLACE +** must do so within the [xUpdate] method. If a call to the +** [sqlite3_vtab_on_conflict()] function indicates that the current ON +** CONFLICT policy is REPLACE, the virtual table implementation should +** silently replace the appropriate rows within the xUpdate callback and +** return SQLITE_OK. Or, if this is not possible, it may return +** SQLITE_CONSTRAINT, in which case SQLite falls back to OR ABORT +** constraint handling. +**
    +** +** [[SQLITE_VTAB_DIRECTONLY]]
    SQLITE_VTAB_DIRECTONLY
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_DIRECTONLY) from within the +** the [xConnect] or [xCreate] methods of a [virtual table] implementation +** prohibits that virtual table from being used from within triggers and +** views. +**
    +** +** [[SQLITE_VTAB_INNOCUOUS]]
    SQLITE_VTAB_INNOCUOUS
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the +** the [xConnect] or [xCreate] methods of a [virtual table] implementation +** identify that virtual table as being safe to use from within triggers +** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the +** virtual table can do no serious harm even if it is controlled by a +** malicious hacker. Developers should avoid setting the SQLITE_VTAB_INNOCUOUS +** flag unless absolutely necessary. +**
    +** +** [[SQLITE_VTAB_USES_ALL_SCHEMAS]]
    SQLITE_VTAB_USES_ALL_SCHEMAS
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_USES_ALL_SCHEMA) from within the +** the [xConnect] or [xCreate] methods of a [virtual table] implementation +** instruct the query planner to begin at least a read transaction on +** all schemas ("main", "temp", and any ATTACH-ed databases) whenever the +** virtual table is used. +**
    +**
    +*/ +/*line: 9531*/ SQLITE_VTAB_CONSTRAINT_SUPPORT = 0x1, // 1 +/*line: 9532*/ SQLITE_VTAB_INNOCUOUS = 0x2, // 2 +/*line: 9533*/ SQLITE_VTAB_DIRECTONLY = 0x3, // 3 +/*line: 9534*/ SQLITE_VTAB_USES_ALL_SCHEMAS = 0x4, // 4 +}; + +enum macro_conflict_resolution { +/* +** CAPI3REF: Conflict resolution modes +** KEYWORDS: {conflict resolution mode} +** +** These constants are returned by [sqlite3_vtab_on_conflict()] to +** inform a [virtual table] implementation what the [ON CONFLICT] mode +** is for the SQL statement being evaluated. +** +** Note that the [SQLITE_IGNORE] constant is also used as a potential +** return value from the [sqlite3_set_authorizer()] callback and that +** [SQLITE_ABORT] is also a [result code]. +*/ +/*line: 9866*/ SQLITE_ROLLBACK = 0x1, // 1 +/* #define SQLITE_IGNORE 2 // Also used by sqlite3_authorizer() callback */ +/*line: 9868*/ SQLITE_FAIL = 0x3, // 3 +/* #define SQLITE_ABORT 4 // Also an error code */ +/*line: 9870*/ SQLITE_REPLACE = 0x5, // 5 +}; + +enum macro_scan_status_options { +/* +** CAPI3REF: Prepared Statement Scan Status Opcodes +** KEYWORDS: {scanstatus options} +** +** The following constants can be used for the T parameter to the +** [sqlite3_stmt_scanstatus(S,X,T,V)] interface. Each constant designates a +** different metric for sqlite3_stmt_scanstatus() to return. +** +** When the value returned to V is a string, space to hold that string is +** managed by the prepared statement S and will be automatically freed when +** S is finalized. +** +** Not all values are available for all query elements. When a value is +** not available, the output variable is set to -1 if the value is numeric, +** or to NULL if it is a string (SQLITE_SCANSTAT_NAME). +** +**
    +** [[SQLITE_SCANSTAT_NLOOP]]
    SQLITE_SCANSTAT_NLOOP
    +**
    ^The [sqlite3_int64] variable pointed to by the V parameter will be +** set to the total number of times that the X-th loop has run.
    +** +** [[SQLITE_SCANSTAT_NVISIT]]
    SQLITE_SCANSTAT_NVISIT
    +**
    ^The [sqlite3_int64] variable pointed to by the V parameter will be set +** to the total number of rows examined by all iterations of the X-th loop.
    +** +** [[SQLITE_SCANSTAT_EST]]
    SQLITE_SCANSTAT_EST
    +**
    ^The "double" variable pointed to by the V parameter will be set to the +** query planner's estimate for the average number of rows output from each +** iteration of the X-th loop. If the query planner's estimates was accurate, +** then this value will approximate the quotient NVISIT/NLOOP and the +** product of this value for all prior loops with the same SELECTID will +** be the NLOOP value for the current loop. +** +** [[SQLITE_SCANSTAT_NAME]]
    SQLITE_SCANSTAT_NAME
    +**
    ^The "const char *" variable pointed to by the V parameter will be set +** to a zero-terminated UTF-8 string containing the name of the index or table +** used for the X-th loop. +** +** [[SQLITE_SCANSTAT_EXPLAIN]]
    SQLITE_SCANSTAT_EXPLAIN
    +**
    ^The "const char *" variable pointed to by the V parameter will be set +** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN] +** description for the X-th loop. +** +** [[SQLITE_SCANSTAT_SELECTID]]
    SQLITE_SCANSTAT_SELECTID
    +**
    ^The "int" variable pointed to by the V parameter will be set to the +** id for the X-th query plan element. The id value is unique within the +** statement. The select-id is the same value as is output in the first +** column of an [EXPLAIN QUERY PLAN] query. +** +** [[SQLITE_SCANSTAT_PARENTID]]
    SQLITE_SCANSTAT_PARENTID
    +**
    The "int" variable pointed to by the V parameter will be set to the +** the id of the parent of the current query element, if applicable, or +** to zero if the query element has no parent. This is the same value as +** returned in the second column of an [EXPLAIN QUERY PLAN] query. +** +** [[SQLITE_SCANSTAT_NCYCLE]]
    SQLITE_SCANSTAT_NCYCLE
    +**
    The sqlite3_int64 output value is set to the number of cycles, +** according to the processor time-stamp counter, that elapsed while the +** query element was being processed. This value is not available for +** all query elements - if it is unavailable the output variable is +** set to -1. +**
    +*/ +/*line: 9935*/ SQLITE_SCANSTAT_NLOOP = 0x0, // 0 +/*line: 9936*/ SQLITE_SCANSTAT_NVISIT = 0x1, // 1 +/*line: 9937*/ SQLITE_SCANSTAT_EST = 0x2, // 2 +/*line: 9938*/ SQLITE_SCANSTAT_NAME = 0x3, // 3 +/*line: 9939*/ SQLITE_SCANSTAT_EXPLAIN = 0x4, // 4 +/*line: 9940*/ SQLITE_SCANSTAT_SELECTID = 0x5, // 5 +/*line: 9941*/ SQLITE_SCANSTAT_PARENTID = 0x6, // 6 +/*line: 9942*/ SQLITE_SCANSTAT_NCYCLE = 0x7, // 7 +}; + +enum macro_scan_status_flags { +/* +** CAPI3REF: Prepared Statement Scan Status +** KEYWORDS: {scan status flags} +*/ +/*line: 10002*/ SQLITE_SCANSTAT_COMPLEX = 0x1, // 0x0001 +}; + +enum macro_serialize_flags { +/* +** CAPI3REF: Flags for sqlite3_serialize +** +** Zero or more of the following constants can be OR-ed together for +** the F argument to [sqlite3_serialize(D,S,P,F)]. +** +** SQLITE_SERIALIZE_NOCOPY means that [sqlite3_serialize()] will return +** a pointer to contiguous in-memory database that it is currently using, +** without making a copy of the database. If SQLite is not currently using +** a contiguous in-memory database, then this option causes +** [sqlite3_serialize()] to return a NULL pointer. SQLite will only be +** using a contiguous in-memory database if it has been initialized by a +** prior call to [sqlite3_deserialize()]. +*/ +/*line: 10302*/ SQLITE_SERIALIZE_NOCOPY = 0x1, /* Do no memory allocations */ // 0x001 +}; + +enum macro_deserialize_flags { +/* +** CAPI3REF: Flags for sqlite3_deserialize() +** +** The following are allowed values for 6th argument (the F argument) to +** the [sqlite3_deserialize(D,S,P,N,M,F)] interface. +** +** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization +** in the P argument is held in memory obtained from [sqlite3_malloc64()] +** and that SQLite should take ownership of this memory and automatically +** free it when it has finished using it. Without this flag, the caller +** is responsible for freeing any dynamically allocated memory. +** +** The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to +** grow the size of the database using calls to [sqlite3_realloc64()]. This +** flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. +** Without this flag, the deserialized database cannot increase in size beyond +** the number of bytes specified by the M parameter. +** +** The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database +** should be treated as read-only. +*/ +/*line: 10368*/ SQLITE_DESERIALIZE_FREEONCLOSE = 0x1, /* Call sqlite3_free() on close */ // 1 +/*line: 10369*/ SQLITE_DESERIALIZE_RESIZEABLE = 0x2, /* Resize using sqlite3_realloc64() */ // 2 +/*line: 10370*/ SQLITE_DESERIALIZE_READONLY = 0x4, /* Database is read-only */ // 4 +}; + +enum macro_rtree_within { +/* +** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +*/ +/*line: 10486*/ NOT_WITHIN = 0x0, /* Object completely outside of query region */ // 0 +/*line: 10487*/ PARTLY_WITHIN = 0x1, /* Object partially overlaps query region */ // 1 +/*line: 10488*/ FULLY_WITHIN = 0x2, /* Object fully contained within query region */ // 2 +}; + +enum macro_fts5_tokenize_flags { +/* Flags that may be passed as the third argument to xTokenize() */ +/*line: 11017*/ FTS5_TOKENIZE_QUERY = 0x1, // 0x0001 +/*line: 11018*/ FTS5_TOKENIZE_PREFIX = 0x2, // 0x0002 +/*line: 11019*/ FTS5_TOKENIZE_DOCUMENT = 0x4, // 0x0004 +/*line: 11020*/ FTS5_TOKENIZE_AUX = 0x8, // 0x0008 +}; + +enum macro_fts5_token_flags { +/* Flags that may be passed by the tokenizer implementation back to FTS5 +** as the third argument to the supplied xToken callback. */ +/*line: 11024*/ FTS5_TOKEN_COLOCATED = 0x1, /* Same position as prev. token */ // 0x0001 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 64 +// #define SQLITE_EXTERN extern + +// Line: 76 +// #define SQLITE_STDCALL SQLITE_APICALL + +// Line: 104 +// #define SQLITE_AVAILABLE __API_AVAILABLE + +// Line: 105 +// #define SQLITE_DEPRECATED_NO_REPLACEMENT __API_DEPRECATED + +// Line: 106 +// #define SQLITE_DEPRECATED_WITH_REPLACEMENT __API_DEPRECATED_WITH_REPLACEMENT + diff --git a/macrodefs_enums/ios/stdint.h b/macrodefs_enums/ios/stdint.h new file mode 100644 index 000000000..03f2d7702 --- /dev/null +++ b/macrodefs_enums/ios/stdint.h @@ -0,0 +1,125 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/stdint.h + +enum macro_wordsize { +/*line: 10*/ __WORDSIZE = 0x40, // 64 +}; + +enum macro_int_limits { +/* 7.18.2.1 Limits of exact-width integer types */ +/*line: 91*/ INT8_MAX = 0x7f, // 127 +/*line: 92*/ INT16_MAX = 0x7fff, // 32767 +/*line: 93*/ INT32_MAX = 0x7fffffff, // 2147483647 +/*line: 94*/ INT64_MAX = 0x7fffffffffffffff, // 9223372036854775807LL +/*line: 96*/ INT8_MIN = -0x80, // -128 +/*line: 97*/ INT16_MIN = -0x8000, // -32768 +/* + Note: the literal "most negative int" cannot be written in C -- + the rules in the standard (section 6.4.4.1 in C99) will give it + an unsigned type, so INT32_MIN (and the most negative member of + any larger signed type) must be written via a constant expression. + */ +/*line: 104*/ INT32_MIN = -0x80000000, // (-INT32_MAX-1) +/*line: 105*/ INT64_MIN = -0x8000000000000000, // (-INT64_MAX-1) +}; + +enum macro_uint_limits { +/*line: 107*/ UINT8_MAX = 0xff, // 255 +/*line: 108*/ UINT16_MAX = 0xffff, // 65535 +/*line: 109*/ UINT32_MAX = 0xffffffff, // 4294967295U +/*line: 110*/ UINT64_MAX = 0xffffffffffffffff, // 18446744073709551615ULL +}; + +// Depends on identifiers +enum macro_int_least_limits { +/* 7.18.2.2 Limits of minimum-width integer types */ +/*line: 113*/ INT_LEAST8_MIN = -0x80, // INT8_MIN +/*line: 114*/ INT_LEAST16_MIN = -0x8000, // INT16_MIN +/*line: 115*/ INT_LEAST32_MIN = -0x80000000, // INT32_MIN +/*line: 116*/ INT_LEAST64_MIN = -0x8000000000000000, // INT64_MIN +/*line: 118*/ INT_LEAST8_MAX = 0x7f, // INT8_MAX +/*line: 119*/ INT_LEAST16_MAX = 0x7fff, // INT16_MAX +/*line: 120*/ INT_LEAST32_MAX = 0x7fffffff, // INT32_MAX +/*line: 121*/ INT_LEAST64_MAX = 0x7fffffffffffffff, // INT64_MAX +}; + +// Depends on identifiers +enum macro_uint_least_limits { +/*line: 123*/ UINT_LEAST8_MAX = 0xff, // UINT8_MAX +/*line: 124*/ UINT_LEAST16_MAX = 0xffff, // UINT16_MAX +/*line: 125*/ UINT_LEAST32_MAX = 0xffffffff, // UINT32_MAX +/*line: 126*/ UINT_LEAST64_MAX = 0xffffffffffffffff, // UINT64_MAX +}; + +// Depends on identifiers +enum macro_int_fast_limits { +/* 7.18.2.3 Limits of fastest minimum-width integer types */ +/*line: 129*/ INT_FAST8_MIN = -0x80, // INT8_MIN +/*line: 130*/ INT_FAST16_MIN = -0x8000, // INT16_MIN +/*line: 131*/ INT_FAST32_MIN = -0x80000000, // INT32_MIN +/*line: 132*/ INT_FAST64_MIN = -0x8000000000000000, // INT64_MIN +/*line: 134*/ INT_FAST8_MAX = 0x7f, // INT8_MAX +/*line: 135*/ INT_FAST16_MAX = 0x7fff, // INT16_MAX +/*line: 136*/ INT_FAST32_MAX = 0x7fffffff, // INT32_MAX +/*line: 137*/ INT_FAST64_MAX = 0x7fffffffffffffff, // INT64_MAX +}; + +// Depends on identifiers +enum macro_uint_fast_limits { +/*line: 139*/ UINT_FAST8_MAX = 0xff, // UINT8_MAX +/*line: 140*/ UINT_FAST16_MAX = 0xffff, // UINT16_MAX +/*line: 141*/ UINT_FAST32_MAX = 0xffffffff, // UINT32_MAX +/*line: 142*/ UINT_FAST64_MAX = 0xffffffffffffffff, // UINT64_MAX +}; + +// Depends on identifiers +enum macro_intptr_limits { +/*line: 147*/ INTPTR_MAX = 0x7fffffffffffffff, // 9223372036854775807L +/*line: 151*/ INTPTR_MIN = -0x8000000000000000, // (-INTPTR_MAX-1) +}; + +enum macro_uintptr_limits { +/*line: 154*/ UINTPTR_MAX = 0xffffffffffffffff, // 18446744073709551615UL +}; + +// Depends on identifiers +enum macro_intmax_limits { +/* 7.18.2.5 Limits of greatest-width integer types */ +/*line: 160*/ INTMAX_MAX = 0x7fffffffffffffff, // INTMAX_C(9223372036854775807) +/*line: 161*/ UINTMAX_MAX = 0xffffffffffffffff, // UINTMAX_C(18446744073709551615) +/*line: 162*/ INTMAX_MIN = -0x8000000000000000, // (-INTMAX_MAX-1) +}; + +// Depends on identifiers +enum macro_ptr_diff_limits { +/*line: 166*/ PTRDIFF_MIN = -0x8000000000000000, // INTMAX_MIN +/*line: 167*/ PTRDIFF_MAX = 0x7fffffffffffffff, // INTMAX_MAX +}; + +// Depends on identifiers +enum macro_size_limits { +/*line: 173*/ SIZE_MAX = 0xffffffffffffffff, // UINTPTR_MAX +}; + +// Depends on identifiers +enum macro_wchar_limits { +/*line: 181*/ WCHAR_MAX = 0x7fffffff, // __WCHAR_MAX__ +/*line: 195*/ WCHAR_MIN = -0x80000000, // (-WCHAR_MAX-1) +}; + +// Depends on identifiers +enum macro_wint_limits { +/*line: 199*/ WINT_MIN = -0x80000000, // INT32_MIN +/*line: 200*/ WINT_MAX = 0x7fffffff, // INT32_MAX +}; + +// Depends on identifiers +enum macro_sigatomic_limits { +/*line: 202*/ SIG_ATOMIC_MIN = -0x80000000, // INT32_MIN +/*line: 203*/ SIG_ATOMIC_MAX = 0x7fffffff, // INT32_MAX +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 176 +// #define RSIZE_MAX (SIZE_MAX >> 1) + diff --git a/macrodefs_enums/ios/sys/__endian.h b/macrodefs_enums/ios/sys/__endian.h new file mode 100644 index 000000000..95e45ca51 --- /dev/null +++ b/macrodefs_enums/ios/sys/__endian.h @@ -0,0 +1,20 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/__endian.h + +enum macro_byte_order { +/* + * Definitions for byte order, according to byte significance from low + * address to high. + */ +/*line: 97*/ __DARWIN_LITTLE_ENDIAN = 0x4d2, /* LSB first: i386, vax */ // 1234 +/*line: 98*/ __DARWIN_BIG_ENDIAN = 0x10e1, /* MSB first: 68000, ibm, net */ // 4321 +/*line: 99*/ __DARWIN_PDP_ENDIAN = 0xd54, /* LSB first in word, MSW first in long */ // 3412 +}; + +// Depends on identifiers +enum macro_endianness { +/*line: 103*/ LITTLE_ENDIAN = 0x4d2, // __DARWIN_LITTLE_ENDIAN +/*line: 104*/ BIG_ENDIAN = 0x10e1, // __DARWIN_BIG_ENDIAN +/*line: 105*/ PDP_ENDIAN = 0xd54, // __DARWIN_PDP_ENDIAN +}; + diff --git a/macrodefs_enums/ios/sys/_pthread/_pthread_types.h b/macrodefs_enums/ios/sys/_pthread/_pthread_types.h new file mode 100644 index 000000000..3006eddf4 --- /dev/null +++ b/macrodefs_enums/ios/sys/_pthread/_pthread_types.h @@ -0,0 +1,15 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_pthread/_pthread_types.h + +enum macro_pthread_sizes { +/*line: 36*/ __PTHREAD_SIZE__ = 0x1ff0, // 8176 +/*line: 37*/ __PTHREAD_ATTR_SIZE__ = 0x38, // 56 +/*line: 38*/ __PTHREAD_MUTEXATTR_SIZE__ = 0x8, // 8 +/*line: 39*/ __PTHREAD_MUTEX_SIZE__ = 0x38, // 56 +/*line: 40*/ __PTHREAD_CONDATTR_SIZE__ = 0x8, // 8 +/*line: 41*/ __PTHREAD_COND_SIZE__ = 0x28, // 40 +/*line: 42*/ __PTHREAD_ONCE_SIZE__ = 0x8, // 8 +/*line: 43*/ __PTHREAD_RWLOCK_SIZE__ = 0xc0, // 192 +/*line: 44*/ __PTHREAD_RWLOCKATTR_SIZE__ = 0x10, // 16 +}; + diff --git a/macrodefs_enums/ios/sys/_types.h b/macrodefs_enums/ios/sys/_types.h new file mode 100644 index 000000000..f1a44ceaf --- /dev/null +++ b/macrodefs_enums/ios/sys/_types.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types.h + +enum macro_darwin_null { +/*line: 64*/ __DARWIN_NULL = 0x0, // ((void*)0) +}; + diff --git a/macrodefs_enums/ios/sys/_types/_fd_def.h b/macrodefs_enums/ios/sys/_types/_fd_def.h new file mode 100644 index 000000000..59f750e30 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_fd_def.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_fd_def.h + +enum macro_fd_limits { +/*line: 43*/ __DARWIN_FD_SETSIZE = 0x400, // 1024 +/*line: 45*/ __DARWIN_NBBY = 0x8, /* bits in a byte */ // 8 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 46 +// #define __DARWIN_NFDBITS (sizeof(__int32_t) * __DARWIN_NBBY) + diff --git a/macrodefs_enums/ios/sys/_types/_fd_setsize.h b/macrodefs_enums/ios/sys/_types/_fd_setsize.h new file mode 100644 index 000000000..c4784be76 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_fd_setsize.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_fd_setsize.h + +// Depends on identifiers +enum macro_fd_setsize { +/*line: 30*/ FD_SETSIZE = 0x400, // __DARWIN_FD_SETSIZE +}; + diff --git a/macrodefs_enums/ios/sys/_types/_graftdmg_un.h b/macrodefs_enums/ios/sys/_types/_graftdmg_un.h new file mode 100644 index 000000000..2a7b7ff01 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_graftdmg_un.h @@ -0,0 +1,18 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_graftdmg_un.h + +enum macro_graftdmg_args { +/*line: 35*/ GRAFTDMG_SECURE_BOOT_CRYPTEX_ARGS_VERSION = 0x1, // 1 +/*line: 36*/ MAX_GRAFT_ARGS_SIZE = 0x200, // 512 +}; + +enum macro_secure_boot_flags { +/* Flag values for secure_boot_cryptex_args.sbc_flags */ +/*line: 39*/ SBC_PRESERVE_MOUNT = 0x1, /* Preserve underlying mount until shutdown */ // 0x0001 +/*line: 40*/ SBC_ALTERNATE_SHARED_REGION = 0x2, /* Binaries within should use alternate shared region */ // 0x0002 +/*line: 41*/ SBC_SYSTEM_CONTENT = 0x4, /* Cryptex contains system content */ // 0x0004 +/*line: 42*/ SBC_PANIC_ON_AUTHFAIL = 0x8, /* On failure to authenticate, panic */ // 0x0008 +/*line: 43*/ SBC_STRICT_AUTH = 0x10, /* Strict authentication mode */ // 0x0010 +/*line: 44*/ SBC_PRESERVE_GRAFT = 0x20, /* Preserve graft itself until unmount */ // 0x0020 +}; + diff --git a/macrodefs_enums/ios/sys/_types/_guid_t.h b/macrodefs_enums/ios/sys/_types/_guid_t.h new file mode 100644 index 000000000..751ae13fb --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_guid_t.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_guid_t.h + +enum macro_guid_size { +/*line: 32*/ KAUTH_GUID_SIZE = 0x10, /* 128-bit identifier */ // 16 +}; + diff --git a/macrodefs_enums/ios/sys/_types/_null.h b/macrodefs_enums/ios/sys/_types/_null.h new file mode 100644 index 000000000..8bbce5151 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_null.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_null.h + +// Depends on identifiers +enum macro_null_value { +/*line: 49*/ NULL = 0x0, // __DARWIN_NULL +}; + diff --git a/macrodefs_enums/ios/sys/_types/_o_dsync.h b/macrodefs_enums/ios/sys/_types/_o_dsync.h new file mode 100644 index 000000000..f72e10b84 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_o_dsync.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_o_dsync.h + +enum macro_o_dsync { +/*line: 29*/ O_DSYNC = 0x400000, /* synch I/O data integrity */ // 0x400000 +}; + diff --git a/macrodefs_enums/ios/sys/_types/_o_sync.h b/macrodefs_enums/ios/sys/_types/_o_sync.h new file mode 100644 index 000000000..696924c4e --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_o_sync.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_o_sync.h + +enum macro_o_sync { +/*line: 29*/ O_SYNC = 0x80, /* synch I/O file integrity */ // 0x0080 +}; + diff --git a/macrodefs_enums/ios/sys/_types/_os_inline.h b/macrodefs_enums/ios/sys/_types/_os_inline.h new file mode 100644 index 000000000..59e3b93df --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_os_inline.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_os_inline.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 30 +// #define OS_INLINE static inline + diff --git a/macrodefs_enums/ios/sys/_types/_posix_vdisable.h b/macrodefs_enums/ios/sys/_types/_posix_vdisable.h new file mode 100644 index 000000000..82ade2e61 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_posix_vdisable.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_posix_vdisable.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define _POSIX_VDISABLE ((unsigned char)'\377') + diff --git a/macrodefs_enums/ios/sys/_types/_s_ifmt.h b/macrodefs_enums/ios/sys/_types/_s_ifmt.h new file mode 100644 index 000000000..f12e12f26 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_s_ifmt.h @@ -0,0 +1,41 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_s_ifmt.h + +enum macro_file_type { +/* File type */ +/*line: 35*/ S_IFMT = 0xf000, /* [XSI] type of file mask */ // 0170000 +/*line: 36*/ S_IFIFO = 0x1000, /* [XSI] named pipe (fifo) */ // 0010000 +/*line: 37*/ S_IFCHR = 0x2000, /* [XSI] character special */ // 0020000 +/*line: 38*/ S_IFDIR = 0x4000, /* [XSI] directory */ // 0040000 +/*line: 39*/ S_IFBLK = 0x6000, /* [XSI] block special */ // 0060000 +/*line: 40*/ S_IFREG = 0x8000, /* [XSI] regular */ // 0100000 +/*line: 41*/ S_IFLNK = 0xa000, /* [XSI] symbolic link */ // 0120000 +/*line: 42*/ S_IFSOCK = 0xc000, /* [XSI] socket */ // 0140000 +/*line: 44*/ S_IFWHT = 0xe000, /* OBSOLETE: whiteout */ // 0160000 +}; + +enum macro_file_permissions { +/* Read, write, execute/search by owner */ +/*line: 49*/ S_IRWXU = 0x1c0, /* [XSI] RWX mask for owner */ // 0000700 +/*line: 50*/ S_IRUSR = 0x100, /* [XSI] R for owner */ // 0000400 +/*line: 51*/ S_IWUSR = 0x80, /* [XSI] W for owner */ // 0000200 +/*line: 52*/ S_IXUSR = 0x40, /* [XSI] X for owner */ // 0000100 +/* Read, write, execute/search by group */ +/*line: 54*/ S_IRWXG = 0x38, /* [XSI] RWX mask for group */ // 0000070 +/*line: 55*/ S_IRGRP = 0x20, /* [XSI] R for group */ // 0000040 +/*line: 56*/ S_IWGRP = 0x10, /* [XSI] W for group */ // 0000020 +/*line: 57*/ S_IXGRP = 0x8, /* [XSI] X for group */ // 0000010 +/* Read, write, execute/search by others */ +/*line: 59*/ S_IRWXO = 0x7, /* [XSI] RWX mask for other */ // 0000007 +/*line: 60*/ S_IROTH = 0x4, /* [XSI] R for other */ // 0000004 +/*line: 61*/ S_IWOTH = 0x2, /* [XSI] W for other */ // 0000002 +/*line: 62*/ S_IXOTH = 0x1, /* [XSI] X for other */ // 0000001 +/*line: 64*/ S_ISUID = 0x800, /* [XSI] set user id on execution */ // 0004000 +/*line: 65*/ S_ISGID = 0x400, /* [XSI] set group id on execution */ // 0002000 +/*line: 66*/ S_ISVTX = 0x200, /* [XSI] directory restrcted delete */ // 0001000 +/*line: 69*/ S_ISTXT = 0x200, /* sticky bit: not supported */ // S_ISVTX +/*line: 70*/ S_IREAD = 0x100, /* backward compatability */ // S_IRUSR +/*line: 71*/ S_IWRITE = 0x80, /* backward compatability */ // S_IWUSR +/*line: 72*/ S_IEXEC = 0x40, /* backward compatability */ // S_IXUSR +}; + diff --git a/macrodefs_enums/ios/sys/_types/_seek_set.h b/macrodefs_enums/ios/sys/_types/_seek_set.h new file mode 100644 index 000000000..08e5f7c67 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_seek_set.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_seek_set.h + +enum macro_seek_mode { +/*line: 36*/ SEEK_SET = 0x0, /* set file offset to offset */ // 0 +/*line: 37*/ SEEK_CUR = 0x1, /* set file offset to current plus offset */ // 1 +/*line: 38*/ SEEK_END = 0x2, /* set file offset to EOF plus offset */ // 2 +/*line: 43*/ SEEK_HOLE = 0x3, /* set file offset to the start of the next hole greater than or equal to the supplied offset */ // 3 +/*line: 47*/ SEEK_DATA = 0x4, /* set file offset to the start of the next non-hole file region greater than or equal to the supplied offset */ // 4 +}; + diff --git a/macrodefs_enums/ios/sys/_types/_sigaltstack.h b/macrodefs_enums/ios/sys/_types/_sigaltstack.h new file mode 100644 index 000000000..868b47947 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_sigaltstack.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_sigaltstack.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 35 +// #define _STRUCT_SIGALTSTACK struct __darwin_sigaltstack + diff --git a/macrodefs_enums/ios/sys/_types/_timespec.h b/macrodefs_enums/ios/sys/_types/_timespec.h new file mode 100644 index 000000000..0987d1b67 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_timespec.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_timespec.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define _STRUCT_TIMESPEC struct timespec + diff --git a/macrodefs_enums/ios/sys/_types/_timeval.h b/macrodefs_enums/ios/sys/_types/_timeval.h new file mode 100644 index 000000000..b462cc0fa --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_timeval.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_timeval.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define _STRUCT_TIMEVAL struct timeval + diff --git a/macrodefs_enums/ios/sys/_types/_timeval32.h b/macrodefs_enums/ios/sys/_types/_timeval32.h new file mode 100644 index 000000000..13e217671 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_timeval32.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_timeval32.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define _STRUCT_TIMEVAL32 struct timeval32 + diff --git a/macrodefs_enums/ios/sys/_types/_ucontext.h b/macrodefs_enums/ios/sys/_types/_ucontext.h new file mode 100644 index 000000000..72e82062d --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_ucontext.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_ucontext.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 33 +// #define _STRUCT_UCONTEXT struct __darwin_ucontext + diff --git a/macrodefs_enums/ios/sys/_types/_ucontext64.h b/macrodefs_enums/ios/sys/_types/_ucontext64.h new file mode 100644 index 000000000..6a20fc2c4 --- /dev/null +++ b/macrodefs_enums/ios/sys/_types/_ucontext64.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/_types/_ucontext64.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 33 +// #define _STRUCT_UCONTEXT64 struct __darwin_ucontext64 + diff --git a/macrodefs_enums/ios/sys/acl.h b/macrodefs_enums/ios/sys/acl.h new file mode 100644 index 000000000..089d51034 --- /dev/null +++ b/macrodefs_enums/ios/sys/acl.h @@ -0,0 +1,53 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/acl.h + +// Depends on identifiers +enum macro_darwin_acl_permissions { +/*line: 33*/ __DARWIN_ACL_READ_DATA = 0x2, // (1<<1) +/*line: 34*/ __DARWIN_ACL_LIST_DIRECTORY = 0x2, // __DARWIN_ACL_READ_DATA +/*line: 35*/ __DARWIN_ACL_WRITE_DATA = 0x4, // (1<<2) +/*line: 36*/ __DARWIN_ACL_ADD_FILE = 0x4, // __DARWIN_ACL_WRITE_DATA +/*line: 37*/ __DARWIN_ACL_EXECUTE = 0x8, // (1<<3) +/*line: 38*/ __DARWIN_ACL_SEARCH = 0x8, // __DARWIN_ACL_EXECUTE +/*line: 39*/ __DARWIN_ACL_DELETE = 0x10, // (1<<4) +/*line: 40*/ __DARWIN_ACL_APPEND_DATA = 0x20, // (1<<5) +/*line: 41*/ __DARWIN_ACL_ADD_SUBDIRECTORY = 0x20, // __DARWIN_ACL_APPEND_DATA +/*line: 42*/ __DARWIN_ACL_DELETE_CHILD = 0x40, // (1<<6) +/*line: 43*/ __DARWIN_ACL_READ_ATTRIBUTES = 0x80, // (1<<7) +/*line: 44*/ __DARWIN_ACL_WRITE_ATTRIBUTES = 0x100, // (1<<8) +/*line: 45*/ __DARWIN_ACL_READ_EXTATTRIBUTES = 0x200, // (1<<9) +/*line: 46*/ __DARWIN_ACL_WRITE_EXTATTRIBUTES = 0x400, // (1<<10) +/*line: 47*/ __DARWIN_ACL_READ_SECURITY = 0x800, // (1<<11) +/*line: 48*/ __DARWIN_ACL_WRITE_SECURITY = 0x1000, // (1<<12) +/*line: 49*/ __DARWIN_ACL_CHANGE_OWNER = 0x2000, // (1<<13) +/*line: 50*/ __DARWIN_ACL_SYNCHRONIZE = 0x100000, // (1<<20) +}; + +enum macro_acl_flags { +/*line: 52*/ __DARWIN_ACL_EXTENDED_ALLOW = 0x1, // 1 +/*line: 53*/ __DARWIN_ACL_EXTENDED_DENY = 0x2, // 2 +/*line: 55*/ __DARWIN_ACL_ENTRY_INHERITED = 0x10, // (1<<4) +/*line: 56*/ __DARWIN_ACL_ENTRY_FILE_INHERIT = 0x20, // (1<<5) +/*line: 57*/ __DARWIN_ACL_ENTRY_DIRECTORY_INHERIT = 0x40, // (1<<6) +/*line: 58*/ __DARWIN_ACL_ENTRY_LIMIT_INHERIT = 0x80, // (1<<7) +/*line: 59*/ __DARWIN_ACL_ENTRY_ONLY_INHERIT = 0x100, // (1<<8) +/*line: 60*/ __DARWIN_ACL_FLAG_NO_INHERIT = 0x20000, // (1<<17) +}; + +enum macro_acl_max_entries { +/* + * Implementation constants. + * + * The ACL_TYPE_EXTENDED binary format permits 169 entries plus + * the ACL header in a page. Give ourselves some room to grow; + * this limit is arbitrary. + */ +/*line: 69*/ ACL_MAX_ENTRIES = 0x80, // 128 +}; + +// Depends on identifiers +enum macro_acl_undefined_id { +/* 23.2.7 ACL qualifier constants */ +/*line: 115*/ ACL_UNDEFINED_ID = 0x0, /* XXX ? */ // NULL +}; + diff --git a/macrodefs_enums/ios/sys/aio.h b/macrodefs_enums/ios/sys/aio.h new file mode 100644 index 000000000..5d22114b5 --- /dev/null +++ b/macrodefs_enums/ios/sys/aio.h @@ -0,0 +1,53 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/aio.h + +enum macro_aio_status { +/* + * none of the requested operations could be canceled since they are + * already complete. + */ +/*line: 84*/ AIO_ALLDONE = 0x1, // 0x1 +/* all requested operations have been canceled */ +/*line: 87*/ AIO_CANCELED = 0x2, // 0x2 +}; + +enum macro_aio_notcanceled { +/* + * some of the requested operations could not be canceled since + * they are in progress + */ +/*line: 93*/ AIO_NOTCANCELED = 0x4, // 0x4 +}; + +enum macro_lio_operation { +/* + * lio_listio operation options + */ +/*line: 100*/ LIO_NOP = 0x0, /* option indicating that no transfer is requested */ // 0x0 +/*line: 101*/ LIO_READ = 0x1, /* option requesting a read */ // 0x1 +/*line: 102*/ LIO_WRITE = 0x2, /* option requesting a write */ // 0x2 +}; + +enum macro_lio_sync_operation { +/* + * A lio_listio() synchronization operation indicating + * that the calling thread is to continue execution while + * the lio_listio() operation is being performed, and no + * notification is given when the operation is complete + */ +/*line: 114*/ LIO_NOWAIT = 0x1, // 0x1 +/* + * A lio_listio() synchronization operation indicating + * that the calling thread is to suspend until the + * lio_listio() operation is complete. + */ +/*line: 121*/ LIO_WAIT = 0x2, // 0x2 +}; + +enum macro_aio_listio_max { +/* + * Maximum number of operations in single lio_listio call + */ +/*line: 126*/ AIO_LISTIO_MAX = 0x10, // 16 +}; + diff --git a/macrodefs_enums/ios/sys/attr.h b/macrodefs_enums/ios/sys/attr.h new file mode 100644 index 000000000..4c6f7cbd0 --- /dev/null +++ b/macrodefs_enums/ios/sys/attr.h @@ -0,0 +1,521 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/attr.h + +enum macro_fs_options { +/*line: 46*/ FSOPT_NOFOLLOW = 0x1, // 0x00000001 +/*line: 47*/ FSOPT_NOINMEMUPDATE = 0x2, // 0x00000002 +/*line: 48*/ FSOPT_REPORT_FULLSIZE = 0x4, // 0x00000004 +/* The following option only valid when requesting ATTR_CMN_RETURNED_ATTRS */ +/*line: 50*/ FSOPT_PACK_INVAL_ATTRS = 0x8, // 0x00000008 +/*line: 53*/ FSOPT_ATTR_CMN_EXTENDED = 0x20, // 0x00000020 +/*line: 54*/ FSOPT_RETURN_REALDEV = 0x200, // 0x00000200 +/*line: 55*/ FSOPT_NOFOLLOW_ANY = 0x800, // 0x00000800 +}; + +enum macro_searchfs_max_searchparms { +/* we currently aren't anywhere near this amount for a valid + * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2 + * but we put a sanity check in to avoid abuse of the value passed in from + * user land. + */ +/*line: 62*/ SEARCHFS_MAX_SEARCHPARMS = 0x1000, // 4096 +}; + +enum macro_bit_map_count { +/*line: 88*/ ATTR_BIT_MAP_COUNT = 0x5, // 5 +}; + +enum macro_vol_capabilities { +/*line: 117*/ VOL_CAPABILITIES_FORMAT = 0x0, // 0 +/*line: 118*/ VOL_CAPABILITIES_INTERFACES = 0x1, // 1 +/*line: 119*/ VOL_CAPABILITIES_RESERVED1 = 0x2, // 2 +/*line: 120*/ VOL_CAPABILITIES_RESERVED2 = 0x3, // 3 +}; + +enum macro_max_buffer { +/* + * XXX this value needs to be raised - 3893388 + */ +/*line: 130*/ ATTR_MAX_BUFFER = 0x2000, // 8192 +}; + +// Depends on identifiers +enum macro_attr_max_buffer { +/* + * Max size of attribute buffer if IOPOL_TYPE_VFS_SUPPORT_LONG_PATHS is enabled + */ +/*line: 136*/ ATTR_MAX_BUFFER_LONGPATHS = 0x3c00, // (ATTR_MAX_BUFFER-MAXPATHLEN+MAXLONGPATHLEN) +}; + +enum macro_volume_capabilities { +/* + * VOL_CAP_FMT_PERSISTENTOBJECTIDS: When set, the volume has object IDs + * that are persistent (retain their values even when the volume is + * unmounted and remounted), and a file or directory can be looked up + * by ID. Volumes that support VolFS and can support Carbon File ID + * references should set this bit. + * + * VOL_CAP_FMT_SYMBOLICLINKS: When set, the volume supports symbolic + * links. The symlink(), readlink(), and lstat() calls all use this + * symbolic link. + * + * VOL_CAP_FMT_HARDLINKS: When set, the volume supports hard links. + * The link() call creates hard links. + * + * VOL_CAP_FMT_JOURNAL: When set, the volume is capable of supporting + * a journal used to speed recovery in case of unplanned shutdown + * (such as a power outage or crash). This bit does not necessarily + * mean the volume is actively using a journal for recovery. + * + * VOL_CAP_FMT_JOURNAL_ACTIVE: When set, the volume is currently using + * a journal for use in speeding recovery after an unplanned shutdown. + * This bit can be set only if VOL_CAP_FMT_JOURNAL is also set. + * + * VOL_CAP_FMT_NO_ROOT_TIMES: When set, the volume format does not + * store reliable times for the root directory, so you should not + * depend on them to detect changes, etc. + * + * VOL_CAP_FMT_SPARSE_FILES: When set, the volume supports sparse files. + * That is, files which can have "holes" that have never been written + * to, and are not allocated on disk. Sparse files may have an + * allocated size that is less than the file's logical length. + * + * VOL_CAP_FMT_ZERO_RUNS: For security reasons, parts of a file (runs) + * that have never been written to must appear to contain zeroes. When + * this bit is set, the volume keeps track of allocated but unwritten + * runs of a file so that it can substitute zeroes without actually + * writing zeroes to the media. This provides performance similar to + * sparse files, but not the space savings. + * + * VOL_CAP_FMT_CASE_SENSITIVE: When set, file and directory names are + * case sensitive (upper and lower case are different). When clear, + * an upper case character is equivalent to a lower case character, + * and you can't have two names that differ solely in the case of + * the characters. + * + * VOL_CAP_FMT_CASE_PRESERVING: When set, file and directory names + * preserve the difference between upper and lower case. If clear, + * the volume may change the case of some characters (typically + * making them all upper or all lower case). A volume that sets + * VOL_CAP_FMT_CASE_SENSITIVE should also set VOL_CAP_FMT_CASE_PRESERVING. + * + * VOL_CAP_FMT_FAST_STATFS: This bit is used as a hint to upper layers + * (especially Carbon) that statfs() is fast enough that its results + * need not be cached by those upper layers. A volume that caches + * the statfs information in its in-memory structures should set this bit. + * A volume that must always read from disk or always perform a network + * transaction should not set this bit. + * + * VOL_CAP_FMT_2TB_FILESIZE: If this bit is set the volume format supports + * file sizes larger than 4GB, and potentially up to 2TB; it does not + * indicate whether the filesystem supports files larger than that. + * + * VOL_CAP_FMT_OPENDENYMODES: When set, the volume supports open deny + * modes (e.g. "open for read write, deny write"; effectively, mandatory + * file locking based on open modes). + * + * VOL_CAP_FMT_HIDDEN_FILES: When set, the volume supports the UF_HIDDEN + * file flag, and the UF_HIDDEN flag is mapped to that volume's native + * "hidden" or "invisible" bit (which may be the invisible bit from the + * Finder Info extended attribute). + * + * VOL_CAP_FMT_PATH_FROM_ID: When set, the volume supports the ability + * to derive a pathname to the root of the file system given only the + * id of an object. This also implies that object ids on this file + * system are persistent and not recycled. This is a very specialized + * capability and it is assumed that most file systems will not support + * it. Its use is for legacy non-posix APIs like ResolveFileIDRef. + * + * VOL_CAP_FMT_NO_VOLUME_SIZES: When set, the volume does not support + * returning values for total data blocks, available blocks, or free blocks + * (as in f_blocks, f_bavail, or f_bfree in "struct statfs"). Historically, + * those values were set to 0xFFFFFFFF for volumes that did not support them. + * + * VOL_CAP_FMT_DECMPFS_COMPRESSION: When set, the volume supports transparent + * decompression of compressed files using decmpfs. + * + * VOL_CAP_FMT_64BIT_OBJECT_IDS: When set, the volume uses object IDs that + * are 64-bit. This means that ATTR_CMN_FILEID and ATTR_CMN_PARENTID are the + * only legitimate attributes for obtaining object IDs from this volume and the + * 32-bit fid_objno fields of the fsobj_id_t returned by ATTR_CMN_OBJID, + * ATTR_CMN_OBJPERMID, and ATTR_CMN_PAROBJID are undefined. + * + * VOL_CAP_FMT_DIR_HARDLINKS: When set, the volume supports directory + * hard links. + * + * VOL_CAP_FMT_DOCUMENT_ID: When set, the volume supports document IDs + * (an ID which persists across object ID changes) for document revisions. + * + * VOL_CAP_FMT_WRITE_GENERATION_COUNT: When set, the volume supports write + * generation counts (a count of how many times an object has been modified) + * + * VOL_CAP_FMT_NO_IMMUTABLE_FILES: When set, the volume does not support + * setting the UF_IMMUTABLE flag. + * + * VOL_CAP_FMT_NO_PERMISSIONS: When set, the volume does not support setting + * permissions. + * + * VOL_CAP_FMT_SHARED_SPACE: When set, the volume supports sharing space with + * other filesystems i.e. multiple logical filesystems can exist in the same + * "partition". An implication of this is that the filesystem which sets + * this capability treats waitfor arguments to VFS_SYNC as bit flags. + * + * VOL_CAP_FMT_VOL_GROUPS: When set, this volume is part of a volume-group + * that implies multiple volumes must be mounted in order to boot and root the + * operating system. Typically, this means a read-only system volume and a + * writable data volume. + * + * VOL_CAP_FMT_SEALED: When set, this volume is cryptographically sealed. + * Any modifications to volume data or metadata will be detected and may + * render the volume unusable. + * + * VOL_CAP_FMT_CLONE_MAPPING: When set, this volume supports full clone tracking. + * See ATTR_CMNEXT_CLONE_REFCNT and ATTR_CMNEXT_CLONEID for more details. + * Other features like extended directory statistics, for fast directory sizing, + * and attribution tags may be supported as well. + * See VOL_CAP_INT_ATTRIBUTION_TAG for more details related to tagging. + */ +/*line: 265*/ VOL_CAP_FMT_PERSISTENTOBJECTIDS = 0x1, // 0x00000001 +/*line: 266*/ VOL_CAP_FMT_SYMBOLICLINKS = 0x2, // 0x00000002 +/*line: 267*/ VOL_CAP_FMT_HARDLINKS = 0x4, // 0x00000004 +/*line: 268*/ VOL_CAP_FMT_JOURNAL = 0x8, // 0x00000008 +/*line: 269*/ VOL_CAP_FMT_JOURNAL_ACTIVE = 0x10, // 0x00000010 +/*line: 270*/ VOL_CAP_FMT_NO_ROOT_TIMES = 0x20, // 0x00000020 +/*line: 271*/ VOL_CAP_FMT_SPARSE_FILES = 0x40, // 0x00000040 +/*line: 272*/ VOL_CAP_FMT_ZERO_RUNS = 0x80, // 0x00000080 +/*line: 273*/ VOL_CAP_FMT_CASE_SENSITIVE = 0x100, // 0x00000100 +/*line: 274*/ VOL_CAP_FMT_CASE_PRESERVING = 0x200, // 0x00000200 +/*line: 275*/ VOL_CAP_FMT_FAST_STATFS = 0x400, // 0x00000400 +/*line: 276*/ VOL_CAP_FMT_2TB_FILESIZE = 0x800, // 0x00000800 +/*line: 277*/ VOL_CAP_FMT_OPENDENYMODES = 0x1000, // 0x00001000 +/*line: 278*/ VOL_CAP_FMT_HIDDEN_FILES = 0x2000, // 0x00002000 +/*line: 279*/ VOL_CAP_FMT_PATH_FROM_ID = 0x4000, // 0x00004000 +/*line: 280*/ VOL_CAP_FMT_NO_VOLUME_SIZES = 0x8000, // 0x00008000 +/*line: 281*/ VOL_CAP_FMT_DECMPFS_COMPRESSION = 0x10000, // 0x00010000 +/*line: 282*/ VOL_CAP_FMT_64BIT_OBJECT_IDS = 0x20000, // 0x00020000 +/*line: 283*/ VOL_CAP_FMT_DIR_HARDLINKS = 0x40000, // 0x00040000 +/*line: 284*/ VOL_CAP_FMT_DOCUMENT_ID = 0x80000, // 0x00080000 +/*line: 285*/ VOL_CAP_FMT_WRITE_GENERATION_COUNT = 0x100000, // 0x00100000 +/*line: 286*/ VOL_CAP_FMT_NO_IMMUTABLE_FILES = 0x200000, // 0x00200000 +/*line: 287*/ VOL_CAP_FMT_NO_PERMISSIONS = 0x400000, // 0x00400000 +/*line: 288*/ VOL_CAP_FMT_SHARED_SPACE = 0x800000, // 0x00800000 +/*line: 289*/ VOL_CAP_FMT_VOL_GROUPS = 0x1000000, // 0x01000000 +/*line: 290*/ VOL_CAP_FMT_SEALED = 0x2000000, // 0x02000000 +/*line: 291*/ VOL_CAP_FMT_CLONE_MAPPING = 0x4000000, // 0x04000000 +}; + +enum macro_volume_internal_capabilities { +/* + * VOL_CAP_INT_SEARCHFS: When set, the volume implements the + * searchfs() system call (the vnop_searchfs vnode operation). + * + * VOL_CAP_INT_ATTRLIST: When set, the volume implements the + * getattrlist() and setattrlist() system calls (vnop_getattrlist + * and vnop_setattrlist vnode operations) for the volume, files, + * and directories. The volume may or may not implement the + * readdirattr() system call. XXX Is there any minimum set + * of attributes that should be supported? To determine the + * set of supported attributes, get the ATTR_VOL_ATTRIBUTES + * attribute of the volume. + * + * VOL_CAP_INT_NFSEXPORT: When set, the volume implements exporting + * of NFS volumes. + * + * VOL_CAP_INT_READDIRATTR: When set, the volume implements the + * readdirattr() system call (vnop_readdirattr vnode operation). + * + * VOL_CAP_INT_EXCHANGEDATA: When set, the volume implements the + * exchangedata() system call (VNOP_EXCHANGE vnode operation). + * + * VOL_CAP_INT_COPYFILE: When set, the volume implements the + * VOP_COPYFILE vnode operation. (XXX There should be a copyfile() + * system call in .) + * + * VOL_CAP_INT_ALLOCATE: When set, the volume implements the + * VNOP_ALLOCATE vnode operation, which means it implements the + * F_PREALLOCATE selector of fcntl(2). + * + * VOL_CAP_INT_VOL_RENAME: When set, the volume implements the + * ATTR_VOL_NAME attribute for both getattrlist() and setattrlist(). + * The volume can be renamed by setting ATTR_VOL_NAME with setattrlist(). + * + * VOL_CAP_INT_ADVLOCK: When set, the volume implements POSIX style + * byte range locks via vnop_advlock (accessible from fcntl(2)). + * + * VOL_CAP_INT_FLOCK: When set, the volume implements whole-file flock(2) + * style locks via vnop_advlock. This includes the O_EXLOCK and O_SHLOCK + * flags of the open(2) call. + * + * VOL_CAP_INT_EXTENDED_SECURITY: When set, the volume implements + * extended security (ACLs). + * + * VOL_CAP_INT_USERACCESS: When set, the volume supports the + * ATTR_CMN_USERACCESS attribute (used to get the user's access + * mode to the file). + * + * VOL_CAP_INT_MANLOCK: When set, the volume supports AFP-style + * mandatory byte range locks via an ioctl(). + * + * VOL_CAP_INT_EXTENDED_ATTR: When set, the volume implements + * native extended attribues. + * + * VOL_CAP_INT_NAMEDSTREAMS: When set, the volume supports + * native named streams. + * + * VOL_CAP_INT_CLONE: When set, the volume supports clones. + * + * VOL_CAP_INT_SNAPSHOT: When set, the volume supports snapshots. + * + * VOL_CAP_INT_RENAME_SWAP: When set, the volume supports swapping + * file system objects. + * + * VOL_CAP_INT_RENAME_EXCL: When set, the volume supports an + * exclusive rename operation. + * + * VOL_CAP_INT_RENAME_OPENFAIL: When set, the volume may fail rename + * operations on files that are open. + * + * VOL_CAP_INT_RENAME_SECLUDE: When set, the volume supports a + * seclude rename operation. + * + * VOL_CAP_INT_ATTRIBUTION_TAG: When set, the volume supports establishing + * an owner relationship between a file (excluding small files) and a process + * on the first read/write/truncate/clone operation. + * + * VOL_CAP_INT_PUNCHHOLE: When set, the volume supports the F_PUNCHHOLE + * fcntl. + */ +/*line: 373*/ VOL_CAP_INT_SEARCHFS = 0x1, // 0x00000001 +/*line: 374*/ VOL_CAP_INT_ATTRLIST = 0x2, // 0x00000002 +/*line: 375*/ VOL_CAP_INT_NFSEXPORT = 0x4, // 0x00000004 +/*line: 376*/ VOL_CAP_INT_READDIRATTR = 0x8, // 0x00000008 +/*line: 377*/ VOL_CAP_INT_EXCHANGEDATA = 0x10, // 0x00000010 +/*line: 378*/ VOL_CAP_INT_COPYFILE = 0x20, // 0x00000020 +/*line: 379*/ VOL_CAP_INT_ALLOCATE = 0x40, // 0x00000040 +/*line: 380*/ VOL_CAP_INT_VOL_RENAME = 0x80, // 0x00000080 +/*line: 381*/ VOL_CAP_INT_ADVLOCK = 0x100, // 0x00000100 +/*line: 382*/ VOL_CAP_INT_FLOCK = 0x200, // 0x00000200 +/*line: 383*/ VOL_CAP_INT_EXTENDED_SECURITY = 0x400, // 0x00000400 +/*line: 384*/ VOL_CAP_INT_USERACCESS = 0x800, // 0x00000800 +/*line: 385*/ VOL_CAP_INT_MANLOCK = 0x1000, // 0x00001000 +/*line: 386*/ VOL_CAP_INT_NAMEDSTREAMS = 0x2000, // 0x00002000 +/*line: 387*/ VOL_CAP_INT_EXTENDED_ATTR = 0x4000, // 0x00004000 +/*line: 388*/ VOL_CAP_INT_CLONE = 0x10000, // 0x00010000 +/*line: 389*/ VOL_CAP_INT_SNAPSHOT = 0x20000, // 0x00020000 +/*line: 390*/ VOL_CAP_INT_RENAME_SWAP = 0x40000, // 0x00040000 +/*line: 391*/ VOL_CAP_INT_RENAME_EXCL = 0x80000, // 0x00080000 +/*line: 392*/ VOL_CAP_INT_RENAME_OPENFAIL = 0x100000, // 0x00100000 +/*line: 393*/ VOL_CAP_INT_RENAME_SECLUDE = 0x200000, // 0x00200000 +/*line: 394*/ VOL_CAP_INT_ATTRIBUTION_TAG = 0x400000, // 0x00400000 +/*line: 395*/ VOL_CAP_INT_PUNCHHOLE = 0x800000, // 0x00800000 +}; + +enum macro_common_attributes { +/*line: 402*/ ATTR_CMN_NAME = 0x1, // 0x00000001 +/*line: 403*/ ATTR_CMN_DEVID = 0x2, // 0x00000002 +/*line: 404*/ ATTR_CMN_FSID = 0x4, // 0x00000004 +/*line: 405*/ ATTR_CMN_OBJTYPE = 0x8, // 0x00000008 +/*line: 406*/ ATTR_CMN_OBJTAG = 0x10, // 0x00000010 +/*line: 407*/ ATTR_CMN_OBJID = 0x20, // 0x00000020 +/*line: 408*/ ATTR_CMN_OBJPERMANENTID = 0x40, // 0x00000040 +/*line: 409*/ ATTR_CMN_PAROBJID = 0x80, // 0x00000080 +/*line: 410*/ ATTR_CMN_SCRIPT = 0x100, // 0x00000100 +/*line: 411*/ ATTR_CMN_CRTIME = 0x200, // 0x00000200 +/*line: 412*/ ATTR_CMN_MODTIME = 0x400, // 0x00000400 +/*line: 413*/ ATTR_CMN_CHGTIME = 0x800, // 0x00000800 +/*line: 414*/ ATTR_CMN_ACCTIME = 0x1000, // 0x00001000 +/*line: 415*/ ATTR_CMN_BKUPTIME = 0x2000, // 0x00002000 +/*line: 416*/ ATTR_CMN_FNDRINFO = 0x4000, // 0x00004000 +/*line: 417*/ ATTR_CMN_OWNERID = 0x8000, // 0x00008000 +/*line: 418*/ ATTR_CMN_GRPID = 0x10000, // 0x00010000 +/*line: 419*/ ATTR_CMN_ACCESSMASK = 0x20000, // 0x00020000 +/*line: 420*/ ATTR_CMN_FLAGS = 0x40000, // 0x00040000 +/* option flag. */ +/*line: 431*/ ATTR_CMN_GEN_COUNT = 0x80000, // 0x00080000 +/*line: 432*/ ATTR_CMN_DOCUMENT_ID = 0x100000, // 0x00100000 +/*line: 434*/ ATTR_CMN_USERACCESS = 0x200000, // 0x00200000 +/*line: 435*/ ATTR_CMN_EXTENDED_SECURITY = 0x400000, // 0x00400000 +/*line: 436*/ ATTR_CMN_UUID = 0x800000, // 0x00800000 +/*line: 437*/ ATTR_CMN_GRPUUID = 0x1000000, // 0x01000000 +/*line: 438*/ ATTR_CMN_FILEID = 0x2000000, // 0x02000000 +/*line: 439*/ ATTR_CMN_PARENTID = 0x4000000, // 0x04000000 +/*line: 440*/ ATTR_CMN_FULLPATH = 0x8000000, // 0x08000000 +/*line: 441*/ ATTR_CMN_ADDEDTIME = 0x10000000, // 0x10000000 +/*line: 442*/ ATTR_CMN_ERROR = 0x20000000, // 0x20000000 +/*line: 443*/ ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000, // 0x40000000 +/* + * ATTR_CMN_RETURNED_ATTRS is only valid with getattrlist(2) and + * getattrlistbulk(2). It is always the first attribute in the return buffer. + */ +/*line: 449*/ ATTR_CMN_RETURNED_ATTRS = 0x80000000, // 0x80000000 +/*line: 451*/ ATTR_CMN_VALIDMASK = 0xffffffff, // 0xFFFFFFFF +/* + * The settable ATTR_CMN_* attributes include the following: + * ATTR_CMN_SCRIPT + * ATTR_CMN_CRTIME + * ATTR_CMN_MODTIME + * ATTR_CMN_CHGTIME + * + * ATTR_CMN_ACCTIME + * ATTR_CMN_BKUPTIME + * ATTR_CMN_FNDRINFO + * ATTR_CMN_OWNERID + * + * ATTR_CMN_GRPID + * ATTR_CMN_ACCESSMASK + * ATTR_CMN_FLAGS + * + * ATTR_CMN_EXTENDED_SECURITY + * ATTR_CMN_UUID + * + * ATTR_CMN_GRPUUID + * + * ATTR_CMN_DATA_PROTECT_FLAGS + */ +/*line: 475*/ ATTR_CMN_SETMASK = 0x51c7ff00, // 0x51C7FF00 +/*line: 476*/ ATTR_CMN_VOLSETMASK = 0x6700, // 0x00006700 +}; + +enum macro_volume_attributes { +/*line: 478*/ ATTR_VOL_FSTYPE = 0x1, // 0x00000001 +/*line: 479*/ ATTR_VOL_SIGNATURE = 0x2, // 0x00000002 +/*line: 480*/ ATTR_VOL_SIZE = 0x4, // 0x00000004 +/*line: 481*/ ATTR_VOL_SPACEFREE = 0x8, // 0x00000008 +/*line: 482*/ ATTR_VOL_SPACEAVAIL = 0x10, // 0x00000010 +/*line: 483*/ ATTR_VOL_MINALLOCATION = 0x20, // 0x00000020 +/*line: 484*/ ATTR_VOL_ALLOCATIONCLUMP = 0x40, // 0x00000040 +/*line: 485*/ ATTR_VOL_IOBLOCKSIZE = 0x80, // 0x00000080 +/*line: 486*/ ATTR_VOL_OBJCOUNT = 0x100, // 0x00000100 +/*line: 487*/ ATTR_VOL_FILECOUNT = 0x200, // 0x00000200 +/*line: 488*/ ATTR_VOL_DIRCOUNT = 0x400, // 0x00000400 +/*line: 489*/ ATTR_VOL_MAXOBJCOUNT = 0x800, // 0x00000800 +/*line: 490*/ ATTR_VOL_MOUNTPOINT = 0x1000, // 0x00001000 +/*line: 491*/ ATTR_VOL_NAME = 0x2000, // 0x00002000 +/*line: 492*/ ATTR_VOL_MOUNTFLAGS = 0x4000, // 0x00004000 +/*line: 493*/ ATTR_VOL_MOUNTEDDEVICE = 0x8000, // 0x00008000 +/*line: 494*/ ATTR_VOL_ENCODINGSUSED = 0x10000, // 0x00010000 +/*line: 495*/ ATTR_VOL_CAPABILITIES = 0x20000, // 0x00020000 +/*line: 496*/ ATTR_VOL_UUID = 0x40000, // 0x00040000 +/*line: 497*/ ATTR_VOL_MOUNTEXTFLAGS = 0x80000, // 0x00080000 +/*line: 498*/ ATTR_VOL_FSTYPENAME = 0x100000, // 0x00100000 +/*line: 499*/ ATTR_VOL_FSSUBTYPE = 0x200000, // 0x00200000 +/*line: 500*/ ATTR_VOL_OWNER = 0x400000, // 0x00400000 +/*line: 501*/ ATTR_VOL_SPACEUSED = 0x800000, // 0x00800000 +/*line: 502*/ ATTR_VOL_QUOTA_SIZE = 0x10000000, // 0x10000000 +/*line: 503*/ ATTR_VOL_RESERVED_SIZE = 0x20000000, // 0x20000000 +/*line: 504*/ ATTR_VOL_ATTRIBUTES = 0x40000000, // 0x40000000 +/*line: 505*/ ATTR_VOL_INFO = 0x80000000, // 0x80000000 +}; + +enum macro_volume_valid_mask { +/*line: 507*/ ATTR_VOL_VALIDMASK = 0xf0ffffff, // 0xF0FFFFFF +}; + +enum macro_volume_attributes_mask { +/* + * The list of settable ATTR_VOL_* attributes include the following: + * ATTR_VOL_NAME + * ATTR_VOL_INFO + */ +/*line: 514*/ ATTR_VOL_SETMASK = 0x80002000, // 0x80002000 +}; + +enum macro_directory_attributes { +/* File/directory attributes: */ +/*line: 518*/ ATTR_DIR_LINKCOUNT = 0x1, // 0x00000001 +/*line: 519*/ ATTR_DIR_ENTRYCOUNT = 0x2, // 0x00000002 +/*line: 520*/ ATTR_DIR_MOUNTSTATUS = 0x4, // 0x00000004 +/*line: 521*/ ATTR_DIR_ALLOCSIZE = 0x8, // 0x00000008 +/*line: 522*/ ATTR_DIR_IOBLOCKSIZE = 0x10, // 0x00000010 +/*line: 523*/ ATTR_DIR_DATALENGTH = 0x20, // 0x00000020 +}; + +enum macro_directory_mount_status { +/* ATTR_DIR_MOUNTSTATUS Flags: */ +/*line: 526*/ DIR_MNTSTATUS_MNTPOINT = 0x1, // 0x00000001 +/*line: 527*/ DIR_MNTSTATUS_TRIGGER = 0x2, // 0x00000002 +}; + +enum macro_directory_attributes_mask { +/*line: 529*/ ATTR_DIR_VALIDMASK = 0x3f, // 0x0000003f +/*line: 530*/ ATTR_DIR_SETMASK = 0x0, // 0x00000000 +}; + +enum macro_file_attributes { +/*line: 532*/ ATTR_FILE_LINKCOUNT = 0x1, // 0x00000001 +/*line: 533*/ ATTR_FILE_TOTALSIZE = 0x2, // 0x00000002 +/*line: 534*/ ATTR_FILE_ALLOCSIZE = 0x4, // 0x00000004 +/*line: 535*/ ATTR_FILE_IOBLOCKSIZE = 0x8, // 0x00000008 +/*line: 536*/ ATTR_FILE_DEVTYPE = 0x20, // 0x00000020 +/*line: 537*/ ATTR_FILE_FORKCOUNT = 0x80, // 0x00000080 +/*line: 538*/ ATTR_FILE_FORKLIST = 0x100, // 0x00000100 +/*line: 539*/ ATTR_FILE_DATALENGTH = 0x200, // 0x00000200 +/*line: 540*/ ATTR_FILE_DATAALLOCSIZE = 0x400, // 0x00000400 +/*line: 541*/ ATTR_FILE_RSRCLENGTH = 0x1000, // 0x00001000 +/*line: 542*/ ATTR_FILE_RSRCALLOCSIZE = 0x2000, // 0x00002000 +/*line: 544*/ ATTR_FILE_VALIDMASK = 0x37ff, // 0x000037FF +/* + * Settable ATTR_FILE_* attributes include: + * ATTR_FILE_DEVTYPE + */ +/*line: 549*/ ATTR_FILE_SETMASK = 0x20, // 0x00000020 +}; + +enum macro_cmnext_attributes { +/* CMNEXT attributes extend the common attributes, but in the forkattr field */ +/*line: 552*/ ATTR_CMNEXT_RELPATH = 0x4, // 0x00000004 +/*line: 553*/ ATTR_CMNEXT_PRIVATESIZE = 0x8, // 0x00000008 +/*line: 554*/ ATTR_CMNEXT_LINKID = 0x10, // 0x00000010 +/*line: 555*/ ATTR_CMNEXT_NOFIRMLINKPATH = 0x20, // 0x00000020 +/*line: 556*/ ATTR_CMNEXT_REALDEVID = 0x40, // 0x00000040 +/*line: 557*/ ATTR_CMNEXT_REALFSID = 0x80, // 0x00000080 +/*line: 558*/ ATTR_CMNEXT_CLONEID = 0x100, // 0x00000100 +/*line: 559*/ ATTR_CMNEXT_EXT_FLAGS = 0x200, // 0x00000200 +/*line: 560*/ ATTR_CMNEXT_RECURSIVE_GENCOUNT = 0x400, // 0x00000400 +/*line: 561*/ ATTR_CMNEXT_ATTRIBUTION_TAG = 0x800, // 0x00000800 +/*line: 562*/ ATTR_CMNEXT_CLONE_REFCNT = 0x1000, // 0x00001000 +/*line: 564*/ ATTR_CMNEXT_VALIDMASK = 0x1ffc, // 0x00001ffc +/*line: 565*/ ATTR_CMNEXT_SETMASK = 0x0, // 0x00000000 +}; + +enum macro_fork_attributes { +/* Deprecated fork attributes */ +/*line: 568*/ ATTR_FORK_TOTALSIZE = 0x1, // 0x00000001 +/*line: 569*/ ATTR_FORK_ALLOCSIZE = 0x2, // 0x00000002 +/*line: 570*/ ATTR_FORK_RESERVED = 0xffffffff, // 0xffffffff +}; + +enum macro_file_attributes_mask { +/*line: 572*/ ATTR_FORK_VALIDMASK = 0x3, // 0x00000003 +/*line: 573*/ ATTR_FORK_SETMASK = 0x0, // 0x00000000 +/* Obsolete, implemented, not supported */ +/*line: 576*/ ATTR_CMN_NAMEDATTRCOUNT = 0x80000, // 0x00080000 +/*line: 577*/ ATTR_CMN_NAMEDATTRLIST = 0x100000, // 0x00100000 +/*line: 578*/ ATTR_FILE_CLUMPSIZE = 0x10, /* obsolete */ // 0x00000010 +/*line: 579*/ ATTR_FILE_FILETYPE = 0x40, /* always zero */ // 0x00000040 +/*line: 580*/ ATTR_FILE_DATAEXTENTS = 0x800, /* obsolete, HFS-specific */ // 0x00000800 +/*line: 581*/ ATTR_FILE_RSRCEXTENTS = 0x4000, /* obsolete, HFS-specific */ // 0x00004000 +/* Required attributes for getattrlistbulk(2) */ +/*line: 584*/ ATTR_BULK_REQUIRED = 0x80000001, // (ATTR_CMN_NAME|ATTR_CMN_RETURNED_ATTRS) +}; + +enum macro_searchfs_flags { +/* + * Searchfs + */ +/*line: 589*/ SRCHFS_START = 0x1, // 0x00000001 +/*line: 590*/ SRCHFS_MATCHPARTIALNAMES = 0x2, // 0x00000002 +/*line: 591*/ SRCHFS_MATCHDIRS = 0x4, // 0x00000004 +/*line: 592*/ SRCHFS_MATCHFILES = 0x8, // 0x00000008 +/*line: 593*/ SRCHFS_SKIPLINKS = 0x10, // 0x00000010 +/*line: 594*/ SRCHFS_SKIPINVISIBLE = 0x20, // 0x00000020 +/*line: 595*/ SRCHFS_SKIPPACKAGES = 0x40, // 0x00000040 +/*line: 596*/ SRCHFS_SKIPINAPPROPRIATE = 0x80, // 0x00000080 +/*line: 598*/ SRCHFS_NEGATEPARAMS = 0x80000000, // 0x80000000 +/*line: 599*/ SRCHFS_VALIDOPTIONSMASK = 0x800000ff, // 0x800000FF +}; + +enum macro_file_eof { +/*line: 621*/ FST_EOF = -0x1, /* end-of-file offset */ // (-1) +}; + diff --git a/macrodefs_enums/ios/sys/cdefs.h b/macrodefs_enums/ios/sys/cdefs.h new file mode 100644 index 000000000..4b214e929 --- /dev/null +++ b/macrodefs_enums/ios/sys/cdefs.h @@ -0,0 +1,157 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/cdefs.h + +// This whole file is mostly for compilation, so no reason to include in runtime headers +// enum macro_has_safe_buffers { +// /*line: 571*/ __has_safe_buffers = 0x1, // 1 +// }; + +// enum macro_darwin_flags { +// /* Platform: iPhoneOS */ +// /*line: 624*/ __DARWIN_ONLY_64_BIT_INO_T = 0x1, // 1 +// /*line: 625*/ __DARWIN_ONLY_UNIX_CONFORMANCE = 0x1, // 1 +// /*line: 626*/ __DARWIN_ONLY_VERS_1050 = 0x1, // 1 +// }; + +// enum macro_darwin_unix03 { +// /*line: 651*/ __DARWIN_UNIX03 = 0x1, // 1 +// }; + +// enum macro_darwin_64_bit_ino_t { +// /*line: 683*/ __DARWIN_64_BIT_INO_T = 0x1, // 1 +// }; + +// enum macro_darwin_version { +// /*line: 694*/ __DARWIN_VERS_1050 = 0x1, // 1 +// }; + +// enum macro_darwin_non_cancelable { +// /*line: 703*/ __DARWIN_NON_CANCELABLE = 0x0, // 0 +// }; + +// enum macro_darwin_source { +// /* +// * Set a single macro which will always be defined and can be used to determine +// * the appropriate namespace. For POSIX, these values will correspond to +// * _POSIX_C_SOURCE value. Currently there are two additional levels corresponding +// * to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE) +// */ +// /*line: 848*/ __DARWIN_C_ANSI = 0x1000, // 010000L +// /*line: 849*/ __DARWIN_C_FULL = 0xdbba0, // 900000L +// }; + +// // Depends on identifiers +// enum macro_darwin_c_level { +// /*line: 856*/ __DARWIN_C_LEVEL = 0xdbba0, // __DARWIN_C_FULL +// }; + +// enum macro_stdc_want_lib_ext1 { +// /*line: 864*/ __STDC_WANT_LIB_EXT1__ = 0x1, // 1 +// }; + +// enum macro_darwin_no_long_long { +// /*line: 875*/ __DARWIN_NO_LONG_LONG = 0x0, // 0 +// }; + +// enum macro_darwin_feature_64_bit_inode { +// /*line: 887*/ _DARWIN_FEATURE_64_BIT_INODE = 0x1, // 1 +// }; + +// enum macro_darwin_feature { +// /*line: 897*/ _DARWIN_FEATURE_ONLY_64_BIT_INODE = 0x1, // 1 +// }; + +// enum macro_darwin_feature { +// /*line: 905*/ _DARWIN_FEATURE_ONLY_VERS_1050 = 0x1, // 1 +// }; + +// enum macro_darwin_features { +// /*line: 913*/ _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 0x1, // 1 +// /*line: 921*/ _DARWIN_FEATURE_UNIX_CONFORMANCE = 0x3, // 3 +// }; + +// enum macro_abi_compatibility { +// /* +// * We intentionally define to nothing pointer attributes which do not have an +// * impact on the ABI. __indexable and __bidi_indexable are not defined because +// * of the ABI incompatibility that makes the diagnostic preferable. +// */ +// /*line: 968*/ __has_ptrcheck = 0x0, // 0 +// }; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 119 +// #define __const const + +// Line: 120 +// #define __signed signed + +// Line: 121 +// #define __volatile volatile + +// Line: 165 +// #define __dead2 __attribute__((__noreturn__)) + +// Line: 166 +// #define __pure2 __attribute__((__const__)) + +// Line: 167 +// #define __stateful_pure __attribute__((__pure__)) + +// Line: 172 +// #define __unused __attribute__((__unused__)) + +// Line: 177 +// #define __used __attribute__((__used__)) + +// Line: 183 +// #define __cold __attribute__((__cold__)) + +// Line: 190 +// #define __returns_nonnull __attribute((returns_nonnull)) + +// Line: 214 +// #define __deprecated __attribute__((__deprecated__)) + +// Line: 235 +// #define __unavailable __attribute__((__unavailable__)) + +// Line: 257 +// #define __restrict restrict + +// Line: 290 +// #define __disable_tail_calls __attribute__((__disable_tail_calls__)) + +// Line: 302 +// #define __not_tail_called __attribute__((__not_tail_called__)) + +// Line: 313 +// #define __result_use_check __attribute__((__warn_unused_result__)) + +// Line: 347 +// #define __abortlike __dead2 __cold __not_tail_called + +// Line: 370 +// #define __header_inline inline + +// Line: 383 +// #define __header_always_inline __header_inline __attribute__ ((__always_inline__)) + +// Line: 572 +// #define __unsafe_buffer_usage __attribute__((__unsafe_buffer_usage__)) + +// Line: 1013 +// #define __ASSUME_PTR_ABI_SINGLE_BEGIN __ptrcheck_abi_assume_single() + +// Line: 1014 +// #define __ASSUME_PTR_ABI_SINGLE_END __ptrcheck_abi_assume_unsafe_indexable() + +// Line: 1038 +// #define __enum_open __attribute__((__enum_extensibility__(open))) + +// Line: 1039 +// #define __enum_closed __attribute__((__enum_extensibility__(closed))) + +// Line: 1046 +// #define __enum_options __attribute__((__flag_enum__)) + diff --git a/macrodefs_enums/ios/sys/clonefile.h b/macrodefs_enums/ios/sys/clonefile.h new file mode 100644 index 000000000..ab008045b --- /dev/null +++ b/macrodefs_enums/ios/sys/clonefile.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/clonefile.h + +enum macro_clonefile_options { +/* Options for clonefile calls */ +/*line: 33*/ CLONE_NOFOLLOW = 0x1, /* Don't follow symbolic links */ // 0x0001 +/*line: 34*/ CLONE_NOOWNERCOPY = 0x2, /* Don't copy ownership information from source */ // 0x0002 +/*line: 35*/ CLONE_ACL = 0x4, /* Copy access control lists from source */ // 0x0004 +/*line: 36*/ CLONE_NOFOLLOW_ANY = 0x8, /* Don't follow any symbolic links in the path */ // 0x0008 +}; + diff --git a/macrodefs_enums/ios/sys/dir.h b/macrodefs_enums/ios/sys/dir.h new file mode 100644 index 000000000..7df54e617 --- /dev/null +++ b/macrodefs_enums/ios/sys/dir.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/dir.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 79 +// #define direct dirent + diff --git a/macrodefs_enums/ios/sys/dirent.h b/macrodefs_enums/ios/sys/dirent.h new file mode 100644 index 000000000..6c2a719e9 --- /dev/null +++ b/macrodefs_enums/ios/sys/dirent.h @@ -0,0 +1,36 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/dirent.h + +// Depends on identifiers +enum macro_dirent_types { +/*line: 84*/ __DARWIN_MAXNAMLEN = 0xff, // 255 +/*line: 100*/ __DARWIN_MAXPATHLEN = 0x400, // 1024 +/*line: 119*/ MAXNAMLEN = 0xff, // __DARWIN_MAXNAMLEN +/* + * File types + */ +/*line: 123*/ DT_UNKNOWN = 0x0, // 0 +/*line: 124*/ DT_FIFO = 0x1, // 1 +/*line: 125*/ DT_CHR = 0x2, // 2 +/*line: 126*/ DT_DIR = 0x4, // 4 +/*line: 127*/ DT_BLK = 0x6, // 6 +/*line: 128*/ DT_REG = 0x8, // 8 +/*line: 129*/ DT_LNK = 0xa, // 10 +/*line: 130*/ DT_SOCK = 0xc, // 12 +/*line: 131*/ DT_WHT = 0xe, // 14 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 102 +// #define __DARWIN_STRUCT_DIRENTRY { \ +// __uint64_t d_ino; /* file number of entry */ \ +// __uint64_t d_seekoff; /* seek offset (optional, used by servers) */ \ +// __uint16_t d_reclen; /* length of this record */ \ +// __uint16_t d_namlen; /* length of string in d_name */ \ +// __uint8_t d_type; /* file type, see below */ \ +// char d_name[__DARWIN_MAXPATHLEN]; /* entry name (up to MAXPATHLEN bytes) */ \ +// } + +// Line: 118 +// #define d_fileno d_ino + diff --git a/macrodefs_enums/ios/sys/errno.h b/macrodefs_enums/ios/sys/errno.h new file mode 100644 index 000000000..f2ffb8776 --- /dev/null +++ b/macrodefs_enums/ios/sys/errno.h @@ -0,0 +1,130 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/errno.h + +// Depends on identifiers +enum macro_errno_codes { +/* + * Error codes + */ +/*line: 88*/ EPERM = 0x1, /* Operation not permitted */ // 1 +/*line: 89*/ ENOENT = 0x2, /* No such file or directory */ // 2 +/*line: 90*/ ESRCH = 0x3, /* No such process */ // 3 +/*line: 91*/ EINTR = 0x4, /* Interrupted system call */ // 4 +/*line: 92*/ EIO = 0x5, /* Input/output error */ // 5 +/*line: 93*/ ENXIO = 0x6, /* Device not configured */ // 6 +/*line: 94*/ E2BIG = 0x7, /* Argument list too long */ // 7 +/*line: 95*/ ENOEXEC = 0x8, /* Exec format error */ // 8 +/*line: 96*/ EBADF = 0x9, /* Bad file descriptor */ // 9 +/*line: 97*/ ECHILD = 0xa, /* No child processes */ // 10 +/*line: 98*/ EDEADLK = 0xb, /* Resource deadlock avoided */ // 11 +/* 11 was EAGAIN */ +/*line: 100*/ ENOMEM = 0xc, /* Cannot allocate memory */ // 12 +/*line: 101*/ EACCES = 0xd, /* Permission denied */ // 13 +/*line: 102*/ EFAULT = 0xe, /* Bad address */ // 14 +/*line: 104*/ ENOTBLK = 0xf, /* Block device required */ // 15 +/*line: 106*/ EBUSY = 0x10, /* Device / Resource busy */ // 16 +/*line: 107*/ EEXIST = 0x11, /* File exists */ // 17 +/*line: 108*/ EXDEV = 0x12, /* Cross-device link */ // 18 +/*line: 109*/ ENODEV = 0x13, /* Operation not supported by device */ // 19 +/*line: 110*/ ENOTDIR = 0x14, /* Not a directory */ // 20 +/*line: 111*/ EISDIR = 0x15, /* Is a directory */ // 21 +/*line: 112*/ EINVAL = 0x16, /* Invalid argument */ // 22 +/*line: 113*/ ENFILE = 0x17, /* Too many open files in system */ // 23 +/*line: 114*/ EMFILE = 0x18, /* Too many open files */ // 24 +/*line: 115*/ ENOTTY = 0x19, /* Inappropriate ioctl for device */ // 25 +/*line: 116*/ ETXTBSY = 0x1a, /* Text file busy */ // 26 +/*line: 117*/ EFBIG = 0x1b, /* File too large */ // 27 +/*line: 118*/ ENOSPC = 0x1c, /* No space left on device */ // 28 +/*line: 119*/ ESPIPE = 0x1d, /* Illegal seek */ // 29 +/*line: 120*/ EROFS = 0x1e, /* Read-only file system */ // 30 +/*line: 121*/ EMLINK = 0x1f, /* Too many links */ // 31 +/*line: 122*/ EPIPE = 0x20, /* Broken pipe */ // 32 +/* math software */ +/*line: 125*/ EDOM = 0x21, /* Numerical argument out of domain */ // 33 +/*line: 126*/ ERANGE = 0x22, /* Result too large */ // 34 +/* non-blocking and interrupt i/o */ +/*line: 129*/ EAGAIN = 0x23, /* Resource temporarily unavailable */ // 35 +/*line: 130*/ EWOULDBLOCK = 0x23, /* Operation would block */ // EAGAIN +/*line: 131*/ EINPROGRESS = 0x24, /* Operation now in progress */ // 36 +/*line: 132*/ EALREADY = 0x25, /* Operation already in progress */ // 37 +/* ipc/network software -- argument errors */ +/*line: 135*/ ENOTSOCK = 0x26, /* Socket operation on non-socket */ // 38 +/*line: 136*/ EDESTADDRREQ = 0x27, /* Destination address required */ // 39 +/*line: 137*/ EMSGSIZE = 0x28, /* Message too long */ // 40 +/*line: 138*/ EPROTOTYPE = 0x29, /* Protocol wrong type for socket */ // 41 +/*line: 139*/ ENOPROTOOPT = 0x2a, /* Protocol not available */ // 42 +/*line: 140*/ EPROTONOSUPPORT = 0x2b, /* Protocol not supported */ // 43 +/*line: 142*/ ESOCKTNOSUPPORT = 0x2c, /* Socket type not supported */ // 44 +/*line: 144*/ ENOTSUP = 0x2d, /* Operation not supported */ // 45 +/*line: 158*/ EPFNOSUPPORT = 0x2e, /* Protocol family not supported */ // 46 +/*line: 160*/ EAFNOSUPPORT = 0x2f, /* Address family not supported by protocol family */ // 47 +/*line: 161*/ EADDRINUSE = 0x30, /* Address already in use */ // 48 +/*line: 162*/ EADDRNOTAVAIL = 0x31, /* Can't assign requested address */ // 49 +/* ipc/network software -- operational errors */ +/*line: 165*/ ENETDOWN = 0x32, /* Network is down */ // 50 +/*line: 166*/ ENETUNREACH = 0x33, /* Network is unreachable */ // 51 +/*line: 167*/ ENETRESET = 0x34, /* Network dropped connection on reset */ // 52 +/*line: 168*/ ECONNABORTED = 0x35, /* Software caused connection abort */ // 53 +/*line: 169*/ ECONNRESET = 0x36, /* Connection reset by peer */ // 54 +/*line: 170*/ ENOBUFS = 0x37, /* No buffer space available */ // 55 +/*line: 171*/ EISCONN = 0x38, /* Socket is already connected */ // 56 +/*line: 172*/ ENOTCONN = 0x39, /* Socket is not connected */ // 57 +/*line: 174*/ ESHUTDOWN = 0x3a, /* Can't send after socket shutdown */ // 58 +/*line: 175*/ ETOOMANYREFS = 0x3b, /* Too many references: can't splice */ // 59 +/*line: 177*/ ETIMEDOUT = 0x3c, /* Operation timed out */ // 60 +/*line: 178*/ ECONNREFUSED = 0x3d, /* Connection refused */ // 61 +/*line: 180*/ ELOOP = 0x3e, /* Too many levels of symbolic links */ // 62 +/*line: 181*/ ENAMETOOLONG = 0x3f, /* File name too long */ // 63 +/*line: 185*/ EHOSTDOWN = 0x40, /* Host is down */ // 64 +/*line: 187*/ EHOSTUNREACH = 0x41, /* No route to host */ // 65 +/*line: 188*/ ENOTEMPTY = 0x42, /* Directory not empty */ // 66 +/*line: 192*/ EPROCLIM = 0x43, /* Too many processes */ // 67 +/*line: 193*/ EUSERS = 0x44, /* Too many users */ // 68 +/*line: 195*/ EDQUOT = 0x45, /* Disc quota exceeded */ // 69 +/* Network File System */ +/*line: 198*/ ESTALE = 0x46, /* Stale NFS file handle */ // 70 +/*line: 200*/ EREMOTE = 0x47, /* Too many levels of remote in path */ // 71 +/*line: 201*/ EBADRPC = 0x48, /* RPC struct is bad */ // 72 +/*line: 202*/ ERPCMISMATCH = 0x49, /* RPC version wrong */ // 73 +/*line: 203*/ EPROGUNAVAIL = 0x4a, /* RPC prog. not avail */ // 74 +/*line: 204*/ EPROGMISMATCH = 0x4b, /* Program version wrong */ // 75 +/*line: 205*/ EPROCUNAVAIL = 0x4c, /* Bad procedure for program */ // 76 +/*line: 208*/ ENOLCK = 0x4d, /* No locks available */ // 77 +/*line: 209*/ ENOSYS = 0x4e, /* Function not implemented */ // 78 +/*line: 212*/ EFTYPE = 0x4f, /* Inappropriate file type or format */ // 79 +/*line: 213*/ EAUTH = 0x50, /* Authentication error */ // 80 +/*line: 214*/ ENEEDAUTH = 0x51, /* Need authenticator */ // 81 +/* Intelligent device errors */ +/*line: 217*/ EPWROFF = 0x52, /* Device power is off */ // 82 +/*line: 218*/ EDEVERR = 0x53, /* Device error, e.g. paper out */ // 83 +/*line: 221*/ EOVERFLOW = 0x54, /* Value too large to be stored in data type */ // 84 +/*line: 225*/ EBADEXEC = 0x55, /* Bad executable */ // 85 +/*line: 226*/ EBADARCH = 0x56, /* Bad CPU type in executable */ // 86 +/*line: 227*/ ESHLIBVERS = 0x57, /* Shared library version mismatch */ // 87 +/*line: 228*/ EBADMACHO = 0x58, /* Malformed Macho file */ // 88 +/*line: 231*/ ECANCELED = 0x59, /* Operation canceled */ // 89 +/*line: 233*/ EIDRM = 0x5a, /* Identifier removed */ // 90 +/*line: 234*/ ENOMSG = 0x5b, /* No message of desired type */ // 91 +/*line: 235*/ EILSEQ = 0x5c, /* Illegal byte sequence */ // 92 +/*line: 237*/ ENOATTR = 0x5d, /* Attribute not found */ // 93 +/*line: 240*/ EBADMSG = 0x5e, /* Bad message */ // 94 +/*line: 241*/ EMULTIHOP = 0x5f, /* Reserved */ // 95 +/*line: 242*/ ENODATA = 0x60, /* No message available on STREAM */ // 96 +/*line: 243*/ ENOLINK = 0x61, /* Reserved */ // 97 +/*line: 244*/ ENOSR = 0x62, /* No STREAM resources */ // 98 +/*line: 245*/ ENOSTR = 0x63, /* Not a STREAM */ // 99 +/*line: 246*/ EPROTO = 0x64, /* Protocol error */ // 100 +/*line: 247*/ ETIME = 0x65, /* STREAM ioctl timeout */ // 101 +/* This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL */ +/*line: 251*/ EOPNOTSUPP = 0x66, /* Operation not supported on socket */ // 102 +/*line: 254*/ ENOPOLICY = 0x67, /* No such policy registered */ // 103 +/*line: 257*/ ENOTRECOVERABLE = 0x68, /* State not recoverable */ // 104 +/*line: 258*/ EOWNERDEAD = 0x69, /* Previous owner died */ // 105 +/*line: 262*/ EQFULL = 0x6a, /* Interface output queue is full */ // 106 +/*line: 263*/ ELAST = 0x6a, /* Must be equal largest errno */ // 106 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 81 +// #define errno (*__error()) + diff --git a/macrodefs_enums/ios/sys/event.h b/macrodefs_enums/ios/sys/event.h new file mode 100644 index 000000000..0ff1be312 --- /dev/null +++ b/macrodefs_enums/ios/sys/event.h @@ -0,0 +1,213 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/event.h + +// Depends on identifiers +enum macro_event_filter { +/* + * Filter types + */ +/*line: 68*/ EVFILT_READ = -0x1, // (-1) +/*line: 69*/ EVFILT_WRITE = -0x2, // (-2) +/*line: 70*/ EVFILT_AIO = -0x3, /* attached to aio requests */ // (-3) +/*line: 71*/ EVFILT_VNODE = -0x4, /* attached to vnodes */ // (-4) +/*line: 72*/ EVFILT_PROC = -0x5, /* attached to struct proc */ // (-5) +/*line: 73*/ EVFILT_SIGNAL = -0x6, /* attached to struct proc */ // (-6) +/*line: 74*/ EVFILT_TIMER = -0x7, /* timers */ // (-7) +/*line: 75*/ EVFILT_MACHPORT = -0x8, /* Mach portsets */ // (-8) +/*line: 76*/ EVFILT_FS = -0x9, /* Filesystem events */ // (-9) +/*line: 77*/ EVFILT_USER = -0xa, /* User events */ // (-10) +/*line: 78*/ EVFILT_VM = -0xc, /* Virtual memory events */ // (-12) +/*line: 79*/ EVFILT_EXCEPT = -0xf, /* Exception events */ // (-15) +/*line: 81*/ EVFILT_SYSCOUNT = 0x12, // 18 +/*line: 82*/ EVFILT_THREADMARKER = 0x12, /* Internal use only */ // EVFILT_SYSCOUNT +}; + +enum macro_kevent_flags { +/* kevent system call flags */ +/*line: 131*/ KEVENT_FLAG_NONE = 0x0, /* no flag value */ // 0x000000 +/*line: 132*/ KEVENT_FLAG_IMMEDIATE = 0x1, /* immediate timeout */ // 0x000001 +/*line: 133*/ KEVENT_FLAG_ERROR_EVENTS = 0x2, /* output events only include change errors */ // 0x000002 +}; + +// Depends on identifiers +enum macro_event_action { +/* actions */ +/*line: 136*/ EV_ADD = 0x1, /* add event to kq (implies enable) */ // 0x0001 +/*line: 137*/ EV_DELETE = 0x2, /* delete event from kq */ // 0x0002 +/*line: 138*/ EV_ENABLE = 0x4, /* enable event */ // 0x0004 +/*line: 139*/ EV_DISABLE = 0x8, /* disable event (not reported) */ // 0x0008 +/* flags */ +/*line: 142*/ EV_ONESHOT = 0x10, /* only report one occurrence */ // 0x0010 +/*line: 143*/ EV_CLEAR = 0x20, /* clear event state after reporting */ // 0x0020 +/*line: 144*/ EV_RECEIPT = 0x40, /* force immediate event output */ // 0x0040 +/* on syscalls supporting flags */ +/*line: 149*/ EV_DISPATCH = 0x80, /* disable event after reporting */ // 0x0080 +/*line: 150*/ EV_UDATA_SPECIFIC = 0x100, /* unique kevent per udata value */ // 0x0100 +/*line: 152*/ EV_DISPATCH2 = 0x180, // (EV_DISPATCH|EV_UDATA_SPECIFIC) +/* returned to indicate the deferral */ +/*line: 158*/ EV_VANISHED = 0x200, /* report that source has vanished */ // 0x0200 +/* ... only valid with EV_DISPATCH2 */ +/*line: 161*/ EV_SYSFLAGS = 0xf000, /* reserved by system */ // 0xF000 +/*line: 162*/ EV_FLAG0 = 0x1000, /* filter-specific flag */ // 0x1000 +/*line: 163*/ EV_FLAG1 = 0x2000, /* filter-specific flag */ // 0x2000 +}; + +enum macro_event_retval { +/* returned values */ +/*line: 166*/ EV_EOF = 0x8000, /* EOF detected */ // 0x8000 +/*line: 167*/ EV_ERROR = 0x4000, /* error, data contains errno */ // 0x4000 +}; + +// Depends on identifiers +enum macro_read_flags { +/* + * Filter specific flags for EVFILT_READ + * + * The default behavior for EVFILT_READ is to make the "read" determination + * relative to the current file descriptor read pointer. + * + * The EV_POLL flag indicates the determination should be made via poll(2) + * semantics. These semantics dictate always returning true for regular files, + * regardless of the amount of unread data in the file. + * + * On input, EV_OOBAND specifies that filter should actively return in the + * presence of OOB on the descriptor. It implies that filter will return + * if there is OOB data available to read OR when any other condition + * for the read are met (for example number of bytes regular data becomes >= + * low-watermark). + * If EV_OOBAND is not set on input, it implies that the filter should not actively + * return for out of band data on the descriptor. The filter will then only return + * when some other condition for read is met (ex: when number of regular data bytes + * >=low-watermark OR when socket can't receive more data (SS_CANTRCVMORE)). + * + * On output, EV_OOBAND indicates the presence of OOB data on the descriptor. + * If it was not specified as an input parameter, then the data count is the + * number of bytes before the current OOB marker, else data count is the number + * of bytes beyond OOB marker. + */ +/*line: 194*/ EV_POLL = 0x1000, // EV_FLAG0 +/*line: 195*/ EV_OOBAND = 0x2000, // EV_FLAG1 +}; + +enum macro_note_trigger { +/* + * On input, NOTE_TRIGGER causes the event to be triggered for output. + */ +/*line: 204*/ NOTE_TRIGGER = 0x1000000, // 0x01000000 +}; + +enum macro_fflags_operation { +/* + * On input, the top two bits of fflags specifies how the lower twenty four + * bits should be applied to the stored value of fflags. + * + * On output, the top two bits will always be set to NOTE_FFNOP and the + * remaining twenty four bits will contain the stored fflags value. + */ +/*line: 213*/ NOTE_FFNOP = 0x0, /* ignore input fflags */ // 0x00000000 +/*line: 214*/ NOTE_FFAND = 0x40000000, /* and fflags */ // 0x40000000 +/*line: 215*/ NOTE_FFOR = 0x80000000, /* or fflags */ // 0x80000000 +/*line: 216*/ NOTE_FFCOPY = 0xc0000000, /* copy fflags */ // 0xc0000000 +/*line: 217*/ NOTE_FFCTRLMASK = 0xc0000000, /* mask for operations */ // 0xc0000000 +/*line: 218*/ NOTE_FFLAGSMASK = 0xffffff, // 0x00ffffff +}; + +enum macro_event_io_fflags { +/* + * data/hint fflags for EVFILT_{READ|WRITE}, shared with userspace + * + * The default behavior for EVFILT_READ is to make the determination + * realtive to the current file descriptor read pointer. + */ +/*line: 226*/ NOTE_LOWAT = 0x1, /* low water mark */ // 0x00000001 +/* data/hint flags for EVFILT_EXCEPT, shared with userspace */ +/*line: 229*/ NOTE_OOB = 0x2, /* OOB data */ // 0x00000002 +}; + +enum macro_vnode_event_flags { +/* + * data/hint fflags for EVFILT_VNODE, shared with userspace + */ +/*line: 234*/ NOTE_DELETE = 0x1, /* vnode was removed */ // 0x00000001 +/*line: 235*/ NOTE_WRITE = 0x2, /* data contents changed */ // 0x00000002 +/*line: 236*/ NOTE_EXTEND = 0x4, /* size increased */ // 0x00000004 +/*line: 237*/ NOTE_ATTRIB = 0x8, /* attributes changed */ // 0x00000008 +/*line: 238*/ NOTE_LINK = 0x10, /* link count changed */ // 0x00000010 +/*line: 239*/ NOTE_RENAME = 0x20, /* vnode was renamed */ // 0x00000020 +/*line: 240*/ NOTE_REVOKE = 0x40, /* vnode access was revoked */ // 0x00000040 +/*line: 241*/ NOTE_NONE = 0x80, /* No specific vnode event: to test for EVFILT_READ activation*/ // 0x00000080 +/*line: 242*/ NOTE_FUNLOCK = 0x100, /* vnode was unlocked by flock(2) */ // 0x00000100 +/*line: 243*/ NOTE_LEASE_DOWNGRADE = 0x200, /* lease downgrade requested */ // 0x00000200 +/*line: 244*/ NOTE_LEASE_RELEASE = 0x400, /* lease release requested */ // 0x00000400 +/*line: 260*/ NOTE_EXIT = 0x80000000, /* process exited */ // 0x80000000 +/*line: 261*/ NOTE_FORK = 0x40000000, /* process forked */ // 0x40000000 +/*line: 262*/ NOTE_EXEC = 0x20000000, /* process exec'd */ // 0x20000000 +/*line: 264*/ NOTE_SIGNAL = 0x8000000, /* shared with EVFILT_SIGNAL */ // 0x08000000 +/*line: 265*/ NOTE_EXITSTATUS = 0x4000000, /* exit status to be returned, valid for child process or when allowed to signal target pid */ // 0x04000000 +/*line: 266*/ NOTE_EXIT_DETAIL = 0x2000000, /* provide details on reasons for exit */ // 0x02000000 +}; + +// Depends on identifiers +enum macro_event_proc_fflags_masks { +/*line: 268*/ NOTE_PDATAMASK = 0xfffff, /* mask for signal & exit status */ // 0x000fffff +/*line: 269*/ NOTE_PCTRLMASK = -0x100000, // (~NOTE_PDATAMASK) +}; + +enum macro_event_proc_vm_fflags { +/* + * If NOTE_EXIT_DETAIL is present, these bits indicate specific reasons for exiting. + */ +/*line: 282*/ NOTE_EXIT_DETAIL_MASK = 0x70000, // 0x00070000 +/*line: 283*/ NOTE_EXIT_DECRYPTFAIL = 0x10000, // 0x00010000 +/*line: 284*/ NOTE_EXIT_MEMORY = 0x20000, // 0x00020000 +/*line: 285*/ NOTE_EXIT_CSERROR = 0x40000, // 0x00040000 +/* + * data/hint fflags for EVFILT_VM, shared with userspace. + */ +/*line: 290*/ NOTE_VM_PRESSURE = 0x80000000, /* will react on memory pressure */ // 0x80000000 +/*line: 291*/ NOTE_VM_PRESSURE_TERMINATE = 0x40000000, /* will quit on memory pressure, possibly after cleaning up dirty state */ // 0x40000000 +/*line: 292*/ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000, /* will quit immediately on memory pressure */ // 0x20000000 +/*line: 293*/ NOTE_VM_ERROR = 0x10000000, /* there was an error */ // 0x10000000 +}; + +enum macro_timer_flags { +/* + * data/hint fflags for EVFILT_TIMER, shared with userspace. + * The default is a (repeating) interval timer with the data + * specifying the timeout interval in milliseconds. + * + * All timeouts are implicitly EV_CLEAR events. + */ +/*line: 302*/ NOTE_SECONDS = 0x1, /* data is seconds */ // 0x00000001 +/*line: 303*/ NOTE_USECONDS = 0x2, /* data is microseconds */ // 0x00000002 +/*line: 304*/ NOTE_NSECONDS = 0x4, /* data is nanoseconds */ // 0x00000004 +/*line: 305*/ NOTE_ABSOLUTE = 0x8, /* absolute timeout */ // 0x00000008 +/* ... implicit EV_ONESHOT, timeout uses the gettimeofday epoch */ +/*line: 307*/ NOTE_LEEWAY = 0x10, /* ext[1] holds leeway for power aware timers */ // 0x00000010 +/*line: 308*/ NOTE_CRITICAL = 0x20, /* system does minimal timer coalescing */ // 0x00000020 +/*line: 309*/ NOTE_BACKGROUND = 0x40, /* system does maximum timer coalescing */ // 0x00000040 +/*line: 310*/ NOTE_MACH_CONTINUOUS_TIME = 0x80, // 0x00000080 +/* + * NOTE_MACH_CONTINUOUS_TIME: + * with NOTE_ABSOLUTE: causes the timer to continue to tick across sleep, + * still uses gettimeofday epoch + * with NOTE_MACHTIME and NOTE_ABSOLUTE: uses mach continuous time epoch + * without NOTE_ABSOLUTE (interval timer mode): continues to tick across sleep + */ +/*line: 318*/ NOTE_MACHTIME = 0x100, /* data is mach absolute time units */ // 0x00000100 +}; + +enum macro_process_flags { +/* additional flags for EVFILT_PROC */ +/*line: 359*/ NOTE_TRACK = 0x1, /* follow across forks */ // 0x00000001 +/*line: 360*/ NOTE_TRACKERR = 0x2, /* could not track child */ // 0x00000002 +/*line: 361*/ NOTE_CHILD = 0x4, /* am a child process */ // 0x00000004 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 263 +// #define NOTE_REAP ((unsigned int)eNoteReapDeprecated /* 0x10000000 */ ) + +// Line: 277 +// #define NOTE_EXIT_REPARENTED ((unsigned int)eNoteExitReparentedDeprecated) + diff --git a/macrodefs_enums/ios/sys/fcntl.h b/macrodefs_enums/ios/sys/fcntl.h new file mode 100644 index 000000000..bbd146db5 --- /dev/null +++ b/macrodefs_enums/ios/sys/fcntl.h @@ -0,0 +1,253 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/fcntl.h + +enum macro_open_access_modes { +/* open-only flags */ +/*line: 96*/ O_RDONLY = 0x0, /* open for reading only */ // 0x0000 +/*line: 97*/ O_WRONLY = 0x1, /* open for writing only */ // 0x0001 +/*line: 98*/ O_RDWR = 0x2, /* open for reading and writing */ // 0x0002 +/*line: 99*/ O_ACCMODE = 0x3, /* mask for above modes */ // 0x0003 +}; + +enum macro_file_flags { +/*line: 110*/ FREAD = 0x1, // 0x00000001 +/*line: 111*/ FWRITE = 0x2, // 0x00000002 +/*line: 113*/ O_NONBLOCK = 0x4, /* no delay */ // 0x00000004 +/*line: 114*/ O_APPEND = 0x8, /* set append mode */ // 0x00000008 +}; + +// Depends on identifiers +enum macro_open_behavior_flags { +/*line: 119*/ O_SHLOCK = 0x10, /* open with shared file lock */ // 0x00000010 +/*line: 120*/ O_EXLOCK = 0x20, /* open with exclusive file lock */ // 0x00000020 +/*line: 121*/ O_ASYNC = 0x40, /* signal pgrp when data ready */ // 0x00000040 +/*line: 122*/ O_FSYNC = 0x80, /* source compatibility: do not use */ // O_SYNC +/*line: 123*/ O_NOFOLLOW = 0x100, /* don't follow symlinks */ // 0x00000100 +/*line: 125*/ O_CREAT = 0x200, /* create if nonexistant */ // 0x00000200 +/*line: 126*/ O_TRUNC = 0x400, /* truncate to zero length */ // 0x00000400 +/*line: 127*/ O_EXCL = 0x800, /* error if already exists */ // 0x00000800 +/*line: 128*/ O_RESOLVE_BENEATH = 0x1000, /* only for open(2), same value as FMARK */ // 0x00001000 +/*line: 132*/ O_EVTONLY = 0x8000, /* descriptor requested for event notifications only */ // 0x00008000 +/*line: 136*/ O_NOCTTY = 0x20000, /* don't assign controlling terminal */ // 0x00020000 +/*line: 140*/ O_DIRECTORY = 0x100000, // 0x00100000 +/*line: 144*/ O_SYMLINK = 0x200000, /* allow open of a symlink */ // 0x00200000 +/*line: 152*/ O_CLOEXEC = 0x1000000, /* implicitly set FD_CLOEXEC */ // 0x01000000 +/*line: 157*/ O_NOFOLLOW_ANY = 0x20000000, /* no symlinks allowed in path */ // 0x20000000 +/*line: 161*/ O_EXEC = 0x40000000, /* open file for execute only */ // 0x40000000 +/*line: 162*/ O_SEARCH = 0x40100000, /* open directory for search only */ // (O_EXEC|O_DIRECTORY) +}; + +enum macro_at_flags { +/* + * Descriptor value for the current working directory + */ +/*line: 171*/ AT_FDCWD = -0x2, // -2 +/* + * Flags for the at functions + */ +/*line: 176*/ AT_EACCESS = 0x10, /* Use effective ids in access check */ // 0x0010 +/*line: 177*/ AT_SYMLINK_NOFOLLOW = 0x20, /* Act on the symlink itself not the target */ // 0x0020 +/*line: 178*/ AT_SYMLINK_FOLLOW = 0x40, /* Act on target of symlink */ // 0x0040 +/*line: 179*/ AT_REMOVEDIR = 0x80, /* Path refers to directory */ // 0x0080 +/*line: 181*/ AT_REALDEV = 0x200, /* Return real device inodes resides on for fstatat(2) */ // 0x0200 +/*line: 182*/ AT_FDONLY = 0x400, /* Use only the fd and Ignore the path for fstatat(2) */ // 0x0400 +/*line: 183*/ AT_SYMLINK_NOFOLLOW_ANY = 0x800, /* Path should not contain any symlinks */ // 0x0800 +}; + +enum macro_data_protection_flags { +/* Data Protection Flags */ +/*line: 189*/ O_DP_GETRAWENCRYPTED = 0x1, // 0x0001 +/*line: 190*/ O_DP_GETRAWUNENCRYPTED = 0x2, // 0x0002 +/*line: 191*/ O_DP_AUTHENTICATE = 0x4, // 0x0004 +}; + +enum macro_auth_open_noauthfd { +/* Descriptor value for openat_authenticated_np() to skip authentication with another fd */ +/*line: 194*/ AUTH_OPEN_NOAUTHFD = -0x1, // -1 +}; + +// Depends on identifiers +enum macro_file_kernel_compat_flags { +/*line: 205*/ FAPPEND = 0x8, /* kernel/compat */ // O_APPEND +/*line: 206*/ FASYNC = 0x40, /* kernel/compat */ // O_ASYNC +/*line: 207*/ FFSYNC = 0x80, /* kernel */ // O_FSYNC +/*line: 208*/ FFDSYNC = 0x400000, /* kernel */ // O_DSYNC +/*line: 209*/ FNONBLOCK = 0x4, /* kernel */ // O_NONBLOCK +/*line: 210*/ FNDELAY = 0x4, /* compat */ // O_NONBLOCK +/*line: 211*/ O_NDELAY = 0x4, /* compat */ // O_NONBLOCK +}; + +// Depends on identifiers +enum macro_cpf_flags { +/*line: 219*/ CPF_OVERWRITE = 0x1, // 0x0001 +/*line: 220*/ CPF_IGNORE_MODE = 0x2, // 0x0002 +/*line: 221*/ CPF_MASK = 0x3, // (CPF_OVERWRITE|CPF_IGNORE_MODE) +}; + +enum macro_fcntl_commands { +/* command values */ +/*line: 229*/ F_DUPFD = 0x0, /* duplicate file descriptor */ // 0 +/*line: 230*/ F_GETFD = 0x1, /* get file descriptor flags */ // 1 +/*line: 231*/ F_SETFD = 0x2, /* set file descriptor flags */ // 2 +/*line: 232*/ F_GETFL = 0x3, /* get file status flags */ // 3 +/*line: 233*/ F_SETFL = 0x4, /* set file status flags */ // 4 +/*line: 234*/ F_GETOWN = 0x5, /* get SIGIO/SIGURG proc/pgrp */ // 5 +/*line: 235*/ F_SETOWN = 0x6, /* set SIGIO/SIGURG proc/pgrp */ // 6 +/*line: 236*/ F_GETLK = 0x7, /* get record locking information */ // 7 +/*line: 237*/ F_SETLK = 0x8, /* set record locking information */ // 8 +/*line: 238*/ F_SETLKW = 0x9, /* F_SETLK; wait if blocked */ // 9 +/*line: 240*/ F_SETLKWTIMEOUT = 0xa, /* F_SETLK; wait if blocked, return on timeout */ // 10 +/*line: 243*/ F_FLUSH_DATA = 0x28, // 40 +/*line: 244*/ F_CHKCLEAN = 0x29, /* Used for regression test */ // 41 +/*line: 245*/ F_PREALLOCATE = 0x2a, /* Preallocate storage */ // 42 +/*line: 246*/ F_SETSIZE = 0x2b, /* Truncate a file. Equivalent to calling truncate(2) */ // 43 +/*line: 247*/ F_RDADVISE = 0x2c, /* Issue an advisory read async with no copy to user */ // 44 +/*line: 248*/ F_RDAHEAD = 0x2d, /* turn read ahead off/on for this fd */ // 45 +/* + * 46,47 used to be F_READBOOTSTRAP and F_WRITEBOOTSTRAP + */ +/*line: 252*/ F_NOCACHE = 0x30, /* turn data caching off/on for this fd */ // 48 +/*line: 253*/ F_LOG2PHYS = 0x31, /* file offset to device offset */ // 49 +/*line: 254*/ F_GETPATH = 0x32, /* return the full path of the fd */ // 50 +/*line: 255*/ F_FULLFSYNC = 0x33, /* fsync + ask the drive to flush to the media */ // 51 +/*line: 256*/ F_PATHPKG_CHECK = 0x34, /* find which component (if any) is a package */ // 52 +/*line: 257*/ F_FREEZE_FS = 0x35, /* "freeze" all fs operations */ // 53 +/*line: 258*/ F_THAW_FS = 0x36, /* "thaw" all fs operations */ // 54 +/*line: 259*/ F_GLOBAL_NOCACHE = 0x37, /* turn data caching off/on (globally) for this file */ // 55 +/*line: 262*/ F_ADDSIGS = 0x3b, /* add detached signatures */ // 59 +/*line: 265*/ F_ADDFILESIGS = 0x3d, /* add signature from same file (used by dyld for shared libs) */ // 61 +/*line: 267*/ F_NODIRECT = 0x3e, /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */ // 62 +/* should not be used (i.e. its ok to temporaily create cached pages) */ +/*line: 270*/ F_GETPROTECTIONCLASS = 0x3f, /* Get the protection class of a file from the EA, returns int */ // 63 +/*line: 271*/ F_SETPROTECTIONCLASS = 0x40, /* Set the protection class of a file for the EA, requires int */ // 64 +/*line: 273*/ F_LOG2PHYS_EXT = 0x41, /* file offset to device offset, extended */ // 65 +/*line: 275*/ F_GETLKPID = 0x42, /* See man fcntl(2) F_GETLK + * Similar to F_GETLK but in addition l_pid is treated as an input parameter + * which is used as a matching value when searching locks on the file + * so that only locks owned by the process with pid l_pid are returned. + * However, any flock(2) type lock will also be found with the returned value + * of l_pid set to -1 (as with F_GETLK). + */ // 66 +/* See F_DUPFD_CLOEXEC below for 67 */ +/*line: 286*/ F_SETBACKINGSTORE = 0x46, /* Mark the file as being the backing store for another filesystem */ // 70 +/*line: 287*/ F_GETPATH_MTMINFO = 0x47, /* return the full path of the FD, but error in specific mtmd circumstances */ // 71 +/*line: 289*/ F_GETCODEDIR = 0x48, /* Returns the code directory, with associated hashes, to the caller */ // 72 +/*line: 291*/ F_SETNOSIGPIPE = 0x49, /* No SIGPIPE generated on EPIPE */ // 73 +/*line: 292*/ F_GETNOSIGPIPE = 0x4a, /* Status of SIGPIPE for this fd */ // 74 +/*line: 294*/ F_TRANSCODEKEY = 0x4b, /* For some cases, we need to rewrap the key for AKS/MKB */ // 75 +/*line: 296*/ F_SINGLE_WRITER = 0x4c, /* file being written to a by single writer... if throttling enabled, writes */ // 76 +/* may be broken into smaller chunks with throttling in between */ +/*line: 299*/ F_GETPROTECTIONLEVEL = 0x4d, /* Get the protection version number for this filesystem */ // 77 +/*line: 301*/ F_FINDSIGS = 0x4e, /* Add detached code signatures (used by dyld for shared libs) */ // 78 +/*line: 304*/ F_ADDFILESIGS_FOR_DYLD_SIM = 0x53, /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */ // 83 +/*line: 307*/ F_BARRIERFSYNC = 0x55, /* fsync + issue barrier to drive */ // 85 +/*line: 310*/ F_OFD_SETLK = 0x5a, /* Acquire or release open file description lock */ // 90 +/*line: 311*/ F_OFD_SETLKW = 0x5b, /* (as F_OFD_SETLK but blocking if conflicting lock) */ // 91 +/*line: 312*/ F_OFD_GETLK = 0x5c, /* Examine OFD lock */ // 92 +/*line: 314*/ F_OFD_SETLKWTIMEOUT = 0x5d, /* (as F_OFD_SETLKW but return if timeout) */ // 93 +/*line: 318*/ F_ADDFILESIGS_RETURN = 0x61, /* Add signature from same file, return end offset in structure on success */ // 97 +/*line: 319*/ F_CHECK_LV = 0x62, /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */ // 98 +/*line: 321*/ F_PUNCHHOLE = 0x63, /* Deallocate a range of the file */ // 99 +/*line: 323*/ F_TRIM_ACTIVE_FILE = 0x64, /* Trim an active file */ // 100 +/*line: 325*/ F_SPECULATIVE_READ = 0x65, /* Asynchronous advisory read fcntl for regular and compressed file */ // 101 +/*line: 327*/ F_GETPATH_NOFIRMLINK = 0x66, /* return the full path without firmlinks of the fd */ // 102 +/*line: 329*/ F_ADDFILESIGS_INFO = 0x67, /* Add signature from same file, return information */ // 103 +/*line: 330*/ F_ADDFILESUPPL = 0x68, /* Add supplemental signature from same file with fd reference to original */ // 104 +/*line: 331*/ F_GETSIGSINFO = 0x69, /* Look up code signature information attached to a file or slice */ // 105 +/*line: 333*/ F_SETLEASE = 0x6a, /* Acquire or release lease */ // 106 +/*line: 334*/ F_GETLEASE = 0x6b, /* Retrieve lease information */ // 107 +/*line: 339*/ F_TRANSFEREXTENTS = 0x6e, /* Transfer allocated extents beyond leof to a different file */ // 110 +/*line: 341*/ F_ATTRIBUTION_TAG = 0x6f, /* Based on flags, query/set/delete a file's attribution tag */ // 111 +}; + +enum macro_add_sigs_main_binary { +/*line: 343*/ F_ADDSIGS_MAIN_BINARY = 0x71, /* add detached signatures for main binary -- development only */ // 113 +}; + +enum macro_fcntl_base { +// FS-specific fcntl()'s numbers begin at 0x00010000 and go up +/*line: 346*/ FCNTL_FS_SPECIFIC_BASE = 0x10000, // 0x00010000 +}; + +enum macro_dupfd_cloexec { +/*line: 351*/ F_DUPFD_CLOEXEC = 0x43, /* mark the dup with FD_CLOEXEC */ // 67 +}; + +enum macro_fd_cloexec { +/* file descriptor flags (F_GETFD, F_SETFD) */ +/*line: 355*/ FD_CLOEXEC = 0x1, /* close-on-exec flag */ // 1 +}; + +enum macro_lock_flags { +/* record locking flags (F_GETLK, F_SETLK, F_SETLKW) */ +/*line: 358*/ F_RDLCK = 0x1, /* shared or read lock */ // 1 +/*line: 359*/ F_UNLCK = 0x2, /* unlock */ // 2 +/*line: 360*/ F_WRLCK = 0x3, /* exclusive or write lock */ // 3 +}; + +enum macro_allocate_flags { +/* allocate flags (F_PREALLOCATE) */ +/*line: 378*/ F_ALLOCATECONTIG = 0x2, /* allocate contigious space */ // 0x00000002 +/*line: 379*/ F_ALLOCATEALL = 0x4, /* allocate all requested space or no space at all */ // 0x00000004 +/*line: 380*/ F_ALLOCATEPERSIST = 0x8, /* do not free space upon close(2) */ // 0x00000008 +}; + +enum macro_file_position_mode { +/* Position Modes (fst_posmode) for F_PREALLOCATE */ +/*line: 384*/ F_PEOFPOSMODE = 0x3, /* Make it past all of the SEEK pos modes so that */ // 3 +/* we can keep them in sync should we desire */ +/*line: 386*/ F_VOLPOSMODE = 0x4, /* specify volume starting postion */ // 4 +}; + +enum macro_user_fsignatures_cdhash_len { +/* + * detached code signatures data type - + * information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. + * F_ADDFILESIGS is a shortcut for files that contain their own signature and + * doesn't require mapping of the file in order to load the signature. + */ +/*line: 433*/ USER_FSIGNATURES_CDHASH_LEN = 0x14, // 20 +}; + +enum macro_get_sigsinfo_platform { +/* At this time F_GETSIGSINFO can only indicate platformness. + * As additional requestable information is defined, new keys will be added and the + * fgetsigsinfo_t structure will be lengthened to add space for the additional information + */ +/*line: 476*/ GETSIGSINFO_PLATFORM_BINARY = 0x1, // 1 +}; + +enum macro_flock_options { +/* lock operations for flock(2) */ +/*line: 487*/ LOCK_SH = 0x1, /* shared file lock */ // 0x01 +/*line: 488*/ LOCK_EX = 0x2, /* exclusive file lock */ // 0x02 +/*line: 489*/ LOCK_NB = 0x4, /* don't block when locking */ // 0x04 +/*line: 490*/ LOCK_UN = 0x8, /* unlock file */ // 0x08 +}; + +enum macro_attribution_name_max { +/* fattributiontag_t used by F_ATTRIBUTION_TAG */ +/*line: 526*/ ATTRIBUTION_NAME_MAX = 0xff, // 255 +}; + +enum macro_file_tag_flags { +/* ft_flags (F_ATTRIBUTION_TAG)*/ +/*line: 534*/ F_CREATE_TAG = 0x1, // 0x00000001 +/*line: 535*/ F_DELETE_TAG = 0x2, // 0x00000002 +/*line: 536*/ F_QUERY_TAG = 0x4, // 0x00000004 +}; + +enum macro_open_flags { +/*line: 573*/ O_POPUP = 0x80000000, /* force window to popup on open */ // 0x80000000 +/*line: 574*/ O_ALERT = 0x20000000, /* small, clean popup window */ // 0x20000000 +}; + +enum macro_filesec_property { +/*line: 626*/ _FILESEC_UNSET_PROPERTY = 0x0, // ((void*)0) +/*line: 627*/ _FILESEC_REMOVE_ACL = 0x1, // ((void*)1) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 598 +// #define FILESEC_GUID FILESEC_UUID + diff --git a/macrodefs_enums/ios/sys/fileport.h b/macrodefs_enums/ios/sys/fileport.h new file mode 100644 index 000000000..6e445bfc7 --- /dev/null +++ b/macrodefs_enums/ios/sys/fileport.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/fileport.h + +// Depends on identifiers +enum macro_fileport_null { +/*line: 44*/ FILEPORT_NULL = 0x0, // ((fileport_t)0) +}; + diff --git a/macrodefs_enums/ios/sys/filio.h b/macrodefs_enums/ios/sys/filio.h new file mode 100644 index 000000000..7f16f2fb7 --- /dev/null +++ b/macrodefs_enums/ios/sys/filio.h @@ -0,0 +1,28 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/filio.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 75 +// #define FIOCLEX _IO('f', 1) + +// Line: 76 +// #define FIONCLEX _IO('f', 2) + +// Line: 77 +// #define FIONREAD _IOR('f', 127, int) + +// Line: 78 +// #define FIONBIO _IOW('f', 126, int) + +// Line: 79 +// #define FIOASYNC _IOW('f', 125, int) + +// Line: 80 +// #define FIOSETOWN _IOW('f', 124, int) + +// Line: 81 +// #define FIOGETOWN _IOR('f', 123, int) + +// Line: 82 +// #define FIODTYPE _IOR('f', 122, int) + diff --git a/macrodefs_enums/ios/sys/ioccom.h b/macrodefs_enums/ios/sys/ioccom.h new file mode 100644 index 000000000..4487c933c --- /dev/null +++ b/macrodefs_enums/ios/sys/ioccom.h @@ -0,0 +1,24 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/ioccom.h + +// Depends on identifiers +enum macro_ioctl_flags { +/* + * Ioctl's have the command encoded in the lower word, and the size of + * any in or out parameters in the upper word. The high 3 bits of the + * upper word are used to encode the in/out status of the parameter. + */ +/*line: 74*/ IOCPARM_MASK = 0x1fff, /* parameter length, at most 13 bits */ // 0x1fff +/*line: 79*/ IOCPARM_MAX = 0x2000, /* max size of ioctl args */ // (IOCPARM_MASK+1) +/* no parameters */ +/*line: 81*/ IOC_VOID = 0x20000000, // (__uint32_t)0x20000000 +/* copy parameters out */ +/*line: 83*/ IOC_OUT = 0x40000000, // (__uint32_t)0x40000000 +/* copy parameters in */ +/*line: 85*/ IOC_IN = 0x80000000, // (__uint32_t)0x80000000 +/* copy parameters in and out */ +/*line: 87*/ IOC_INOUT = 0xc0000000, // (IOC_IN|IOC_OUT) +/* mask for IN/OUT/VOID */ +/*line: 89*/ IOC_DIRMASK = 0xe0000000, // (__uint32_t)0xe0000000 +}; + diff --git a/macrodefs_enums/ios/sys/ioctl.h b/macrodefs_enums/ios/sys/ioctl.h new file mode 100644 index 000000000..c13bd76ee --- /dev/null +++ b/macrodefs_enums/ios/sys/ioctl.h @@ -0,0 +1,10 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/ioctl.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 85 +// #define TIOCGSIZE TIOCGWINSZ + +// Line: 86 +// #define TIOCSSIZE TIOCSWINSZ + diff --git a/macrodefs_enums/ios/sys/ipc.h b/macrodefs_enums/ios/sys/ipc.h new file mode 100644 index 000000000..9336aa7d5 --- /dev/null +++ b/macrodefs_enums/ios/sys/ipc.h @@ -0,0 +1,31 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/ipc.h + +enum macro_ipc_flags { +/* Mode bits */ +/*line: 145*/ IPC_CREAT = 0x200, /* Create entry if key does not exist */ // 001000 +/*line: 146*/ IPC_EXCL = 0x400, /* Fail if key exists */ // 002000 +/*line: 147*/ IPC_NOWAIT = 0x800, /* Error if request must wait */ // 004000 +}; + +// Depends on identifiers +enum macro_ipc_private { +/* Keys */ +/*line: 150*/ IPC_PRIVATE = 0x0, /* Private key */ // ((key_t)0) +}; + +enum macro_ipc_control_flags { +/* Control commands */ +/*line: 153*/ IPC_RMID = 0x0, /* Remove identifier */ // 0 +/*line: 154*/ IPC_SET = 0x1, /* Set options */ // 1 +/*line: 155*/ IPC_STAT = 0x2, /* Get options */ // 2 +/* common mode bits */ +/*line: 161*/ IPC_R = 0x100, /* Read permission */ // 000400 +/*line: 162*/ IPC_W = 0x80, /* Write/alter permission */ // 000200 +/*line: 163*/ IPC_M = 0x1000, /* Modify control info permission */ // 010000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 116 +// #define __ipc_perm_new ipc_perm + diff --git a/macrodefs_enums/ios/sys/kauth.h b/macrodefs_enums/ios/sys/kauth.h new file mode 100644 index 000000000..ad62c3b36 --- /dev/null +++ b/macrodefs_enums/ios/sys/kauth.h @@ -0,0 +1,60 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/kauth.h + +// Depends on identifiers +enum macro_kauth_ids { +/* + * Identities. + */ +/*line: 56*/ KAUTH_UID_NONE = -0x65, /* not a valid UID */ // (~(uid_t)0-100) +/*line: 57*/ KAUTH_GID_NONE = -0x65, /* not a valid GID */ // (~(gid_t)0-100) +}; + +enum macro_kauth_ntsid_max_authorities { +/*line: 65*/ KAUTH_NTSID_MAX_AUTHORITIES = 0x10, // 16 +}; + +enum macro_kauth_ntsid_hdrsize { +/* valid byte count inside a SID structure */ +/*line: 72*/ KAUTH_NTSID_HDRSIZE = 0x8, // (8) +}; + +enum macro_extlookup_results { +/*line: 85*/ KAUTH_EXTLOOKUP_SUCCESS = 0x0, /* results here are good */ // 0 +/*line: 86*/ KAUTH_EXTLOOKUP_BADRQ = 0x1, /* request badly formatted */ // 1 +/*line: 87*/ KAUTH_EXTLOOKUP_FAILURE = 0x2, /* transient failure during lookup */ // 2 +/*line: 88*/ KAUTH_EXTLOOKUP_FATAL = 0x3, /* permanent failure during lookup */ // 3 +/*line: 89*/ KAUTH_EXTLOOKUP_INPROG = 0x64, /* request in progress */ // 100 +/*line: 91*/ KAUTH_EXTLOOKUP_VALID_UID = 0x1, // (1<<0) +/*line: 92*/ KAUTH_EXTLOOKUP_VALID_UGUID = 0x2, // (1<<1) +/*line: 93*/ KAUTH_EXTLOOKUP_VALID_USID = 0x4, // (1<<2) +/*line: 94*/ KAUTH_EXTLOOKUP_VALID_GID = 0x8, // (1<<3) +/*line: 95*/ KAUTH_EXTLOOKUP_VALID_GGUID = 0x10, // (1<<4) +/*line: 96*/ KAUTH_EXTLOOKUP_VALID_GSID = 0x20, // (1<<5) +/*line: 97*/ KAUTH_EXTLOOKUP_WANT_UID = 0x40, // (1<<6) +/*line: 98*/ KAUTH_EXTLOOKUP_WANT_UGUID = 0x80, // (1<<7) +/*line: 99*/ KAUTH_EXTLOOKUP_WANT_USID = 0x100, // (1<<8) +/*line: 100*/ KAUTH_EXTLOOKUP_WANT_GID = 0x200, // (1<<9) +/*line: 101*/ KAUTH_EXTLOOKUP_WANT_GGUID = 0x400, // (1<<10) +/*line: 102*/ KAUTH_EXTLOOKUP_WANT_GSID = 0x800, // (1<<11) +/*line: 103*/ KAUTH_EXTLOOKUP_WANT_MEMBERSHIP = 0x1000, // (1<<12) +/*line: 104*/ KAUTH_EXTLOOKUP_VALID_MEMBERSHIP = 0x2000, // (1<<13) +/*line: 105*/ KAUTH_EXTLOOKUP_ISMEMBER = 0x4000, // (1<<14) +/*line: 106*/ KAUTH_EXTLOOKUP_VALID_PWNAM = 0x8000, // (1<<15) +/*line: 107*/ KAUTH_EXTLOOKUP_WANT_PWNAM = 0x10000, // (1<<16) +/*line: 108*/ KAUTH_EXTLOOKUP_VALID_GRNAM = 0x20000, // (1<<17) +/*line: 109*/ KAUTH_EXTLOOKUP_WANT_GRNAM = 0x40000, // (1<<18) +/*line: 110*/ KAUTH_EXTLOOKUP_VALID_SUPGRPS = 0x80000, // (1<<19) +/*line: 111*/ KAUTH_EXTLOOKUP_WANT_SUPGRPS = 0x100000, // (1<<20) +}; + +enum macro_kauth_operation { +/*line: 137*/ KAUTH_EXTLOOKUP_REGISTER = 0x0, // (0) +/*line: 138*/ KAUTH_EXTLOOKUP_RESULT = 0x1, // (1<<0) +/*line: 139*/ KAUTH_EXTLOOKUP_WORKER = 0x2, // (1<<1) +/*line: 140*/ KAUTH_EXTLOOKUP_DEREGISTER = 0x4, // (1<<2) +/*line: 141*/ KAUTH_GET_CACHE_SIZES = 0x8, // (1<<3) +/*line: 142*/ KAUTH_SET_CACHE_SIZES = 0x10, // (1<<4) +/*line: 143*/ KAUTH_CLEAR_CACHES = 0x20, // (1<<5) +}; + diff --git a/macrodefs_enums/ios/sys/lctx.h b/macrodefs_enums/ios/sys/lctx.h new file mode 100644 index 000000000..9fc6105ef --- /dev/null +++ b/macrodefs_enums/ios/sys/lctx.h @@ -0,0 +1,9 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/lctx.h + +enum macro_lctx_id { +/*line: 23*/ LCID_PROC_SELF = 0x0, // (0) +/*line: 24*/ LCID_REMOVE = -0x1, // (-1) +/*line: 25*/ LCID_CREATE = 0x0, // (0) +}; + diff --git a/macrodefs_enums/ios/sys/lockstat.h b/macrodefs_enums/ios/sys/lockstat.h new file mode 100644 index 000000000..91c4c65a0 --- /dev/null +++ b/macrodefs_enums/ios/sys/lockstat.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/lockstat.h + diff --git a/macrodefs_enums/ios/sys/mman.h b/macrodefs_enums/ios/sys/mman.h new file mode 100644 index 000000000..99c6ef0b5 --- /dev/null +++ b/macrodefs_enums/ios/sys/mman.h @@ -0,0 +1,135 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/mman.h + +enum macro_memory_protection { +/* + * Protections are chosen from these bits, or-ed together + */ +/*line: 99*/ PROT_NONE = 0x0, /* [MC2] no permissions */ // 0x00 +/*line: 100*/ PROT_READ = 0x1, /* [MC2] pages can be read */ // 0x01 +/*line: 101*/ PROT_WRITE = 0x2, /* [MC2] pages can be written */ // 0x02 +/*line: 102*/ PROT_EXEC = 0x4, /* [MC2] pages can be executed */ // 0x04 +}; + +// Depends on identifiers +enum macro_mmap_flag { +/* + * Flags contain sharing type and options. + * Sharing types; choose one. + */ +/*line: 108*/ MAP_SHARED = 0x1, /* [MF|SHM] share changes */ // 0x0001 +/*line: 109*/ MAP_PRIVATE = 0x2, /* [MF|SHM] changes are private */ // 0x0002 +/*line: 111*/ MAP_COPY = 0x2, /* Obsolete */ // MAP_PRIVATE +/* + * Other flags + */ +/*line: 117*/ MAP_FIXED = 0x10, /* [MF|SHM] interpret addr exactly */ // 0x0010 +/*line: 119*/ MAP_RENAME = 0x20, /* Sun: rename private pages to file */ // 0x0020 +/*line: 120*/ MAP_NORESERVE = 0x40, /* Sun: don't reserve needed swap area */ // 0x0040 +/*line: 121*/ MAP_RESERVED0080 = 0x80, /* previously unimplemented MAP_INHERIT */ // 0x0080 +/*line: 122*/ MAP_NOEXTEND = 0x100, /* for MAP_FILE, don't change file size */ // 0x0100 +/*line: 123*/ MAP_HASSEMAPHORE = 0x200, /* region may contain semaphores */ // 0x0200 +/*line: 124*/ MAP_NOCACHE = 0x400, /* don't cache pages for this mapping */ // 0x0400 +/*line: 125*/ MAP_JIT = 0x800, /* Allocate a region that will be used for JIT purposes */ // 0x0800 +/* + * Mapping type + */ +/*line: 130*/ MAP_FILE = 0x0, /* map from file (default) */ // 0x0000 +/*line: 131*/ MAP_ANON = 0x1000, /* allocated from memory, swap space */ // 0x1000 +/*line: 132*/ MAP_ANONYMOUS = 0x1000, // MAP_ANON +/* + * The MAP_RESILIENT_* flags can be used when the caller wants to map some + * possibly unreliable memory and be able to access it safely, possibly + * getting the wrong contents rather than raising any exception. + * For safety reasons, such mappings have to be read-only (PROT_READ access + * only). + * + * MAP_RESILIENT_CODESIGN: + * accessing this mapping will not generate code-signing violations, + * even if the contents are tainted. + * MAP_RESILIENT_MEDIA: + * accessing this mapping will not generate an exception if the contents + * are not available (unreachable removable or remote media, access beyond + * end-of-file, ...). Missing contents will be replaced with zeroes. + */ +/*line: 149*/ MAP_RESILIENT_CODESIGN = 0x2000, /* no code-signing failures */ // 0x2000 +/*line: 150*/ MAP_RESILIENT_MEDIA = 0x4000, /* no backing-store failures */ // 0x4000 +/* + * Flags used to support translated processes. + */ +/*line: 160*/ MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000, /* allow execute in translated processes */ // 0x20000 +/*line: 162*/ MAP_UNIX03 = 0x40000, /* UNIX03 compliance */ // 0x40000 +/*line: 164*/ MAP_TPRO = 0x80000, /* Allocate a region that will be protected by TPRO */ // 0x80000 +}; + +enum macro_memory_locking { +/* + * Process memory locking + */ +/*line: 171*/ MCL_CURRENT = 0x1, /* [ML] Lock only current memory */ // 0x0001 +/*line: 172*/ MCL_FUTURE = 0x2, /* [ML] Lock all future memory as well */ // 0x0002 +}; + +enum macro_mmap_err { + /* + * Error return from mmap() + */ +/*line: 177*/ MAP_FAILED = -0x1, /* [MF|SHM] mmap failed */ // ((void*)-1) +}; + +enum macro_msync_flags { +/* + * msync() flags + * + * When making a new MS_*, update tests vm_parameter_validation_[user|kern] + * and their expected results; they deliberately call VM functions with invalid + * msync values and you may be turning one of those invalid msyncs valid. + */ +/*line: 186*/ MS_ASYNC = 0x1, /* [MF|SIO] return immediately */ // 0x0001 +/*line: 187*/ MS_INVALIDATE = 0x2, /* [MF|SIO] invalidate all cached data */ // 0x0002 +/*line: 188*/ MS_SYNC = 0x10, /* [MF|SIO] msync synchronously */ // 0x0010 +/*line: 191*/ MS_KILLPAGES = 0x4, /* invalidate pages, leave mapped */ // 0x0004 +/*line: 192*/ MS_DEACTIVATE = 0x8, /* deactivate pages, leave mapped */ // 0x0008 +}; + +enum macro_madvise_hints { +/* + * Advice to madvise + * + * When making a new MADV_*, update tests vm_parameter_validation_[user|kern] + * and their expected results; they deliberately call VM functions with invalid + * madvise values and you may be turning one of those invalid madvises valid. + */ +/*line: 204*/ POSIX_MADV_NORMAL = 0x0, /* [MC1] no further special treatment */ // 0 +/*line: 205*/ POSIX_MADV_RANDOM = 0x1, /* [MC1] expect random page refs */ // 1 +/*line: 206*/ POSIX_MADV_SEQUENTIAL = 0x2, /* [MC1] expect sequential page refs */ // 2 +/*line: 207*/ POSIX_MADV_WILLNEED = 0x3, /* [MC1] will need these pages */ // 3 +/*line: 208*/ POSIX_MADV_DONTNEED = 0x4, /* [MC1] dont need these pages */ // 4 +/*line: 211*/ MADV_NORMAL = 0x0, // POSIX_MADV_NORMAL +/*line: 212*/ MADV_RANDOM = 0x1, // POSIX_MADV_RANDOM +/*line: 213*/ MADV_SEQUENTIAL = 0x2, // POSIX_MADV_SEQUENTIAL +/*line: 214*/ MADV_WILLNEED = 0x3, // POSIX_MADV_WILLNEED +/*line: 215*/ MADV_DONTNEED = 0x4, // POSIX_MADV_DONTNEED +/*line: 216*/ MADV_FREE = 0x5, /* pages unneeded, discard contents */ // 5 +/*line: 217*/ MADV_ZERO_WIRED_PAGES = 0x6, /* zero the wired pages that have not been unwired before the entry is deleted */ // 6 +/*line: 218*/ MADV_FREE_REUSABLE = 0x7, /* pages can be reused (by anyone) */ // 7 +/*line: 219*/ MADV_FREE_REUSE = 0x8, /* caller wants to reuse those pages */ // 8 +/*line: 220*/ MADV_CAN_REUSE = 0x9, // 9 +/*line: 221*/ MADV_PAGEOUT = 0xa, /* page out now (internal only) */ // 10 +/*line: 222*/ MADV_ZERO = 0xb, /* zero pages without faulting in additional pages */ // 11 +}; + +enum macro_mincore_bits { +/* + * Return bits from mincore + */ +/*line: 227*/ MINCORE_INCORE = 0x1, /* Page is incore */ // 0x1 +/*line: 228*/ MINCORE_REFERENCED = 0x2, /* Page has been referenced by us */ // 0x2 +/*line: 229*/ MINCORE_MODIFIED = 0x4, /* Page has been modified by us */ // 0x4 +/*line: 230*/ MINCORE_REFERENCED_OTHER = 0x8, /* Page has been referenced */ // 0x8 +/*line: 231*/ MINCORE_MODIFIED_OTHER = 0x10, /* Page has been modified */ // 0x10 +/*line: 232*/ MINCORE_PAGED_OUT = 0x20, /* Page has been paged out */ // 0x20 +/*line: 233*/ MINCORE_COPIED = 0x40, /* Page has been copied */ // 0x40 +/*line: 234*/ MINCORE_ANONYMOUS = 0x80, /* Page belongs to an anonymous object */ // 0x80 +}; + diff --git a/macrodefs_enums/ios/sys/mount.h b/macrodefs_enums/ios/sys/mount.h new file mode 100644 index 000000000..3a5345047 --- /dev/null +++ b/macrodefs_enums/ios/sys/mount.h @@ -0,0 +1,201 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/mount.h + +enum macro_fs_name_length { +/* + * file system statistics + */ +/*line: 93*/ MFSNAMELEN = 0xf, /* length of fs type name, not inc. null */ // 15 +/*line: 94*/ MFSTYPENAMELEN = 0x10, /* length of fs type name including null */ // 16 +}; + +// Depends on identifiers +enum macro_maxpathlen { +/*line: 97*/ MNAMELEN = 0x400, /* length of buffer for returned name */ // MAXPATHLEN +}; + +enum macro_mount_options { +/*line: 102*/ MNT_EXT_ROOT_DATA_VOL = 0x1, /* Data volume of root volume group */ // 0x00000001 +/*line: 103*/ MNT_EXT_FSKIT = 0x2, /* this is an FSKit mount */ // 0x00000002 +}; + +enum macro_mount_flags { +/* + * User specifiable flags. + * + * Unmount uses MNT_FORCE flag. + */ +/*line: 194*/ MNT_RDONLY = 0x1, /* read only filesystem */ // 0x00000001 +/*line: 195*/ MNT_SYNCHRONOUS = 0x2, /* file system written synchronously */ // 0x00000002 +/*line: 196*/ MNT_NOEXEC = 0x4, /* can't exec from filesystem */ // 0x00000004 +/*line: 197*/ MNT_NOSUID = 0x8, /* don't honor setuid bits on fs */ // 0x00000008 +/*line: 198*/ MNT_NODEV = 0x10, /* don't interpret special files */ // 0x00000010 +/*line: 199*/ MNT_UNION = 0x20, /* union with underlying filesystem */ // 0x00000020 +/*line: 200*/ MNT_ASYNC = 0x40, /* file system written asynchronously */ // 0x00000040 +/*line: 201*/ MNT_CPROTECT = 0x80, /* file system supports content protection */ // 0x00000080 +/* + * NFS export related mount flags. + */ +/*line: 206*/ MNT_EXPORTED = 0x100, /* file system is exported */ // 0x00000100 +/* + * Denotes storage which can be removed from the system by the user. + */ +/*line: 212*/ MNT_REMOVABLE = 0x200, // 0x00000200 +/* + * MAC labeled / "quarantined" flag + */ +/*line: 217*/ MNT_QUARANTINE = 0x400, /* file system is quarantined */ // 0x00000400 +/* + * Flags set by internal operations. + */ +/*line: 222*/ MNT_LOCAL = 0x1000, /* filesystem is stored locally */ // 0x00001000 +/*line: 223*/ MNT_QUOTA = 0x2000, /* quotas are enabled on filesystem */ // 0x00002000 +/*line: 224*/ MNT_ROOTFS = 0x4000, /* identifies the root filesystem */ // 0x00004000 +/*line: 225*/ MNT_DOVOLFS = 0x8000, /* FS supports volfs (deprecated flag in Mac OS X 10.5) */ // 0x00008000 +/*line: 228*/ MNT_DONTBROWSE = 0x100000, /* file system is not appropriate path to user data */ // 0x00100000 +/*line: 229*/ MNT_IGNORE_OWNERSHIP = 0x200000, /* VFS will ignore ownership information on filesystem objects */ // 0x00200000 +/*line: 230*/ MNT_AUTOMOUNTED = 0x400000, /* filesystem was mounted by automounter */ // 0x00400000 +/*line: 231*/ MNT_JOURNALED = 0x800000, /* filesystem is journaled */ // 0x00800000 +/*line: 232*/ MNT_NOUSERXATTR = 0x1000000, /* Don't allow user extended attributes */ // 0x01000000 +/*line: 233*/ MNT_DEFWRITE = 0x2000000, /* filesystem should defer writes */ // 0x02000000 +/*line: 234*/ MNT_MULTILABEL = 0x4000000, /* MAC support for individual labels */ // 0x04000000 +/*line: 235*/ MNT_NOFOLLOW = 0x8000000, /* don't follow symlink when resolving mount point */ // 0x08000000 +/*line: 236*/ MNT_NOATIME = 0x10000000, /* disable update of file access time */ // 0x10000000 +/*line: 237*/ MNT_SNAPSHOT = 0x40000000, /* The mount is a snapshot */ // 0x40000000 +/*line: 238*/ MNT_STRICTATIME = 0x80000000, /* enable strict update of file access time */ // 0x80000000 +/* backwards compatibility only */ +/*line: 241*/ MNT_UNKNOWNPERMISSIONS = 0x200000, // MNT_IGNORE_OWNERSHIP +/* + * XXX I think that this could now become (~(MNT_CMDFLAGS)) + * but the 'mount' program may need changing to handle this. + */ +/*line: 248*/ MNT_VISFLAGMASK = 0xdff0f7ff, // (MNT_RDONLY|MNT_SYNCHRONOUS|MNT_NOEXEC|MNT_NOSUID|MNT_NODEV|MNT_UNION|MNT_ASYNC|MNT_EXPORTED|MNT_QUARANTINE|MNT_LOCAL|MNT_QUOTA|MNT_REMOVABLE|MNT_ROOTFS|MNT_DOVOLFS|MNT_DONTBROWSE|MNT_IGNORE_OWNERSHIP|MNT_AUTOMOUNTED|MNT_JOURNALED|MNT_NOUSERXATTR|MNT_DEFWRITE|MNT_MULTILABEL|MNT_NOFOLLOW|MNT_NOATIME|MNT_STRICTATIME|MNT_SNAPSHOT|MNT_CPROTECT) +/* + * External filesystem command modifier flags. + * Unmount can use the MNT_FORCE flag. + * XXX These are not STATES and really should be somewhere else. + * External filesystem control flags. + */ +/*line: 263*/ MNT_UPDATE = 0x10000, /* not a real mount, just an update */ // 0x00010000 +/*line: 264*/ MNT_NOBLOCK = 0x20000, /* don't block unmount if not responding */ // 0x00020000 +/*line: 265*/ MNT_RELOAD = 0x40000, /* reload filesystem data */ // 0x00040000 +/*line: 266*/ MNT_FORCE = 0x80000, /* force unmount or readonly change */ // 0x00080000 +/*line: 267*/ MNT_CMDFLAGS = 0xf0000, // (MNT_UPDATE|MNT_NOBLOCK|MNT_RELOAD|MNT_FORCE) +}; + +enum macro_ctl_vfs { +/* + * Sysctl CTL_VFS definitions. + * + * Second level identifier specifies which filesystem. Second level + * identifier VFS_GENERIC returns information about all filesystems. + */ +/*line: 277*/ VFS_GENERIC = 0x0, /* generic filesystem information */ // 0 +/*line: 278*/ VFS_NUMMNTOPS = 0x1, /* int: total num of vfs mount/unmount operations */ // 1 +}; + +enum macro_ctl_vfs_generic { +/* + * Third level identifiers for VFS_GENERIC are given below; third + * level identifiers for specific filesystems are given in their + * mount specific header files. + */ +/*line: 284*/ VFS_MAXTYPENUM = 0x1, /* int: highest defined filesystem type */ // 1 +/*line: 285*/ VFS_CONF = 0x2, /* struct: vfsconf for filesystem given + * as next argument */ // 2 +}; + +enum macro_waitfor_flags { +/* + * Flags for various system call interfaces. + * + * waitfor flags to vfs_sync() and getfsstat() + */ +/*line: 293*/ MNT_WAIT = 0x1, /* synchronized I/O file integrity completion */ // 1 +/*line: 294*/ MNT_NOWAIT = 0x2, /* start all I/O, but do not wait for it */ // 2 +/*line: 295*/ MNT_DWAIT = 0x4, /* synchronized I/O data integrity completion */ // 4 +}; + +// enum macro_vfsidctl_flags { +// /* vfsidctl API version. */ +// /*line: 319*/ VFS_CTL_VERS1 = 0x1, // 0x01 + +enum macro_vfsctl_values { +/* + * New style VFS sysctls, do not reuse/conflict with the namespace for + * private sysctls. + */ +/*line: 326*/ VFS_CTL_OSTATFS = 0x10001, /* old legacy statfs */ // 0x00010001 +/*line: 327*/ VFS_CTL_UMOUNT = 0x10002, /* unmount */ // 0x00010002 +/*line: 328*/ VFS_CTL_QUERY = 0x10003, /* anything wrong? (vfsquery) */ // 0x00010003 +/*line: 329*/ VFS_CTL_NEWADDR = 0x10004, /* reconnect to new address */ // 0x00010004 +/*line: 330*/ VFS_CTL_TIMEO = 0x10005, /* set timeout for vfs notification */ // 0x00010005 +/*line: 331*/ VFS_CTL_NOLOCKS = 0x10006, /* disable file locking */ // 0x00010006 +/*line: 332*/ VFS_CTL_SADDR = 0x10007, /* get server address */ // 0x00010007 +/*line: 333*/ VFS_CTL_DISC = 0x10008, /* server disconnected */ // 0x00010008 +/*line: 334*/ VFS_CTL_SERVERINFO = 0x10009, /* information about fs server */ // 0x00010009 +/*line: 335*/ VFS_CTL_NSTATUS = 0x1000a, /* netfs mount status */ // 0x0001000A +/*line: 336*/ VFS_CTL_STATFS64 = 0x1000b, /* statfs64 */ // 0x0001000B +/*line: 343*/ VFS_CTL_STATFS = 0x1000b, // VFS_CTL_STATFS64 +}; + +enum macro_vfsquery_flags { +/* vfsquery flags */ +/*line: 370*/ VQ_NOTRESP = 0x1, /* server down */ // 0x0001 +/*line: 371*/ VQ_NEEDAUTH = 0x2, /* server bad auth */ // 0x0002 +/*line: 372*/ VQ_LOWDISK = 0x4, /* we're low on space */ // 0x0004 +/*line: 373*/ VQ_MOUNT = 0x8, /* new filesystem arrived */ // 0x0008 +/*line: 374*/ VQ_UNMOUNT = 0x10, /* filesystem has left */ // 0x0010 +/*line: 375*/ VQ_DEAD = 0x20, /* filesystem is dead, needs force unmount */ // 0x0020 +/*line: 376*/ VQ_ASSIST = 0x40, /* filesystem needs assistance from external program */ // 0x0040 +/*line: 377*/ VQ_NOTRESPLOCK = 0x80, /* server lockd down */ // 0x0080 +/*line: 378*/ VQ_UPDATE = 0x100, /* filesystem information has changed */ // 0x0100 +/*line: 379*/ VQ_VERYLOWDISK = 0x200, /* file system has *very* little disk space left */ // 0x0200 +/*line: 380*/ VQ_SYNCEVENT = 0x400, /* a sync just happened (not set by kernel starting Mac OS X 10.9) */ // 0x0400 +/*line: 381*/ VQ_SERVEREVENT = 0x800, /* server issued notification/warning */ // 0x0800 +/*line: 382*/ VQ_QUOTA = 0x1000, /* a user quota has been hit */ // 0x1000 +/*line: 383*/ VQ_NEARLOWDISK = 0x2000, /* Above lowdisk and below desired disk space */ // 0x2000 +/*line: 384*/ VQ_DESIRED_DISK = 0x4000, /* the desired disk space */ // 0x4000 +/*line: 385*/ VQ_FREE_SPACE_CHANGE = 0x8000, /* free disk space has significantly changed */ // 0x8000 +/*line: 386*/ VQ_PURGEABLE_SPACE_CHANGE = 0x10000, /* purgeable disk space has significantly changed */ // 0x10000 +/*line: 387*/ VQ_FLAG20000 = 0x20000, /* placeholder */ // 0x20000 +}; + +// Depends on identifiers +enum macro_nfs_file_handle_size { +/* + * Generic file handle + */ +/*line: 394*/ NFS_MAX_FH_SIZE = 0x80, // NFSV4_MAX_FH_SIZE +/*line: 395*/ NFSV4_MAX_FH_SIZE = 0x80, // 128 +/*line: 396*/ NFSV3_MAX_FH_SIZE = 0x40, // 64 +/*line: 397*/ NFSV2_MAX_FH_SIZE = 0x20, // 32 +}; + +// enum macro_cryptex_version { +// // bump up the version for any change that has kext dependency +// /*line: 411*/ CRYPTEX_AUTH_STRUCT_VERSION = 0x2, // 2 +// }; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 105 +// #define __DARWIN_STRUCT_STATFS64 { \ +// uint32_t f_bsize; /* fundamental file system block size */ \ +// int32_t f_iosize; /* optimal transfer block size */ \ +// uint64_t f_blocks; /* total data blocks in file system */ \ +// uint64_t f_bfree; /* free blocks in fs */ \ +// uint64_t f_bavail; /* free blocks avail to non-superuser */ \ +// uint64_t f_files; /* total file nodes in file system */ \ +// uint64_t f_ffree; /* free file nodes in fs */ \ +// fsid_t f_fsid; /* file system id */ \ +// uid_t f_owner; /* user that mounted the filesystem */ \ +// uint32_t f_type; /* type of filesystem */ \ +// uint32_t f_flags; /* copy of mount exported flags */ \ +// uint32_t f_fssubtype; /* fs sub-type (flavor) */ \ +// char f_fstypename[MFSTYPENAMELEN]; /* fs type name */ \ +// char f_mntonname[MAXPATHLEN]; /* directory on which mounted */ \ +// char f_mntfromname[MAXPATHLEN]; /* mounted filesystem */ \ +// uint32_t f_flags_ext; /* extended flags */ \ +// uint32_t f_reserved[7]; /* For future use */ \ +// } + diff --git a/macrodefs_enums/ios/sys/msg.h b/macrodefs_enums/ios/sys/msg.h new file mode 100644 index 000000000..fc553db03 --- /dev/null +++ b/macrodefs_enums/ios/sys/msg.h @@ -0,0 +1,15 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/msg.h + +enum macro_msg_noerror { +/* + * Possible values for the fifth parameter to msgrcv(), in addition to the + * IPC_NOWAIT flag, which is permitted. + */ +/*line: 92*/ MSG_NOERROR = 0x1000, /* [XSI] No error if big message */ // 010000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 118 +// #define msqid_ds __msqid_ds_new + diff --git a/macrodefs_enums/ios/sys/param.h b/macrodefs_enums/ios/sys/param.h new file mode 100644 index 000000000..6b83cfc56 --- /dev/null +++ b/macrodefs_enums/ios/sys/param.h @@ -0,0 +1,144 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/param.h + +enum macro_bsd_version { +/*line: 72*/ BSD = 0x30b52, /* System version (year & month). */ // 199506 +/*line: 73*/ BSD4_3 = 0x1, // 1 +/*line: 74*/ BSD4_4 = 0x1, // 1 +}; + +enum macro_nextbsd_version { +/*line: 76*/ NeXTBSD = 0x1e7138, /* NeXTBSD version (year, month, release) */ // 1995064 +/*line: 77*/ NeXTBSD4_0 = 0x0, /* NeXTBSD 4.0 */ // 0 +}; + +// Depends on identifiers +enum macro_system_limits { +/*line: 95*/ MAXCOMLEN = 0x10, /* max command name remembered */ // 16 +/*line: 96*/ MAXINTERP = 0x40, /* max interpreter file name length */ // 64 +/*line: 97*/ MAXLOGNAME = 0xff, /* max login name length */ // 255 +/*line: 98*/ MAXUPRC = 0x10a, /* max simultaneous processes */ // CHILD_MAX +/*line: 99*/ NCARGS = 0x40000, /* max bytes for an exec function */ // ARG_MAX +/*line: 100*/ NGROUPS = 0x10, /* max number groups */ // NGROUPS_MAX +/*line: 101*/ NOFILE = 0x100, /* default max open files per process */ // 256 +/*line: 102*/ NOGROUP = 0xffff, /* marker for empty group set member */ // 65535 +/*line: 103*/ MAXHOSTNAMELEN = 0x100, /* max hostname size */ // 256 +/*line: 104*/ MAXDOMNAMELEN = 0x100, /* maximum domain name length */ // 256 +}; + +enum macro_priority { +/* + * Priorities. Note that with 32 run queues, differences less than 4 are + * insignificant. + */ +/*line: 119*/ PSWP = 0x0, // 0 +/*line: 120*/ PVM = 0x4, // 4 +/*line: 121*/ PINOD = 0x8, // 8 +/*line: 122*/ PRIBIO = 0x10, // 16 +/*line: 123*/ PVFS = 0x14, // 20 +/*line: 124*/ PZERO = 0x16, /* No longer magic, shouldn't be here. XXX */ // 22 +/*line: 125*/ PSOCK = 0x18, // 24 +/*line: 126*/ PWAIT = 0x20, // 32 +/*line: 127*/ PLOCK = 0x24, // 36 +/*line: 128*/ PPAUSE = 0x28, // 40 +/*line: 129*/ PUSER = 0x32, // 50 +/*line: 130*/ MAXPRI = 0x7f, /* Priorities range from 0 through MAXPRI. */ // 127 +}; + +enum macro_priority_flags { +/*line: 132*/ PRIMASK = 0xff, // 0x0ff +/*line: 133*/ PCATCH = 0x100, /* OR'd with pri for tsleep to check signals */ // 0x100 +/*line: 134*/ PTTYBLOCK = 0x200, /* for tty SIGTTOU and SIGTTIN blocking */ // 0x200 +/*line: 135*/ PDROP = 0x400, /* OR'd with pri to stop re-aquistion of mutex upon wakeup */ // 0x400 +/*line: 136*/ PSPIN = 0x800, /* OR'd with pri to require mutex in spin mode upon wakeup */ // 0x800 +}; + +// Depends on identifiers +enum macro_file_flags { +/*line: 140*/ CMASK = 0x12, /* default file mask: S_IWGRP|S_IWOTH */ // 022 +/*line: 141*/ NODEV = -0x1, /* non-existent device */ // (dev_t)(-1) +}; + +// Depends on identifiers +enum macro_page_cluster { +/* + * Clustering of hardware pages on machines with ridiculously small + * page sizes is done here. The paging subsystem deals with units of + * CLSIZE pte's describing NBPG (from machine/param.h) pages each. + */ +/*line: 148*/ CLBYTES = 0x1000, // (CLSIZE*NBPG) +/*line: 149*/ CLOFSET = 0xfff, /* for clusters, like PGOFSET */ // (CLSIZE*NBPG-1) +/*line: 151*/ CLOFF = 0xfff, // CLOFSET +/*line: 152*/ CLSHIFT = 0xc, // (PGSHIFT+CLSIZELOG2) +}; + +// Depends on identifiers +enum macro_clist_params { +/*line: 164*/ CBLOCK = 0x40, /* Clist block size, must be a power of 2. */ // 64 +/*line: 168*/ CROUND = 0x3f, /* Clist rounding. */ // (CBLOCK-1) +}; + +// Depends on identifiers +enum macro_filesystem_params { +/* + * File system parameters and macros. + * + * The file system is made out of blocks of at most MAXPHYS units, with + * smaller units (fragments) only in the last direct block. MAXBSIZE + * primarily determines the size of buffers in the buffer pool. It may be + * made larger than MAXPHYS without any effect on existing file systems; + * however making it smaller may make some file systems unmountable. + * We set this to track the value of MAX_UPL_TRANSFER_BYTES from + * osfmk/mach/memory_object_types.h to bound it at the maximum UPL size. + */ +/*line: 181*/ MAXBSIZE = 0x100000, // (256*4096) +/*line: 182*/ MAXPHYSIO = 0x10000, // MAXPHYS +/*line: 183*/ MAXFRAG = 0x8, // 8 +}; + +enum macro_maxphysio_wired { +/*line: 185*/ MAXPHYSIO_WIRED = 0x1000000, // (16*1024*1024) +}; + +// Depends on identifiers +enum macro_path_limits { +/* + * MAXPATHLEN defines the longest permissable path length after expanding + * symbolic links. It is used to allocate a temporary buffer from the buffer + * pool in which to do the name expansion, hence should be a power of two, + * and must be less than or equal to MAXBSIZE. MAXSYMLINKS defines the + * maximum number of symbolic links that may be expanded in a path name. + * It should be set high enough to allow all legitimate uses, but halt + * infinite loops reasonably quickly. + */ +/*line: 196*/ MAXPATHLEN = 0x400, // PATH_MAX +/*line: 197*/ MAXSYMLINKS = 0x20, // 32 +}; + +// Depends on identifiers +enum macro_fshift_fscale { +/* + * Scale factor for scaled integers used to count %cpu time and load avgs. + * + * The number of CPU `tick's that map to a unique `%age' can be expressed + * by the formula (1 / (2 ^ (FSHIFT - 11))). The maximum load average that + * can be calculated (assuming 32 bits) can be closely approximated using + * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15). + * + * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age', + * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024. + */ +/*line: 232*/ FSHIFT = 0xb, /* bits to right of fixed binary point */ // 11 +/*line: 233*/ FSCALE = 0x800, // (1<clean transition. + * For legacy jetsam policy only. This is the default with the other policies.*/ // 0x00000400 +/*line: 218*/ P_DIRTY_SHUTDOWN_ON_CLEAN = 0x800, /* process should shutdown on going clean */ // 0x00000800 +/*line: 220*/ P_DIRTY_IS_DIRTY = 0x18, // (P_DIRTY|P_DIRTY_SHUTDOWN) +/*line: 221*/ P_DIRTY_IDLE_EXIT_ENABLED = 0x3, // (P_DIRTY_TRACK|P_DIRTY_ALLOW_IDLE_EXIT) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 99 +// #define p_forw p_un.p_st1.__p_forw + +// Line: 100 +// #define p_back p_un.p_st1.__p_back + +// Line: 101 +// #define p_starttime p_un.__p_starttime + diff --git a/macrodefs_enums/ios/sys/qos.h b/macrodefs_enums/ios/sys/qos.h new file mode 100644 index 000000000..2fab32dae --- /dev/null +++ b/macrodefs_enums/ios/sys/qos.h @@ -0,0 +1,23 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/qos.h + +enum macro_qos_min_priority { +/*! + * @constant QOS_MIN_RELATIVE_PRIORITY + * @abstract The minimum relative priority that may be specified within a + * QOS class. These priorities are relative only within a given QOS class + * and meaningful only for the current process. + */ +/*line: 153*/ QOS_MIN_RELATIVE_PRIORITY = -0xf, // (-15) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 114 +// #define __QOS_ENUM (name, type, ...) enum { __VA_ARGS__ }; typedef type name##_t + +// Line: 115 +// #define __QOS_CLASS_AVAILABLE (...) + +// Line: 126 +// #define __QOS_CLASS_AVAILABLE __API_AVAILABLE + diff --git a/macrodefs_enums/ios/sys/queue.h b/macrodefs_enums/ios/sys/queue.h new file mode 100644 index 000000000..4dd8394df --- /dev/null +++ b/macrodefs_enums/ios/sys/queue.h @@ -0,0 +1,3 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/queue.h + diff --git a/macrodefs_enums/ios/sys/quota.h b/macrodefs_enums/ios/sys/quota.h new file mode 100644 index 000000000..b1e32149b --- /dev/null +++ b/macrodefs_enums/ios/sys/quota.h @@ -0,0 +1,73 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/quota.h + +enum macro_quota_time { +/* + * Definitions for disk quotas imposed on the average user + * (big brother finally hits UNIX). + * + * The following constants define the amount of time given a user before the + * soft limits are treated as hard limits (usually resulting in an allocation + * failure). The timer is started when the user crosses their soft limit, it + * is reset when they go below their soft limit. + */ +/*line: 86*/ MAX_IQ_TIME = 0x93a80, /* seconds in 1 week */ // (7*24*60*60) +/*line: 87*/ MAX_DQ_TIME = 0x93a80, /* seconds in 1 week */ // (7*24*60*60) +}; + +enum macro_quota_type { +/* + * The following constants define the usage of the quota file array in the + * file system mount structure and dquot array in the inode structure. The semantics + * of the elements of these arrays are defined in the routine getinoquota; + * the remainder of the quota code treats them generically and need not be + * inspected when changing the size of the array. + */ +/*line: 96*/ MAXQUOTAS = 0x2, // 2 +/*line: 97*/ USRQUOTA = 0x0, /* element used for user quotas */ // 0 +/*line: 98*/ GRPQUOTA = 0x1, /* element used for group quotas */ // 1 +}; + +// enum macro_quotactl_params { +// /* +// * Command definitions for the 'quotactl' system call. The commands are +// * broken into a main command defined below and a subcommand that is used +// * to convey the type of quota that is being manipulated (see above). +// */ +// /*line: 117*/ SUBCMDMASK = 0xff, // 0x00ff +// /*line: 118*/ SUBCMDSHIFT = 0x8, // 8 +// }; + +enum macro_quotactl_commands { +/*line: 121*/ Q_QUOTAON = 0x100, /* enable quotas */ // 0x0100 +/*line: 122*/ Q_QUOTAOFF = 0x200, /* disable quotas */ // 0x0200 +/*line: 123*/ Q_GETQUOTA = 0x300, /* get limits and usage */ // 0x0300 +/*line: 124*/ Q_SETQUOTA = 0x400, /* set limits and usage */ // 0x0400 +/*line: 125*/ Q_SETUSE = 0x500, /* set usage */ // 0x0500 +/*line: 126*/ Q_SYNC = 0x600, /* sync disk copy of a filesystems quotas */ // 0x0600 +/*line: 127*/ Q_QUOTASTAT = 0x700, /* get quota on/off status */ // 0x0700 +}; + +enum macro_qf_version { +/*line: 178*/ QF_VERSION = 0x1, // 1 +}; + +enum macro_quota_users_constants { +/*line: 181*/ QF_USERS_PER_GB = 0x100, // 256 +/*line: 182*/ QF_MIN_USERS = 0x800, // 2048 +/*line: 183*/ QF_MAX_USERS = 0x200000, // (2048*1024) +}; + +enum macro_quota_groups_constants { +/*line: 185*/ QF_GROUPS_PER_GB = 0x20, // 32 +/*line: 186*/ QF_MIN_GROUPS = 0x800, // 2048 +/*line: 187*/ QF_MAX_GROUPS = 0x40000, // (256*1024) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 173 +// #define INITQMAGICS { \ +// 0xff31ff35, /* USRQUOTA */ \ +// 0xff31ff27, /* GRPQUOTA */ \ +// } + diff --git a/macrodefs_enums/ios/sys/rbtree.h b/macrodefs_enums/ios/sys/rbtree.h new file mode 100644 index 000000000..cdcb82c52 --- /dev/null +++ b/macrodefs_enums/ios/sys/rbtree.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/rbtree.h + +enum macro_rb_direction { +/*line: 50*/ RB_DIR_LEFT = 0x0, // 0 +/*line: 51*/ RB_DIR_RIGHT = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 94 +// #define _rb_availability __OSX_AVAILABLE_STARTING(__MAC_10_9,__IPHONE_7_0); + diff --git a/macrodefs_enums/ios/sys/resource.h b/macrodefs_enums/ios/sys/resource.h new file mode 100644 index 000000000..e3eeafcd2 --- /dev/null +++ b/macrodefs_enums/ios/sys/resource.h @@ -0,0 +1,231 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/resource.h + +enum macro_priority_type { +/* + * Possible values of the first parameter to getpriority()/setpriority(), + * used to indicate the type of the second parameter. + */ +/*line: 100*/ PRIO_PROCESS = 0x0, /* Second argument is a PID */ // 0 +/*line: 101*/ PRIO_PGRP = 0x1, /* Second argument is a GID */ // 1 +/*line: 102*/ PRIO_USER = 0x2, /* Second argument is a UID */ // 2 +/*line: 105*/ PRIO_DARWIN_THREAD = 0x3, /* Second argument is always 0 (current thread) */ // 3 +/*line: 106*/ PRIO_DARWIN_PROCESS = 0x4, /* Second argument is a PID */ // 4 +}; + +enum macro_priority_range { +/* + * Range limitations for the value of the third parameter to setpriority(). + */ +/*line: 112*/ PRIO_MIN = -0x14, // -20 +/*line: 113*/ PRIO_MAX = 0x14, // 20 +}; + +enum macro_darwin_priority { +/* + * use PRIO_DARWIN_BG to set the current thread into "background" state + * which lowers CPU, disk IO, and networking priorites until thread terminates + * or "background" state is revoked + */ +/*line: 120*/ PRIO_DARWIN_BG = 0x1000, // 0x1000 +/* + * use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to + * the GPU. (deprecated) + */ +/*line: 126*/ PRIO_DARWIN_NONUI = 0x1001, // 0x1001 +}; + +enum macro_rusage_scope { +/* + * Possible values of the first parameter to getrusage(), used to indicate + * the scope of the information to be returned. + */ +/*line: 140*/ RUSAGE_SELF = 0x0, /* Current process information */ // 0 +/*line: 141*/ RUSAGE_CHILDREN = -0x1, /* Current process' children */ // -1 +}; + +// Depends on identifiers +enum macro_rusage_info_flavor { +/* + * Flavors for proc_pid_rusage(). + */ +/*line: 186*/ RUSAGE_INFO_V0 = 0x0, // 0 +/*line: 187*/ RUSAGE_INFO_V1 = 0x1, // 1 +/*line: 188*/ RUSAGE_INFO_V2 = 0x2, // 2 +/*line: 189*/ RUSAGE_INFO_V3 = 0x3, // 3 +/*line: 190*/ RUSAGE_INFO_V4 = 0x4, // 4 +/*line: 191*/ RUSAGE_INFO_V5 = 0x5, // 5 +/*line: 192*/ RUSAGE_INFO_V6 = 0x6, // 6 +/*line: 193*/ RUSAGE_INFO_CURRENT = 0x6, // RUSAGE_INFO_V6 +}; + +enum macro_ru_proc_reslide { +/* + * Flags for RUSAGE_INFO_V5 + */ +/*line: 198*/ RU_PROC_RUNS_RESLIDE = 0x1, /* proc has reslid shared cache */ // 0x00000001 +}; + +// Depends on identifiers +enum macro_resource_limit_constants { +/* + * Symbolic constants for resource limits; since all limits are representable + * as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of + * RLIM_INFINITY. + */ +/*line: 435*/ RLIM_INFINITY = 0x7fffffffffffffff, /* no limit */ // (((__uint64_t)1<<63)-1) +/*line: 436*/ RLIM_SAVED_MAX = 0x7fffffffffffffff, /* Unrepresentable hard limit */ // RLIM_INFINITY +/*line: 437*/ RLIM_SAVED_CUR = 0x7fffffffffffffff, /* Unrepresentable soft limit */ // RLIM_INFINITY +}; + +// Depends on identifiers +enum macro_resource_kind { +/* + * Possible values of the first parameter to getrlimit()/setrlimit(), to + * indicate for which resource the operation is being performed. + */ +/*line: 443*/ RLIMIT_CPU = 0x0, /* cpu time per process */ // 0 +/*line: 444*/ RLIMIT_FSIZE = 0x1, /* file size */ // 1 +/*line: 445*/ RLIMIT_DATA = 0x2, /* data segment size */ // 2 +/*line: 446*/ RLIMIT_STACK = 0x3, /* stack size */ // 3 +/*line: 447*/ RLIMIT_CORE = 0x4, /* core file size */ // 4 +/*line: 448*/ RLIMIT_AS = 0x5, /* address space (resident set size) */ // 5 +/*line: 450*/ RLIMIT_RSS = 0x5, /* source compatibility alias */ // RLIMIT_AS +/*line: 451*/ RLIMIT_MEMLOCK = 0x6, /* locked-in-memory address space */ // 6 +/*line: 452*/ RLIMIT_NPROC = 0x7, /* number of processes */ // 7 +/*line: 454*/ RLIMIT_NOFILE = 0x8, /* number of open files */ // 8 +/*line: 456*/ RLIM_NLIMITS = 0x9, /* total number of resource limits */ // 9 +/*line: 458*/ _RLIMIT_POSIX_FLAG = 0x1000, /* Set bit for strict POSIX */ // 0x1000 +}; + +enum macro_resource_limit_flavor { +/* + * proc_rlimit_control() + * + * Resource limit flavors + */ +/*line: 475*/ RLIMIT_WAKEUPS_MONITOR = 0x1, /* Configure the wakeups monitor. */ // 0x1 +/*line: 476*/ RLIMIT_CPU_USAGE_MONITOR = 0x2, /* Configure the CPU usage monitor. */ // 0x2 +/*line: 477*/ RLIMIT_THREAD_CPULIMITS = 0x3, /* Configure a blocking, per-thread, CPU limits. */ // 0x3 +/*line: 478*/ RLIMIT_FOOTPRINT_INTERVAL = 0x4, /* Configure memory footprint interval tracking */ // 0x4 +}; + +enum macro_wakemon_flags { +/* + * Flags for wakeups monitor control. + */ +/*line: 483*/ WAKEMON_ENABLE = 0x1, // 0x01 +/*line: 484*/ WAKEMON_DISABLE = 0x2, // 0x02 +/*line: 485*/ WAKEMON_GET_PARAMS = 0x4, // 0x04 +/*line: 486*/ WAKEMON_SET_DEFAULTS = 0x8, // 0x08 +/*line: 487*/ WAKEMON_MAKE_FATAL = 0x10, /* Configure the task so that violations are fatal. */ // 0x10 +}; + +enum macro_cpu_monitor_flags { +/* + * Flags for CPU usage monitor control. + */ +/*line: 492*/ CPUMON_MAKE_FATAL = 0x1000, // 0x1000 +}; + +enum macro_footprint_interval_reset { +/* + * Flags for memory footprint interval tracking. + */ +/*line: 497*/ FOOTPRINT_INTERVAL_RESET = 0x1, /* Reset the footprint interval counter to zero */ // 0x1 +}; + +enum macro_io_policy_type { +/* I/O type */ +/*line: 507*/ IOPOL_TYPE_DISK = 0x0, // 0 +/*line: 508*/ IOPOL_TYPE_VFS_ATIME_UPDATES = 0x2, // 2 +/*line: 509*/ IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 0x3, // 3 +/*line: 510*/ IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 0x4, // 4 +/*line: 511*/ IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 0x5, // 5 +/*line: 512*/ IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 0x6, // 6 +/*line: 513*/ IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 0x7, // 7 +/*line: 514*/ IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 0x8, // 8 +/*line: 515*/ IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 0x9, // 9 +/*line: 516*/ IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 0xa, // 10 +}; + +enum macro_iopol_scope { +/* scope */ +/*line: 519*/ IOPOL_SCOPE_PROCESS = 0x0, // 0 +/*line: 520*/ IOPOL_SCOPE_THREAD = 0x1, // 1 +/*line: 521*/ IOPOL_SCOPE_DARWIN_BG = 0x2, // 2 +}; + +// Depends on identifiers +enum macro_iopol_priority { +/* I/O Priority */ +/*line: 524*/ IOPOL_DEFAULT = 0x0, // 0 +/*line: 525*/ IOPOL_IMPORTANT = 0x1, // 1 +/*line: 526*/ IOPOL_PASSIVE = 0x2, // 2 +/*line: 527*/ IOPOL_THROTTLE = 0x3, // 3 +/*line: 528*/ IOPOL_UTILITY = 0x4, // 4 +/*line: 529*/ IOPOL_STANDARD = 0x5, // 5 +/* compatibility with older names */ +/*line: 532*/ IOPOL_APPLICATION = 0x5, // IOPOL_STANDARD +/*line: 533*/ IOPOL_NORMAL = 0x1, // IOPOL_IMPORTANT +}; + +enum macro_iopol_atime_updates { +/*line: 535*/ IOPOL_ATIME_UPDATES_DEFAULT = 0x0, // 0 +/*line: 536*/ IOPOL_ATIME_UPDATES_OFF = 0x1, // 1 +}; + +enum macro_iopol_materialize_dataless_files { +/*line: 538*/ IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0x0, // 0 +/*line: 539*/ IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 0x1, // 1 +/*line: 540*/ IOPOL_MATERIALIZE_DATALESS_FILES_ON = 0x2, // 2 +}; + +enum macro_iopol_opol_vfs_statfs_flags { +/*line: 542*/ IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0x0, // 0 +/*line: 543*/ IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 0x1, // 1 +}; + +enum macro_iopol_vfs_trigger_resolve { +/*line: 545*/ IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0x0, // 0 +/*line: 546*/ IOPOL_VFS_TRIGGER_RESOLVE_OFF = 0x1, // 1 +}; + +enum macro_iopol_vfs_content_protection { +/*line: 548*/ IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0x0, // 0 +/*line: 549*/ IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 0x1, // 1 +}; + +enum macro_iopol_vfs_ignore_permissions { +/*line: 551*/ IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0x0, // 0 +/*line: 552*/ IOPOL_VFS_IGNORE_PERMISSIONS_ON = 0x1, // 1 +}; + +enum macro_iopol_vfs_skip_mtime_update { +/*line: 554*/ IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0x0, // 0 +/*line: 555*/ IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 0x1, // 1 +/*line: 556*/ IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE = 0x2, // 2 +}; + +enum macro_iopol_vfs_low_space_writes { +/*line: 558*/ IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0x0, // 0 +/*line: 559*/ IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 0x1, // 1 +}; + +enum macro_iopol_vfs_rw_disallow { +/*line: 561*/ IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0x0, // 0 +/*line: 562*/ IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 0x1, // 1 +}; + +enum macro_iopol_vfs_no_cache_write { +/*line: 564*/ IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0x0, // 0 +/*line: 565*/ IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 164 +// #define ru_first ru_ixrss + +// Line: 178 +// #define ru_last ru_nivcsw + diff --git a/macrodefs_enums/ios/sys/sem.h b/macrodefs_enums/ios/sys/sem.h new file mode 100644 index 000000000..1202dc103 --- /dev/null +++ b/macrodefs_enums/ios/sys/sem.h @@ -0,0 +1,35 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/sem.h + +enum macro_semctl_operation { +/* + * Possible values for the third argument to semctl() + */ +/*line: 122*/ GETNCNT = 0x3, /* [XSI] Return the value of semncnt {READ} */ // 3 +/*line: 123*/ GETPID = 0x4, /* [XSI] Return the value of sempid {READ} */ // 4 +/*line: 124*/ GETVAL = 0x5, /* [XSI] Return the value of semval {READ} */ // 5 +/*line: 125*/ GETALL = 0x6, /* [XSI] Return semvals into arg.array {READ} */ // 6 +/*line: 126*/ GETZCNT = 0x7, /* [XSI] Return the value of semzcnt {READ} */ // 7 +/*line: 127*/ SETVAL = 0x8, /* [XSI] Set the value of semval to arg.val {ALTER} */ // 8 +/*line: 128*/ SETALL = 0x9, /* [XSI] Set semvals from arg.array {ALTER} */ // 9 +}; + +enum macro_sem_undo { +/* + * Possible flag values for sem_flg + */ +/*line: 152*/ SEM_UNDO = 0x1000, /* [XSI] Set up adjust on exit entry */ // 010000 +}; + +enum macro_sem_permissions { +/* + * Permissions + */ +/*line: 188*/ SEM_A = 0x80, /* alter permission */ // 0200 +/*line: 189*/ SEM_R = 0x100, /* read permission */ // 0400 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 84 +// #define semid_ds __semid_ds_new + diff --git a/macrodefs_enums/ios/sys/semaphore.h b/macrodefs_enums/ios/sys/semaphore.h new file mode 100644 index 000000000..23a4fc2f1 --- /dev/null +++ b/macrodefs_enums/ios/sys/semaphore.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/semaphore.h + +// Depends on identifiers +enum macro_semaphore_limits { +/* this should go in limits.h> */ +/*line: 46*/ SEM_VALUE_MAX = 0x7fff, // 32767 +/*line: 47*/ SEM_FAILED = -0x1, // ((sem_t*)-1) +}; + diff --git a/macrodefs_enums/ios/sys/shm.h b/macrodefs_enums/ios/sys/shm.h new file mode 100644 index 000000000..f22c786a4 --- /dev/null +++ b/macrodefs_enums/ios/sys/shm.h @@ -0,0 +1,28 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/shm.h + +enum macro_shmat_flags { +/* + * Possible flag values which may be OR'ed into the third argument to + * shmat() + */ +/*line: 100*/ SHM_RDONLY = 0x1000, /* [XSI] Attach read-only (else read-write) */ // 010000 +/*line: 101*/ SHM_RND = 0x2000, /* [XSI] Round attach address to SHMLBA */ // 020000 +}; + +enum macro_shmlba { +/*line: 113*/ SHMLBA = 0x4000, /* [XSI] Segment low boundary address multiple*/ // (16*1024) +}; + +// Depends on identifiers +enum macro_shm_access { +/* "official" access mode definitions; somewhat braindead since you have + * to specify (SHM_* >> 3) for group and (SHM_* >> 6) for world permissions */ +/*line: 120*/ SHM_R = 0x100, // (IPC_R) +/*line: 121*/ SHM_W = 0x80, // (IPC_W) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 144 +// #define shmid_ds __shmid_ds_new + diff --git a/macrodefs_enums/ios/sys/signal.h b/macrodefs_enums/ios/sys/signal.h new file mode 100644 index 000000000..f26780d41 --- /dev/null +++ b/macrodefs_enums/ios/sys/signal.h @@ -0,0 +1,195 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/signal.h + +enum macro_signal_limits { +/*line: 76*/ __DARWIN_NSIG = 0x20, /* counting 0; could be 33 (mask is 1-32) */ // 32 +/*line: 79*/ NSIG = 0x20, // __DARWIN_NSIG +}; + +// Depends on identifiers +enum macro_signum { +/*line: 84*/ SIGHUP = 0x1, /* hangup */ // 1 +/*line: 85*/ SIGINT = 0x2, /* interrupt */ // 2 +/*line: 86*/ SIGQUIT = 0x3, /* quit */ // 3 +/*line: 87*/ SIGILL = 0x4, /* illegal instruction (not reset when caught) */ // 4 +/*line: 88*/ SIGTRAP = 0x5, /* trace trap (not reset when caught) */ // 5 +/*line: 89*/ SIGABRT = 0x6, /* abort() */ // 6 +/*line: 93*/ SIGIOT = 0x6, /* compatibility */ // SIGABRT +/*line: 94*/ SIGEMT = 0x7, /* EMT instruction */ // 7 +/*line: 96*/ SIGFPE = 0x8, /* floating point exception */ // 8 +/*line: 97*/ SIGKILL = 0x9, /* kill (cannot be caught or ignored) */ // 9 +/*line: 98*/ SIGBUS = 0xa, /* bus error */ // 10 +/*line: 99*/ SIGSEGV = 0xb, /* segmentation violation */ // 11 +/*line: 100*/ SIGSYS = 0xc, /* bad argument to system call */ // 12 +/*line: 101*/ SIGPIPE = 0xd, /* write on a pipe with no one to read it */ // 13 +/*line: 102*/ SIGALRM = 0xe, /* alarm clock */ // 14 +/*line: 103*/ SIGTERM = 0xf, /* software termination signal from kill */ // 15 +/*line: 104*/ SIGURG = 0x10, /* urgent condition on IO channel */ // 16 +/*line: 105*/ SIGSTOP = 0x11, /* sendable stop signal not from tty */ // 17 +/*line: 106*/ SIGTSTP = 0x12, /* stop signal from tty */ // 18 +/*line: 107*/ SIGCONT = 0x13, /* continue a stopped process */ // 19 +/*line: 108*/ SIGCHLD = 0x14, /* to parent on child stop or exit */ // 20 +/*line: 109*/ SIGTTIN = 0x15, /* to readers pgrp upon background tty read */ // 21 +/*line: 110*/ SIGTTOU = 0x16, /* like TTIN for output if (tp->t_local<OSTOP) */ // 22 +/*line: 112*/ SIGIO = 0x17, /* input/output possible signal */ // 23 +/*line: 114*/ SIGXCPU = 0x18, /* exceeded CPU time limit */ // 24 +/*line: 115*/ SIGXFSZ = 0x19, /* exceeded file size limit */ // 25 +/*line: 116*/ SIGVTALRM = 0x1a, /* virtual time alarm */ // 26 +/*line: 117*/ SIGPROF = 0x1b, /* profiling time alarm */ // 27 +/*line: 119*/ SIGWINCH = 0x1c, /* window size changes */ // 28 +/*line: 120*/ SIGINFO = 0x1d, /* information request */ // 29 +/*line: 122*/ SIGUSR1 = 0x1e, /* user defined signal 1 */ // 30 +/*line: 123*/ SIGUSR2 = 0x1f, /* user defined signal 2 */ // 31 +}; + +enum macro_signal_actions { +/* + * Language spec sez we must list exactly one parameter, even though we + * actually supply three. Ugh! + * SIG_HOLD is chosen to avoid KERN_SIG_* values in + */ +/*line: 131*/ SIG_DFL = 0x0, // (void(*)(int))0 +/*line: 132*/ SIG_IGN = 0x1, // (void(*)(int))1 +/*line: 133*/ SIG_HOLD = 0x5, // (void(*)(int))5 +/*line: 134*/ SIG_ERR = -0x1, // ((void(*)(int))-1) +}; + +enum macro_sigev_notification { +/*line: 164*/ SIGEV_NONE = 0x0, /* No async notification */ // 0 +/*line: 165*/ SIGEV_SIGNAL = 0x1, /* aio - completion notification */ // 1 +/*line: 166*/ SIGEV_THREAD = 0x3, /* [NOTIMP] [RTS] call notification function */ // 3 +}; + +enum macro_ill_errors { +/*line: 206*/ ILL_NOOP = 0x0, /* if only I knew... */ // 0 +/*line: 208*/ ILL_ILLOPC = 0x1, /* [XSI] illegal opcode */ // 1 +/*line: 209*/ ILL_ILLTRP = 0x2, /* [XSI] illegal trap */ // 2 +/*line: 210*/ ILL_PRVOPC = 0x3, /* [XSI] privileged opcode */ // 3 +/*line: 211*/ ILL_ILLOPN = 0x4, /* [XSI] illegal operand -NOTIMP */ // 4 +/*line: 212*/ ILL_ILLADR = 0x5, /* [XSI] illegal addressing mode -NOTIMP */ // 5 +/*line: 213*/ ILL_PRVREG = 0x6, /* [XSI] privileged register -NOTIMP */ // 6 +/*line: 214*/ ILL_COPROC = 0x7, /* [XSI] coprocessor error -NOTIMP */ // 7 +/*line: 215*/ ILL_BADSTK = 0x8, /* [XSI] internal stack error -NOTIMP */ // 8 +}; + +enum macro_fpe_signals { +/*line: 219*/ FPE_NOOP = 0x0, /* if only I knew... */ // 0 +/*line: 221*/ FPE_FLTDIV = 0x1, /* [XSI] floating point divide by zero */ // 1 +/*line: 222*/ FPE_FLTOVF = 0x2, /* [XSI] floating point overflow */ // 2 +/*line: 223*/ FPE_FLTUND = 0x3, /* [XSI] floating point underflow */ // 3 +/*line: 224*/ FPE_FLTRES = 0x4, /* [XSI] floating point inexact result */ // 4 +/*line: 225*/ FPE_FLTINV = 0x5, /* [XSI] invalid floating point operation */ // 5 +/*line: 226*/ FPE_FLTSUB = 0x6, /* [XSI] subscript out of range -NOTIMP */ // 6 +/*line: 227*/ FPE_INTDIV = 0x7, /* [XSI] integer divide by zero */ // 7 +/*line: 228*/ FPE_INTOVF = 0x8, /* [XSI] integer overflow */ // 8 +}; + +enum macro_segv_flags { +/*line: 232*/ SEGV_NOOP = 0x0, /* if only I knew... */ // 0 +/*line: 234*/ SEGV_MAPERR = 0x1, /* [XSI] address not mapped to object */ // 1 +/*line: 235*/ SEGV_ACCERR = 0x2, /* [XSI] invalid permission for mapped object */ // 2 +}; + +enum macro_bus_errors { +/*line: 239*/ BUS_NOOP = 0x0, /* if only I knew... */ // 0 +/*line: 241*/ BUS_ADRALN = 0x1, /* [XSI] Invalid address alignment */ // 1 +/*line: 242*/ BUS_ADRERR = 0x2, /* [XSI] Nonexistent physical address -NOTIMP */ // 2 +/*line: 243*/ BUS_OBJERR = 0x3, /* [XSI] Object-specific HW error - NOTIMP */ // 3 +}; + +enum macro_trap_codes { +/* Codes for SIGTRAP */ +/*line: 246*/ TRAP_BRKPT = 0x1, /* [XSI] Process breakpoint -NOTIMP */ // 1 +/*line: 247*/ TRAP_TRACE = 0x2, /* [XSI] Process trace trap -NOTIMP */ // 2 +}; + +enum macro_child_status { +/*line: 251*/ CLD_NOOP = 0x0, /* if only I knew... */ // 0 +/*line: 253*/ CLD_EXITED = 0x1, /* [XSI] child has exited */ // 1 +/*line: 254*/ CLD_KILLED = 0x2, /* [XSI] terminated abnormally, no core file */ // 2 +/*line: 255*/ CLD_DUMPED = 0x3, /* [XSI] terminated abnormally, core file */ // 3 +/*line: 256*/ CLD_TRAPPED = 0x4, /* [XSI] traced child has trapped */ // 4 +/*line: 257*/ CLD_STOPPED = 0x5, /* [XSI] child has stopped */ // 5 +/*line: 258*/ CLD_CONTINUED = 0x6, /* [XSI] stopped child has continued */ // 6 +}; + +enum macro_poll_events { +/* Codes for SIGPOLL */ +/*line: 261*/ POLL_IN = 0x1, /* [XSR] Data input available */ // 1 +/*line: 262*/ POLL_OUT = 0x2, /* [XSR] Output buffers available */ // 2 +/*line: 263*/ POLL_MSG = 0x3, /* [XSR] Input message available */ // 3 +/*line: 264*/ POLL_ERR = 0x4, /* [XSR] I/O error */ // 4 +/*line: 265*/ POLL_PRI = 0x5, /* [XSR] High priority input available */ // 5 +/*line: 266*/ POLL_HUP = 0x6, /* [XSR] Device disconnected */ // 6 +}; + +enum macro_sigaction_flags { +/*line: 298*/ SA_ONSTACK = 0x1, /* take signal on signal stack */ // 0x0001 +/*line: 299*/ SA_RESTART = 0x2, /* restart system on signal return */ // 0x0002 +/*line: 300*/ SA_RESETHAND = 0x4, /* reset to SIG_DFL when taking signal */ // 0x0004 +/*line: 301*/ SA_NOCLDSTOP = 0x8, /* do not generate SIGCHLD on child stop */ // 0x0008 +/*line: 302*/ SA_NODEFER = 0x10, /* don't mask the signal we're delivering */ // 0x0010 +/*line: 303*/ SA_NOCLDWAIT = 0x20, /* don't keep zombies around */ // 0x0020 +/*line: 304*/ SA_SIGINFO = 0x40, /* signal handler with SA_SIGINFO args */ // 0x0040 +/*line: 306*/ SA_USERTRAMP = 0x100, /* do not bounce off kernel's sigtramp */ // 0x0100 +/* This will provide 64bit register set in a 32bit user address space */ +/*line: 308*/ SA_64REGSET = 0x200, /* signal handler with SA_SIGINFO args with 64bit regs information */ // 0x0200 +/* the following are the only bits we support from user space, the + * rest are for kernel use only. + */ +/*line: 314*/ SA_USERSPACE_MASK = 0x7f, // (SA_ONSTACK|SA_RESTART|SA_RESETHAND|SA_NOCLDSTOP|SA_NODEFER|SA_NOCLDWAIT|SA_SIGINFO) +}; + +enum macro_sigprocmask_flags { +/* + * Flags for sigprocmask: + */ +/*line: 319*/ SIG_BLOCK = 0x1, /* block specified signal set */ // 1 +/*line: 320*/ SIG_UNBLOCK = 0x2, /* unblock specified signal set */ // 2 +/*line: 321*/ SIG_SETMASK = 0x3, /* set specified signal set */ // 3 +}; + +enum macro_siginfo_code { +/* POSIX 1003.1b required values. */ +/*line: 324*/ SI_USER = 0x10001, /* [CX] signal from kill() */ // 0x10001 +/*line: 325*/ SI_QUEUE = 0x10002, /* [CX] signal from sigqueue() */ // 0x10002 +/*line: 326*/ SI_TIMER = 0x10003, /* [CX] timer expiration */ // 0x10003 +/*line: 327*/ SI_ASYNCIO = 0x10004, /* [CX] aio request completion */ // 0x10004 +/*line: 328*/ SI_MESGQ = 0x10005, /* [CX] from message arrival on empty queue */ // 0x10005 +}; + +enum macro_sigaltstack_flags { +/* + * Structure used in sigaltstack call. + */ +/*line: 338*/ SS_ONSTACK = 0x1, /* take signal on signal stack */ // 0x0001 +/*line: 339*/ SS_DISABLE = 0x4, /* disable taking signals on alternate stack */ // 0x0004 +/*line: 340*/ MINSIGSTKSZ = 0x8000, /* (32K)minimum allowable stack */ // 32768 +/*line: 341*/ SIGSTKSZ = 0x20000, /* (128K)recommended stack size */ // 131072 +}; + +// Depends on identifiers +enum macro_sigvector_flags { +/*line: 354*/ SV_ONSTACK = 0x1, // SA_ONSTACK +/*line: 355*/ SV_INTERRUPT = 0x2, /* same bit, opposite sense */ // SA_RESTART +/*line: 356*/ SV_RESETHAND = 0x4, // SA_RESETHAND +/*line: 357*/ SV_NODEFER = 0x10, // SA_NODEFER +/*line: 358*/ SV_NOCLDSTOP = 0x8, // SA_NOCLDSTOP +/*line: 359*/ SV_SIGINFO = 0x40, // SA_SIGINFO +}; + +// Depends on identifiers +enum macro_bad_sig { +/*line: 380*/ BADSIG = -0x1, // SIG_ERR +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 295 +// #define sa_handler __sigaction_u.__sa_handler + +// Line: 296 +// #define sa_sigaction __sigaction_u.__sa_sigaction + +// Line: 361 +// #define sv_onstack sv_flags + diff --git a/macrodefs_enums/ios/sys/snapshot.h b/macrodefs_enums/ios/sys/snapshot.h new file mode 100644 index 000000000..549581c0f --- /dev/null +++ b/macrodefs_enums/ios/sys/snapshot.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/snapshot.h + +enum macro_snapshot_mount_flags { +/* fs_snapshot_mount() supported flags */ +/*line: 52*/ SNAPSHOT_MNT_NOSUID = 0x8, /* same as MNT_NOSUID */ // 0x00000008 +/*line: 53*/ SNAPSHOT_MNT_NODEV = 0x10, /* same as MNT_NODEV */ // 0x00000010 +/*line: 54*/ SNAPSHOT_MNT_DONTBROWSE = 0x100000, /* same as MNT_DONTBROWSE */ // 0x00100000 +/*line: 55*/ SNAPSHOT_MNT_IGNORE_OWNERSHIP = 0x200000, /* same as MNT_IGNORE_OWNERSHIP */ // 0x00200000 +/*line: 56*/ SNAPSHOT_MNT_NOFOLLOW = 0x8000000, /* same as MNT_NOFOLLOW */ // 0x08000000 +}; + diff --git a/macrodefs_enums/ios/sys/socket.h b/macrodefs_enums/ios/sys/socket.h new file mode 100644 index 000000000..d6a8f2ff2 --- /dev/null +++ b/macrodefs_enums/ios/sys/socket.h @@ -0,0 +1,389 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/socket.h + +enum macro_socket_type { +/* + * Types + */ +/*line: 111*/ SOCK_STREAM = 0x1, /* stream socket */ // 1 +/*line: 112*/ SOCK_DGRAM = 0x2, /* datagram socket */ // 2 +/*line: 113*/ SOCK_RAW = 0x3, /* raw-protocol interface */ // 3 +/*line: 115*/ SOCK_RDM = 0x4, /* reliably-delivered message */ // 4 +/*line: 117*/ SOCK_SEQPACKET = 0x5, /* sequenced packet stream */ // 5 +}; + +enum macro_socket_option_flags { +/* + * Option flags per-socket. + */ +/*line: 122*/ SO_DEBUG = 0x1, /* turn on debugging info recording */ // 0x0001 +/*line: 123*/ SO_ACCEPTCONN = 0x2, /* socket has had listen() */ // 0x0002 +/*line: 124*/ SO_REUSEADDR = 0x4, /* allow local address reuse */ // 0x0004 +/*line: 125*/ SO_KEEPALIVE = 0x8, /* keep connections alive */ // 0x0008 +/*line: 126*/ SO_DONTROUTE = 0x10, /* just use interface addresses */ // 0x0010 +/*line: 127*/ SO_BROADCAST = 0x20, /* permit sending of broadcast msgs */ // 0x0020 +/*line: 129*/ SO_USELOOPBACK = 0x40, /* bypass hardware when possible */ // 0x0040 +/*line: 130*/ SO_LINGER = 0x80, /* linger on close if data present (in ticks) */ // 0x0080 +/*line: 131*/ SO_LINGER_SEC = 0x1080, /* linger on close if data present (in seconds) */ // 0x1080 +/*line: 135*/ SO_OOBINLINE = 0x100, /* leave received OOB data in line */ // 0x0100 +/*line: 137*/ SO_REUSEPORT = 0x200, /* allow local address & port reuse */ // 0x0200 +/*line: 138*/ SO_TIMESTAMP = 0x400, /* timestamp received dgram traffic */ // 0x0400 +/*line: 139*/ SO_TIMESTAMP_MONOTONIC = 0x800, /* Monotonically increasing timestamp on rcvd dgram */ // 0x0800 +/*line: 143*/ SO_DONTTRUNC = 0x2000, /* APPLE: Retain unread data */ // 0x2000 +/* (ATOMIC proto) */ +/*line: 145*/ SO_WANTMORE = 0x4000, /* APPLE: Give hint when more data ready */ // 0x4000 +/*line: 146*/ SO_WANTOOBFLAG = 0x8000, /* APPLE: Want OOB in MSG_FLAG on receive */ // 0x8000 +/* + * Additional options, not kept in so_options. + */ +/*line: 155*/ SO_SNDBUF = 0x1001, /* send buffer size */ // 0x1001 +/*line: 156*/ SO_RCVBUF = 0x1002, /* receive buffer size */ // 0x1002 +/*line: 157*/ SO_SNDLOWAT = 0x1003, /* send low-water mark */ // 0x1003 +/*line: 158*/ SO_RCVLOWAT = 0x1004, /* receive low-water mark */ // 0x1004 +/*line: 159*/ SO_SNDTIMEO = 0x1005, /* send timeout */ // 0x1005 +/*line: 160*/ SO_RCVTIMEO = 0x1006, /* receive timeout */ // 0x1006 +/*line: 161*/ SO_ERROR = 0x1007, /* get error status and clear */ // 0x1007 +/*line: 162*/ SO_TYPE = 0x1008, /* get socket type */ // 0x1008 +/*line: 164*/ SO_LABEL = 0x1010, /* deprecated */ // 0x1010 +/*line: 165*/ SO_PEERLABEL = 0x1011, /* deprecated */ // 0x1011 +/*line: 167*/ SO_NREAD = 0x1020, /* APPLE: get 1st-packet byte count */ // 0x1020 +/*line: 168*/ SO_NKE = 0x1021, /* APPLE: Install socket-level NKE */ // 0x1021 +/*line: 169*/ SO_NOSIGPIPE = 0x1022, /* APPLE: No SIGPIPE on EPIPE */ // 0x1022 +/*line: 170*/ SO_NOADDRERR = 0x1023, /* APPLE: Returns EADDRNOTAVAIL when src is not available anymore */ // 0x1023 +/*line: 171*/ SO_NWRITE = 0x1024, /* APPLE: Get number of bytes currently in send socket buffer */ // 0x1024 +/*line: 172*/ SO_REUSESHAREUID = 0x1025, /* APPLE: Allow reuse of port/socket by different userids */ // 0x1025 +/*line: 174*/ SO_NOTIFYCONFLICT = 0x1026, /* APPLE: send notification if there is a bind on a port which is already in use */ // 0x1026 +/*line: 175*/ SO_UPCALLCLOSEWAIT = 0x1027, /* APPLE: block on close until an upcall returns */ // 0x1027 +/*line: 177*/ SO_RANDOMPORT = 0x1082, /* APPLE: request local port randomization */ // 0x1082 +/*line: 178*/ SO_NP_EXTENSIONS = 0x1083, /* To turn off some POSIX behavior */ // 0x1083 +/*line: 181*/ SO_NUMRCVPKT = 0x1112, /* number of datagrams in receive socket buffer */ // 0x1112 +/*line: 182*/ SO_NET_SERVICE_TYPE = 0x1116, /* Network service type */ // 0x1116 +/*line: 185*/ SO_NETSVC_MARKING_LEVEL = 0x1119, /* Get QoS marking in effect for socket */ // 0x1119 +/*line: 188*/ SO_RESOLVER_SIGNATURE = 0x1131, /* A signed data blob from the system resolver */ // 0x1131 +/*line: 190*/ SO_BINDTODEVICE = 0x1134, /* bind socket to a network device (max valid option length IFNAMSIZ) */ // 0x1134 +}; + +enum macro_network_service_type { +/* + * Network Service Type for option SO_NET_SERVICE_TYPE + * + * The vast majority of sockets should use Best Effort that is the default + * Network Service Type. Other Network Service Types have to be used only if + * the traffic actually matches the description of the Network Service Type. + * + * Network Service Types do not represent priorities but rather describe + * different categories of delay, jitter and loss parameters. + * Those parameters may influence protocols from layer 4 protocols like TCP + * to layer 2 protocols like Wi-Fi. The Network Service Type can determine + * how the traffic is queued and scheduled by the host networking stack and + * by other entities on the network like switches and routers. For example + * for Wi-Fi, the Network Service Type can select the marking of the + * layer 2 packet with the appropriate WMM Access Category. + * + * There is no point in attempting to game the system and use + * a Network Service Type that does not correspond to the actual + * traffic characteristic but one that seems to have a higher precedence. + * The reason is that for service classes that have lower tolerance + * for delay and jitter, the queues size is lower than for service + * classes that are more tolerant to delay and jitter. + * + * For example using a voice service type for bulk data transfer will lead + * to disastrous results as soon as congestion happens because the voice + * queue overflows and packets get dropped. This is not only bad for the bulk + * data transfer but it is also bad for VoIP apps that legitimately are using + * the voice service type. + * + * The characteristics of the Network Service Types are based on the service + * classes defined in RFC 4594 "Configuration Guidelines for DiffServ Service + * Classes" + * + * When system detects the outgoing interface belongs to a DiffServ domain + * that follows the recommendation of the IETF draft "Guidelines for DiffServ to + * IEEE 802.11 Mapping", the packet will marked at layer 3 with a DSCP value + * that corresponds to Network Service Type. + * + * NET_SERVICE_TYPE_BE + * "Best Effort", unclassified/standard. This is the default service + * class and cover the majority of the traffic. + * + * NET_SERVICE_TYPE_BK + * "Background", high delay tolerant, loss tolerant. elastic flow, + * variable size & long-lived. E.g: non-interactive network bulk transfer + * like synching or backup. + * + * NET_SERVICE_TYPE_RD + * "Responsive Data", a notch higher than "Best Effort", medium delay + * tolerant, elastic & inelastic flow, bursty, long-lived. E.g. email, + * instant messaging, for which there is a sense of interactivity and + * urgency (user waiting for output). + * + * NET_SERVICE_TYPE_OAM + * "Operations, Administration, and Management", medium delay tolerant, + * low-medium loss tolerant, elastic & inelastic flows, variable size. + * E.g. VPN tunnels. + * + * NET_SERVICE_TYPE_AV + * "Multimedia Audio/Video Streaming", medium delay tolerant, low-medium + * loss tolerant, elastic flow, constant packet interval, variable rate + * and size. E.g. video and audio playback with buffering. + * + * NET_SERVICE_TYPE_RV + * "Responsive Multimedia Audio/Video", low delay tolerant, low-medium + * loss tolerant, elastic flow, variable packet interval, rate and size. + * E.g. screen sharing. + * + * NET_SERVICE_TYPE_VI + * "Interactive Video", low delay tolerant, low-medium loss tolerant, + * elastic flow, constant packet interval, variable rate & size. E.g. + * video telephony. + * + * NET_SERVICE_TYPE_SIG + * "Signaling", low delay tolerant, low loss tolerant, inelastic flow, + * jitter tolerant, rate is bursty but short, variable size. E.g. SIP. + * + * NET_SERVICE_TYPE_VO + * "Interactive Voice", very low delay tolerant, very low loss tolerant, + * inelastic flow, constant packet rate, somewhat fixed size. + * E.g. VoIP. + */ +/*line: 277*/ NET_SERVICE_TYPE_BE = 0x0, /* Best effort */ // 0 +/*line: 278*/ NET_SERVICE_TYPE_BK = 0x1, /* Background system initiated */ // 1 +/*line: 279*/ NET_SERVICE_TYPE_SIG = 0x2, /* Signaling */ // 2 +/*line: 280*/ NET_SERVICE_TYPE_VI = 0x3, /* Interactive Video */ // 3 +/*line: 281*/ NET_SERVICE_TYPE_VO = 0x4, /* Interactive Voice */ // 4 +/*line: 282*/ NET_SERVICE_TYPE_RV = 0x5, /* Responsive Multimedia Audio/Video */ // 5 +/*line: 283*/ NET_SERVICE_TYPE_AV = 0x6, /* Multimedia Audio/Video Streaming */ // 6 +/*line: 284*/ NET_SERVICE_TYPE_OAM = 0x7, /* Operations, Administration, and Management */ // 7 +/*line: 285*/ NET_SERVICE_TYPE_RD = 0x8, /* Responsive Data */ // 8 +}; + +enum macro_net_service_marking { +/* These are supported values for SO_NETSVC_MARKING_LEVEL */ +/*line: 289*/ NETSVC_MRKNG_UNKNOWN = 0x0, /* The outgoing network interface is not known */ // 0 +/*line: 290*/ NETSVC_MRKNG_LVL_L2 = 0x1, /* Default marking at layer 2 (for example Wi-Fi WMM) */ // 1 +/*line: 291*/ NETSVC_MRKNG_LVL_L3L2_ALL = 0x2, /* Layer 3 DSCP marking and layer 2 marking for all Network Service Types */ // 2 +/*line: 292*/ NETSVC_MRKNG_LVL_L3L2_BK = 0x3, /* The system policy limits layer 3 DSCP marking and layer 2 marking + * to background Network Service Types */ // 3 +}; + +// Depends on identifiers +enum macro_sae_associd { +/*line: 297*/ SAE_ASSOCID_ANY = 0x0, // 0 +/*line: 298*/ SAE_ASSOCID_ALL = -0x1, // ((sae_associd_t)(-1ULL)) +}; + +// Depends on identifiers +enum macro_sae_connid { +/*line: 301*/ SAE_CONNID_ANY = 0x0, // 0 +/*line: 302*/ SAE_CONNID_ALL = -0x1, // ((sae_connid_t)(-1ULL)) +}; + +enum macro_connect_flags { +/* connectx() flag parameters */ +/*line: 305*/ CONNECT_RESUME_ON_READ_WRITE = 0x1, /* resume connect() on read/write */ // 0x1 +/*line: 306*/ CONNECT_DATA_IDEMPOTENT = 0x2, /* data is idempotent */ // 0x2 +/*line: 307*/ CONNECT_DATA_AUTHENTICATED = 0x4, /* data includes security that replaces the TFO-cookie */ // 0x4 +}; + +enum macro_socket_options { +/*line: 345*/ SONPX_SETOPTSHUT = 0x1, /* flag for allowing setsockopt after shutdown */ // 0x000000001 +/* + * Level number for (get/set)sockopt() to apply to socket itself. + */ +/*line: 354*/ SOL_SOCKET = 0xffff, /* options for socket level */ // 0xffff +}; + +// Depends on identifiers +enum macro_address_families { +/* + * Address families. + */ +/*line: 360*/ AF_UNSPEC = 0x0, /* unspecified */ // 0 +/*line: 361*/ AF_UNIX = 0x1, /* local to host (pipes) */ // 1 +/*line: 363*/ AF_LOCAL = 0x1, /* backward compatibility */ // AF_UNIX +/*line: 365*/ AF_INET = 0x2, /* internetwork: UDP, TCP, etc. */ // 2 +/*line: 367*/ AF_IMPLINK = 0x3, /* arpanet imp addresses */ // 3 +/*line: 368*/ AF_PUP = 0x4, /* pup protocols: e.g. BSP */ // 4 +/*line: 369*/ AF_CHAOS = 0x5, /* mit CHAOS protocols */ // 5 +/*line: 370*/ AF_NS = 0x6, /* XEROX NS protocols */ // 6 +/*line: 371*/ AF_ISO = 0x7, /* ISO protocols */ // 7 +/*line: 372*/ AF_OSI = 0x7, // AF_ISO +/*line: 373*/ AF_ECMA = 0x8, /* European computer manufacturers */ // 8 +/*line: 374*/ AF_DATAKIT = 0x9, /* datakit protocols */ // 9 +/*line: 375*/ AF_CCITT = 0xa, /* CCITT protocols, X.25 etc */ // 10 +/*line: 376*/ AF_SNA = 0xb, /* IBM SNA */ // 11 +/*line: 377*/ AF_DECnet = 0xc, /* DECnet */ // 12 +/*line: 378*/ AF_DLI = 0xd, /* DEC Direct data link interface */ // 13 +/*line: 379*/ AF_LAT = 0xe, /* LAT */ // 14 +/*line: 380*/ AF_HYLINK = 0xf, /* NSC Hyperchannel */ // 15 +/*line: 381*/ AF_APPLETALK = 0x10, /* Apple Talk */ // 16 +/*line: 382*/ AF_ROUTE = 0x11, /* Internal Routing Protocol */ // 17 +/*line: 383*/ AF_LINK = 0x12, /* Link layer interface */ // 18 +/*line: 384*/ pseudo_AF_XTP = 0x13, /* eXpress Transfer Protocol (no AF) */ // 19 +/*line: 385*/ AF_COIP = 0x14, /* connection-oriented IP, aka ST II */ // 20 +/*line: 386*/ AF_CNT = 0x15, /* Computer Network Technology */ // 21 +/*line: 387*/ pseudo_AF_RTIP = 0x16, /* Help Identify RTIP packets */ // 22 +/*line: 388*/ AF_IPX = 0x17, /* Novell Internet Protocol */ // 23 +/*line: 389*/ AF_SIP = 0x18, /* Simple Internet Protocol */ // 24 +/*line: 390*/ pseudo_AF_PIP = 0x19, /* Help Identify PIP packets */ // 25 +/*line: 391*/ AF_NDRV = 0x1b, /* Network Driver 'raw' access */ // 27 +/*line: 392*/ AF_ISDN = 0x1c, /* Integrated Services Digital Network */ // 28 +/*line: 393*/ AF_E164 = 0x1c, /* CCITT E.164 recommendation */ // AF_ISDN +/*line: 394*/ pseudo_AF_KEY = 0x1d, /* Internal key-management function */ // 29 +/*line: 396*/ AF_INET6 = 0x1e, /* IPv6 */ // 30 +/*line: 398*/ AF_NATM = 0x1f, /* native ATM access */ // 31 +/*line: 399*/ AF_SYSTEM = 0x20, /* Kernel event messages */ // 32 +/*line: 400*/ AF_NETBIOS = 0x21, /* NetBIOS */ // 33 +/*line: 401*/ AF_PPP = 0x22, /* PPP communication protocol */ // 34 +/*line: 402*/ pseudo_AF_HDRCMPLT = 0x23, /* Used by BPF to not rewrite headers + * in interface output routine */ // 35 +/*line: 404*/ AF_RESERVED_36 = 0x24, /* Reserved for internal usage */ // 36 +/*line: 405*/ AF_IEEE80211 = 0x25, /* IEEE 802.11 protocol */ // 37 +/*line: 406*/ AF_UTUN = 0x26, // 38 +/*line: 407*/ AF_VSOCK = 0x28, /* VM Sockets */ // 40 +/*line: 408*/ AF_MAX = 0x29, // 41 +}; + +enum macro_socket_limits { +/*line: 432*/ SOCK_MAXADDRLEN = 0xff, /* longest possible addresses */ // 255 +/* + * RFC 2553: protocol-independent placeholder for socket addresses + */ +/*line: 447*/ _SS_MAXSIZE = 0x80, // 128 +}; + +enum macro_protocol_families { +/* + * Protocol families, same as address families for now. + */ +/*line: 470*/ PF_UNSPEC = 0x0, // AF_UNSPEC +/*line: 471*/ PF_LOCAL = 0x1, // AF_LOCAL +/*line: 472*/ PF_UNIX = 0x1, /* backward compatibility */ // PF_LOCAL +/*line: 473*/ PF_INET = 0x2, // AF_INET +/*line: 474*/ PF_IMPLINK = 0x3, // AF_IMPLINK +/*line: 475*/ PF_PUP = 0x4, // AF_PUP +/*line: 476*/ PF_CHAOS = 0x5, // AF_CHAOS +/*line: 477*/ PF_NS = 0x6, // AF_NS +/*line: 478*/ PF_ISO = 0x7, // AF_ISO +/*line: 479*/ PF_OSI = 0x7, // AF_ISO +/*line: 480*/ PF_ECMA = 0x8, // AF_ECMA +/*line: 481*/ PF_DATAKIT = 0x9, // AF_DATAKIT +/*line: 482*/ PF_CCITT = 0xa, // AF_CCITT +/*line: 483*/ PF_SNA = 0xb, // AF_SNA +/*line: 484*/ PF_DECnet = 0xc, // AF_DECnet +/*line: 485*/ PF_DLI = 0xd, // AF_DLI +/*line: 486*/ PF_LAT = 0xe, // AF_LAT +/*line: 487*/ PF_HYLINK = 0xf, // AF_HYLINK +/*line: 488*/ PF_APPLETALK = 0x10, // AF_APPLETALK +/*line: 489*/ PF_ROUTE = 0x11, // AF_ROUTE +/*line: 490*/ PF_LINK = 0x12, // AF_LINK +/*line: 491*/ PF_XTP = 0x13, /* really just proto family, no AF */ // pseudo_AF_XTP +/*line: 492*/ PF_COIP = 0x14, // AF_COIP +/*line: 493*/ PF_CNT = 0x15, // AF_CNT +/*line: 494*/ PF_SIP = 0x18, // AF_SIP +/*line: 495*/ PF_IPX = 0x17, /* same format as AF_NS */ // AF_IPX +/*line: 496*/ PF_RTIP = 0x16, /* same format as AF_INET */ // pseudo_AF_RTIP +/*line: 497*/ PF_PIP = 0x19, // pseudo_AF_PIP +/*line: 498*/ PF_NDRV = 0x1b, // AF_NDRV +/*line: 499*/ PF_ISDN = 0x1c, // AF_ISDN +/*line: 500*/ PF_KEY = 0x1d, // pseudo_AF_KEY +/*line: 501*/ PF_INET6 = 0x1e, // AF_INET6 +/*line: 502*/ PF_NATM = 0x1f, // AF_NATM +/*line: 503*/ PF_SYSTEM = 0x20, // AF_SYSTEM +/*line: 504*/ PF_NETBIOS = 0x21, // AF_NETBIOS +/*line: 505*/ PF_PPP = 0x22, // AF_PPP +/*line: 506*/ PF_RESERVED_36 = 0x24, // AF_RESERVED_36 +/*line: 507*/ PF_UTUN = 0x26, // AF_UTUN +/*line: 508*/ PF_VSOCK = 0x28, // AF_VSOCK +/*line: 509*/ PF_MAX = 0x29, // AF_MAX +/* + * These do not have socket-layer support: + */ +/*line: 514*/ PF_VLAN = 0x766c616e, /* 'vlan' */ // ((uint32_t)0x766c616e) +/*line: 515*/ PF_BOND = 0x626f6e64, /* 'bond' */ // ((uint32_t)0x626f6e64) +}; + +// Depends on identifiers +enum macro_net_maxid { +/*line: 526*/ NET_MAXID = 0x29, // AF_MAX +}; + +enum macro_net_route_flags { +/* + * PF_ROUTE - Routing table + * + * Three additional levels are defined: + * Fourth: address family, 0 is wildcard + * Fifth: type of info, defined below + * Sixth: flag(s) to mask with for NET_RT_FLAGS + */ +/*line: 536*/ NET_RT_DUMP = 0x1, /* dump; may limit to a.f. */ // 1 +/*line: 537*/ NET_RT_FLAGS = 0x2, /* by flags, e.g. RESOLVING */ // 2 +/*line: 538*/ NET_RT_IFLIST = 0x3, /* survey interface list */ // 3 +/*line: 539*/ NET_RT_STAT = 0x4, /* routing statistics */ // 4 +/*line: 540*/ NET_RT_TRASH = 0x5, /* routes not in table but not freed */ // 5 +/*line: 541*/ NET_RT_IFLIST2 = 0x6, /* interface list with addresses */ // 6 +/*line: 542*/ NET_RT_DUMP2 = 0x7, /* dump; may limit to a.f. */ // 7 +/* + * Allows read access non-local host's MAC address + * if the process has neighbor cache entitlement. + */ +/*line: 547*/ NET_RT_FLAGS_PRIV = 0xa, // 10 +/*line: 548*/ NET_RT_MAXID = 0xb, // 11 +}; + +enum macro_somaxconn { +/* + * Maximum queue length specifiable by listen. + */ +/*line: 554*/ SOMAXCONN = 0x80, // 128 +}; + +enum macro_msg_flags { +/*line: 570*/ MSG_OOB = 0x1, /* process out-of-band data */ // 0x1 +/*line: 571*/ MSG_PEEK = 0x2, /* peek at incoming message */ // 0x2 +/*line: 572*/ MSG_DONTROUTE = 0x4, /* send without using routing tables */ // 0x4 +/*line: 573*/ MSG_EOR = 0x8, /* data completes record */ // 0x8 +/*line: 574*/ MSG_TRUNC = 0x10, /* data discarded before delivery */ // 0x10 +/*line: 575*/ MSG_CTRUNC = 0x20, /* control data lost before delivery */ // 0x20 +/*line: 576*/ MSG_WAITALL = 0x40, /* wait for full request or error */ // 0x40 +/*line: 578*/ MSG_DONTWAIT = 0x80, /* this message should be nonblocking */ // 0x80 +/*line: 579*/ MSG_EOF = 0x100, /* data completes connection */ // 0x100 +/*line: 582*/ MSG_WAITSTREAM = 0x200, /* wait up to full request.. may return partial */ // 0x200 +/*line: 584*/ MSG_FLUSH = 0x400, /* Start of 'hold' seq; dump so_temp, deprecated */ // 0x400 +/*line: 585*/ MSG_HOLD = 0x800, /* Hold frag in so_temp, deprecated */ // 0x800 +/*line: 586*/ MSG_SEND = 0x1000, /* Send the packet in so_temp, deprecated */ // 0x1000 +/*line: 587*/ MSG_HAVEMORE = 0x2000, /* Data ready to be read */ // 0x2000 +/*line: 588*/ MSG_RCVMORE = 0x4000, /* Data remains in current pkt */ // 0x4000 +/*line: 590*/ MSG_NEEDSA = 0x10000, /* Fail receive if socket address cannot be allocated */ // 0x10000 +/*line: 594*/ MSG_NOSIGNAL = 0x80000, /* do not generate SIGPIPE on EOF */ // 0x80000 +}; + +enum macro_socket_control_msg_types { +/* "Socket"-level control message types: */ +/*line: 677*/ SCM_RIGHTS = 0x1, /* access rights (array of int) */ // 0x01 +/*line: 679*/ SCM_TIMESTAMP = 0x2, /* timestamp (struct timeval) */ // 0x02 +/*line: 680*/ SCM_CREDS = 0x3, /* process creds (struct cmsgcred) */ // 0x03 +/*line: 681*/ SCM_TIMESTAMP_MONOTONIC = 0x4, /* timestamp (uint64_t) */ // 0x04 +}; + +enum macro_shutdown_direction { +/* + * howto arguments for shutdown(2), specified by Posix.1g. + */ +/*line: 688*/ SHUT_RD = 0x0, /* shut down the reading side */ // 0 +/*line: 689*/ SHUT_WR = 0x1, /* shut down the writing side */ // 1 +/*line: 690*/ SHUT_RDWR = 0x2, /* shut down both sides */ // 2 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 448 +// #define _SS_ALIGNSIZE (sizeof(__int64_t)) + +// Line: 449 +// #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(__uint8_t) - sizeof(sa_family_t)) + +// Line: 451 +// #define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(__uint8_t) - sizeof(sa_family_t) - \ +// _SS_PAD1SIZE - _SS_ALIGNSIZE) + diff --git a/macrodefs_enums/ios/sys/socketvar.h b/macrodefs_enums/ios/sys/socketvar.h new file mode 100644 index 000000000..9e2f33871 --- /dev/null +++ b/macrodefs_enums/ios/sys/socketvar.h @@ -0,0 +1,14 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/socketvar.h + +enum macro_tracker_flags { +// Tracker flags +/*line: 183*/ SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1, // 0x00000001 +/*line: 184*/ SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2, // 0x00000002 +/*line: 185*/ SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4, // 0x00000004 +}; + +enum macro_tracker_version { +/*line: 187*/ SO_TRACKER_TRANSPARENCY_VERSION = 0x3, // 3 +}; + diff --git a/macrodefs_enums/ios/sys/sockio.h b/macrodefs_enums/ios/sys/sockio.h new file mode 100644 index 000000000..6d74e3fcc --- /dev/null +++ b/macrodefs_enums/ios/sys/sockio.h @@ -0,0 +1,220 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/sockio.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 73 +// #define SIOCSHIWAT _IOW('s', 0, int) + +// Line: 74 +// #define SIOCGHIWAT _IOR('s', 1, int) + +// Line: 75 +// #define SIOCSLOWAT _IOW('s', 2, int) + +// Line: 76 +// #define SIOCGLOWAT _IOR('s', 3, int) + +// Line: 77 +// #define SIOCATMARK _IOR('s', 7, int) + +// Line: 78 +// #define SIOCSPGRP _IOW('s', 8, int) + +// Line: 79 +// #define SIOCGPGRP _IOR('s', 9, int) + +// Line: 81 +// #define SIOCSIFADDR _IOW('i', 12, struct ifreq) + +// Line: 82 +// #define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) + +// Line: 83 +// #define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) + +// Line: 84 +// #define SIOCGIFFLAGS _IOWR('i', 17, struct ifreq) + +// Line: 85 +// #define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) + +// Line: 86 +// #define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) + +// Line: 87 +// #define SIOCGIFMETRIC _IOWR('i', 23, struct ifreq) + +// Line: 88 +// #define SIOCSIFMETRIC _IOW('i', 24, struct ifreq) + +// Line: 89 +// #define SIOCDIFADDR _IOW('i', 25, struct ifreq) + +// Line: 90 +// #define SIOCAIFADDR _IOW('i', 26, struct ifaliasreq) + +// Line: 92 +// #define SIOCGIFADDR _IOWR('i', 33, struct ifreq) + +// Line: 93 +// #define SIOCGIFDSTADDR _IOWR('i', 34, struct ifreq) + +// Line: 94 +// #define SIOCGIFBRDADDR _IOWR('i', 35, struct ifreq) + +// Line: 95 +// #define SIOCGIFCONF _IOWR('i', 36, struct ifconf) + +// Line: 96 +// #define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) + +// Line: 97 +// #define SIOCAUTOADDR _IOWR('i', 38, struct ifreq) + +// Line: 98 +// #define SIOCAUTONETMASK _IOW('i', 39, struct ifreq) + +// Line: 99 +// #define SIOCARPIPLL _IOWR('i', 40, struct ifreq) + +// Line: 101 +// #define SIOCADDMULTI _IOW('i', 49, struct ifreq) + +// Line: 102 +// #define SIOCDELMULTI _IOW('i', 50, struct ifreq) + +// Line: 103 +// #define SIOCGIFMTU _IOWR('i', 51, struct ifreq) + +// Line: 104 +// #define SIOCSIFMTU _IOW('i', 52, struct ifreq) + +// Line: 105 +// #define SIOCGIFPHYS _IOWR('i', 53, struct ifreq) + +// Line: 106 +// #define SIOCSIFPHYS _IOW('i', 54, struct ifreq) + +// Line: 107 +// #define SIOCSIFMEDIA _IOWR('i', 55, struct ifreq) + +// Line: 113 +// #define SIOCGIFMEDIA _IOWR('i', 56, struct ifmediareq) + +// Line: 115 +// #define SIOCSIFGENERIC _IOW('i', 57, struct ifreq) + +// Line: 116 +// #define SIOCGIFGENERIC _IOWR('i', 58, struct ifreq) + +// Line: 117 +// #define SIOCRSLVMULTI _IOWR('i', 59, struct rslvmulti_req) + +// Line: 119 +// #define SIOCSIFLLADDR _IOW('i', 60, struct ifreq) + +// Line: 120 +// #define SIOCGIFSTATUS _IOWR('i', 61, struct ifstat) + +// Line: 121 +// #define SIOCSIFPHYADDR _IOW('i', 62, struct ifaliasreq) + +// Line: 122 +// #define SIOCGIFPSRCADDR _IOWR('i', 63, struct ifreq) + +// Line: 123 +// #define SIOCGIFPDSTADDR _IOWR('i', 64, struct ifreq) + +// Line: 124 +// #define SIOCDIFPHYADDR _IOW('i', 65, struct ifreq) + +// Line: 126 +// #define SIOCGIFDEVMTU _IOWR('i', 68, struct ifreq) + +// Line: 127 +// #define SIOCSIFALTMTU _IOW('i', 69, struct ifreq) + +// Line: 128 +// #define SIOCGIFALTMTU _IOWR('i', 72, struct ifreq) + +// Line: 129 +// #define SIOCSIFBOND _IOW('i', 70, struct ifreq) + +// Line: 130 +// #define SIOCGIFBOND _IOWR('i', 71, struct ifreq) + +// Line: 139 +// #define SIOCGIFXMEDIA _IOWR('i', 72, struct ifmediareq) + +// Line: 141 +// #define SIOCSIFCAP _IOW('i', 90, struct ifreq) + +// Line: 142 +// #define SIOCGIFCAP _IOWR('i', 91, struct ifreq) + +// Line: 144 +// #define SIOCSIFMANAGEMENT _IOWR('i', 92, struct ifreq) + +// Line: 146 +// #define SIOCIFCREATE _IOWR('i', 120, struct ifreq) + +// Line: 147 +// #define SIOCIFDESTROY _IOW('i', 121, struct ifreq) + +// Line: 148 +// #define SIOCIFCREATE2 _IOWR('i', 122, struct ifreq) + +// Line: 150 +// #define SIOCSDRVSPEC _IOW('i', 123, struct ifdrv) + +// Line: 152 +// #define SIOCGDRVSPEC _IOWR('i', 123, struct ifdrv) + +// Line: 154 +// #define SIOCSIFVLAN _IOW('i', 126, struct ifreq) + +// Line: 155 +// #define SIOCGIFVLAN _IOWR('i', 127, struct ifreq) + +// Line: 156 +// #define SIOCSETVLAN SIOCSIFVLAN + +// Line: 157 +// #define SIOCGETVLAN SIOCGIFVLAN + +// Line: 159 +// #define SIOCIFGCLONERS _IOWR('i', 129, struct if_clonereq) + +// Line: 161 +// #define SIOCGIFASYNCMAP _IOWR('i', 124, struct ifreq) + +// Line: 162 +// #define SIOCSIFASYNCMAP _IOW('i', 125, struct ifreq) + +// Line: 165 +// #define SIOCGIFMAC _IOWR('i', 130, struct ifreq) + +// Line: 166 +// #define SIOCSIFMAC _IOW('i', 131, struct ifreq) + +// Line: 167 +// #define SIOCSIFKPI _IOW('i', 134, struct ifreq) + +// Line: 168 +// #define SIOCGIFKPI _IOWR('i', 135, struct ifreq) + +// Line: 170 +// #define SIOCGIFWAKEFLAGS _IOWR('i', 136, struct ifreq) + +// Line: 172 +// #define SIOCGIFFUNCTIONALTYPE _IOWR('i', 173, struct ifreq) + +// Line: 174 +// #define SIOCSIF6LOWPAN _IOW('i', 196, struct ifreq) + +// Line: 175 +// #define SIOCGIF6LOWPAN _IOWR('i', 197, struct ifreq) + +// Line: 177 +// #define SIOCGIFDIRECTLINK _IOWR('i', 222, struct ifreq) + diff --git a/macrodefs_enums/ios/sys/spawn.h b/macrodefs_enums/ios/sys/spawn.h new file mode 100644 index 000000000..e02640dc6 --- /dev/null +++ b/macrodefs_enums/ios/sys/spawn.h @@ -0,0 +1,46 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/spawn.h + +enum macro_spawn_flags { +/* + * Possible bit values which may be OR'ed together and provided as the second + * parameter to posix_spawnattr_setflags() or implicit returned in the value of + * the second parameter to posix_spawnattr_getflags(). + */ +/*line: 45*/ POSIX_SPAWN_RESETIDS = 0x1, /* [SPN] R[UG]ID not E[UG]ID */ // 0x0001 +/*line: 46*/ POSIX_SPAWN_SETPGROUP = 0x2, /* [SPN] set non-parent PGID */ // 0x0002 +/*line: 47*/ POSIX_SPAWN_SETSIGDEF = 0x4, /* [SPN] reset sigset default */ // 0x0004 +/*line: 48*/ POSIX_SPAWN_SETSIGMASK = 0x8, /* [SPN] set signal mask */ // 0x0008 +/* + * Darwin-specific flags + */ +/*line: 59*/ POSIX_SPAWN_SETEXEC = 0x40, // 0x0040 +/*line: 60*/ POSIX_SPAWN_START_SUSPENDED = 0x80, // 0x0080 +/*line: 61*/ POSIX_SPAWN_SETSID = 0x400, // 0x0400 +/*line: 62*/ POSIX_SPAWN_CLOEXEC_DEFAULT = 0x4000, // 0x4000 +}; + +enum macro_posix_spawn_reslide { +/*line: 64*/ _POSIX_SPAWN_RESLIDE = 0x800, // 0x0800 +}; + +enum macro_pcontrol_action { +/* + * Possible values to be set for the process control actions on resource starvation. + * POSIX_SPAWN_PCONTROL_THROTTLE indicates that the process is to be throttled on starvation. + * POSIX_SPAWN_PCONTROL_SUSPEND indicates that the process is to be suspended on starvation. + * POSIX_SPAWN_PCONTROL_KILL indicates that the process is to be terminated on starvation. + */ +/*line: 72*/ POSIX_SPAWN_PCONTROL_NONE = 0x0, // 0x0000 +/*line: 73*/ POSIX_SPAWN_PCONTROL_THROTTLE = 0x1, // 0x0001 +/*line: 74*/ POSIX_SPAWN_PCONTROL_SUSPEND = 0x2, // 0x0002 +/*line: 75*/ POSIX_SPAWN_PCONTROL_KILL = 0x3, // 0x0003 +}; + +enum macro_spawn_panic_flags { +/*line: 77*/ POSIX_SPAWN_PANIC_ON_CRASH = 0x1, // 0x1 +/*line: 78*/ POSIX_SPAWN_PANIC_ON_NON_ZERO_EXIT = 0x2, // 0x2 +/*line: 79*/ POSIX_SPAWN_PANIC_ON_EXIT = 0x4, // 0x4 +/*line: 80*/ POSIX_SPAWN_PANIC_ON_SPAWN_FAIL = 0x8, // 0x8 +}; + diff --git a/macrodefs_enums/ios/sys/stat.h b/macrodefs_enums/ios/sys/stat.h new file mode 100644 index 000000000..8f2fa6449 --- /dev/null +++ b/macrodefs_enums/ios/sys/stat.h @@ -0,0 +1,115 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/stat.h + +// Depends on identifiers +enum macro_file_permissions { +/*line: 297*/ ACCESSPERMS = 0x1ff, /* 0777 */ // (S_IRWXU|S_IRWXG|S_IRWXO) +/* 7777 */ +/*line: 299*/ ALLPERMS = 0xfff, // (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO) +/* 0666 */ +/*line: 301*/ DEFFILEMODE = 0x1b6, // (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) +}; + +enum macro_block_size { +/*line: 303*/ S_BLKSIZE = 0x200, /* block size used in the stat struct */ // 512 +}; + +enum macro_uf_flags { +/* + * Definitions of flags stored in file flags word. + * + * Super-user and owner changeable flags. + */ +/*line: 310*/ UF_SETTABLE = 0xffff, /* mask of owner changeable flags */ // 0x0000ffff +/*line: 311*/ UF_NODUMP = 0x1, /* do not dump file */ // 0x00000001 +/*line: 312*/ UF_IMMUTABLE = 0x2, /* file may not be changed */ // 0x00000002 +/*line: 313*/ UF_APPEND = 0x4, /* writes to file may only append */ // 0x00000004 +/*line: 314*/ UF_OPAQUE = 0x8, /* directory is opaque wrt. union */ // 0x00000008 +/*line: 320*/ UF_COMPRESSED = 0x20, /* file is compressed (some file-systems) */ // 0x00000020 +/* UF_TRACKED is used for dealing with document IDs. We no longer issue + * notifications for deletes or renames for files which have UF_TRACKED set. */ +/*line: 324*/ UF_TRACKED = 0x40, // 0x00000040 +/*line: 326*/ UF_DATAVAULT = 0x80, /* entitlement required for reading */ // 0x00000080 +/* Bits 0x0100 through 0x4000 are currently undefined. */ +/*line: 330*/ UF_HIDDEN = 0x8000, /* hint that this item should not be */ // 0x00008000 +}; + +enum macro_sf_flags { +/* + * Super-user changeable flags. + */ +/*line: 335*/ SF_SUPPORTED = 0x9f0000, /* mask of superuser supported flags */ // 0x009f0000 +/*line: 336*/ SF_SETTABLE = 0x3fff0000, /* mask of superuser changeable flags */ // 0x3fff0000 +/*line: 337*/ SF_SYNTHETIC = 0xc0000000, /* mask of system read-only synthetic flags */ // 0xc0000000 +/*line: 338*/ SF_ARCHIVED = 0x10000, /* file is archived */ // 0x00010000 +/*line: 339*/ SF_IMMUTABLE = 0x20000, /* file may not be changed */ // 0x00020000 +/*line: 340*/ SF_APPEND = 0x40000, /* writes to file may only append */ // 0x00040000 +/*line: 341*/ SF_RESTRICTED = 0x80000, /* entitlement required for writing */ // 0x00080000 +/*line: 342*/ SF_NOUNLINK = 0x100000, /* Item may not be removed, renamed or mounted on */ // 0x00100000 +/* NOTE: There is no SF_HIDDEN bit. */ +/*line: 351*/ SF_FIRMLINK = 0x800000, /* file is a firmlink */ // 0x00800000 +/* + * Synthetic flags. + * + * These are read-only. We keep them out of SF_SUPPORTED so that + * attempts to set them will fail. + */ +/*line: 359*/ SF_DATALESS = 0x40000000, /* file is dataless object */ // 0x40000000 +}; + +enum macro_extended_file_flags { +/* + * Extended flags ("EF") returned by ATTR_CMNEXT_EXT_FLAGS from getattrlist/getattrlistbulk + */ +/*line: 368*/ EF_MAY_SHARE_BLOCKS = 0x1, /* file may share blocks with another file */ // 0x00000001 +/*line: 369*/ EF_NO_XATTRS = 0x2, /* file has no xattrs at all */ // 0x00000002 +/*line: 370*/ EF_IS_SYNC_ROOT = 0x4, /* file is a sync root for iCloud */ // 0x00000004 +/*line: 371*/ EF_IS_PURGEABLE = 0x8, /* file is purgeable */ // 0x00000008 +/*line: 372*/ EF_IS_SPARSE = 0x10, /* file has at least one sparse region */ // 0x00000010 +/*line: 373*/ EF_IS_SYNTHETIC = 0x20, /* a synthetic directory/symlink */ // 0x00000020 +/*line: 374*/ EF_SHARES_ALL_BLOCKS = 0x40, /* file shares all of its blocks with another file */ // 0x00000040 +}; + +enum macro_utime_flags { +/*line: 398*/ UTIME_NOW = -0x1, // -1 +/*line: 399*/ UTIME_OMIT = -0x2, // -2 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 128 +// #define __DARWIN_STRUCT_STAT64_TIMES struct timespec st_atimespec; /* time of last access */ \ +// struct timespec st_mtimespec; /* time of last data modification */ \ +// struct timespec st_ctimespec; /* time of last status change */ \ +// struct timespec st_birthtimespec; + +// Line: 158 +// #define __DARWIN_STRUCT_STAT64 { \ +// dev_t st_dev; /* [XSI] ID of device containing file */ \ +// mode_t st_mode; /* [XSI] Mode of file (see below) */ \ +// nlink_t st_nlink; /* [XSI] Number of hard links */ \ +// __darwin_ino64_t st_ino; /* [XSI] File serial number */ \ +// uid_t st_uid; /* [XSI] User ID of the file */ \ +// gid_t st_gid; /* [XSI] Group ID of the file */ \ +// dev_t st_rdev; /* [XSI] Device ID */ \ +// __DARWIN_STRUCT_STAT64_TIMES \ +// off_t st_size; /* [XSI] file size, in bytes */ \ +// blkcnt_t st_blocks; /* [XSI] blocks allocated for file */ \ +// blksize_t st_blksize; /* [XSI] optimal blocksize for I/O */ \ +// __uint32_t st_flags; /* user defined flags for file */ \ +// __uint32_t st_gen; /* file generation number */ \ +// __int32_t st_lspare; /* RESERVED: DO NOT USE! */ \ +// __int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */ \ +// } + +// Line: 231 +// #define st_atime st_atimespec.tv_sec + +// Line: 232 +// #define st_mtime st_mtimespec.tv_sec + +// Line: 233 +// #define st_ctime st_ctimespec.tv_sec + +// Line: 234 +// #define st_birthtime st_birthtimespec.tv_sec + diff --git a/macrodefs_enums/ios/sys/statvfs.h b/macrodefs_enums/ios/sys/statvfs.h new file mode 100644 index 000000000..a8998ea00 --- /dev/null +++ b/macrodefs_enums/ios/sys/statvfs.h @@ -0,0 +1,9 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/statvfs.h + +enum macro_statvfs_flags { +/* Defined bits for f_flag field value */ +/*line: 55*/ ST_RDONLY = 0x1, /* Read-only file system */ // 0x00000001 +/*line: 56*/ ST_NOSUID = 0x2, /* Does not honor setuid/setgid */ // 0x00000002 +}; + diff --git a/macrodefs_enums/ios/sys/stdio.h b/macrodefs_enums/ios/sys/stdio.h new file mode 100644 index 000000000..0dd61e505 --- /dev/null +++ b/macrodefs_enums/ios/sys/stdio.h @@ -0,0 +1,11 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/stdio.h + +enum macro_rename_flags { +/*line: 35*/ RENAME_SECLUDE = 0x1, // 0x00000001 +/*line: 36*/ RENAME_SWAP = 0x2, // 0x00000002 +/*line: 37*/ RENAME_EXCL = 0x4, // 0x00000004 +/*line: 38*/ RENAME_RESERVED1 = 0x8, // 0x00000008 +/*line: 39*/ RENAME_NOFOLLOW_ANY = 0x10, // 0x00000010 +}; + diff --git a/macrodefs_enums/ios/sys/syscall.h b/macrodefs_enums/ios/sys/syscall.h new file mode 100644 index 000000000..aaaf539c1 --- /dev/null +++ b/macrodefs_enums/ios/sys/syscall.h @@ -0,0 +1,517 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/syscall.h + +enum macro_syscall_numbers { +/*line: 40*/ SYS_syscall = 0x0, // 0 +/*line: 41*/ SYS_exit = 0x1, // 1 +/*line: 42*/ SYS_fork = 0x2, // 2 +/*line: 43*/ SYS_read = 0x3, // 3 +/*line: 44*/ SYS_write = 0x4, // 4 +/*line: 45*/ SYS_open = 0x5, // 5 +/*line: 46*/ SYS_close = 0x6, // 6 +/*line: 47*/ SYS_wait4 = 0x7, // 7 +/* 8 old creat */ +/*line: 49*/ SYS_link = 0x9, // 9 +/*line: 50*/ SYS_unlink = 0xa, // 10 +/* 11 old execv */ +/*line: 52*/ SYS_chdir = 0xc, // 12 +/*line: 53*/ SYS_fchdir = 0xd, // 13 +/*line: 54*/ SYS_mknod = 0xe, // 14 +/*line: 55*/ SYS_chmod = 0xf, // 15 +/*line: 56*/ SYS_chown = 0x10, // 16 +/* 17 old break */ +/*line: 58*/ SYS_getfsstat = 0x12, // 18 +/* 19 old lseek */ +/*line: 60*/ SYS_getpid = 0x14, // 20 +/* 22 old umount */ +/*line: 63*/ SYS_setuid = 0x17, // 23 +/*line: 64*/ SYS_getuid = 0x18, // 24 +/*line: 65*/ SYS_geteuid = 0x19, // 25 +/*line: 66*/ SYS_ptrace = 0x1a, // 26 +/*line: 67*/ SYS_recvmsg = 0x1b, // 27 +/*line: 68*/ SYS_sendmsg = 0x1c, // 28 +/*line: 69*/ SYS_recvfrom = 0x1d, // 29 +/*line: 70*/ SYS_accept = 0x1e, // 30 +/*line: 71*/ SYS_getpeername = 0x1f, // 31 +/*line: 72*/ SYS_getsockname = 0x20, // 32 +/*line: 73*/ SYS_access = 0x21, // 33 +/*line: 74*/ SYS_chflags = 0x22, // 34 +/*line: 75*/ SYS_fchflags = 0x23, // 35 +/*line: 76*/ SYS_sync = 0x24, // 36 +/*line: 77*/ SYS_kill = 0x25, // 37 +/*line: 78*/ SYS_crossarch_trap = 0x26, // 38 +/*line: 79*/ SYS_getppid = 0x27, // 39 +/* 40 old lstat */ +/*line: 81*/ SYS_dup = 0x29, // 41 +/*line: 82*/ SYS_pipe = 0x2a, // 42 +/*line: 83*/ SYS_getegid = 0x2b, // 43 +/* 45 old ktrace */ +/*line: 86*/ SYS_sigaction = 0x2e, // 46 +/*line: 87*/ SYS_getgid = 0x2f, // 47 +/*line: 88*/ SYS_sigprocmask = 0x30, // 48 +/*line: 89*/ SYS_getlogin = 0x31, // 49 +/*line: 90*/ SYS_setlogin = 0x32, // 50 +/*line: 91*/ SYS_acct = 0x33, // 51 +/*line: 92*/ SYS_sigpending = 0x34, // 52 +/*line: 93*/ SYS_sigaltstack = 0x35, // 53 +/*line: 94*/ SYS_ioctl = 0x36, // 54 +/*line: 95*/ SYS_reboot = 0x37, // 55 +/*line: 96*/ SYS_revoke = 0x38, // 56 +/*line: 97*/ SYS_symlink = 0x39, // 57 +/*line: 98*/ SYS_readlink = 0x3a, // 58 +/*line: 99*/ SYS_execve = 0x3b, // 59 +/*line: 100*/ SYS_umask = 0x3c, // 60 +/*line: 101*/ SYS_chroot = 0x3d, // 61 +/* 64 old getpagesize */ +/*line: 105*/ SYS_msync = 0x41, // 65 +/*line: 106*/ SYS_vfork = 0x42, // 66 +/*line: 107*/ SYS_oslog_coproc_reg = 0x43, // 67 +/*line: 108*/ SYS_oslog_coproc = 0x44, // 68 +/* 72 old vadvise */ +/*line: 113*/ SYS_munmap = 0x49, // 73 +/*line: 114*/ SYS_mprotect = 0x4a, // 74 +/*line: 115*/ SYS_madvise = 0x4b, // 75 +/* 77 old vlimit */ +/*line: 118*/ SYS_mincore = 0x4e, // 78 +/*line: 119*/ SYS_getgroups = 0x4f, // 79 +/*line: 120*/ SYS_setgroups = 0x50, // 80 +/*line: 121*/ SYS_getpgrp = 0x51, // 81 +/*line: 122*/ SYS_setpgid = 0x52, // 82 +/*line: 123*/ SYS_setitimer = 0x53, // 83 +/* 84 old wait */ +/*line: 125*/ SYS_swapon = 0x55, // 85 +/*line: 126*/ SYS_getitimer = 0x56, // 86 +/* 88 old sethostname */ +/*line: 129*/ SYS_getdtablesize = 0x59, // 89 +/*line: 130*/ SYS_dup2 = 0x5a, // 90 +/* 91 old getdopt */ +/*line: 132*/ SYS_fcntl = 0x5c, // 92 +/*line: 133*/ SYS_select = 0x5d, // 93 +/* 94 old setdopt */ +/*line: 135*/ SYS_fsync = 0x5f, // 95 +/*line: 136*/ SYS_setpriority = 0x60, // 96 +/*line: 137*/ SYS_socket = 0x61, // 97 +/*line: 138*/ SYS_connect = 0x62, // 98 +/* 99 old accept */ +/*line: 140*/ SYS_getpriority = 0x64, // 100 +/* 103 old sigreturn */ +/*line: 144*/ SYS_bind = 0x68, // 104 +/*line: 145*/ SYS_setsockopt = 0x69, // 105 +/*line: 146*/ SYS_listen = 0x6a, // 106 +/* 110 old sigsetmask */ +/*line: 151*/ SYS_sigsuspend = 0x6f, // 111 +/* 115 old vtrace */ +/*line: 156*/ SYS_gettimeofday = 0x74, // 116 +/*line: 157*/ SYS_getrusage = 0x75, // 117 +/*line: 158*/ SYS_getsockopt = 0x76, // 118 +/* 119 old resuba */ +/*line: 160*/ SYS_readv = 0x78, // 120 +/*line: 161*/ SYS_writev = 0x79, // 121 +/*line: 162*/ SYS_settimeofday = 0x7a, // 122 +/*line: 163*/ SYS_fchown = 0x7b, // 123 +/*line: 164*/ SYS_fchmod = 0x7c, // 124 +/* 125 old recvfrom */ +/*line: 166*/ SYS_setreuid = 0x7e, // 126 +/*line: 167*/ SYS_setregid = 0x7f, // 127 +/*line: 168*/ SYS_rename = 0x80, // 128 +/* 130 old ftruncate */ +/*line: 171*/ SYS_flock = 0x83, // 131 +/*line: 172*/ SYS_mkfifo = 0x84, // 132 +/*line: 173*/ SYS_sendto = 0x85, // 133 +/*line: 174*/ SYS_shutdown = 0x86, // 134 +/*line: 175*/ SYS_socketpair = 0x87, // 135 +/*line: 176*/ SYS_mkdir = 0x88, // 136 +/*line: 177*/ SYS_rmdir = 0x89, // 137 +/*line: 178*/ SYS_utimes = 0x8a, // 138 +/*line: 179*/ SYS_futimes = 0x8b, // 139 +/*line: 180*/ SYS_adjtime = 0x8c, // 140 +/* 141 old getpeername */ +/*line: 182*/ SYS_gethostuuid = 0x8e, // 142 +/* 146 old killpg */ +/*line: 187*/ SYS_setsid = 0x93, // 147 +/* 150 old getsockname */ +/*line: 191*/ SYS_getpgid = 0x97, // 151 +/*line: 192*/ SYS_setprivexec = 0x98, // 152 +/*line: 193*/ SYS_pread = 0x99, // 153 +/*line: 194*/ SYS_pwrite = 0x9a, // 154 +/*line: 195*/ SYS_nfssvc = 0x9b, // 155 +/* 156 old getdirentries */ +/*line: 197*/ SYS_statfs = 0x9d, // 157 +/*line: 198*/ SYS_fstatfs = 0x9e, // 158 +/*line: 199*/ SYS_unmount = 0x9f, // 159 +/* 160 old async_daemon */ +/*line: 201*/ SYS_getfh = 0xa1, // 161 +/* 164 */ +/*line: 205*/ SYS_quotactl = 0xa5, // 165 +/* 166 old exportfs */ +/*line: 207*/ SYS_mount = 0xa7, // 167 +/* 168 old ustat */ +/*line: 209*/ SYS_csops = 0xa9, // 169 +/*line: 210*/ SYS_csops_audittoken = 0xaa, // 170 +/* 172 old rpause */ +/*line: 213*/ SYS_waitid = 0xad, // 173 +/* 176 old add_profil */ +/*line: 217*/ SYS_kdebug_typefilter = 0xb1, // 177 +/*line: 218*/ SYS_kdebug_trace_string = 0xb2, // 178 +/*line: 219*/ SYS_kdebug_trace64 = 0xb3, // 179 +/*line: 220*/ SYS_kdebug_trace = 0xb4, // 180 +/*line: 221*/ SYS_setgid = 0xb5, // 181 +/*line: 222*/ SYS_setegid = 0xb6, // 182 +/*line: 223*/ SYS_seteuid = 0xb7, // 183 +/*line: 224*/ SYS_sigreturn = 0xb8, // 184 +/*line: 225*/ SYS_panic_with_data = 0xb9, // 185 +/*line: 226*/ SYS_thread_selfcounts = 0xba, // 186 +/*line: 227*/ SYS_fdatasync = 0xbb, // 187 +/*line: 228*/ SYS_stat = 0xbc, // 188 +/*line: 229*/ SYS_fstat = 0xbd, // 189 +/*line: 230*/ SYS_lstat = 0xbe, // 190 +/*line: 231*/ SYS_pathconf = 0xbf, // 191 +/*line: 232*/ SYS_fpathconf = 0xc0, // 192 +/* 193 old getfsstat */ +/*line: 234*/ SYS_getrlimit = 0xc2, // 194 +/*line: 235*/ SYS_setrlimit = 0xc3, // 195 +/*line: 236*/ SYS_getdirentries = 0xc4, // 196 +/*line: 237*/ SYS_mmap = 0xc5, // 197 +/* 198 old __syscall */ +/*line: 239*/ SYS_lseek = 0xc7, // 199 +/*line: 240*/ SYS_truncate = 0xc8, // 200 +/*line: 241*/ SYS_ftruncate = 0xc9, // 201 +/*line: 242*/ SYS_sysctl = 0xca, // 202 +/*line: 243*/ SYS_mlock = 0xcb, // 203 +/*line: 244*/ SYS_munlock = 0xcc, // 204 +/*line: 245*/ SYS_undelete = 0xcd, // 205 +/* 215 */ +/*line: 256*/ SYS_open_dprotected_np = 0xd8, // 216 +/*line: 257*/ SYS_fsgetpath_ext = 0xd9, // 217 +/*line: 258*/ SYS_openat_dprotected_np = 0xda, // 218 +/* 219 old fstatv */ +/*line: 260*/ SYS_getattrlist = 0xdc, // 220 +/*line: 261*/ SYS_setattrlist = 0xdd, // 221 +/*line: 262*/ SYS_getdirentriesattr = 0xde, // 222 +/*line: 263*/ SYS_exchangedata = 0xdf, // 223 +/* 224 old checkuseraccess or fsgetpath */ +/*line: 265*/ SYS_searchfs = 0xe1, // 225 +/*line: 266*/ SYS_delete = 0xe2, // 226 +/*line: 267*/ SYS_copyfile = 0xe3, // 227 +/*line: 268*/ SYS_fgetattrlist = 0xe4, // 228 +/*line: 269*/ SYS_fsetattrlist = 0xe5, // 229 +/*line: 270*/ SYS_poll = 0xe6, // 230 +/* 233 old modwatch */ +/*line: 274*/ SYS_getxattr = 0xea, // 234 +/*line: 275*/ SYS_fgetxattr = 0xeb, // 235 +/*line: 276*/ SYS_setxattr = 0xec, // 236 +/*line: 277*/ SYS_fsetxattr = 0xed, // 237 +/*line: 278*/ SYS_removexattr = 0xee, // 238 +/*line: 279*/ SYS_fremovexattr = 0xef, // 239 +/*line: 280*/ SYS_listxattr = 0xf0, // 240 +/*line: 281*/ SYS_flistxattr = 0xf1, // 241 +/*line: 282*/ SYS_fsctl = 0xf2, // 242 +/*line: 283*/ SYS_initgroups = 0xf3, // 243 +/*line: 284*/ SYS_posix_spawn = 0xf4, // 244 +/*line: 285*/ SYS_ffsctl = 0xf5, // 245 +/* 247 old nfsclnt */ +/*line: 288*/ SYS_fhopen = 0xf8, // 248 +/* 249 */ +/*line: 290*/ SYS_minherit = 0xfa, // 250 +/*line: 291*/ SYS_semsys = 0xfb, // 251 +/*line: 292*/ SYS_msgsys = 0xfc, // 252 +/*line: 293*/ SYS_shmsys = 0xfd, // 253 +/*line: 294*/ SYS_semctl = 0xfe, // 254 +/*line: 295*/ SYS_semget = 0xff, // 255 +/*line: 296*/ SYS_semop = 0x100, // 256 +/* 257 old semconfig */ +/*line: 298*/ SYS_msgctl = 0x102, // 258 +/*line: 299*/ SYS_msgget = 0x103, // 259 +/*line: 300*/ SYS_msgsnd = 0x104, // 260 +/*line: 301*/ SYS_msgrcv = 0x105, // 261 +/*line: 302*/ SYS_shmat = 0x106, // 262 +/*line: 303*/ SYS_shmctl = 0x107, // 263 +/*line: 304*/ SYS_shmdt = 0x108, // 264 +/*line: 305*/ SYS_shmget = 0x109, // 265 +/*line: 306*/ SYS_shm_open = 0x10a, // 266 +/*line: 307*/ SYS_shm_unlink = 0x10b, // 267 +/*line: 308*/ SYS_sem_open = 0x10c, // 268 +/*line: 309*/ SYS_sem_close = 0x10d, // 269 +/*line: 310*/ SYS_sem_unlink = 0x10e, // 270 +/*line: 311*/ SYS_sem_wait = 0x10f, // 271 +/*line: 312*/ SYS_sem_trywait = 0x110, // 272 +/*line: 313*/ SYS_sem_post = 0x111, // 273 +/*line: 314*/ SYS_sysctlbyname = 0x112, // 274 +/* 276 old sem_destroy */ +/*line: 317*/ SYS_open_extended = 0x115, // 277 +/*line: 318*/ SYS_umask_extended = 0x116, // 278 +/*line: 319*/ SYS_stat_extended = 0x117, // 279 +/*line: 320*/ SYS_lstat_extended = 0x118, // 280 +/*line: 321*/ SYS_fstat_extended = 0x119, // 281 +/*line: 322*/ SYS_chmod_extended = 0x11a, // 282 +/*line: 323*/ SYS_fchmod_extended = 0x11b, // 283 +/*line: 324*/ SYS_access_extended = 0x11c, // 284 +/*line: 325*/ SYS_settid = 0x11d, // 285 +/*line: 326*/ SYS_gettid = 0x11e, // 286 +/*line: 327*/ SYS_setsgroups = 0x11f, // 287 +/*line: 328*/ SYS_getsgroups = 0x120, // 288 +/*line: 329*/ SYS_setwgroups = 0x121, // 289 +/*line: 330*/ SYS_getwgroups = 0x122, // 290 +/*line: 331*/ SYS_mkfifo_extended = 0x123, // 291 +/*line: 332*/ SYS_mkdir_extended = 0x124, // 292 +/*line: 333*/ SYS_identitysvc = 0x125, // 293 +/*line: 334*/ SYS_shared_region_check_np = 0x126, // 294 +/* 295 old shared_region_map_np */ +/*line: 336*/ SYS_vm_pressure_monitor = 0x128, // 296 +/*line: 337*/ SYS_psynch_rw_longrdlock = 0x129, // 297 +/*line: 338*/ SYS_psynch_rw_yieldwrlock = 0x12a, // 298 +/*line: 339*/ SYS_psynch_rw_downgrade = 0x12b, // 299 +/*line: 340*/ SYS_psynch_rw_upgrade = 0x12c, // 300 +/*line: 341*/ SYS_psynch_mutexwait = 0x12d, // 301 +/*line: 342*/ SYS_psynch_mutexdrop = 0x12e, // 302 +/*line: 343*/ SYS_psynch_cvbroad = 0x12f, // 303 +/*line: 344*/ SYS_psynch_cvsignal = 0x130, // 304 +/*line: 345*/ SYS_psynch_cvwait = 0x131, // 305 +/*line: 346*/ SYS_psynch_rw_rdlock = 0x132, // 306 +/*line: 347*/ SYS_psynch_rw_wrlock = 0x133, // 307 +/*line: 348*/ SYS_psynch_rw_unlock = 0x134, // 308 +/*line: 349*/ SYS_psynch_rw_unlock2 = 0x135, // 309 +/*line: 350*/ SYS_getsid = 0x136, // 310 +/*line: 351*/ SYS_settid_with_pid = 0x137, // 311 +/*line: 352*/ SYS_psynch_cvclrprepost = 0x138, // 312 +/*line: 353*/ SYS_aio_fsync = 0x139, // 313 +/*line: 354*/ SYS_aio_return = 0x13a, // 314 +/*line: 355*/ SYS_aio_suspend = 0x13b, // 315 +/*line: 356*/ SYS_aio_cancel = 0x13c, // 316 +/*line: 357*/ SYS_aio_error = 0x13d, // 317 +/*line: 358*/ SYS_aio_read = 0x13e, // 318 +/*line: 359*/ SYS_aio_write = 0x13f, // 319 +/*line: 360*/ SYS_lio_listio = 0x140, // 320 +/* 321 old __pthread_cond_wait */ +/*line: 362*/ SYS_iopolicysys = 0x142, // 322 +/*line: 363*/ SYS_process_policy = 0x143, // 323 +/*line: 364*/ SYS_mlockall = 0x144, // 324 +/*line: 365*/ SYS_munlockall = 0x145, // 325 +/* 326 */ +/*line: 367*/ SYS_issetugid = 0x147, // 327 +/*line: 368*/ SYS___pthread_kill = 0x148, // 328 +/*line: 369*/ SYS___pthread_sigmask = 0x149, // 329 +/*line: 370*/ SYS___sigwait = 0x14a, // 330 +/*line: 371*/ SYS___disable_threadsignal = 0x14b, // 331 +/*line: 372*/ SYS___pthread_markcancel = 0x14c, // 332 +/*line: 373*/ SYS___pthread_canceled = 0x14d, // 333 +/*line: 374*/ SYS___semwait_signal = 0x14e, // 334 +/* 335 old utrace */ +/*line: 376*/ SYS_proc_info = 0x150, // 336 +/*line: 377*/ SYS_sendfile = 0x151, // 337 +/*line: 378*/ SYS_stat64 = 0x152, // 338 +/*line: 379*/ SYS_fstat64 = 0x153, // 339 +/*line: 380*/ SYS_lstat64 = 0x154, // 340 +/*line: 381*/ SYS_stat64_extended = 0x155, // 341 +/*line: 382*/ SYS_lstat64_extended = 0x156, // 342 +/*line: 383*/ SYS_fstat64_extended = 0x157, // 343 +/*line: 384*/ SYS_getdirentries64 = 0x158, // 344 +/*line: 385*/ SYS_statfs64 = 0x159, // 345 +/*line: 386*/ SYS_fstatfs64 = 0x15a, // 346 +/*line: 387*/ SYS_getfsstat64 = 0x15b, // 347 +/*line: 388*/ SYS___pthread_chdir = 0x15c, // 348 +/*line: 389*/ SYS___pthread_fchdir = 0x15d, // 349 +/*line: 390*/ SYS_audit = 0x15e, // 350 +/*line: 391*/ SYS_auditon = 0x15f, // 351 +/* 352 */ +/*line: 393*/ SYS_getauid = 0x161, // 353 +/*line: 394*/ SYS_setauid = 0x162, // 354 +/* 356 old setaudit */ +/*line: 397*/ SYS_getaudit_addr = 0x165, // 357 +/*line: 398*/ SYS_setaudit_addr = 0x166, // 358 +/*line: 399*/ SYS_auditctl = 0x167, // 359 +/*line: 400*/ SYS_bsdthread_create = 0x168, // 360 +/*line: 401*/ SYS_bsdthread_terminate = 0x169, // 361 +/*line: 402*/ SYS_kqueue = 0x16a, // 362 +/*line: 403*/ SYS_kevent = 0x16b, // 363 +/*line: 404*/ SYS_lchown = 0x16c, // 364 +/* 365 old stack_snapshot */ +/*line: 406*/ SYS_bsdthread_register = 0x16e, // 366 +/*line: 407*/ SYS_workq_open = 0x16f, // 367 +/*line: 408*/ SYS_workq_kernreturn = 0x170, // 368 +/*line: 409*/ SYS_kevent64 = 0x171, // 369 +/* 371 old __semwait_signal */ +/*line: 412*/ SYS_thread_selfid = 0x174, // 372 +/*line: 413*/ SYS_ledger = 0x175, // 373 +/*line: 414*/ SYS_kevent_qos = 0x176, // 374 +/*line: 415*/ SYS_kevent_id = 0x177, // 375 +/* 379 */ +/*line: 420*/ SYS___mac_execve = 0x17c, // 380 +/*line: 421*/ SYS___mac_syscall = 0x17d, // 381 +/*line: 422*/ SYS___mac_get_file = 0x17e, // 382 +/*line: 423*/ SYS___mac_set_file = 0x17f, // 383 +/*line: 424*/ SYS___mac_get_link = 0x180, // 384 +/*line: 425*/ SYS___mac_set_link = 0x181, // 385 +/*line: 426*/ SYS___mac_get_proc = 0x182, // 386 +/*line: 427*/ SYS___mac_set_proc = 0x183, // 387 +/*line: 428*/ SYS___mac_get_fd = 0x184, // 388 +/*line: 429*/ SYS___mac_set_fd = 0x185, // 389 +/*line: 430*/ SYS___mac_get_pid = 0x186, // 390 +/* 393 */ +/*line: 434*/ SYS_pselect = 0x18a, // 394 +/*line: 435*/ SYS_pselect_nocancel = 0x18b, // 395 +/*line: 436*/ SYS_read_nocancel = 0x18c, // 396 +/*line: 437*/ SYS_write_nocancel = 0x18d, // 397 +/*line: 438*/ SYS_open_nocancel = 0x18e, // 398 +/*line: 439*/ SYS_close_nocancel = 0x18f, // 399 +/*line: 440*/ SYS_wait4_nocancel = 0x190, // 400 +/*line: 441*/ SYS_recvmsg_nocancel = 0x191, // 401 +/*line: 442*/ SYS_sendmsg_nocancel = 0x192, // 402 +/*line: 443*/ SYS_recvfrom_nocancel = 0x193, // 403 +/*line: 444*/ SYS_accept_nocancel = 0x194, // 404 +/*line: 445*/ SYS_msync_nocancel = 0x195, // 405 +/*line: 446*/ SYS_fcntl_nocancel = 0x196, // 406 +/*line: 447*/ SYS_select_nocancel = 0x197, // 407 +/*line: 448*/ SYS_fsync_nocancel = 0x198, // 408 +/*line: 449*/ SYS_connect_nocancel = 0x199, // 409 +/*line: 450*/ SYS_sigsuspend_nocancel = 0x19a, // 410 +/*line: 451*/ SYS_readv_nocancel = 0x19b, // 411 +/*line: 452*/ SYS_writev_nocancel = 0x19c, // 412 +/*line: 453*/ SYS_sendto_nocancel = 0x19d, // 413 +/*line: 454*/ SYS_pread_nocancel = 0x19e, // 414 +/*line: 455*/ SYS_pwrite_nocancel = 0x19f, // 415 +/*line: 456*/ SYS_waitid_nocancel = 0x1a0, // 416 +/*line: 457*/ SYS_poll_nocancel = 0x1a1, // 417 +/*line: 458*/ SYS_msgsnd_nocancel = 0x1a2, // 418 +/*line: 459*/ SYS_msgrcv_nocancel = 0x1a3, // 419 +/*line: 460*/ SYS_sem_wait_nocancel = 0x1a4, // 420 +/*line: 461*/ SYS_aio_suspend_nocancel = 0x1a5, // 421 +/*line: 462*/ SYS___sigwait_nocancel = 0x1a6, // 422 +/*line: 463*/ SYS___semwait_signal_nocancel = 0x1a7, // 423 +/*line: 464*/ SYS___mac_mount = 0x1a8, // 424 +/*line: 465*/ SYS___mac_get_mount = 0x1a9, // 425 +/*line: 466*/ SYS___mac_getfsstat = 0x1aa, // 426 +/*line: 467*/ SYS_fsgetpath = 0x1ab, // 427 +/*line: 468*/ SYS_audit_session_self = 0x1ac, // 428 +/*line: 469*/ SYS_audit_session_join = 0x1ad, // 429 +/*line: 470*/ SYS_fileport_makeport = 0x1ae, // 430 +/*line: 471*/ SYS_fileport_makefd = 0x1af, // 431 +/*line: 472*/ SYS_audit_session_port = 0x1b0, // 432 +/*line: 473*/ SYS_pid_suspend = 0x1b1, // 433 +/*line: 474*/ SYS_pid_resume = 0x1b2, // 434 +/*line: 475*/ SYS_pid_hibernate = 0x1b3, // 435 +/*line: 476*/ SYS_pid_shutdown_sockets = 0x1b4, // 436 +/* 438 old shared_region_map_and_slide_np */ +/*line: 479*/ SYS_kas_info = 0x1b7, // 439 +/*line: 480*/ SYS_memorystatus_control = 0x1b8, // 440 +/*line: 481*/ SYS_guarded_open_np = 0x1b9, // 441 +/*line: 482*/ SYS_guarded_close_np = 0x1ba, // 442 +/*line: 483*/ SYS_guarded_kqueue_np = 0x1bb, // 443 +/*line: 484*/ SYS_change_fdguard_np = 0x1bc, // 444 +/*line: 485*/ SYS_usrctl = 0x1bd, // 445 +/*line: 486*/ SYS_proc_rlimit_control = 0x1be, // 446 +/*line: 487*/ SYS_connectx = 0x1bf, // 447 +/*line: 488*/ SYS_disconnectx = 0x1c0, // 448 +/*line: 489*/ SYS_peeloff = 0x1c1, // 449 +/*line: 490*/ SYS_socket_delegate = 0x1c2, // 450 +/*line: 491*/ SYS_telemetry = 0x1c3, // 451 +/*line: 492*/ SYS_proc_uuid_policy = 0x1c4, // 452 +/*line: 493*/ SYS_memorystatus_get_level = 0x1c5, // 453 +/*line: 494*/ SYS_system_override = 0x1c6, // 454 +/*line: 495*/ SYS_vfs_purge = 0x1c7, // 455 +/*line: 496*/ SYS_sfi_ctl = 0x1c8, // 456 +/*line: 497*/ SYS_sfi_pidctl = 0x1c9, // 457 +/*line: 498*/ SYS_coalition = 0x1ca, // 458 +/*line: 499*/ SYS_coalition_info = 0x1cb, // 459 +/*line: 500*/ SYS_necp_match_policy = 0x1cc, // 460 +/*line: 501*/ SYS_getattrlistbulk = 0x1cd, // 461 +/*line: 502*/ SYS_clonefileat = 0x1ce, // 462 +/*line: 503*/ SYS_openat = 0x1cf, // 463 +/*line: 504*/ SYS_openat_nocancel = 0x1d0, // 464 +/*line: 505*/ SYS_renameat = 0x1d1, // 465 +/*line: 506*/ SYS_faccessat = 0x1d2, // 466 +/*line: 507*/ SYS_fchmodat = 0x1d3, // 467 +/*line: 508*/ SYS_fchownat = 0x1d4, // 468 +/*line: 509*/ SYS_fstatat = 0x1d5, // 469 +/*line: 510*/ SYS_fstatat64 = 0x1d6, // 470 +/*line: 511*/ SYS_linkat = 0x1d7, // 471 +/*line: 512*/ SYS_unlinkat = 0x1d8, // 472 +/*line: 513*/ SYS_readlinkat = 0x1d9, // 473 +/*line: 514*/ SYS_symlinkat = 0x1da, // 474 +/*line: 515*/ SYS_mkdirat = 0x1db, // 475 +/*line: 516*/ SYS_getattrlistat = 0x1dc, // 476 +/*line: 517*/ SYS_proc_trace_log = 0x1dd, // 477 +/*line: 518*/ SYS_bsdthread_ctl = 0x1de, // 478 +/*line: 519*/ SYS_openbyid_np = 0x1df, // 479 +/*line: 520*/ SYS_recvmsg_x = 0x1e0, // 480 +/*line: 521*/ SYS_sendmsg_x = 0x1e1, // 481 +/*line: 522*/ SYS_thread_selfusage = 0x1e2, // 482 +/*line: 523*/ SYS_csrctl = 0x1e3, // 483 +/*line: 524*/ SYS_guarded_open_dprotected_np = 0x1e4, // 484 +/*line: 525*/ SYS_guarded_write_np = 0x1e5, // 485 +/*line: 526*/ SYS_guarded_pwrite_np = 0x1e6, // 486 +/*line: 527*/ SYS_guarded_writev_np = 0x1e7, // 487 +/*line: 528*/ SYS_renameatx_np = 0x1e8, // 488 +/*line: 529*/ SYS_mremap_encrypted = 0x1e9, // 489 +/*line: 530*/ SYS_netagent_trigger = 0x1ea, // 490 +/*line: 531*/ SYS_stack_snapshot_with_config = 0x1eb, // 491 +/*line: 532*/ SYS_microstackshot = 0x1ec, // 492 +/*line: 533*/ SYS_grab_pgo_data = 0x1ed, // 493 +/*line: 534*/ SYS_persona = 0x1ee, // 494 +/* 495 */ +/*line: 536*/ SYS_mach_eventlink_signal = 0x1f0, // 496 +/*line: 537*/ SYS_mach_eventlink_wait_until = 0x1f1, // 497 +/*line: 538*/ SYS_mach_eventlink_signal_wait_until = 0x1f2, // 498 +/*line: 539*/ SYS_work_interval_ctl = 0x1f3, // 499 +/*line: 540*/ SYS_getentropy = 0x1f4, // 500 +/*line: 541*/ SYS_necp_open = 0x1f5, // 501 +/*line: 542*/ SYS_necp_client_action = 0x1f6, // 502 +/*line: 543*/ SYS___nexus_open = 0x1f7, // 503 +/*line: 544*/ SYS___nexus_register = 0x1f8, // 504 +/*line: 545*/ SYS___nexus_deregister = 0x1f9, // 505 +/*line: 546*/ SYS___nexus_create = 0x1fa, // 506 +/*line: 547*/ SYS___nexus_destroy = 0x1fb, // 507 +/*line: 548*/ SYS___nexus_get_opt = 0x1fc, // 508 +/*line: 549*/ SYS___nexus_set_opt = 0x1fd, // 509 +/*line: 550*/ SYS___channel_open = 0x1fe, // 510 +/*line: 551*/ SYS___channel_get_info = 0x1ff, // 511 +/*line: 552*/ SYS___channel_sync = 0x200, // 512 +/*line: 553*/ SYS___channel_get_opt = 0x201, // 513 +/*line: 554*/ SYS___channel_set_opt = 0x202, // 514 +/*line: 555*/ SYS_ulock_wait = 0x203, // 515 +/*line: 556*/ SYS_ulock_wake = 0x204, // 516 +/*line: 557*/ SYS_fclonefileat = 0x205, // 517 +/*line: 558*/ SYS_fs_snapshot = 0x206, // 518 +/*line: 559*/ SYS_register_uexc_handler = 0x207, // 519 +/*line: 560*/ SYS_terminate_with_payload = 0x208, // 520 +/*line: 561*/ SYS_abort_with_payload = 0x209, // 521 +/*line: 562*/ SYS_necp_session_open = 0x20a, // 522 +/*line: 563*/ SYS_necp_session_action = 0x20b, // 523 +/*line: 564*/ SYS_setattrlistat = 0x20c, // 524 +/*line: 565*/ SYS_net_qos_guideline = 0x20d, // 525 +/*line: 566*/ SYS_fmount = 0x20e, // 526 +/*line: 567*/ SYS_ntp_adjtime = 0x20f, // 527 +/*line: 568*/ SYS_ntp_gettime = 0x210, // 528 +/*line: 569*/ SYS_os_fault_with_payload = 0x211, // 529 +/*line: 570*/ SYS_kqueue_workloop_ctl = 0x212, // 530 +/*line: 571*/ SYS___mach_bridge_remote_time = 0x213, // 531 +/*line: 572*/ SYS_coalition_ledger = 0x214, // 532 +/*line: 573*/ SYS_log_data = 0x215, // 533 +/*line: 574*/ SYS_memorystatus_available_memory = 0x216, // 534 +/*line: 575*/ SYS_objc_bp_assist_cfg_np = 0x217, // 535 +/*line: 576*/ SYS_shared_region_map_and_slide_2_np = 0x218, // 536 +/*line: 577*/ SYS_pivot_root = 0x219, // 537 +/*line: 578*/ SYS_task_inspect_for_pid = 0x21a, // 538 +/*line: 579*/ SYS_task_read_for_pid = 0x21b, // 539 +/*line: 580*/ SYS_preadv = 0x21c, // 540 +/*line: 581*/ SYS_pwritev = 0x21d, // 541 +/*line: 582*/ SYS_preadv_nocancel = 0x21e, // 542 +/*line: 583*/ SYS_pwritev_nocancel = 0x21f, // 543 +/*line: 584*/ SYS_ulock_wait2 = 0x220, // 544 +/*line: 585*/ SYS_proc_info_extended_id = 0x221, // 545 +/*line: 586*/ SYS_tracker_action = 0x222, // 546 +/*line: 587*/ SYS_debug_syscall_reject = 0x223, // 547 +/*line: 588*/ SYS_debug_syscall_reject_config = 0x224, // 548 +/*line: 589*/ SYS_graftdmg = 0x225, // 549 +/*line: 590*/ SYS_map_with_linking_np = 0x226, // 550 +/*line: 591*/ SYS_freadlink = 0x227, // 551 +/*line: 592*/ SYS_record_system_event = 0x228, // 552 +/*line: 593*/ SYS_mkfifoat = 0x229, // 553 +/*line: 594*/ SYS_mknodat = 0x22a, // 554 +/*line: 595*/ SYS_ungraftdmg = 0x22b, // 555 +/*line: 596*/ SYS_coalition_policy_set = 0x22c, // 556 +/*line: 597*/ SYS_coalition_policy_get = 0x22d, // 557 +/*line: 598*/ SYS_MAXSYSCALL = 0x22e, // 558 +/*line: 599*/ SYS_invalid = 0x3f, // 63 +}; + diff --git a/macrodefs_enums/ios/sys/sysctl.h b/macrodefs_enums/ios/sys/sysctl.h new file mode 100644 index 000000000..b9b0b42b1 --- /dev/null +++ b/macrodefs_enums/ios/sys/sysctl.h @@ -0,0 +1,353 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/sysctl.h + +enum macro_sysctl_names { +/* + * Definitions for sysctl call. The sysctl call uses a hierarchical name + * for objects that can be examined or modified. The name is expressed as + * a sequence of integers. Like a file path name, the meaning of each + * component depends on its place in the hierarchy. The top-level and kern + * identifiers are defined here, and other identifiers are defined in the + * respective subsystem header files. + */ +/*line: 97*/ CTL_MAXNAME = 0xc, /* largest number of components supported */ // 12 +}; + +// Depends on identifiers +enum macro_sysctl_flags { +/*line: 138*/ CTLTYPE = 0xf, /* Mask for the type */ // 0xf +/*line: 139*/ CTLTYPE_NODE = 0x1, /* name is a node */ // 1 +/*line: 140*/ CTLTYPE_INT = 0x2, /* name describes an integer */ // 2 +/*line: 141*/ CTLTYPE_STRING = 0x3, /* name describes a string */ // 3 +/*line: 142*/ CTLTYPE_QUAD = 0x4, /* name describes a 64-bit number */ // 4 +/*line: 143*/ CTLTYPE_OPAQUE = 0x5, /* name describes a structure */ // 5 +/*line: 144*/ CTLTYPE_STRUCT = 0x5, /* name describes a structure */ // CTLTYPE_OPAQUE +/*line: 146*/ CTLFLAG_RD = 0x80000000, /* Allow reads of variable */ // 0x80000000 +/*line: 147*/ CTLFLAG_WR = 0x40000000, /* Allow writes to the variable */ // 0x40000000 +/*line: 148*/ CTLFLAG_RW = 0xc0000000, // (CTLFLAG_RD|CTLFLAG_WR) +/*line: 149*/ CTLFLAG_NOLOCK = 0x20000000, /* XXX Don't Lock */ // 0x20000000 +/*line: 150*/ CTLFLAG_ANYBODY = 0x10000000, /* All users can set this var */ // 0x10000000 +/*line: 151*/ CTLFLAG_SECURE = 0x8000000, /* Permit set only if securelevel<=0 */ // 0x08000000 +/*line: 152*/ CTLFLAG_MASKED = 0x4000000, /* deprecated variable, do not display */ // 0x04000000 +/*line: 153*/ CTLFLAG_NOAUTO = 0x2000000, /* do not auto-register */ // 0x02000000 +/*line: 154*/ CTLFLAG_KERN = 0x1000000, /* valid inside the kernel */ // 0x01000000 +/*line: 155*/ CTLFLAG_LOCKED = 0x800000, /* node will handle locking itself */ // 0x00800000 +/*line: 156*/ CTLFLAG_OID2 = 0x400000, /* struct sysctl_oid has version info */ // 0x00400000 +/*line: 157*/ CTLFLAG_EXPERIMENT = 0x100000, /* Allows writing w/ the trial experiment entitlement. */ // 0x00100000 +}; + +enum macro_sysctl_oid { +/* + * USE THIS instead of a hardwired number from the categories below + * to get dynamically assigned sysctl entries using the linker-set + * technology. This is the way nearly all new sysctl variables should + * be implemented. + * + * e.g. SYSCTL_INT(_parent, OID_AUTO, name, CTLFLAG_RW, &variable, 0, ""); + * + * Note that linker set technology will automatically register all nodes + * declared like this on kernel initialization, UNLESS they are defined + * in I/O-Kit. In this case, you have to call sysctl_register_oid() + * manually - just like in a KEXT. + */ +/*line: 172*/ OID_AUTO = -0x1, // (-1) +/*line: 173*/ OID_AUTO_START = 0x64, /* conventional */ // 100 +}; + +enum macro_sysctl_id { +/* + * Top-level identifiers + */ +/*line: 182*/ CTL_UNSPEC = 0x0, /* unused */ // 0 +/*line: 183*/ CTL_KERN = 0x1, /* "high kernel": proc, limits */ // 1 +/*line: 184*/ CTL_VM = 0x2, /* virtual memory */ // 2 +/*line: 185*/ CTL_VFS = 0x3, /* file system, mount type is next */ // 3 +/*line: 186*/ CTL_NET = 0x4, /* network, see socket.h */ // 4 +/*line: 187*/ CTL_DEBUG = 0x5, /* debugging parameters */ // 5 +/*line: 188*/ CTL_HW = 0x6, /* generic cpu/io */ // 6 +/*line: 189*/ CTL_MACHDEP = 0x7, /* machine dependent */ // 7 +/*line: 190*/ CTL_USER = 0x8, /* user-level */ // 8 +/*line: 191*/ CTL_MAXID = 0x9, /* number of valid top-level ids */ // 9 +}; + +// Depends on identifiers +enum macro_ctlkern_identifiers { +/* + * CTL_KERN identifiers + */ +/*line: 208*/ KERN_OSTYPE = 0x1, /* string: system version */ // 1 +/*line: 209*/ KERN_OSRELEASE = 0x2, /* string: system release */ // 2 +/*line: 210*/ KERN_OSREV = 0x3, /* int: system revision */ // 3 +/*line: 211*/ KERN_VERSION = 0x4, /* string: compile time info */ // 4 +/*line: 212*/ KERN_MAXVNODES = 0x5, /* int: max vnodes */ // 5 +/*line: 213*/ KERN_MAXPROC = 0x6, /* int: max processes */ // 6 +/*line: 214*/ KERN_MAXFILES = 0x7, /* int: max open files */ // 7 +/*line: 215*/ KERN_ARGMAX = 0x8, /* int: max arguments to exec */ // 8 +/*line: 216*/ KERN_SECURELVL = 0x9, /* int: system security level */ // 9 +/*line: 217*/ KERN_HOSTNAME = 0xa, /* string: hostname */ // 10 +/*line: 218*/ KERN_HOSTID = 0xb, /* int: host identifier */ // 11 +/*line: 219*/ KERN_CLOCKRATE = 0xc, /* struct: struct clockrate */ // 12 +/*line: 220*/ KERN_VNODE = 0xd, /* struct: vnode structures */ // 13 +/*line: 221*/ KERN_PROC = 0xe, /* struct: process entries */ // 14 +/*line: 222*/ KERN_FILE = 0xf, /* struct: file entries */ // 15 +/*line: 223*/ KERN_PROF = 0x10, /* node: kernel profiling info */ // 16 +/*line: 224*/ KERN_POSIX1 = 0x11, /* int: POSIX.1 version */ // 17 +/*line: 225*/ KERN_NGROUPS = 0x12, /* int: # of supplemental group ids */ // 18 +/*line: 226*/ KERN_JOB_CONTROL = 0x13, /* int: is job control available */ // 19 +/*line: 227*/ KERN_SAVED_IDS = 0x14, /* int: saved set-user/group-ID */ // 20 +/*line: 228*/ KERN_BOOTTIME = 0x15, /* struct: time kernel was booted */ // 21 +/*line: 229*/ KERN_NISDOMAINNAME = 0x16, /* string: YP domain name */ // 22 +/*line: 230*/ KERN_DOMAINNAME = 0x16, // KERN_NISDOMAINNAME +/*line: 231*/ KERN_MAXPARTITIONS = 0x17, /* int: number of partitions/disk */ // 23 +/*line: 232*/ KERN_KDEBUG = 0x18, /* int: kernel trace points */ // 24 +/*line: 233*/ KERN_UPDATEINTERVAL = 0x19, /* int: update process sleep time */ // 25 +/*line: 234*/ KERN_OSRELDATE = 0x1a, /* int: OS release date */ // 26 +/*line: 235*/ KERN_NTP_PLL = 0x1b, /* node: NTP PLL control */ // 27 +/*line: 236*/ KERN_BOOTFILE = 0x1c, /* string: name of booted kernel */ // 28 +/*line: 237*/ KERN_MAXFILESPERPROC = 0x1d, /* int: max open files per proc */ // 29 +/*line: 238*/ KERN_MAXPROCPERUID = 0x1e, /* int: max processes per uid */ // 30 +/*line: 239*/ KERN_DUMPDEV = 0x1f, /* dev_t: device to dump on */ // 31 +/*line: 240*/ KERN_IPC = 0x20, /* node: anything related to IPC */ // 32 +/*line: 241*/ KERN_DUMMY = 0x21, /* unused */ // 33 +/*line: 242*/ KERN_PS_STRINGS = 0x22, /* int: address of PS_STRINGS */ // 34 +/*line: 243*/ KERN_USRSTACK32 = 0x23, /* int: address of USRSTACK */ // 35 +/*line: 244*/ KERN_LOGSIGEXIT = 0x24, /* int: do we log sigexit procs? */ // 36 +/*line: 245*/ KERN_SYMFILE = 0x25, /* string: kernel symbol filename */ // 37 +/*line: 246*/ KERN_PROCARGS = 0x26, // 38 +/* 39 was KERN_PCSAMPLES... now obsolete */ +/*line: 248*/ KERN_NETBOOT = 0x28, /* int: are we netbooted? 1=yes,0=no */ // 40 +/* 41 was KERN_PANICINFO : panic UI information (deprecated) */ +/*line: 250*/ KERN_SYSV = 0x2a, /* node: System V IPC information */ // 42 +/*line: 251*/ KERN_AFFINITY = 0x2b, /* xxx */ // 43 +/*line: 252*/ KERN_TRANSLATE = 0x2c, /* xxx */ // 44 +/*line: 253*/ KERN_CLASSIC = 0x2c, /* XXX backwards compat */ // KERN_TRANSLATE +/*line: 254*/ KERN_EXEC = 0x2d, /* xxx */ // 45 +/*line: 255*/ KERN_CLASSICHANDLER = 0x2d, /* XXX backwards compatibility */ // KERN_EXEC +/*line: 256*/ KERN_AIOMAX = 0x2e, /* int: max aio requests */ // 46 +/*line: 257*/ KERN_AIOPROCMAX = 0x2f, /* int: max aio requests per process */ // 47 +/*line: 258*/ KERN_AIOTHREADS = 0x30, /* int: max aio worker threads */ // 48 +/*line: 260*/ KERN_PROCARGS2 = 0x31, // 49 +/*line: 262*/ KERN_COREFILE = 0x32, /* string: corefile format string */ // 50 +/*line: 263*/ KERN_COREDUMP = 0x33, /* int: whether to coredump at all */ // 51 +/*line: 264*/ KERN_SUGID_COREDUMP = 0x34, /* int: whether to dump SUGID cores */ // 52 +/*line: 265*/ KERN_PROCDELAYTERM = 0x35, /* int: set/reset current proc for delayed termination during shutdown */ // 53 +/*line: 266*/ KERN_SHREG_PRIVATIZABLE = 0x36, /* int: can shared regions be privatized ? */ // 54 +/* 55 was KERN_PROC_LOW_PRI_IO... now deprecated */ +/*line: 268*/ KERN_LOW_PRI_WINDOW = 0x38, /* int: set/reset throttle window - milliseconds */ // 56 +/*line: 269*/ KERN_LOW_PRI_DELAY = 0x39, /* int: set/reset throttle delay - milliseconds */ // 57 +/*line: 270*/ KERN_POSIX = 0x3a, /* node: posix tunables */ // 58 +/*line: 271*/ KERN_USRSTACK64 = 0x3b, /* LP64 user stack query */ // 59 +/*line: 272*/ KERN_NX_PROTECTION = 0x3c, /* int: whether no-execute protection is enabled */ // 60 +/*line: 273*/ KERN_TFP = 0x3d, /* Task for pid settings */ // 61 +/*line: 274*/ KERN_PROCNAME = 0x3e, /* setup process program name(2*MAXCOMLEN) */ // 62 +/*line: 275*/ KERN_THALTSTACK = 0x3f, /* for compat with older x86 and does nothing */ // 63 +/*line: 276*/ KERN_SPECULATIVE_READS = 0x40, /* int: whether speculative reads are disabled */ // 64 +/*line: 277*/ KERN_OSVERSION = 0x41, /* for build number i.e. 9A127 */ // 65 +/*line: 278*/ KERN_SAFEBOOT = 0x42, /* are we booted safe? */ // 66 +/* 67 was KERN_LCTX (login context) */ +/*line: 280*/ KERN_RAGEVNODE = 0x44, // 68 +/*line: 281*/ KERN_TTY = 0x45, /* node: tty settings */ // 69 +/*line: 282*/ KERN_CHECKOPENEVT = 0x46, /* spi: check the VOPENEVT flag on vnodes at open time */ // 70 +/*line: 283*/ KERN_THREADNAME = 0x47, /* set/get thread name */ // 71 +/*line: 284*/ KERN_MAXID = 0x48, /* number of valid kern ids */ // 72 +}; + +// Depends on identifiers +enum macro_ctl_kern_usrstack { +/*line: 293*/ KERN_USRSTACK = 0x3b, // KERN_USRSTACK64 +}; + +enum macro_kern_ragevnode { +/* KERN_RAGEVNODE types */ +/*line: 300*/ KERN_RAGE_PROC = 0x1, // 1 +/*line: 301*/ KERN_RAGE_THREAD = 0x2, // 2 +/*line: 302*/ KERN_UNRAGE_PROC = 0x3, // 3 +/*line: 303*/ KERN_UNRAGE_THREAD = 0x4, // 4 +}; + +enum macro_kernevent_type { +/* KERN_OPENEVT types */ +/*line: 306*/ KERN_OPENEVT_PROC = 0x1, // 1 +/*line: 307*/ KERN_UNOPENEVT_PROC = 0x2, // 2 +}; + +enum macro_kern_tfp_policy { +/* KERN_TFP types */ +/*line: 310*/ KERN_TFP_POLICY = 0x1, // 1 +}; + +enum macro_tfp_policy { +/* KERN_TFP_POLICY values . All policies allow task port for self */ +/*line: 313*/ KERN_TFP_POLICY_DENY = 0x0, /* Deny Mode: None allowed except privileged */ // 0 +/*line: 314*/ KERN_TFP_POLICY_DEFAULT = 0x2, /* Default Mode: related ones allowed and upcall authentication */ // 2 +}; + +enum macro_kern_kdebug_types { +/* KERN_KDEBUG types */ +/*line: 317*/ KERN_KDEFLAGS = 0x1, // 1 +/*line: 318*/ KERN_KDDFLAGS = 0x2, // 2 +/*line: 319*/ KERN_KDENABLE = 0x3, // 3 +/*line: 320*/ KERN_KDSETBUF = 0x4, // 4 +/*line: 321*/ KERN_KDGETBUF = 0x5, // 5 +/*line: 322*/ KERN_KDSETUP = 0x6, // 6 +/*line: 323*/ KERN_KDREMOVE = 0x7, // 7 +/*line: 324*/ KERN_KDSETREG = 0x8, // 8 +/*line: 325*/ KERN_KDGETREG = 0x9, // 9 +/*line: 326*/ KERN_KDREADTR = 0xa, // 10 +/*line: 327*/ KERN_KDPIDTR = 0xb, // 11 +/*line: 328*/ KERN_KDTHRMAP = 0xc, // 12 +/* Don't use 13 as it is overloaded with KERN_VNODE */ +/*line: 330*/ KERN_KDPIDEX = 0xe, // 14 +/*line: 331*/ KERN_KDSETRTCDEC = 0xf, /* obsolete */ // 15 +/*line: 332*/ KERN_KDGETENTROPY = 0x10, /* obsolete */ // 16 +/*line: 333*/ KERN_KDWRITETR = 0x11, // 17 +/*line: 334*/ KERN_KDWRITEMAP = 0x12, // 18 +/*line: 335*/ KERN_KDTEST = 0x13, // 19 +/* 20 unused */ +/*line: 337*/ KERN_KDREADCURTHRMAP = 0x15, // 21 +/*line: 338*/ KERN_KDSET_TYPEFILTER = 0x16, // 22 +/*line: 339*/ KERN_KDBUFWAIT = 0x17, // 23 +/*line: 340*/ KERN_KDCPUMAP = 0x18, // 24 +/*line: 341*/ KERN_KDCPUMAP_EXT = 0x19, // 25 +/*line: 342*/ KERN_KDSET_EDM = 0x1a, // 26 +/*line: 343*/ KERN_KDGET_EDM = 0x1b, // 27 +/*line: 344*/ KERN_KDWRITETR_V3 = 0x1c, // 28 +}; + +enum macro_kern_proc_subtype { +/* + * KERN_PROC subtypes + */ +/*line: 431*/ KERN_PROC_ALL = 0x0, /* everything */ // 0 +/*line: 432*/ KERN_PROC_PID = 0x1, /* by process id */ // 1 +/*line: 433*/ KERN_PROC_PGRP = 0x2, /* by process group id */ // 2 +/*line: 434*/ KERN_PROC_SESSION = 0x3, /* by session of pid */ // 3 +/*line: 435*/ KERN_PROC_TTY = 0x4, /* by controlling tty */ // 4 +/*line: 436*/ KERN_PROC_UID = 0x5, /* by effective uid */ // 5 +/*line: 437*/ KERN_PROC_RUID = 0x6, /* by real uid */ // 6 +/*line: 438*/ KERN_PROC_LCID = 0x7, /* by login context id */ // 7 +}; + +enum macro_kern_vfsnspace_handle { +/* + * KERN_VFSNSPACE subtypes + */ +/*line: 443*/ KERN_VFSNSPACE_HANDLE_PROC = 0x1, // 1 +/*line: 444*/ KERN_VFSNSPACE_UNHANDLE_PROC = 0x2, // 2 +}; + +enum macro_process_flags { +/*line: 481*/ WMESGLEN = 0x7, // 7 +/*line: 488*/ EPROC_CTTY = 0x1, /* controlling tty vnode active */ // 0x01 +/*line: 489*/ EPROC_SLEADER = 0x2, /* session leader */ // 0x02 +/*line: 490*/ COMAPT_MAXLOGNAME = 0xc, // 12 +}; + +enum macro_kernel_ipc_info { +/* + * KERN_IPC identifiers + */ +/*line: 501*/ KIPC_MAXSOCKBUF = 0x1, /* int: max size of a socket buffer */ // 1 +/*line: 502*/ KIPC_SOCKBUF_WASTE = 0x2, /* int: wastage factor in sockbuf */ // 2 +/*line: 503*/ KIPC_SOMAXCONN = 0x3, /* int: max length of connection q */ // 3 +/*line: 504*/ KIPC_MAX_LINKHDR = 0x4, /* int: max length of link header */ // 4 +/*line: 505*/ KIPC_MAX_PROTOHDR = 0x5, /* int: max length of network header */ // 5 +/*line: 506*/ KIPC_MAX_HDR = 0x6, /* int: max total length of headers */ // 6 +/*line: 507*/ KIPC_MAX_DATALEN = 0x7, /* int: max length of data? */ // 7 +/*line: 508*/ KIPC_MBSTAT = 0x8, /* struct: mbuf usage statistics */ // 8 +/*line: 509*/ KIPC_NMBCLUSTERS = 0x9, /* int: maximum mbuf clusters */ // 9 +/*line: 510*/ KIPC_SOQLIMITCOMPAT = 0xa, /* int: socket queue limit */ // 10 +}; + +enum macro_vm_identifiers { +/* + * CTL_VM identifiers + */ +/*line: 515*/ VM_METER = 0x1, /* struct vmmeter */ // 1 +/*line: 516*/ VM_LOADAVG = 0x2, /* struct loadavg */ // 2 +/* + * Note: "3" was skipped sometime ago and should probably remain unused + * to avoid any new entry from being accepted by older kernels... + */ +/*line: 521*/ VM_MACHFACTOR = 0x4, /* struct loadavg with mach factor*/ // 4 +/*line: 522*/ VM_SWAPUSAGE = 0x5, /* total swap usage */ // 5 +/*line: 523*/ VM_MAXID = 0x6, /* number of valid vm ids */ // 6 +}; + +enum macro_lscale { +/*line: 550*/ LSCALE = 0x3e8, /* scaling for "fixed point" arithmetic */ // 1000 +}; + +enum macro_hw_identifiers { +/* + * CTL_HW identifiers + */ +/*line: 558*/ HW_MACHINE = 0x1, /* string: machine class (deprecated: use HW_PRODUCT) */ // 1 +/*line: 559*/ HW_MODEL = 0x2, /* string: specific machine model (deprecated: use HW_TARGET) */ // 2 +/*line: 560*/ HW_NCPU = 0x3, /* int: number of cpus */ // 3 +/*line: 561*/ HW_BYTEORDER = 0x4, /* int: machine byte order */ // 4 +/*line: 562*/ HW_PHYSMEM = 0x5, /* int: total memory */ // 5 +/*line: 563*/ HW_USERMEM = 0x6, /* int: non-kernel memory */ // 6 +/*line: 564*/ HW_PAGESIZE = 0x7, /* int: software page size */ // 7 +/*line: 565*/ HW_DISKNAMES = 0x8, /* strings: disk drive names */ // 8 +/*line: 566*/ HW_DISKSTATS = 0x9, /* struct: diskstats[] */ // 9 +/*line: 567*/ HW_EPOCH = 0xa, /* int: 0 for Legacy, else NewWorld */ // 10 +/*line: 568*/ HW_FLOATINGPT = 0xb, /* int: has HW floating point? */ // 11 +/*line: 569*/ HW_MACHINE_ARCH = 0xc, /* string: machine architecture */ // 12 +/*line: 570*/ HW_VECTORUNIT = 0xd, /* int: has HW vector unit? */ // 13 +/*line: 571*/ HW_BUS_FREQ = 0xe, /* int: Bus Frequency */ // 14 +/*line: 572*/ HW_CPU_FREQ = 0xf, /* int: CPU Frequency */ // 15 +/*line: 573*/ HW_CACHELINE = 0x10, /* int: Cache Line Size in Bytes */ // 16 +/*line: 574*/ HW_L1ICACHESIZE = 0x11, /* int: L1 I Cache Size in Bytes */ // 17 +/*line: 575*/ HW_L1DCACHESIZE = 0x12, /* int: L1 D Cache Size in Bytes */ // 18 +/*line: 576*/ HW_L2SETTINGS = 0x13, /* int: L2 Cache Settings */ // 19 +/*line: 577*/ HW_L2CACHESIZE = 0x14, /* int: L2 Cache Size in Bytes */ // 20 +/*line: 578*/ HW_L3SETTINGS = 0x15, /* int: L3 Cache Settings */ // 21 +/*line: 579*/ HW_L3CACHESIZE = 0x16, /* int: L3 Cache Size in Bytes */ // 22 +/*line: 580*/ HW_TB_FREQ = 0x17, /* int: Bus Frequency */ // 23 +/*line: 581*/ HW_MEMSIZE = 0x18, /* uint64_t: physical ram size */ // 24 +/*line: 582*/ HW_AVAILCPU = 0x19, /* int: number of available CPUs */ // 25 +/*line: 583*/ HW_TARGET = 0x1a, /* string: model identifier */ // 26 +/*line: 584*/ HW_PRODUCT = 0x1b, /* string: product identifier */ // 27 +/*line: 585*/ HW_MAXID = 0x1c, /* number of valid hw ids */ // 28 +}; + +enum macro_user_constants { +/* + * CTL_USER definitions + */ +/*line: 729*/ USER_CS_PATH = 0x1, /* string: _CS_PATH */ // 1 +/*line: 730*/ USER_BC_BASE_MAX = 0x2, /* int: BC_BASE_MAX */ // 2 +/*line: 731*/ USER_BC_DIM_MAX = 0x3, /* int: BC_DIM_MAX */ // 3 +/*line: 732*/ USER_BC_SCALE_MAX = 0x4, /* int: BC_SCALE_MAX */ // 4 +/*line: 733*/ USER_BC_STRING_MAX = 0x5, /* int: BC_STRING_MAX */ // 5 +/*line: 734*/ USER_COLL_WEIGHTS_MAX = 0x6, /* int: COLL_WEIGHTS_MAX */ // 6 +/*line: 735*/ USER_EXPR_NEST_MAX = 0x7, /* int: EXPR_NEST_MAX */ // 7 +/*line: 736*/ USER_LINE_MAX = 0x8, /* int: LINE_MAX */ // 8 +/*line: 737*/ USER_RE_DUP_MAX = 0x9, /* int: RE_DUP_MAX */ // 9 +/*line: 738*/ USER_POSIX2_VERSION = 0xa, /* int: POSIX2_VERSION */ // 10 +/*line: 739*/ USER_POSIX2_C_BIND = 0xb, /* int: POSIX2_C_BIND */ // 11 +/*line: 740*/ USER_POSIX2_C_DEV = 0xc, /* int: POSIX2_C_DEV */ // 12 +/*line: 741*/ USER_POSIX2_CHAR_TERM = 0xd, /* int: POSIX2_CHAR_TERM */ // 13 +/*line: 742*/ USER_POSIX2_FORT_DEV = 0xe, /* int: POSIX2_FORT_DEV */ // 14 +/*line: 743*/ USER_POSIX2_FORT_RUN = 0xf, /* int: POSIX2_FORT_RUN */ // 15 +/*line: 744*/ USER_POSIX2_LOCALEDEF = 0x10, /* int: POSIX2_LOCALEDEF */ // 16 +/*line: 745*/ USER_POSIX2_SW_DEV = 0x11, /* int: POSIX2_SW_DEV */ // 17 +/*line: 746*/ USER_POSIX2_UPE = 0x12, /* int: POSIX2_UPE */ // 18 +/*line: 747*/ USER_STREAM_MAX = 0x13, /* int: POSIX2_STREAM_MAX */ // 19 +/*line: 748*/ USER_TZNAME_MAX = 0x14, /* int: POSIX2_TZNAME_MAX */ // 20 +/*line: 749*/ USER_MAXID = 0x15, /* number of valid user ids */ // 21 +}; + +enum macro_debug_variable_type { +/* + * CTL_DEBUG definitions + * + * Second level identifier specifies which debug variable. + * Third level identifier specifies which stucture component. + */ +/*line: 783*/ CTL_DEBUG_NAME = 0x0, /* string: variable name */ // 0 +/*line: 784*/ CTL_DEBUG_VALUE = 0x1, /* int: variable value */ // 1 +/*line: 785*/ CTL_DEBUG_MAXID = 0x14, // 20 +}; + diff --git a/macrodefs_enums/ios/sys/syslimits.h b/macrodefs_enums/ios/sys/syslimits.h new file mode 100644 index 000000000..f21b712d9 --- /dev/null +++ b/macrodefs_enums/ios/sys/syslimits.h @@ -0,0 +1,33 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/syslimits.h + +enum macro_syslimits { +/*line: 76*/ ARG_MAX = 0x40000, // (256*1024) +/*line: 85*/ CHILD_MAX = 0x10a, /* max simultaneous processes */ // 266 +/*line: 86*/ GID_MAX = 0x7fffffff, /* max value for a gid_t (2^31-2) */ // 2147483647U +/*line: 88*/ LINK_MAX = 0x7fff, /* max file link count */ // 32767 +/*line: 89*/ MAX_CANON = 0x400, /* max bytes in term canon input line */ // 1024 +/*line: 90*/ MAX_INPUT = 0x400, /* max bytes in terminal input */ // 1024 +/* + * NOTE: Many filesystems (including HFS & APFS) may support names longer than `NAME_MAX` bytes. + * See manpage for `getdirentries` and `readdir` for details. + */ +/*line: 95*/ NAME_MAX = 0xff, /* max bytes in a file name */ // 255 +/*line: 96*/ NGROUPS_MAX = 0x10, /* max supplemental group id's */ // 16 +/*line: 98*/ UID_MAX = 0x7fffffff, /* max value for a uid_t (2^31-2) */ // 2147483647U +/*line: 100*/ OPEN_MAX = 0x2800, /* max open files per process - todo, make a config option? */ // 10240 +/*line: 103*/ PATH_MAX = 0x400, /* max bytes in pathname */ // 1024 +/*line: 104*/ PIPE_BUF = 0x200, /* max bytes for atomic pipe writes */ // 512 +/*line: 106*/ BC_BASE_MAX = 0x63, /* max ibase/obase values in bc(1) */ // 99 +/*line: 107*/ BC_DIM_MAX = 0x800, /* max array elements in bc(1) */ // 2048 +/*line: 108*/ BC_SCALE_MAX = 0x63, /* max scale value in bc(1) */ // 99 +/*line: 109*/ BC_STRING_MAX = 0x3e8, /* max const string length in bc(1) */ // 1000 +/*line: 110*/ CHARCLASS_NAME_MAX = 0xe, /* max character class name size */ // 14 +/*line: 111*/ COLL_WEIGHTS_MAX = 0x2, /* max weights for order keyword */ // 2 +/*line: 112*/ EQUIV_CLASS_MAX = 0x2, // 2 +/*line: 113*/ EXPR_NEST_MAX = 0x20, /* max expressions nested in expr(1) */ // 32 +/*line: 114*/ LINE_MAX = 0x800, /* max bytes in an input line */ // 2048 +/*line: 115*/ RE_DUP_MAX = 0xff, /* max RE's in interval notation */ // 255 +/*line: 118*/ NZERO = 0x14, /* default priority [XSI] */ // 20 +}; + diff --git a/macrodefs_enums/ios/sys/syslog.h b/macrodefs_enums/ios/sys/syslog.h new file mode 100644 index 000000000..762100b36 --- /dev/null +++ b/macrodefs_enums/ios/sys/syslog.h @@ -0,0 +1,85 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/syslog.h + +enum macro_syslog_priority { +/* + * priorities/facilities are encoded into a single 32-bit quantity, where the + * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility + * (0-big number). Both the priorities and the facilities map roughly + * one-to-one to strings in the syslogd(8) source code. This mapping is + * included in this file. + * + * priorities (these are ordered) + */ +/*line: 78*/ LOG_EMERG = 0x0, /* system is unusable */ // 0 +/*line: 79*/ LOG_ALERT = 0x1, /* action must be taken immediately */ // 1 +/*line: 80*/ LOG_CRIT = 0x2, /* critical conditions */ // 2 +/*line: 81*/ LOG_ERR = 0x3, /* error conditions */ // 3 +/*line: 82*/ LOG_WARNING = 0x4, /* warning conditions */ // 4 +/*line: 83*/ LOG_NOTICE = 0x5, /* normal but significant condition */ // 5 +/*line: 84*/ LOG_INFO = 0x6, /* informational */ // 6 +/*line: 85*/ LOG_DEBUG = 0x7, /* debug-level messages */ // 7 +}; + +enum macro_log_priority_mask { +/*line: 87*/ LOG_PRIMASK = 0x7, /* mask to extract priority part (internal) */ // 0x07 +}; + +enum macro_log_facility { +/* facility codes */ +/*line: 119*/ LOG_KERN = 0x0, /* kernel messages */ // (0<<3) +/*line: 120*/ LOG_USER = 0x8, /* random user-level messages */ // (1<<3) +/*line: 121*/ LOG_MAIL = 0x10, /* mail system */ // (2<<3) +/*line: 122*/ LOG_DAEMON = 0x18, /* system daemons */ // (3<<3) +/*line: 123*/ LOG_AUTH = 0x20, /* authorization messages */ // (4<<3) +/*line: 124*/ LOG_SYSLOG = 0x28, /* messages generated internally by syslogd */ // (5<<3) +/*line: 125*/ LOG_LPR = 0x30, /* line printer subsystem */ // (6<<3) +/*line: 126*/ LOG_NEWS = 0x38, /* network news subsystem */ // (7<<3) +/*line: 127*/ LOG_UUCP = 0x40, /* UUCP subsystem */ // (8<<3) +/*line: 128*/ LOG_CRON = 0x48, /* clock daemon */ // (9<<3) +/*line: 129*/ LOG_AUTHPRIV = 0x50, /* authorization messages (private) */ // (10<<3) +/* event logging. */ +/*line: 133*/ LOG_FTP = 0x58, /* ftp daemon */ // (11<<3) +//#define LOG_CONSOLE (14<<3) /* /dev/console output */ +/*line: 137*/ LOG_NETINFO = 0x60, /* NetInfo */ // (12<<3) +/*line: 138*/ LOG_REMOTEAUTH = 0x68, /* remote authentication/authorization */ // (13<<3) +/*line: 139*/ LOG_INSTALL = 0x70, /* installer subsystem */ // (14<<3) +/*line: 140*/ LOG_RAS = 0x78, /* Remote Access Service (VPN / PPP) */ // (15<<3) +}; + +enum macro_local_facility { +/* other codes through 15 reserved for system use */ +/*line: 143*/ LOG_LOCAL0 = 0x80, /* reserved for local use */ // (16<<3) +/*line: 144*/ LOG_LOCAL1 = 0x88, /* reserved for local use */ // (17<<3) +/*line: 145*/ LOG_LOCAL2 = 0x90, /* reserved for local use */ // (18<<3) +/*line: 146*/ LOG_LOCAL3 = 0x98, /* reserved for local use */ // (19<<3) +/*line: 147*/ LOG_LOCAL4 = 0xa0, /* reserved for local use */ // (20<<3) +/*line: 148*/ LOG_LOCAL5 = 0xa8, /* reserved for local use */ // (21<<3) +/*line: 149*/ LOG_LOCAL6 = 0xb0, /* reserved for local use */ // (22<<3) +/*line: 150*/ LOG_LOCAL7 = 0xb8, /* reserved for local use */ // (23<<3) +}; + +enum macro_launchd_log_level { +/*line: 152*/ LOG_LAUNCHD = 0xc0, /* launchd - general bootstrap daemon */ // (24<<3) +}; + +enum macro_log_facilities { +/*line: 154*/ LOG_NFACILITIES = 0x19, /* current number of facilities */ // 25 +/*line: 155*/ LOG_FACMASK = 0x3f8, /* mask to extract facility part */ // 0x03f8 +}; + +enum macro_syslog_options { +/* + * Option flags for openlog. + * + * LOG_ODELAY no longer does anything. + * LOG_NDELAY is the inverse of what it used to be. + */ +/*line: 205*/ LOG_PID = 0x1, /* log the pid with each message */ // 0x01 +/*line: 206*/ LOG_CONS = 0x2, /* log on the console if errors in sending */ // 0x02 +/*line: 207*/ LOG_ODELAY = 0x4, /* delay open until first syslog() (default) */ // 0x04 +/*line: 208*/ LOG_NDELAY = 0x8, /* don't delay open */ // 0x08 +/*line: 209*/ LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */ // 0x10 +/*line: 210*/ LOG_PERROR = 0x20, /* log to stderr as well */ // 0x20 +}; + diff --git a/macrodefs_enums/ios/sys/termios.h b/macrodefs_enums/ios/sys/termios.h new file mode 100644 index 000000000..6e6574b92 --- /dev/null +++ b/macrodefs_enums/ios/sys/termios.h @@ -0,0 +1,203 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/termios.h + +enum macro_termios_cc_index { +/* + * Special Control Characters + * + * Index into c_cc[] character array. + * + * Name Subscript Enabled by + */ +/*line: 76*/ VEOF = 0x0, /* ICANON */ // 0 +/*line: 77*/ VEOL = 0x1, /* ICANON */ // 1 +/*line: 79*/ VEOL2 = 0x2, /* ICANON together with IEXTEN */ // 2 +/*line: 81*/ VERASE = 0x3, /* ICANON */ // 3 +/*line: 83*/ VWERASE = 0x4, /* ICANON together with IEXTEN */ // 4 +/*line: 85*/ VKILL = 0x5, /* ICANON */ // 5 +/*line: 87*/ VREPRINT = 0x6, /* ICANON together with IEXTEN */ // 6 +/* 7 spare 1 */ +/*line: 90*/ VINTR = 0x8, /* ISIG */ // 8 +/*line: 91*/ VQUIT = 0x9, /* ISIG */ // 9 +/*line: 92*/ VSUSP = 0xa, /* ISIG */ // 10 +/*line: 94*/ VDSUSP = 0xb, /* ISIG together with IEXTEN */ // 11 +/*line: 96*/ VSTART = 0xc, /* IXON, IXOFF */ // 12 +/*line: 97*/ VSTOP = 0xd, /* IXON, IXOFF */ // 13 +/*line: 99*/ VLNEXT = 0xe, /* IEXTEN */ // 14 +/*line: 100*/ VDISCARD = 0xf, /* IEXTEN */ // 15 +/*line: 102*/ VMIN = 0x10, /* !ICANON */ // 16 +/*line: 103*/ VTIME = 0x11, /* !ICANON */ // 17 +/*line: 105*/ VSTATUS = 0x12, /* ICANON together with IEXTEN */ // 18 +/*line: 108*/ NCCS = 0x14, // 20 +}; + +enum macro_termios_input_flags { +/* + * Input flags - software input processing + */ +/*line: 119*/ IGNBRK = 0x1, /* ignore BREAK condition */ // 0x00000001 +/*line: 120*/ BRKINT = 0x2, /* map BREAK to SIGINTR */ // 0x00000002 +/*line: 121*/ IGNPAR = 0x4, /* ignore (discard) parity errors */ // 0x00000004 +/*line: 122*/ PARMRK = 0x8, /* mark parity and framing errors */ // 0x00000008 +/*line: 123*/ INPCK = 0x10, /* enable checking of parity errors */ // 0x00000010 +/*line: 124*/ ISTRIP = 0x20, /* strip 8th bit off chars */ // 0x00000020 +/*line: 125*/ INLCR = 0x40, /* map NL into CR */ // 0x00000040 +/*line: 126*/ IGNCR = 0x80, /* ignore CR */ // 0x00000080 +/*line: 127*/ ICRNL = 0x100, /* map CR to NL (ala CRMOD) */ // 0x00000100 +/*line: 128*/ IXON = 0x200, /* enable output flow control */ // 0x00000200 +/*line: 129*/ IXOFF = 0x400, /* enable input flow control */ // 0x00000400 +/*line: 130*/ IXANY = 0x800, /* any char will restart after stop */ // 0x00000800 +/*line: 132*/ IMAXBEL = 0x2000, /* ring bell on input queue full */ // 0x00002000 +/*line: 133*/ IUTF8 = 0x4000, /* maintain state for UTF-8 VERASE */ // 0x00004000 +}; + +enum macro_termios_output_flags { +/* + * Output flags - software output processing + */ +/*line: 139*/ OPOST = 0x1, /* enable following output processing */ // 0x00000001 +/*line: 140*/ ONLCR = 0x2, /* map NL to CR-NL (ala CRMOD) */ // 0x00000002 +/*line: 142*/ OXTABS = 0x4, /* expand tabs to spaces */ // 0x00000004 +/*line: 143*/ ONOEOT = 0x8, /* discard EOT's (^D) on output) */ // 0x00000008 +/* + * The following block of features is unimplemented. Use of these flags in + * programs will currently result in unexpected behaviour. + * + * - Begin unimplemented features + */ +/*line: 151*/ OCRNL = 0x10, /* map CR to NL on output */ // 0x00000010 +/*line: 152*/ ONOCR = 0x20, /* no CR output at column 0 */ // 0x00000020 +/*line: 153*/ ONLRET = 0x40, /* NL performs CR function */ // 0x00000040 +/*line: 154*/ OFILL = 0x80, /* use fill characters for delay */ // 0x00000080 +/*line: 155*/ NLDLY = 0x300, /* \n delay */ // 0x00000300 +/*line: 156*/ TABDLY = 0xc04, /* horizontal tab delay */ // 0x00000c04 +/*line: 157*/ CRDLY = 0x3000, /* \r delay */ // 0x00003000 +/*line: 158*/ FFDLY = 0x4000, /* form feed delay */ // 0x00004000 +/*line: 159*/ BSDLY = 0x8000, /* \b delay */ // 0x00008000 +/*line: 160*/ VTDLY = 0x10000, /* vertical tab delay */ // 0x00010000 +/*line: 161*/ OFDEL = 0x20000, /* fill is DEL, else NUL */ // 0x00020000 +/* + * These manifest constants have the same names as those in the header + * , so you are not permitted to have both definitions + * in scope simultaneously in the same compilation unit. Nevertheless, + * they are required to be in scope when _POSIX_C_SOURCE is requested; + * this means that including the header before this + * one when _POSIX_C_SOURCE is in scope will result in redefintions. We + * attempt to maintain these as the same values so as to avoid this being + * an outright error in most compilers. + */ +/*line: 173*/ NL0 = 0x0, // 0x00000000 +/*line: 174*/ NL1 = 0x100, // 0x00000100 +/*line: 176*/ NL2 = 0x200, // 0x00000200 +/*line: 177*/ NL3 = 0x300, // 0x00000300 +/*line: 179*/ TAB0 = 0x0, // 0x00000000 +/*line: 180*/ TAB1 = 0x400, // 0x00000400 +/*line: 181*/ TAB2 = 0x800, // 0x00000800 +/* not in sys/ioctl_compat.h, use OXTABS value */ +/*line: 183*/ TAB3 = 0x4, // 0x00000004 +/*line: 184*/ CR0 = 0x0, // 0x00000000 +/*line: 185*/ CR1 = 0x1000, // 0x00001000 +/*line: 186*/ CR2 = 0x2000, // 0x00002000 +/*line: 187*/ CR3 = 0x3000, // 0x00003000 +/*line: 188*/ FF0 = 0x0, // 0x00000000 +/*line: 189*/ FF1 = 0x4000, // 0x00004000 +/*line: 190*/ BS0 = 0x0, // 0x00000000 +/*line: 191*/ BS1 = 0x8000, // 0x00008000 +/*line: 192*/ VT0 = 0x0, // 0x00000000 +/*line: 193*/ VT1 = 0x10000, // 0x00010000 +}; + +// Depends on identifiers +enum macro_termios_control_flags { +/*line: 203*/ CIGNORE = 0x1, /* ignore control flags */ // 0x00000001 +/*line: 205*/ CSIZE = 0x300, /* character size mask */ // 0x00000300 +/*line: 206*/ CS5 = 0x0, /* 5 bits (pseudo) */ // 0x00000000 +/*line: 207*/ CS6 = 0x100, /* 6 bits */ // 0x00000100 +/*line: 208*/ CS7 = 0x200, /* 7 bits */ // 0x00000200 +/*line: 209*/ CS8 = 0x300, /* 8 bits */ // 0x00000300 +/*line: 210*/ CSTOPB = 0x400, /* send 2 stop bits */ // 0x00000400 +/*line: 211*/ CREAD = 0x800, /* enable receiver */ // 0x00000800 +/*line: 212*/ PARENB = 0x1000, /* parity enable */ // 0x00001000 +/*line: 213*/ PARODD = 0x2000, /* odd parity, else even */ // 0x00002000 +/*line: 214*/ HUPCL = 0x4000, /* hang up on last close */ // 0x00004000 +/*line: 215*/ CLOCAL = 0x8000, /* ignore modem status lines */ // 0x00008000 +/*line: 217*/ CCTS_OFLOW = 0x10000, /* CTS flow control of output */ // 0x00010000 +/*line: 218*/ CRTSCTS = 0x30000, // (CCTS_OFLOW|CRTS_IFLOW) +/*line: 219*/ CRTS_IFLOW = 0x20000, /* RTS flow control of input */ // 0x00020000 +/*line: 220*/ CDTR_IFLOW = 0x40000, /* DTR flow control of input */ // 0x00040000 +/*line: 221*/ CDSR_OFLOW = 0x80000, /* DSR flow control of output */ // 0x00080000 +/*line: 222*/ CCAR_OFLOW = 0x100000, /* DCD flow control of output */ // 0x00100000 +/*line: 223*/ MDMBUF = 0x100000, /* old name for CCAR_OFLOW */ // 0x00100000 +}; + +enum macro_termios_local_flags { +/*line: 236*/ ECHOKE = 0x1, /* visual erase for line kill */ // 0x00000001 +/*line: 238*/ ECHOE = 0x2, /* visually erase chars */ // 0x00000002 +/*line: 239*/ ECHOK = 0x4, /* echo NL after line kill */ // 0x00000004 +/*line: 240*/ ECHO = 0x8, /* enable echoing */ // 0x00000008 +/*line: 241*/ ECHONL = 0x10, /* echo NL even if ECHO is off */ // 0x00000010 +/*line: 243*/ ECHOPRT = 0x20, /* visual erase mode for hardcopy */ // 0x00000020 +/*line: 244*/ ECHOCTL = 0x40, /* echo control chars as ^(Char) */ // 0x00000040 +/*line: 246*/ ISIG = 0x80, /* enable signals INTR, QUIT, [D]SUSP */ // 0x00000080 +/*line: 247*/ ICANON = 0x100, /* canonicalize input lines */ // 0x00000100 +/*line: 249*/ ALTWERASE = 0x200, /* use alternate WERASE algorithm */ // 0x00000200 +/*line: 251*/ IEXTEN = 0x400, /* enable DISCARD and LNEXT */ // 0x00000400 +/*line: 253*/ EXTPROC = 0x800, /* external processing */ // 0x00000800 +/*line: 255*/ TOSTOP = 0x400000, /* stop background jobs from output */ // 0x00400000 +/*line: 257*/ FLUSHO = 0x800000, /* output being flushed (state) */ // 0x00800000 +/*line: 258*/ NOKERNINFO = 0x2000000, /* no kernel output from VSTATUS */ // 0x02000000 +/*line: 259*/ PENDIN = 0x20000000, /* XXX retype pending input (state) */ // 0x20000000 +/*line: 261*/ NOFLSH = 0x80000000, /* don't flush after interrupt */ // 0x80000000 +}; + +enum macro_tcsetattr_flags { +/* + * Commands passed to tcsetattr() for setting the termios structure. + */ +/*line: 281*/ TCSANOW = 0x0, /* make change immediate */ // 0 +/*line: 282*/ TCSADRAIN = 0x1, /* drain output, then change */ // 1 +/*line: 283*/ TCSAFLUSH = 0x2, /* drain output, flush input */ // 2 +/*line: 285*/ TCSASOFT = 0x10, /* flag - don't alter h.w. state */ // 0x10 +}; + +enum macro_baud_rates { +/* + * Standard speeds + */ +/*line: 291*/ B0 = 0x0, // 0 +/*line: 292*/ B50 = 0x32, // 50 +/*line: 293*/ B75 = 0x4b, // 75 +/*line: 294*/ B110 = 0x6e, // 110 +/*line: 295*/ B134 = 0x86, // 134 +/*line: 296*/ B150 = 0x96, // 150 +/*line: 297*/ B200 = 0xc8, // 200 +/*line: 298*/ B300 = 0x12c, // 300 +/*line: 299*/ B600 = 0x258, // 600 +/*line: 300*/ B1200 = 0x4b0, // 1200 +/*line: 301*/ B1800 = 0x708, // 1800 +/*line: 302*/ B2400 = 0x960, // 2400 +/*line: 303*/ B4800 = 0x12c0, // 4800 +/*line: 304*/ B9600 = 0x2580, // 9600 +/*line: 305*/ B19200 = 0x4b00, // 19200 +/*line: 306*/ B38400 = 0x9600, // 38400 +/*line: 308*/ B7200 = 0x1c20, // 7200 +/*line: 309*/ B14400 = 0x3840, // 14400 +/*line: 310*/ B28800 = 0x7080, // 28800 +/*line: 311*/ B57600 = 0xe100, // 57600 +/*line: 312*/ B76800 = 0x12c00, // 76800 +/*line: 313*/ B115200 = 0x1c200, // 115200 +/*line: 314*/ B230400 = 0x38400, // 230400 +/*line: 315*/ EXTA = 0x4b00, // 19200 +/*line: 316*/ EXTB = 0x9600, // 38400 +}; + +enum macro_terminal_io_control_actions { +/*line: 320*/ TCIFLUSH = 0x1, // 1 +/*line: 321*/ TCOFLUSH = 0x2, // 2 +/*line: 322*/ TCIOFLUSH = 0x3, // 3 +/*line: 323*/ TCOOFF = 0x1, // 1 +/*line: 324*/ TCOON = 0x2, // 2 +/*line: 325*/ TCIOFF = 0x3, // 3 +/*line: 326*/ TCION = 0x4, // 4 +}; + diff --git a/macrodefs_enums/ios/sys/time.h b/macrodefs_enums/ios/sys/time.h new file mode 100644 index 000000000..0851ce65e --- /dev/null +++ b/macrodefs_enums/ios/sys/time.h @@ -0,0 +1,23 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/time.h + +enum macro_timer_type { +/* + * Names of the interval timers, and structure + * defining a timer setting. + */ +/*line: 101*/ ITIMER_REAL = 0x0, // 0 +/*line: 102*/ ITIMER_VIRTUAL = 0x1, // 1 +/*line: 103*/ ITIMER_PROF = 0x2, // 2 +}; + +enum macro_daylight_style { +/*line: 134*/ DST_NONE = 0x0, /* not on dst */ // 0 +/*line: 135*/ DST_USA = 0x1, /* USA style dst */ // 1 +/*line: 136*/ DST_AUST = 0x2, /* Australian style dst */ // 2 +/*line: 137*/ DST_WET = 0x3, /* Western European dst */ // 3 +/*line: 138*/ DST_MET = 0x4, /* Middle European dst */ // 4 +/*line: 139*/ DST_EET = 0x5, /* Eastern European dst */ // 5 +/*line: 140*/ DST_CAN = 0x6, /* Canada */ // 6 +}; + diff --git a/macrodefs_enums/ios/sys/timex.h b/macrodefs_enums/ios/sys/timex.h new file mode 100644 index 000000000..4987311a8 --- /dev/null +++ b/macrodefs_enums/ios/sys/timex.h @@ -0,0 +1,95 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/timex.h + +enum macro_sys_timex_h { +/*line: 64*/ _SYS_TIMEX_H_ = 0x1, // 1 +}; + +enum macro_ntp_api { +/*line: 68*/ NTP_API = 0x4, /* NTP API version */ // 4 +}; + +enum macro_time_constants { +/* + * The following defines establish the performance envelope of the + * kernel discipline loop. Phase or frequency errors greater than + * NAXPHASE or MAXFREQ are clamped to these maxima. For update intervals + * less than MINSEC, the loop always operates in PLL mode; while, for + * update intervals greater than MAXSEC, the loop always operates in FLL + * mode. Between these two limits the operating mode is selected by the + * STA_FLL bit in the status word. + */ +/*line: 80*/ MAXPHASE = 0x1dcd6500, /* max phase error (ns) */ // 500000000L +/*line: 81*/ MAXFREQ = 0x7a120, /* max freq error (ns/s) */ // 500000L +/*line: 82*/ MINSEC = 0x100, /* min FLL update interval (s) */ // 256 +/*line: 83*/ MAXSEC = 0x800, /* max PLL update interval (s) */ // 2048 +/*line: 84*/ NANOSECOND = 0x3b9aca00, /* nanoseconds in one second */ // 1000000000L +/*line: 86*/ MAXTC = 0xa, /* max time constant */ // 10 +}; + +enum macro_timex_modes { +/* + * Control mode codes (timex.modes) + */ +/*line: 95*/ MOD_OFFSET = 0x1, /* set time offset */ // 0x0001 +/*line: 96*/ MOD_FREQUENCY = 0x2, /* set frequency offset */ // 0x0002 +/*line: 97*/ MOD_MAXERROR = 0x4, /* set maximum time error */ // 0x0004 +/*line: 98*/ MOD_ESTERROR = 0x8, /* set estimated time error */ // 0x0008 +/*line: 99*/ MOD_STATUS = 0x10, /* set clock status bits */ // 0x0010 +/*line: 100*/ MOD_TIMECONST = 0x20, /* set PLL time constant */ // 0x0020 +/*line: 101*/ MOD_PPSMAX = 0x40, /* set PPS maximum averaging time */ // 0x0040 +/*line: 102*/ MOD_TAI = 0x80, /* set TAI offset */ // 0x0080 +/*line: 103*/ MOD_MICRO = 0x1000, /* select microsecond resolution */ // 0x1000 +/*line: 104*/ MOD_NANO = 0x2000, /* select nanosecond resolution */ // 0x2000 +/*line: 105*/ MOD_CLKB = 0x4000, /* select clock B */ // 0x4000 +/*line: 106*/ MOD_CLKA = 0x8000, /* select clock A */ // 0x8000 +}; + +enum macro_timex_status { +/* + * Status codes (timex.status) + */ +/*line: 111*/ STA_PLL = 0x1, /* enable PLL updates (rw) */ // 0x0001 +/*line: 112*/ STA_PPSFREQ = 0x2, /* enable PPS freq discipline (rw) */ // 0x0002 +/*line: 113*/ STA_PPSTIME = 0x4, /* enable PPS time discipline (rw) */ // 0x0004 +/*line: 114*/ STA_FLL = 0x8, /* enable FLL mode (rw) */ // 0x0008 +/*line: 115*/ STA_INS = 0x10, /* insert leap (rw) */ // 0x0010 +/*line: 116*/ STA_DEL = 0x20, /* delete leap (rw) */ // 0x0020 +/*line: 117*/ STA_UNSYNC = 0x40, /* clock unsynchronized (rw) */ // 0x0040 +/*line: 118*/ STA_FREQHOLD = 0x80, /* hold frequency (rw) */ // 0x0080 +/*line: 119*/ STA_PPSSIGNAL = 0x100, /* PPS signal present (ro) */ // 0x0100 +/*line: 120*/ STA_PPSJITTER = 0x200, /* PPS signal jitter exceeded (ro) */ // 0x0200 +/*line: 121*/ STA_PPSWANDER = 0x400, /* PPS signal wander exceeded (ro) */ // 0x0400 +/*line: 122*/ STA_PPSERROR = 0x800, /* PPS signal calibration error (ro) */ // 0x0800 +/*line: 123*/ STA_CLOCKERR = 0x1000, /* clock hardware fault (ro) */ // 0x1000 +/*line: 124*/ STA_NANO = 0x2000, /* resolution (0 = us, 1 = ns) (ro) */ // 0x2000 +/*line: 125*/ STA_MODE = 0x4000, /* mode (0 = PLL, 1 = FLL) (ro) */ // 0x4000 +/*line: 126*/ STA_CLK = 0x8000, /* clock source (0 = A, 1 = B) (ro) */ // 0x8000 +}; + +// Depends on identifiers +enum macro_status_flags { +/*line: 128*/ STA_RONLY = 0xff00, // (STA_PPSSIGNAL|STA_PPSJITTER|STA_PPSWANDER|STA_PPSERROR|STA_CLOCKERR|STA_NANO|STA_MODE|STA_CLK) +}; + +// Depends on identifiers +enum macro_time_status { +/*line: 131*/ STA_SUPPORTED = 0xf0c9, // (STA_PLL|STA_FLL|STA_UNSYNC|STA_FREQHOLD|STA_CLOCKERR|STA_NANO|STA_MODE|STA_CLK) +}; + +enum macro_time_state { +/* + * Clock states (ntptimeval.time_state) + */ +/*line: 137*/ TIME_OK = 0x0, /* no leap second warning */ // 0 +/*line: 138*/ TIME_INS = 0x1, /* insert leap second warning */ // 1 +/*line: 139*/ TIME_DEL = 0x2, /* delete leap second warning */ // 2 +/*line: 140*/ TIME_OOP = 0x3, /* leap second in progress */ // 3 +/*line: 141*/ TIME_WAIT = 0x4, /* leap second has occurred */ // 4 +/*line: 142*/ TIME_ERROR = 0x5, /* error (see status word) */ // 5 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 85 +// #define SCALE_PPM (65536 / 1000) + diff --git a/macrodefs_enums/ios/sys/ttycom.h b/macrodefs_enums/ios/sys/ttycom.h new file mode 100644 index 000000000..cc70eddd2 --- /dev/null +++ b/macrodefs_enums/ios/sys/ttycom.h @@ -0,0 +1,181 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/ttycom.h + +// Depends on identifiers +enum macro_tty_control { +/*line: 91*/ TIOCM_LE = 0x1, /* line enable */ // 0001 +/*line: 92*/ TIOCM_DTR = 0x2, /* data terminal ready */ // 0002 +/*line: 93*/ TIOCM_RTS = 0x4, /* request to send */ // 0004 +/*line: 94*/ TIOCM_ST = 0x8, /* secondary transmit */ // 0010 +/*line: 95*/ TIOCM_SR = 0x10, /* secondary receive */ // 0020 +/*line: 96*/ TIOCM_CTS = 0x20, /* clear to send */ // 0040 +/*line: 97*/ TIOCM_CAR = 0x40, /* carrier detect */ // 0100 +/*line: 98*/ TIOCM_CD = 0x40, // TIOCM_CAR +/*line: 99*/ TIOCM_RNG = 0x80, /* ring */ // 0200 +/*line: 100*/ TIOCM_RI = 0x80, // TIOCM_RNG +/*line: 101*/ TIOCM_DSR = 0x100, /* data set ready */ // 0400 +/*line: 128*/ TIOCPKT_DATA = 0x0, /* data packet */ // 0x00 +/*line: 129*/ TIOCPKT_FLUSHREAD = 0x1, /* flush packet */ // 0x01 +/*line: 130*/ TIOCPKT_FLUSHWRITE = 0x2, /* flush packet */ // 0x02 +/*line: 131*/ TIOCPKT_STOP = 0x4, /* stop output */ // 0x04 +/*line: 132*/ TIOCPKT_START = 0x8, /* start output */ // 0x08 +/*line: 133*/ TIOCPKT_NOSTOP = 0x10, /* no more ^S, ^Q */ // 0x10 +/*line: 134*/ TIOCPKT_DOSTOP = 0x20, /* now do ^S ^Q */ // 0x20 +/*line: 135*/ TIOCPKT_IOCTL = 0x40, /* state change of pty driver */ // 0x40 +}; + +enum macro_tty_discipline { +/*line: 168*/ TTYDISC = 0x0, /* termios tty line discipline */ // 0 +/*line: 169*/ TABLDISC = 0x3, /* tablet discipline */ // 3 +/*line: 170*/ SLIPDISC = 0x4, /* serial IP discipline */ // 4 +/*line: 171*/ PPPDISC = 0x5, /* PPP discipline */ // 5 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 89 +// #define TIOCMODG _IOR('t', 3, int) + +// Line: 90 +// #define TIOCMODS _IOW('t', 4, int) + +// Line: 103 +// #define TIOCEXCL _IO('t', 13) + +// Line: 104 +// #define TIOCNXCL _IO('t', 14) + +// Line: 106 +// #define TIOCFLUSH _IOW('t', 16, int) + +// Line: 108 +// #define TIOCGETA _IOR('t', 19, struct termios) + +// Line: 109 +// #define TIOCSETA _IOW('t', 20, struct termios) + +// Line: 110 +// #define TIOCSETAW _IOW('t', 21, struct termios) + +// Line: 111 +// #define TIOCSETAF _IOW('t', 22, struct termios) + +// Line: 112 +// #define TIOCGETD _IOR('t', 26, int) + +// Line: 113 +// #define TIOCSETD _IOW('t', 27, int) + +// Line: 114 +// #define TIOCIXON _IO('t', 129) + +// Line: 115 +// #define TIOCIXOFF _IO('t', 128) + +// Line: 117 +// #define TIOCSBRK _IO('t', 123) + +// Line: 118 +// #define TIOCCBRK _IO('t', 122) + +// Line: 119 +// #define TIOCSDTR _IO('t', 121) + +// Line: 120 +// #define TIOCCDTR _IO('t', 120) + +// Line: 121 +// #define TIOCGPGRP _IOR('t', 119, int) + +// Line: 122 +// #define TIOCSPGRP _IOW('t', 118, int) + +// Line: 124 +// #define TIOCOUTQ _IOR('t', 115, int) + +// Line: 125 +// #define TIOCSTI _IOW('t', 114, char) + +// Line: 126 +// #define TIOCNOTTY _IO('t', 113) + +// Line: 127 +// #define TIOCPKT _IOW('t', 112, int) + +// Line: 136 +// #define TIOCSTOP _IO('t', 111) + +// Line: 137 +// #define TIOCSTART _IO('t', 110) + +// Line: 138 +// #define TIOCMSET _IOW('t', 109, int) + +// Line: 139 +// #define TIOCMBIS _IOW('t', 108, int) + +// Line: 140 +// #define TIOCMBIC _IOW('t', 107, int) + +// Line: 141 +// #define TIOCMGET _IOR('t', 106, int) + +// Line: 143 +// #define TIOCGWINSZ _IOR('t', 104, struct winsize) + +// Line: 144 +// #define TIOCSWINSZ _IOW('t', 103, struct winsize) + +// Line: 145 +// #define TIOCUCNTL _IOW('t', 102, int) + +// Line: 146 +// #define TIOCSTAT _IO('t', 101) + +// Line: 148 +// #define TIOCSCONS _IO('t', 99) + +// Line: 149 +// #define TIOCCONS _IOW('t', 98, int) + +// Line: 150 +// #define TIOCSCTTY _IO('t', 97) + +// Line: 151 +// #define TIOCEXT _IOW('t', 96, int) + +// Line: 152 +// #define TIOCSIG _IO('t', 95) + +// Line: 153 +// #define TIOCDRAIN _IO('t', 94) + +// Line: 154 +// #define TIOCMSDTRWAIT _IOW('t', 91, int) + +// Line: 155 +// #define TIOCMGDTRWAIT _IOR('t', 90, int) + +// Line: 156 +// #define TIOCTIMESTAMP _IOR('t', 89, struct timeval) + +// Line: 158 +// #define TIOCDCDTIMESTAMP _IOR('t', 88, struct timeval) + +// Line: 160 +// #define TIOCSDRAINWAIT _IOW('t', 87, int) + +// Line: 161 +// #define TIOCGDRAINWAIT _IOR('t', 86, int) + +// Line: 162 +// #define TIOCDSIMICROCODE _IO('t', 85) + +// Line: 164 +// #define TIOCPTYGRANT _IO('t', 84) + +// Line: 165 +// #define TIOCPTYGNAME _IOC(IOC_OUT, 't', 83, 128) + +// Line: 166 +// #define TIOCPTYUNLK _IO('t', 82) + diff --git a/macrodefs_enums/ios/sys/ttydefaults.h b/macrodefs_enums/ios/sys/ttydefaults.h new file mode 100644 index 000000000..77c2c76b4 --- /dev/null +++ b/macrodefs_enums/ios/sys/ttydefaults.h @@ -0,0 +1,75 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/ttydefaults.h + +// Depends on identifiers +enum macro_ttydefaults { +/*line: 89*/ CEOL = 0xff, /* XXX avoid _POSIX_VDISABLE */ // 0xff +/*line: 90*/ CERASE = 0x7f, // 0177 +/*line: 94*/ CMIN = 0x1, // 1 +/*line: 95*/ CQUIT = 0x1c, /* FS, ^\ */ // 034 +/*line: 97*/ CTIME = 0x0, // 0 +/* compat */ +/*line: 107*/ CBRK = 0xff, // CEOL +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 78 +// #define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY) + +// Line: 79 +// #define TTYDEF_OFLAG (OPOST | ONLCR) + +// Line: 80 +// #define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) + +// Line: 81 +// #define TTYDEF_CFLAG (CREAD | CS8 | HUPCL) + +// Line: 82 +// #define TTYDEF_SPEED (B9600) + +// Line: 88 +// #define CEOF CTRL('d') + +// Line: 91 +// #define CINTR CTRL('c') + +// Line: 92 +// #define CSTATUS CTRL('t') + +// Line: 93 +// #define CKILL CTRL('u') + +// Line: 96 +// #define CSUSP CTRL('z') + +// Line: 98 +// #define CDSUSP CTRL('y') + +// Line: 99 +// #define CSTART CTRL('q') + +// Line: 100 +// #define CSTOP CTRL('s') + +// Line: 101 +// #define CLNEXT CTRL('v') + +// Line: 102 +// #define CDISCARD CTRL('o') + +// Line: 103 +// #define CWERASE CTRL('w') + +// Line: 104 +// #define CREPRINT CTRL('r') + +// Line: 105 +// #define CEOT CEOF + +// Line: 108 +// #define CRPRNT CREPRINT + +// Line: 109 +// #define CFLUSH CDISCARD + diff --git a/macrodefs_enums/ios/sys/types.h b/macrodefs_enums/ios/sys/types.h new file mode 100644 index 000000000..9afe54ede --- /dev/null +++ b/macrodefs_enums/ios/sys/types.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/types.h + +// Depends on identifiers +enum macro_bits_per_byte { +/*line: 189*/ NBBY = 0x8, /* bits in a byte */ // __DARWIN_NBBY +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 190 +// #define NFDBITS __DARWIN_NFDBITS + diff --git a/macrodefs_enums/ios/sys/ucred.h b/macrodefs_enums/ios/sys/ucred.h new file mode 100644 index 000000000..7995ac1bf --- /dev/null +++ b/macrodefs_enums/ios/sys/ucred.h @@ -0,0 +1,22 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/ucred.h + +enum macro_credential_flags { +/* + * Credential flags that can be set on a credential + */ +/*line: 93*/ CRF_NOMEMBERD = 0x1, /* memberd opt out by setgroups() */ // 0x00000001 +/*line: 94*/ CRF_MAC_ENFORCE = 0x2, /* force entry through MAC Framework */ // 0x00000002 +}; + +// Depends on identifiers +enum macro_ucred_version { +/*line: 106*/ XUCRED_VERSION = 0x0, // 0 +/*line: 109*/ NOCRED = 0x0, /* no credential available */ // ((kauth_cred_t)0) +/*line: 110*/ FSCRED = -0x1, /* filesystem credential */ // ((kauth_cred_t)-1) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 108 +// #define cr_gid cr_groups[0] + diff --git a/macrodefs_enums/ios/sys/un.h b/macrodefs_enums/ios/sys/un.h new file mode 100644 index 000000000..4e08cb2ee --- /dev/null +++ b/macrodefs_enums/ios/sys/un.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/un.h + +enum macro_socket_level { +/* Level number of get/setsockopt for local domain sockets */ +/*line: 85*/ SOL_LOCAL = 0x0, // 0 +}; + +enum macro_socket_options { +/* Socket options. */ +/*line: 88*/ LOCAL_PEERCRED = 0x1, /* retrieve peer credentials */ // 0x001 +/*line: 89*/ LOCAL_PEERPID = 0x2, /* retrieve peer pid */ // 0x002 +/*line: 90*/ LOCAL_PEEREPID = 0x3, /* retrieve eff. peer pid */ // 0x003 +/*line: 91*/ LOCAL_PEERUUID = 0x4, /* retrieve peer UUID */ // 0x004 +/*line: 92*/ LOCAL_PEEREUUID = 0x5, /* retrieve eff. peer UUID */ // 0x005 +/*line: 93*/ LOCAL_PEERTOKEN = 0x6, /* retrieve peer audit token */ // 0x006 +}; + diff --git a/macrodefs_enums/ios/sys/unistd.h b/macrodefs_enums/ios/sys/unistd.h new file mode 100644 index 000000000..bfff3ff96 --- /dev/null +++ b/macrodefs_enums/ios/sys/unistd.h @@ -0,0 +1,91 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/unistd.h + +enum macro_posix_version { +/*line: 79*/ _POSIX_VERSION = 0x30db0, // 200112L +/*line: 80*/ _POSIX2_VERSION = 0x30db0, // 200112L +}; + +enum macro_posix_thread_keys_max { +/*line: 86*/ _POSIX_THREAD_KEYS_MAX = 0x80, // 128 +}; + +enum macro_access_flags { +/* access function */ +/*line: 89*/ F_OK = 0x0, /* test for existence of file */ // 0 +/*line: 90*/ X_OK = 0x1, /* test for execute or search permission */ // (1<<0) +/*line: 91*/ W_OK = 0x2, /* test for write permission */ // (1<<1) +/*line: 92*/ R_OK = 0x4, /* test for read permission */ // (1<<2) +}; + +enum macro_extended_access_flags { +/* + * Extended access functions. + * Note that we depend on these matching the definitions in sys/kauth.h, + * but with the bits shifted left by 8. + */ +/*line: 100*/ _READ_OK = 0x200, /* read file data / read directory */ // (1<<9) +/*line: 101*/ _WRITE_OK = 0x400, /* write file data / add file to directory */ // (1<<10) +/*line: 102*/ _EXECUTE_OK = 0x800, /* execute file / search in directory*/ // (1<<11) +/*line: 103*/ _DELETE_OK = 0x1000, /* delete file / delete directory */ // (1<<12) +/*line: 104*/ _APPEND_OK = 0x2000, /* append to file / add subdirectory to directory */ // (1<<13) +/*line: 105*/ _RMFILE_OK = 0x4000, /* - / remove file from directory */ // (1<<14) +/*line: 106*/ _RATTR_OK = 0x8000, /* read basic attributes */ // (1<<15) +/*line: 107*/ _WATTR_OK = 0x10000, /* write basic attributes */ // (1<<16) +/*line: 108*/ _REXT_OK = 0x20000, /* read extended attributes */ // (1<<17) +/*line: 109*/ _WEXT_OK = 0x40000, /* write extended attributes */ // (1<<18) +/*line: 110*/ _RPERM_OK = 0x80000, /* read permissions */ // (1<<19) +/*line: 111*/ _WPERM_OK = 0x100000, /* write permissions */ // (1<<20) +/*line: 112*/ _CHOWN_OK = 0x200000, /* change ownership */ // (1<<21) +/*line: 114*/ _ACCESS_EXTENDED_MASK = 0x3ffe00, // (_READ_OK|_WRITE_OK|_EXECUTE_OK|_DELETE_OK|_APPEND_OK|_RMFILE_OK|_REXT_OK|_WEXT_OK|_RATTR_OK|_WATTR_OK|_RPERM_OK|_WPERM_OK|_CHOWN_OK) +}; + +// Depends on identifiers +enum macro_lseek_whence { +/* whence values for lseek(2); renamed by POSIX 1003.1 */ +/*line: 126*/ L_SET = 0x0, // SEEK_SET +/*line: 127*/ L_INCR = 0x1, // SEEK_CUR +/*line: 128*/ L_XTND = 0x2, // SEEK_END +}; + +enum macro_accessx_limits { +/*line: 137*/ ACCESSX_MAX_DESCRIPTORS = 0x64, // 100 +/*line: 138*/ ACCESSX_MAX_TABLESIZE = 0x4000, // (16*1024) +}; + +enum macro_pathconf_options { +/* configurable pathname variables */ +/*line: 142*/ _PC_LINK_MAX = 0x1, // 1 +/*line: 143*/ _PC_MAX_CANON = 0x2, // 2 +/*line: 144*/ _PC_MAX_INPUT = 0x3, // 3 +/*line: 145*/ _PC_NAME_MAX = 0x4, // 4 +/*line: 146*/ _PC_PATH_MAX = 0x5, // 5 +/*line: 147*/ _PC_PIPE_BUF = 0x6, // 6 +/*line: 148*/ _PC_CHOWN_RESTRICTED = 0x7, // 7 +/*line: 149*/ _PC_NO_TRUNC = 0x8, // 8 +/*line: 150*/ _PC_VDISABLE = 0x9, // 9 +/*line: 153*/ _PC_NAME_CHARS_MAX = 0xa, // 10 +/*line: 154*/ _PC_CASE_SENSITIVE = 0xb, // 11 +/*line: 155*/ _PC_CASE_PRESERVING = 0xc, // 12 +/*line: 156*/ _PC_EXTENDED_SECURITY_NP = 0xd, // 13 +/*line: 157*/ _PC_AUTH_OPAQUE_NP = 0xe, // 14 +/*line: 160*/ _PC_2_SYMLINKS = 0xf, /* Symlink supported in directory */ // 15 +/*line: 161*/ _PC_ALLOC_SIZE_MIN = 0x10, /* Minimum storage actually allocated */ // 16 +/*line: 162*/ _PC_ASYNC_IO = 0x11, /* Async I/O [AIO] supported? */ // 17 +/*line: 163*/ _PC_FILESIZEBITS = 0x12, /* # of bits to represent file size */ // 18 +/*line: 164*/ _PC_PRIO_IO = 0x13, /* Priority I/O [PIO] supported? */ // 19 +/*line: 165*/ _PC_REC_INCR_XFER_SIZE = 0x14, /* Recommended increment for next two */ // 20 +/*line: 166*/ _PC_REC_MAX_XFER_SIZE = 0x15, /* Recommended max file transfer size */ // 21 +/*line: 167*/ _PC_REC_MIN_XFER_SIZE = 0x16, /* Recommended min file transfer size */ // 22 +/*line: 168*/ _PC_REC_XFER_ALIGN = 0x17, /* Recommended buffer alignment */ // 23 +/*line: 169*/ _PC_SYMLINK_MAX = 0x18, /* Max # of bytes in symlink name */ // 24 +/*line: 170*/ _PC_SYNC_IO = 0x19, /* Sync I/O [SIO] supported? */ // 25 +/*line: 171*/ _PC_XATTR_SIZE_BITS = 0x1a, /* # of bits to represent maximum xattr size */ // 26 +/*line: 172*/ _PC_MIN_HOLE_SIZE = 0x1b, /* Recommended minimum hole size for sparse files */ // 27 +}; + +enum macro_path_config { +/* configurable system strings */ +/*line: 175*/ _CS_PATH = 0x1, // 1 +}; + diff --git a/macrodefs_enums/ios/sys/utsname.h b/macrodefs_enums/ios/sys/utsname.h new file mode 100644 index 000000000..361878615 --- /dev/null +++ b/macrodefs_enums/ios/sys/utsname.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/utsname.h + +enum macro_sys_namelen { +/*line: 72*/ _SYS_NAMELEN = 0x100, // 256 +}; + diff --git a/macrodefs_enums/ios/sys/vsock.h b/macrodefs_enums/ios/sys/vsock.h new file mode 100644 index 000000000..ce2687bdd --- /dev/null +++ b/macrodefs_enums/ios/sys/vsock.h @@ -0,0 +1,18 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/vsock.h + +enum macro_vmaddr_cid { +/*line: 40*/ VMADDR_CID_ANY = -0x1, // (-1U) +/*line: 41*/ VMADDR_CID_HYPERVISOR = 0x0, // 0 +/*line: 42*/ VMADDR_CID_RESERVED = 0x1, // 1 +/*line: 43*/ VMADDR_CID_HOST = 0x2, // 2 +}; + +enum macro_vsock_port_any { +/*line: 45*/ VMADDR_PORT_ANY = -0x1, // (-1U) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 47 +// #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IOR('s', 209, uint32_t) + diff --git a/macrodefs_enums/ios/sys/wait.h b/macrodefs_enums/ios/sys/wait.h new file mode 100644 index 000000000..e7b7b9de3 --- /dev/null +++ b/macrodefs_enums/ios/sys/wait.h @@ -0,0 +1,52 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/wait.h + +enum macro_wait_options { +/* + * Option bits for the third argument of wait4. WNOHANG causes the + * wait to not hang if there are no stopped or terminated processes, rather + * returning an error indication in this case (pid==0). WUNTRACED + * indicates that the caller should receive status about untraced children + * which stop due to signals. If children are stopped and a wait without + * this option is done, it is as though they were still running... nothing + * about them is returned. + */ +/*line: 121*/ WNOHANG = 0x1, /* [XSI] no hang in wait/no child to reap */ // 0x00000001 +/*line: 122*/ WUNTRACED = 0x2, /* [XSI] notify on stop, untraced child */ // 0x00000002 +/*line: 132*/ WCOREFLAG = 0x80, // 0200 +/*line: 137*/ _WSTOPPED = 0x7f, /* _WSTATUS if process is stopped */ // 0177 +}; + +enum macro_wait_status { +/* WUNTRACED defined for wait4() but not for waitid() */ +/*line: 168*/ WEXITED = 0x4, /* [XSI] Processes which have exitted */ // 0x00000004 +/* waitid() parameter */ +/*line: 171*/ WSTOPPED = 0x8, /* [XSI] Any child stopped by signal */ // 0x00000008 +/*line: 173*/ WCONTINUED = 0x10, /* [XSI] Any child stopped then continued */ // 0x00000010 +/*line: 174*/ WNOWAIT = 0x20, /* [XSI] Leave process returned waitable */ // 0x00000020 +}; + +enum macro_wait_pid { +/* + * Tokens for special values of the "pid" parameter to wait4. + */ +/*line: 183*/ WAIT_ANY = -0x1, /* any process */ // (-1) +/*line: 184*/ WAIT_MYPGRP = 0x0, /* any process in my process group */ // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 229 +// #define w_termsig w_T.w_Termsig + +// Line: 230 +// #define w_coredump w_T.w_Coredump + +// Line: 231 +// #define w_retcode w_T.w_Retcode + +// Line: 232 +// #define w_stopval w_S.w_Stopval + +// Line: 233 +// #define w_stopsig w_S.w_Stopsig + diff --git a/macrodefs_enums/ios/sys/xattr.h b/macrodefs_enums/ios/sys/xattr.h new file mode 100644 index 000000000..54ea6c634 --- /dev/null +++ b/macrodefs_enums/ios/sys/xattr.h @@ -0,0 +1,23 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sys/xattr.h + +enum macro_xattr_options { +/* Options for pathname based xattr calls */ +/*line: 35*/ XATTR_NOFOLLOW = 0x1, /* Don't follow symbolic links */ // 0x0001 +/* Options for setxattr calls */ +/*line: 38*/ XATTR_CREATE = 0x2, /* set the value, fail if attr already exists */ // 0x0002 +/*line: 39*/ XATTR_REPLACE = 0x4, /* set the value, fail if attr does not exist */ // 0x0004 +/* Set this to bypass authorization checking (eg. if doing auth-related work) */ +/*line: 42*/ XATTR_NOSECURITY = 0x8, // 0x0008 +/* Set this to bypass the default extended attribute file (dot-underscore file) */ +/*line: 45*/ XATTR_NODEFAULT = 0x10, // 0x0010 +/* option for f/getxattr() and f/listxattr() to expose the HFS Compression extended attributes */ +/*line: 48*/ XATTR_SHOWCOMPRESSION = 0x20, // 0x0020 +/* Options for pathname based xattr calls */ +/*line: 51*/ XATTR_NOFOLLOW_ANY = 0x40, /* Don't follow any symbolic links in the path */ // 0x0040 +}; + +enum macro_xattr_maxnamelen { +/*line: 53*/ XATTR_MAXNAMELEN = 0x7f, // 127 +}; + diff --git a/macrodefs_enums/ios/sysexits.h b/macrodefs_enums/ios/sysexits.h new file mode 100644 index 000000000..4501f3b4d --- /dev/null +++ b/macrodefs_enums/ios/sysexits.h @@ -0,0 +1,89 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/sysexits.h + +enum macro_sysexits { +/* + * SYSEXITS.H -- Exit status codes for system programs. + * + * This include file attempts to categorize possible error + * exit statuses for system programs, notably delivermail + * and the Berkeley network. + * + * Error numbers begin at EX__BASE to reduce the possibility of + * clashing with other exit statuses that random programs may + * already return. The meaning of the codes is approximately + * as follows: + * + * EX_USAGE -- The command was used incorrectly, e.g., with + * the wrong number of arguments, a bad flag, a bad + * syntax in a parameter, or whatever. + * EX_DATAERR -- The input data was incorrect in some way. + * This should only be used for user's data & not + * system files. + * EX_NOINPUT -- An input file (not a system file) did not + * exist or was not readable. This could also include + * errors like "No message" to a mailer (if it cared + * to catch it). + * EX_NOUSER -- The user specified did not exist. This might + * be used for mail addresses or remote logins. + * EX_NOHOST -- The host specified did not exist. This is used + * in mail addresses or network requests. + * EX_UNAVAILABLE -- A service is unavailable. This can occur + * if a support program or file does not exist. This + * can also be used as a catchall message when something + * you wanted to do doesn't work, but you don't know + * why. + * EX_SOFTWARE -- An internal software error has been detected. + * This should be limited to non-operating system related + * errors as possible. + * EX_OSERR -- An operating system error has been detected. + * This is intended to be used for such things as "cannot + * fork", "cannot create pipe", or the like. It includes + * things like getuid returning a user that does not + * exist in the passwd file. + * EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp, + * etc.) does not exist, cannot be opened, or has some + * sort of error (e.g., syntax error). + * EX_CANTCREAT -- A (user specified) output file cannot be + * created. + * EX_IOERR -- An error occurred while doing I/O on some file. + * EX_TEMPFAIL -- temporary failure, indicating something that + * is not really an error. In sendmail, this means + * that a mailer (e.g.) could not create a connection, + * and the request should be reattempted later. + * EX_PROTOCOL -- the remote system returned something that + * was "not possible" during a protocol exchange. + * EX_NOPERM -- You did not have sufficient permission to + * perform the operation. This is not intended for + * file system problems, which should use NOINPUT or + * CANTCREAT, but rather for higher level permissions. + */ +/*line: 96*/ EX_OK = 0x0, /* successful termination */ // 0 +}; + +enum macro_ex_base { +/*line: 98*/ EX__BASE = 0x40, /* base value for error messages */ // 64 +}; + +enum macro_exit_codes { +/*line: 100*/ EX_USAGE = 0x40, /* command line usage error */ // 64 +/*line: 101*/ EX_DATAERR = 0x41, /* data format error */ // 65 +/*line: 102*/ EX_NOINPUT = 0x42, /* cannot open input */ // 66 +/*line: 103*/ EX_NOUSER = 0x43, /* addressee unknown */ // 67 +/*line: 104*/ EX_NOHOST = 0x44, /* host name unknown */ // 68 +/*line: 105*/ EX_UNAVAILABLE = 0x45, /* service unavailable */ // 69 +/*line: 106*/ EX_SOFTWARE = 0x46, /* internal software error */ // 70 +/*line: 107*/ EX_OSERR = 0x47, /* system error (e.g., can't fork) */ // 71 +/*line: 108*/ EX_OSFILE = 0x48, /* critical OS file missing */ // 72 +/*line: 109*/ EX_CANTCREAT = 0x49, /* can't create (user) output file */ // 73 +/*line: 110*/ EX_IOERR = 0x4a, /* input/output error */ // 74 +/*line: 111*/ EX_TEMPFAIL = 0x4b, /* temp failure; user is invited to retry */ // 75 +/*line: 112*/ EX_PROTOCOL = 0x4c, /* remote error in protocol */ // 76 +/*line: 113*/ EX_NOPERM = 0x4d, /* permission denied */ // 77 +/*line: 114*/ EX_CONFIG = 0x4e, /* configuration error */ // 78 +}; + +enum macro_ex_max { +/*line: 116*/ EX__MAX = 0x4e, /* maximum listed value */ // 78 +}; + diff --git a/macrodefs_enums/ios/tar.h b/macrodefs_enums/ios/tar.h new file mode 100644 index 000000000..5e175604c --- /dev/null +++ b/macrodefs_enums/ios/tar.h @@ -0,0 +1,38 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/tar.h + +enum macro_tar_header_length { +/*line: 43*/ TMAGLEN = 0x6, // 6 +/*line: 45*/ TVERSLEN = 0x2, // 2 +}; + +enum macro_file_type { +/* Values used in typeflag field */ +/*line: 48*/ REGTYPE = 0x30, /* Regular file */ // '0' +/*line: 49*/ AREGTYPE = 0x0, /* Regular file */ // '\0' +/*line: 50*/ LNKTYPE = 0x31, /* Link */ // '1' +/*line: 51*/ SYMTYPE = 0x32, /* Reserved */ // '2' +/*line: 52*/ CHRTYPE = 0x33, /* Character special */ // '3' +/*line: 53*/ BLKTYPE = 0x34, /* Block special */ // '4' +/*line: 54*/ DIRTYPE = 0x35, /* Directory */ // '5' +/*line: 55*/ FIFOTYPE = 0x36, /* FIFO special */ // '6' +/*line: 56*/ CONTTYPE = 0x37, /* Reserved */ // '7' +}; + +enum macro_tar_mode_bits { +/* Bits used in the mode field - values in octal */ +/*line: 59*/ TSUID = 0x800, /* Set UID on execution */ // 04000 +/*line: 60*/ TSGID = 0x400, /* Set GID on execution */ // 02000 +/*line: 61*/ TSVTX = 0x200, /* Reserved */ // 01000 +/* File permissions */ +/*line: 63*/ TUREAD = 0x100, /* Read by owner */ // 00400 +/*line: 64*/ TUWRITE = 0x80, /* Write by owner */ // 00200 +/*line: 65*/ TUEXEC = 0x40, /* Execute/Search by owner */ // 00100 +/*line: 66*/ TGREAD = 0x20, /* Read by group */ // 00040 +/*line: 67*/ TGWRITE = 0x10, /* Write by group */ // 00020 +/*line: 68*/ TGEXEC = 0x8, /* Execute/Search by group */ // 00010 +/*line: 69*/ TOREAD = 0x4, /* Read by other */ // 00004 +/*line: 70*/ TOWRITE = 0x2, /* Write by other */ // 00002 +/*line: 71*/ TOEXEC = 0x1, /* Execute/Search by other */ // 00001 +}; + diff --git a/macrodefs_enums/ios/tgmath.h b/macrodefs_enums/ios/tgmath.h new file mode 100644 index 000000000..259efa150 --- /dev/null +++ b/macrodefs_enums/ios/tgmath.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/tgmath.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 38 +// #define _TG_ATTRSp __attribute__((__overloadable__)) + +// Line: 39 +// #define _TG_ATTRS __attribute__((__overloadable__, __always_inline__)) + diff --git a/macrodefs_enums/ios/ttyent.h b/macrodefs_enums/ios/ttyent.h new file mode 100644 index 000000000..a88aa687b --- /dev/null +++ b/macrodefs_enums/ios/ttyent.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ttyent.h + +enum macro_tty_flags { +/*line: 53*/ TTY_ON = 0x1, /* enable logins (start ty_getty program) */ // 0x01 +/*line: 54*/ TTY_SECURE = 0x2, /* allow uid of 0 to login */ // 0x02 +}; + diff --git a/macrodefs_enums/ios/ulimit.h b/macrodefs_enums/ios/ulimit.h new file mode 100644 index 000000000..d479f35e0 --- /dev/null +++ b/macrodefs_enums/ios/ulimit.h @@ -0,0 +1,8 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/ulimit.h + +enum macro_file_size_limits { +/*line: 35*/ UL_GETFSIZE = 0x1, // 1 +/*line: 36*/ UL_SETFSIZE = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/unicode/platform.h b/macrodefs_enums/ios/unicode/platform.h new file mode 100644 index 000000000..ae10e055b --- /dev/null +++ b/macrodefs_enums/ios/unicode/platform.h @@ -0,0 +1,161 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/platform.h + +enum macro_platform_id { +/** Unknown platform. @internal */ +/*line: 89*/ U_PF_UNKNOWN = 0x0, // 0 +/** Windows @internal */ +/*line: 91*/ U_PF_WINDOWS = 0x3e8, // 1000 +/** MinGW. Windows, calls to Win32 API, but using GNU gcc and binutils. @internal */ +/*line: 93*/ U_PF_MINGW = 0x708, // 1800 +/** + * Cygwin. Windows, calls to cygwin1.dll for Posix functions, + * using MSVC or GNU gcc and binutils. + * @internal + */ +/*line: 99*/ U_PF_CYGWIN = 0x76c, // 1900 +/** HP-UX is based on UNIX System V. @internal */ +/*line: 102*/ U_PF_HPUX = 0x834, // 2100 +/** Solaris is a Unix operating system based on SVR4. @internal */ +/*line: 104*/ U_PF_SOLARIS = 0xa28, // 2600 +/** BSD is a UNIX operating system derivative. @internal */ +/*line: 106*/ U_PF_BSD = 0xbb8, // 3000 +/** AIX is based on UNIX System V Releases and 4.3 BSD. @internal */ +/*line: 108*/ U_PF_AIX = 0xc1c, // 3100 +/** IRIX is based on UNIX System V with BSD extensions. @internal */ +/*line: 110*/ U_PF_IRIX = 0xc80, // 3200 +/** + * Darwin is a POSIX-compliant operating system, composed of code developed by Apple, + * as well as code derived from NeXTSTEP, BSD, and other projects, + * built around the Mach kernel. + * Darwin forms the core set of components upon which Mac OS X, Apple TV, and iOS are based. + * (Original description modified from WikiPedia.) + * @internal + */ +/*line: 119*/ U_PF_DARWIN = 0xdac, // 3500 +/** iPhone OS (iOS) is a derivative of Mac OS X. @internal */ +/*line: 121*/ U_PF_IPHONE = 0xdde, // 3550 +/** QNX is a commercial Unix-like real-time operating system related to BSD. @internal */ +/*line: 123*/ U_PF_QNX = 0xe74, // 3700 +/** Linux is a Unix-like operating system. @internal */ +/*line: 125*/ U_PF_LINUX = 0xfa0, // 4000 +/** + * Native Client is pretty close to Linux. + * See https://developer.chrome.com/native-client and + * http://www.chromium.org/nativeclient + * @internal + */ +/*line: 132*/ U_PF_BROWSER_NATIVE_CLIENT = 0xfb4, // 4020 +/** Android is based on Linux. @internal */ +/*line: 134*/ U_PF_ANDROID = 0xfd2, // 4050 +/** Haiku is a POSIX-ish platform. @internal */ +/*line: 136*/ U_PF_HAIKU = 0xff0, // 4080 +/** Fuchsia is a POSIX-ish platform. @internal */ +/*line: 138*/ U_PF_FUCHSIA = 0x1004, // 4100 +/** + * Emscripten is a C++ transpiler for the Web that can target asm.js or + * WebAssembly. It provides some POSIX-compatible wrappers and stubs and + * some Linux-like functionality, but is not fully compatible with + * either. + * @internal + */ +/*line: 147*/ U_PF_EMSCRIPTEN = 0x1392, // 5010 +/** z/OS is the successor to OS/390 which was the successor to MVS. @internal */ +/*line: 149*/ U_PF_OS390 = 0x2328, // 9000 +/** "IBM i" is the current name of what used to be i5/OS and earlier OS/400. @internal */ +/*line: 151*/ U_PF_OS400 = 0x24b8, // 9400 +}; + +// Depends on identifiers +enum macro_u_platform { +/*line: 176*/ U_PLATFORM = 0xdde, // U_PF_IPHONE +}; + +enum macro_uses_win32_api { +/* Cygwin implements POSIX. */ +/*line: 253*/ U_PLATFORM_USES_ONLY_WIN32_API = 0x0, // 0 +}; + +enum macro_has_win32_api { +/*line: 267*/ U_PLATFORM_HAS_WIN32_API = 0x0, // 0 +}; + +enum macro_u_platform_has_winuwp_api { +/*line: 279*/ U_PLATFORM_HAS_WINUWP_API = 0x0, // 0 +}; + +enum macro_posix_implementation { +/*line: 293*/ U_PLATFORM_IMPLEMENTS_POSIX = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_platform_flags { +/*line: 306*/ U_PLATFORM_IS_LINUX_BASED = 0x0, // 0 +/*line: 317*/ U_PLATFORM_IS_DARWIN_BASED = 0x1, // 1 +/*line: 337*/ U_GCC_MAJOR_MINOR = 0x192, // (__GNUC__*100+__GNUC_MINOR__) +}; + +enum macro_has_placement_new { +/*line: 381*/ U_HAVE_PLACEMENT_NEW = 0x1, // 1 +}; + +enum macro_debug_location_new { +/*line: 395*/ U_HAVE_DEBUG_LOCATION_NEW = 0x0, // 0 +}; + +enum macro_cpp_version { +/*line: 481*/ U_CPLUSPLUS_VERSION = 0x0, // 0 +}; + +enum macro_u_charset_family { +/** + * U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform. + * @stable ICU 2.0 + */ +/*line: 529*/ U_ASCII_FAMILY = 0x0, // 0 +}; + +enum macro_ebcdic_family { +/** + * U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform. + * @stable ICU 2.0 + */ +/*line: 535*/ U_EBCDIC_FAMILY = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_charset_family { +/*line: 586*/ U_CHARSET_FAMILY = 0x0, // U_ASCII_FAMILY +}; + +enum macro_is_utf8 { +/*line: 613*/ U_CHARSET_IS_UTF8 = 0x1, // 1 +}; + +enum macro_unicode_wchar_h { +/*line: 640*/ U_HAVE_WCHAR_H = 0x1, // 1 +}; + +enum macro_wchar_size { +/*line: 708*/ U_SIZEOF_WCHAR_T = 0x4, // 4 +}; + +// Depends on identifiers +enum macro_unicode_wcs_cpy { +/*line: 712*/ U_HAVE_WCSCPY = 0x1, // U_HAVE_WCHAR_H +}; + +enum macro_have_char16_t { +/*line: 737*/ U_HAVE_CHAR16_T = 0x0, // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 353 +// #define U_IS_BIG_ENDIAN (__BYTE_ORDER__===___ORDER_BIG_ENDIAN__) + +// Line: 448 +// #define U_MALLOC_ATTR __attribute__(((__malloc__)) + +// Line: 846 +// #define U_CALLCONV U_EXPORT2 + diff --git a/macrodefs_enums/ios/unicode/putil.h b/macrodefs_enums/ios/unicode/putil.h new file mode 100644 index 000000000..0541352f5 --- /dev/null +++ b/macrodefs_enums/ios/unicode/putil.h @@ -0,0 +1,9 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/putil.h + +enum macro_unicode_file_separators { +/*line: 130*/ U_FILE_SEP_CHAR = 0x2f, // '/' +/*line: 131*/ U_FILE_ALT_SEP_CHAR = 0x2f, // '/' +/*line: 132*/ U_PATH_SEP_CHAR = 0x3a, // ':' +}; + diff --git a/macrodefs_enums/ios/unicode/stringoptions.h b/macrodefs_enums/ios/unicode/stringoptions.h new file mode 100644 index 000000000..7953d3aa8 --- /dev/null +++ b/macrodefs_enums/ios/unicode/stringoptions.h @@ -0,0 +1,155 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/stringoptions.h + +enum macro_unicode_options { +/** + * Option value for case folding: Use default mappings defined in CaseFolding.txt. + * + * @stable ICU 2.0 + */ +/*line: 22*/ U_FOLD_CASE_DEFAULT = 0x0, // 0 +/** + * Option value for case folding: + * + * Use the modified set of mappings provided in CaseFolding.txt to handle dotted I + * and dotless i appropriately for Turkic languages (tr, az). + * + * Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that + * are to be included for default mappings and + * excluded for the Turkic-specific mappings. + * + * Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that + * are to be excluded for default mappings and + * included for the Turkic-specific mappings. + * + * @stable ICU 2.0 + */ +/*line: 40*/ U_FOLD_CASE_EXCLUDE_SPECIAL_I = 0x1, // 1 +/** + * Titlecase the string as a whole rather than each word. + * (Titlecase only the character at index 0, possibly adjusted.) + * Option bits value for titlecasing APIs that take an options bit set. + * + * It is an error to specify multiple titlecasing iterator options together, + * including both an options bit and an explicit BreakIterator. + * + * @see U_TITLECASE_ADJUST_TO_CASED + * @stable ICU 60 + */ +/*line: 53*/ U_TITLECASE_WHOLE_STRING = 0x20, // 0x20 +/** + * Titlecase sentences rather than words. + * (Titlecase only the first character of each sentence, possibly adjusted.) + * Option bits value for titlecasing APIs that take an options bit set. + * + * It is an error to specify multiple titlecasing iterator options together, + * including both an options bit and an explicit BreakIterator. + * + * @see U_TITLECASE_ADJUST_TO_CASED + * @stable ICU 60 + */ +/*line: 66*/ U_TITLECASE_SENTENCES = 0x40, // 0x40 +/** + * Do not lowercase non-initial parts of words when titlecasing. + * Option bit for titlecasing APIs that take an options bit set. + * + * By default, titlecasing will titlecase the character at each + * (possibly adjusted) BreakIterator index and + * lowercase all other characters up to the next iterator index. + * With this option, the other characters will not be modified. + * + * @see U_TITLECASE_ADJUST_TO_CASED + * @see UnicodeString::toTitle + * @see CaseMap::toTitle + * @see ucasemap_setOptions + * @see ucasemap_toTitle + * @see ucasemap_utf8ToTitle + * @stable ICU 3.8 + */ +/*line: 85*/ U_TITLECASE_NO_LOWERCASE = 0x100, // 0x100 +/** + * Do not adjust the titlecasing BreakIterator indexes; + * titlecase exactly the characters at breaks from the iterator. + * Option bit for titlecasing APIs that take an options bit set. + * + * By default, titlecasing will take each break iterator index, + * adjust it to the next relevant character (see U_TITLECASE_ADJUST_TO_CASED), + * and titlecase that one. + * + * Other characters are lowercased. + * + * It is an error to specify multiple titlecasing adjustment options together. + * + * @see U_TITLECASE_ADJUST_TO_CASED + * @see U_TITLECASE_NO_LOWERCASE + * @see UnicodeString::toTitle + * @see CaseMap::toTitle + * @see ucasemap_setOptions + * @see ucasemap_toTitle + * @see ucasemap_utf8ToTitle + * @stable ICU 3.8 + */ +/*line: 109*/ U_TITLECASE_NO_BREAK_ADJUSTMENT = 0x200, // 0x200 +/** + * Adjust each titlecasing BreakIterator index to the next cased character. + * (See the Unicode Standard, chapter 3, Default Case Conversion, R3 toTitlecase(X).) + * Option bit for titlecasing APIs that take an options bit set. + * + * This used to be the default index adjustment in ICU. + * Since ICU 60, the default index adjustment is to the next character that is + * a letter, number, symbol, or private use code point. + * (Uncased modifier letters are skipped.) + * The difference in behavior is small for word titlecasing, + * but the new adjustment is much better for whole-string and sentence titlecasing: + * It yields "49ers" and "«丰(abc)»" instead of "49Ers" and "«丰(Abc)»". + * + * It is an error to specify multiple titlecasing adjustment options together. + * + * @see U_TITLECASE_NO_BREAK_ADJUSTMENT + * @stable ICU 60 + */ +/*line: 129*/ U_TITLECASE_ADJUST_TO_CASED = 0x400, // 0x400 +/** + * Option for string transformation functions to not first reset the Edits object. + * Used for example in some case-mapping and normalization functions. + * + * @see CaseMap + * @see Edits + * @see Normalizer2 + * @stable ICU 60 + */ +/*line: 140*/ U_EDITS_NO_RESET = 0x2000, // 0x2000 +/** + * Omit unchanged text when recording how source substrings + * relate to changed and unchanged result substrings. + * Used for example in some case-mapping and normalization functions. + * + * @see CaseMap + * @see Edits + * @see Normalizer2 + * @stable ICU 60 + */ +/*line: 152*/ U_OMIT_UNCHANGED_TEXT = 0x4000, // 0x4000 +/** + * Option bit for u_strCaseCompare, u_strcasecmp, unorm_compare, etc: + * Compare strings in code point order instead of code unit order. + * @stable ICU 2.2 + */ +/*line: 159*/ U_COMPARE_CODE_POINT_ORDER = 0x8000, // 0x8000 +/** + * Option bit for unorm_compare: + * Perform case-insensitive comparison. + * @stable ICU 2.2 + */ +/*line: 166*/ U_COMPARE_IGNORE_CASE = 0x10000, // 0x10000 +}; + +enum macro_unorm_input_is_fcd { +/** + * Option bit for unorm_compare: + * Both input strings are assumed to fulfill FCD conditions. + * @stable ICU 2.2 + */ +/*line: 173*/ UNORM_INPUT_IS_FCD = 0x20000, // 0x20000 +}; + diff --git a/macrodefs_enums/ios/unicode/uchar.h b/macrodefs_enums/ios/unicode/uchar.h new file mode 100644 index 000000000..6dd2c48ea --- /dev/null +++ b/macrodefs_enums/ios/unicode/uchar.h @@ -0,0 +1,136 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/uchar.h + +enum macro_unicode_range { +/** The lowest Unicode code point value. Code points are non-negative. @stable ICU 2.0 */ +/*line: 158*/ UCHAR_MIN_VALUE = 0x0, // 0 +/** + * The highest Unicode code point value (scalar value) according to + * The Unicode Standard. This is a 21-bit value (20.1 bits, rounded up). + * For a single character, UChar32 is a simple type that can hold any code point value. + * + * @see UChar32 + * @stable ICU 2.0 + */ +/*line: 168*/ UCHAR_MAX_VALUE = 0x10ffff, // 0x10ffff +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 927 +// #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES) + +// Line: 930 +// #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER) + +// Line: 932 +// #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER) + +// Line: 934 +// #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER) + +// Line: 936 +// #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER) + +// Line: 938 +// #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER) + +// Line: 941 +// #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK) + +// Line: 943 +// #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK) + +// Line: 945 +// #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK) + +// Line: 948 +// #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER) + +// Line: 950 +// #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER) + +// Line: 952 +// #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER) + +// Line: 955 +// #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR) + +// Line: 957 +// #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR) + +// Line: 959 +// #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR) + +// Line: 962 +// #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR) + +// Line: 964 +// #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR) + +// Line: 966 +// #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR) + +// Line: 968 +// #define U_GC_CS_MASK U_MASK(U_SURROGATE) + +// Line: 971 +// #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION) + +// Line: 973 +// #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION) + +// Line: 975 +// #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION) + +// Line: 977 +// #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION) + +// Line: 979 +// #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION) + +// Line: 982 +// #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL) + +// Line: 984 +// #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL) + +// Line: 986 +// #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL) + +// Line: 988 +// #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL) + +// Line: 991 +// #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION) + +// Line: 993 +// #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION) + +// Line: 997 +// #define U_GC_L_MASK (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK) + +// Line: 1001 +// #define U_GC_LC_MASK (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK) + +// Line: 1005 +// #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK) + +// Line: 1008 +// #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK) + +// Line: 1011 +// #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK) + +// Line: 1014 +// #define U_GC_C_MASK (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK) + +// Line: 1018 +// #define U_GC_P_MASK (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK|\ +// UU_GC_PI_MASK|U_GC_PF_MASK) + +// Line: 1023 +// #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK) + +// Line: 3138 +// #define U_NO_NUMERIC_VALUE ((double)-123456789.) + diff --git a/macrodefs_enums/ios/unicode/uconfig.h b/macrodefs_enums/ios/unicode/uconfig.h new file mode 100644 index 000000000..a59f00cfe --- /dev/null +++ b/macrodefs_enums/ios/unicode/uconfig.h @@ -0,0 +1,68 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/uconfig.h + +enum macro_uconfig_constants { + /*line: 65*/ APPLE_ICU_CHANGES = 0x1, // 1 + + /*line: 85*/ U_DEBUG = 0x0, // 0 + + /*line: 93*/ UCLN_NO_AUTO_CLEANUP = 0x1, // 1 + + // rdar://60884991 #58 Replace installsrc patching with changes directly in + // header files + /*line: 104*/ U_DISABLE_RENAMING = 0x1, // 1 + + /*line: 125*/ U_NO_DEFAULT_INCLUDE_UTF_HEADERS = 0x0, // 0 + /*line: 142*/ U_OVERRIDE_CXX_ALLOCATION = 0x1, // 1 + + /*line: 151*/ U_ENABLE_TRACING = 0x0, // 0 + + /*line: 160*/ UCONFIG_ENABLE_PLUGINS = 0x0, // 0 + /*line: 169*/ U_ENABLE_DYLOAD = 0x1, // 1 + + /*line: 178*/ U_CHECK_DYLOAD = 0x1, // 1 + + /*line: 187*/ U_DEFAULT_SHOW_DRAFT = 0x1, // 1 + + /*line: 233*/ UCONFIG_ONLY_COLLATION = 0x0, // 0 + + /*line: 271*/ UCONFIG_NO_FILE_IO = 0x0, // 0 + + /*line: 291*/ UCONFIG_NO_CONVERSION = 0x0, // 0 + + /*line: 310*/ UCONFIG_ONLY_HTML_CONVERSION = 0x0, // 0 + + /*line: 326*/ UCONFIG_NO_LEGACY_CONVERSION = 0x0, // 0 + + /*line: 338*/ UCONFIG_NO_NORMALIZATION = 0x0, // 0 + + /*line: 348*/ UCONFIG_USE_ML_PHRASE_BREAKING = 0x0, // 0 + + /*line: 373*/ UCONFIG_NO_BREAK_ITERATION = 0x0, // 0 + + /*line: 383*/ UCONFIG_NO_IDNA = 0x0, // 0 + + /*line: 406*/ UCONFIG_USE_WINDOWS_LCID_MAPPING_API = 0x1, // 1 + + /*line: 418*/ UCONFIG_NO_COLLATION = 0x0, // 0 + + /*line: 428*/ UCONFIG_NO_FORMATTING = 0x0, // 0 + + /*line: 439*/ UCONFIG_NO_MF2 = 0x0, // 0 + + /*line: 449*/ UCONFIG_NO_TRANSLITERATION = 0x0, // 0 + + /*line: 459*/ UCONFIG_NO_REGULAR_EXPRESSIONS = 0x0, // 0 + // rdar://60884991 #58 Replace installsrc patching with changes directly in + // header files + /*line: 471*/ UCONFIG_NO_SERVICE = 0x1, // 1 + + /*line: 484*/ UCONFIG_HAVE_PARSEALLINPUT = 0x1, // 1 + + /*line: 494*/ UCONFIG_NO_FILTERED_BREAK_ITERATION = 0x0, // 0 + +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 394 +// #define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL diff --git a/macrodefs_enums/ios/unicode/uidna.h b/macrodefs_enums/ios/unicode/uidna.h new file mode 100644 index 000000000..6f29eaed2 --- /dev/null +++ b/macrodefs_enums/ios/unicode/uidna.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/uidna.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 227 +// #define UIDNA_INFO_INITIALIZER {\ +// ((int16_t)sizeof(UIDNAInfo),\ +// ffalse,ffalse,\ +// 00,00,00}} + diff --git a/macrodefs_enums/ios/unicode/uiter.h b/macrodefs_enums/ios/unicode/uiter.h new file mode 100644 index 000000000..7f8a0a80b --- /dev/null +++ b/macrodefs_enums/ios/unicode/uiter.h @@ -0,0 +1,19 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/uiter.h + +// Depends on identifiers +enum macro_uiter_no_state { +/** + * Constant for UCharIterator getState() indicating an error or + * an unknown state. + * Returned by uiter_getState()/UCharIteratorGetState + * when an error occurs. + * Also, some UCharIterator implementations may not be able to return + * a valid state for each position. This will be clearly documented + * for each such iterator (none of the public ones here). + * + * @stable ICU 2.6 + */ +/*line: 86*/ UITER_NO_STATE = 0xffffffff, // ((uint32_t)0xffffffff) +}; + diff --git a/macrodefs_enums/ios/unicode/umachine.h b/macrodefs_enums/ios/unicode/umachine.h new file mode 100644 index 000000000..c992956b3 --- /dev/null +++ b/macrodefs_enums/ios/unicode/umachine.h @@ -0,0 +1,98 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/umachine.h + +// Depends on identifiers +enum macro_int64_limits { +/** The smallest value a 64 bit signed integer can hold @stable ICU 2.8 */ +/*line: 223*/ U_INT64_MIN = -0x8000000000000000, // ((int64_t)(INT64_C(-9223372036854775807)-1)) +/** The largest value a 64 bit signed integer can hold @stable ICU 2.8 */ +/*line: 227*/ U_INT64_MAX = 0x7fffffffffffffff, // ((int64_t)(INT64_C(9223372036854775807))) +/** The largest value a 64 bit unsigned integer can hold @stable ICU 2.8 */ +/*line: 231*/ U_UINT64_MAX = 0xffffffffffffffff, // ((uint64_t)(UINT64_C(18446744073709551615))) +}; + +enum macro_bool { +// Apple changes this from 0 to 1 for compatibility, rdar://73713881 +/*line: 274*/ U_DEFINE_FALSE_AND_TRUE = 0x1, // 1 +}; + +enum macro_ubool { +/** + * The TRUE value of a UBool. + * + * @deprecated ICU 68 Use standard "true" instead. + */ +/*line: 295*/ TRUE = 0x1, // 1 +/** + * The FALSE value of a UBool. + * + * @deprecated ICU 68 Use standard "false" instead. + */ +/*line: 303*/ FALSE = 0x0, // 0 +}; + +enum macro_uchar_size { +/** Number of bytes in a UChar (always 2). @stable ICU 2.0 */ +/*line: 350*/ U_SIZEOF_UCHAR = 0x2, // 2 +}; + +enum macro_is_typedef { +/*line: 362*/ U_CHAR16_IS_TYPEDEF = 0x0, // 0 +}; + +enum macro_u_sentinel { +/** + * This value is intended for sentinel values for APIs that + * (take or) return single code points (UChar32). + * It is outside of the Unicode code point range 0..0x10ffff. + * + * For example, a "done" or "error" value in a new API + * could be indicated with U_SENTINEL. + * + * ICU APIs designed before ICU 2.4 usually define service-specific "done" + * values, mostly 0xffff. + * Those may need to be distinguished from + * actual U+ffff text contents by calling functions like + * CharacterIterator::hasNext() or UnicodeString::length(). + * + * @return -1 + * @see UChar32 + * @stable ICU 2.4 + */ +/*line: 487*/ U_SENTINEL = -0x1, // (-1) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 84 +// #define U_CFUNC extern + +// Line: 96 +// #define U_ATTRIBUTE_DEPRECATED __attribute__(((deprecated)) + +// Line: 110 +// #define U_CAPI U_CFUNCUU_EXPORT + +// Line: 112 +// #define U_STABLE U_CAPI + +// Line: 114 +// #define U_DRAFT U_CAPI + +// Line: 116 +// #define U_DEPRECATED U_CAPIUU_ATTRIBUTE_DEPRECATED + +// Line: 118 +// #define U_OBSOLETE U_CAPI + +// Line: 120 +// #define U_INTERNAL U_CAPI + +// Line: 147 +// #define UPRV_BLOCK_MACRO_BEGIN do + +// Line: 156 +// #define UPRV_BLOCK_MACRO_END while((false) + +// Line: 397 +// #define UCHAR_TYPE uint16_t + diff --git a/macrodefs_enums/ios/unicode/utext.h b/macrodefs_enums/ios/unicode/utext.h new file mode 100644 index 000000000..43a6c6b09 --- /dev/null +++ b/macrodefs_enums/ios/unicode/utext.h @@ -0,0 +1,26 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/utext.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 1568 +// #define UTEXT_INITIALIZER { \ +// UUTEXT_MAGIC, //* magic */\ +// 00, //* flags */\ +// 00, //* providerProps */\ +// ssizeof(UText), //* sizeOfStruct */\ +// 00, //* chunkNativeLimit */\ +// 00, //* extraSize */\ +// 00, //* nativeIndexingLimit */\ +// 00, //* chunkNativeStart */\ +// 00, //* chunkOffset */\ +// 00, //* chunkLength */\ +// NNULL, //* chunkContents */\ +// NNULL, //* pFuncs */\ +// NNULL, //* pExtra */\ +// NNULL, //* context */\ +// NNULL,NNULL,NNULL, //* p, q, r */\ +// NNULL, //* privP */\ +// 00,00,00, //* a, b, c */\ +// 00,00,00 //* privA,B,C, */\ +// }} + diff --git a/macrodefs_enums/ios/unicode/utf16.h b/macrodefs_enums/ios/unicode/utf16.h new file mode 100644 index 000000000..9d2945c9c --- /dev/null +++ b/macrodefs_enums/ios/unicode/utf16.h @@ -0,0 +1,20 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/utf16.h + +enum macro_u16_surrogate_offset { +/** + * Helper constant for U16_GET_SUPPLEMENTARY. + * @internal + */ +/*line: 99*/ U16_SURROGATE_OFFSET = 0x35fdc00, // ((0xd800<<10UL)+0xdc00-0x10000) +}; + +enum macro_utf16_max_length { +/** + * The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff). + * @return 2 + * @stable ICU 2.4 + */ +/*line: 148*/ U16_MAX_LENGTH = 0x2, // 2 +}; + diff --git a/macrodefs_enums/ios/unicode/utf8.h b/macrodefs_enums/ios/unicode/utf8.h new file mode 100644 index 000000000..95f56c2f7 --- /dev/null +++ b/macrodefs_enums/ios/unicode/utf8.h @@ -0,0 +1,12 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/utf8.h + +enum macro_utf8_max_length { +/** + * The maximum number of UTF-8 code units (bytes) per Unicode code point (U+0000..U+10ffff). + * @return 4 + * @stable ICU 2.4 + */ +/*line: 215*/ U8_MAX_LENGTH = 0x4, // 4 +}; + diff --git a/macrodefs_enums/ios/unicode/utf_old.h b/macrodefs_enums/ios/unicode/utf_old.h new file mode 100644 index 000000000..55dc59620 --- /dev/null +++ b/macrodefs_enums/ios/unicode/utf_old.h @@ -0,0 +1,67 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/utf_old.h + +enum macro_utf_size { +/*line: 161*/ U_HIDE_OBSOLETE_UTF_OLD_H = 0x0, // 0 +/** Number of bits in a Unicode string code unit - ICU uses 16-bit Unicode. @deprecated ICU 2.4. Obsolete, see utf_old.h. */ +/*line: 180*/ UTF_SIZE = 0x10, // 16 +}; + +enum macro_utf8_errors { +/** + * UTF8_ERROR_VALUE_1 and UTF8_ERROR_VALUE_2 are special error values for UTF-8, + * which need 1 or 2 bytes in UTF-8: + * \code + * U+0015 = NAK = Negative Acknowledge, C0 control character + * U+009f = highest C1 control character + * \endcode + * + * These are used by UTF8_..._SAFE macros so that they can return an error value + * that needs the same number of code units (bytes) as were seen by + * a macro. They should be tested with UTF_IS_ERROR() or UTF_IS_VALID(). + * + * @deprecated ICU 2.4. Obsolete, see utf_old.h. + */ +/*line: 208*/ UTF8_ERROR_VALUE_1 = 0x15, // 0x15 +/** + * See documentation on UTF8_ERROR_VALUE_1 for details. + * + * @deprecated ICU 2.4. Obsolete, see utf_old.h. + */ +/*line: 215*/ UTF8_ERROR_VALUE_2 = 0x9f, // 0x9f +/** + * Error value for all UTFs. This code point value will be set by macros with error + * checking if an error is detected. + * + * @deprecated ICU 2.4. Obsolete, see utf_old.h. + */ +/*line: 223*/ UTF_ERROR_VALUE = 0xffff, // 0xffff +}; + +enum macro_utf8_max_length { +/** The maximum number of bytes per code point. @deprecated ICU 2.4. Renamed to U8_MAX_LENGTH, see utf_old.h. */ +/*line: 362*/ UTF8_MAX_CHAR_LENGTH = 0x4, // 4 +}; + +enum macro_utf16_surrogate_offset { +/** Helper constant for UTF16_GET_PAIR_VALUE. @deprecated ICU 2.4. Renamed to U16_SURROGATE_OFFSET, see utf_old.h. */ +/*line: 546*/ UTF_SURROGATE_OFFSET = 0x35fdc00, // ((0xd800<<10UL)+0xdc00-0x10000) +}; + +enum macro_utf_length { +/** @deprecated ICU 2.4. Renamed to U16_MAX_LENGTH, see utf_old.h. */ +/*line: 580*/ UTF16_MAX_CHAR_LENGTH = 0x2, // 2 +/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ +/*line: 828*/ UTF32_MAX_CHAR_LENGTH = 0x1, // 1 +}; + +// Depends on identifiers +enum macro_utf_max_char_length { +/** + * How many code units are used at most for any Unicode code point (2)? + * Same as UTF16_MAX_CHAR_LENGTH. + * @deprecated ICU 2.4. Renamed to U16_MAX_LENGTH, see utf_old.h. + */ +/*line: 1073*/ UTF_MAX_CHAR_LENGTH = 0x2, // U16_MAX_LENGTH +}; + diff --git a/macrodefs_enums/ios/unicode/utypes.h b/macrodefs_enums/ios/unicode/utypes.h new file mode 100644 index 000000000..c16e14991 --- /dev/null +++ b/macrodefs_enums/ios/unicode/utypes.h @@ -0,0 +1,54 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/utypes.h + +enum macro_unicode_flags { +/*line: 93*/ U_SHOW_CPLUSPLUS_API = 0x0, // 0 +/*line: 95*/ U_SHOW_CPLUSPLUS_HEADER_API = 0x0, // 0 +/*line: 205*/ U_USE_USRDATA = 0x0, /**< @internal */ // 0 +}; + +enum macro_time_constants { +/** The number of milliseconds per second @stable ICU 2.0 */ +/*line: 269*/ U_MILLIS_PER_SECOND = 0x3e8, // (1000) +/** The number of milliseconds per minute @stable ICU 2.0 */ +/*line: 271*/ U_MILLIS_PER_MINUTE = 0xea60, // (60000) +/** The number of milliseconds per hour @stable ICU 2.0 */ +/*line: 273*/ U_MILLIS_PER_HOUR = 0x36ee80, // (3600000) +/** The number of milliseconds per day @stable ICU 2.0 */ +/*line: 275*/ U_MILLIS_PER_DAY = 0x5265c00, // (86400000) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 193 +// #define U_ICUDATA_TYPE_LITLETTER l + +// Line: 219 +// #define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM,U_LIB_SUFFIX_C_NAME) + +// Line: 287 +// #define U_DATE_MAX (1.7976931348623157e+308) + +// Line: 299 +// #define U_DATE_MIN (-U_DATE_MAX) + +// Line: 441 +// #define U_DATA_API U_IMPORT + +// Line: 442 +// #define U_COMMON_API U_IMPORT + +// Line: 443 +// #define U_I18N_API U_IMPORT + +// Line: 444 +// #define U_LAYOUT_API U_IMPORT + +// Line: 445 +// #define U_LAYOUTEX_API U_IMPORT + +// Line: 446 +// #define U_IO_API U_IMPORT + +// Line: 447 +// #define U_TOOLUTIL_API U_IMPORT + diff --git a/macrodefs_enums/ios/unicode/uvernum.h b/macrodefs_enums/ios/unicode/uvernum.h new file mode 100644 index 000000000..22fb3afca --- /dev/null +++ b/macrodefs_enums/ios/unicode/uvernum.h @@ -0,0 +1,70 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/uvernum.h + +enum macro_icu_major_version { +/** The current ICU major version as an integer. + * This value will change in the subsequent releases of ICU + * @stable ICU 2.4 + */ +/*line: 56*/ U_ICU_VERSION_MAJOR_NUM = 0x4c, // 76 +}; + +enum macro_icu_minor { +/** The current ICU minor version as an integer. + * This value will change in the subsequent releases of ICU + * @stable ICU 2.6 + */ +/*line: 62*/ U_ICU_VERSION_MINOR_NUM = 0x1, // 1 +}; + +enum macro_icu_patchlevel { +/** The current ICU patchlevel version as an integer. + * This value will change in the subsequent releases of ICU + * @stable ICU 2.4 + */ +/*line: 68*/ U_ICU_VERSION_PATCHLEVEL_NUM = 0x0, // 0 +}; + +enum macro_icu_buildlevel { +/*line: 75*/ U_ICU_VERSION_BUILDLEVEL_NUM = 0x0, // 0 +}; + +enum macro_disable_version_suffix { +/*line: 105*/ U_DISABLE_VERSION_SUFFIX = 0x0, // 0 +}; + +enum macro_collation_runtime_version { +/** + * Collation runtime version (sort key generator, strcoll). + * If the version is different, sort keys for the same string could be different. + * This value may change in subsequent releases of ICU. + * @stable ICU 2.4 + */ +/*line: 170*/ UCOL_RUNTIME_VERSION = 0x9, // 9 +}; + +enum macro_ucol_builder_version { +/** + * Collation builder code version. + * When this is different, the same tailoring might result + * in assigning different collation elements to code points. + * This value may change in subsequent releases of ICU. + * @stable ICU 2.4 + */ +/*line: 179*/ UCOL_BUILDER_VERSION = 0x9, // 9 +}; + +enum macro_ucol_tailorings_version { +/** + * Constant 1. + * This was intended to be the version of collation tailorings, + * but instead the tailoring data carries a version number. + * @deprecated ICU 54 + */ +/*line: 188*/ UCOL_TAILORINGS_VERSION = 0x1, // 1 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 82 +// #define U_ICU_VERSION_SUFFIX _76 + diff --git a/macrodefs_enums/ios/unicode/uversion.h b/macrodefs_enums/ios/unicode/uversion.h new file mode 100644 index 000000000..ee3b41102 --- /dev/null +++ b/macrodefs_enums/ios/unicode/uversion.h @@ -0,0 +1,28 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unicode/uversion.h + +enum macro_copyright_string_length { +/** Maximum length of the copyright string. + * @stable ICU 2.4 + */ +/*line: 38*/ U_COPYRIGHT_STRING_LENGTH = 0x80, // 128 +}; + +enum macro_icu_version { +/** An ICU version consists of up to 4 numbers from 0..255. + * @stable ICU 2.4 + */ +/*line: 43*/ U_MAX_VERSION_LENGTH = 0x4, // 4 +/** In a string, ICU version fields are delimited by dots. + * @stable ICU 2.4 + */ +/*line: 48*/ U_VERSION_DELIMITER = 0x2e, // '.' +}; + +enum macro_max_version_length { +/** The maximum length of an ICU version string. + * @stable ICU 2.4 + */ +/*line: 53*/ U_MAX_VERSION_STRING_LENGTH = 0x14, // 20 +}; + diff --git a/macrodefs_enums/ios/unistd.h b/macrodefs_enums/ios/unistd.h new file mode 100644 index 000000000..d5c62e072 --- /dev/null +++ b/macrodefs_enums/ios/unistd.h @@ -0,0 +1,319 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unistd.h + +enum macro_file_descriptors { +/*line: 90*/ STDIN_FILENO = 0x0, /* standard input file descriptor */ // 0 +/*line: 91*/ STDOUT_FILENO = 0x1, /* standard output file descriptor */ // 1 +/*line: 92*/ STDERR_FILENO = 0x2, /* standard error file descriptor */ // 2 +}; + +enum macro_posix_xopen_version { +/* _POSIX_VERSION and _POSIX2_VERSION from sys/unistd.h */ +/*line: 97*/ _XOPEN_VERSION = 0x258, /* [XSI] */ // 600 +/*line: 98*/ _XOPEN_XCU_VERSION = 0x4, /* Older standard */ // 4 +}; + +enum macro_posix_features { +/* Please keep this list in the same order as the applicable standard */ +/*line: 102*/ _POSIX_ADVISORY_INFO = -0x1, /* [ADV] */ // (-1) +/*line: 103*/ _POSIX_ASYNCHRONOUS_IO = -0x1, /* [AIO] */ // (-1) +/*line: 104*/ _POSIX_BARRIERS = -0x1, /* [BAR] */ // (-1) +/*line: 105*/ _POSIX_CHOWN_RESTRICTED = 0x30db0, // 200112L +/*line: 106*/ _POSIX_CLOCK_SELECTION = -0x1, /* [CS] */ // (-1) +/*line: 107*/ _POSIX_CPUTIME = -0x1, /* [CPT] */ // (-1) +/*line: 108*/ _POSIX_FSYNC = 0x30db0, /* [FSC] */ // 200112L +/*line: 109*/ _POSIX_IPV6 = 0x30db0, // 200112L +/*line: 110*/ _POSIX_JOB_CONTROL = 0x30db0, // 200112L +/*line: 111*/ _POSIX_MAPPED_FILES = 0x30db0, /* [MF] */ // 200112L +/*line: 112*/ _POSIX_MEMLOCK = -0x1, /* [ML] */ // (-1) +/*line: 113*/ _POSIX_MEMLOCK_RANGE = -0x1, /* [MR] */ // (-1) +/*line: 114*/ _POSIX_MEMORY_PROTECTION = 0x30db0, /* [MPR] */ // 200112L +/*line: 115*/ _POSIX_MESSAGE_PASSING = -0x1, /* [MSG] */ // (-1) +/*line: 116*/ _POSIX_MONOTONIC_CLOCK = -0x1, /* [MON] */ // (-1) +/*line: 117*/ _POSIX_NO_TRUNC = 0x30db0, // 200112L +/*line: 118*/ _POSIX_PRIORITIZED_IO = -0x1, /* [PIO] */ // (-1) +/*line: 119*/ _POSIX_PRIORITY_SCHEDULING = -0x1, /* [PS] */ // (-1) +/*line: 120*/ _POSIX_RAW_SOCKETS = -0x1, /* [RS] */ // (-1) +/*line: 121*/ _POSIX_READER_WRITER_LOCKS = 0x30db0, /* [THR] */ // 200112L +/*line: 122*/ _POSIX_REALTIME_SIGNALS = -0x1, /* [RTS] */ // (-1) +/*line: 123*/ _POSIX_REGEXP = 0x30db0, // 200112L +/*line: 124*/ _POSIX_SAVED_IDS = 0x30db0, /* XXX required */ // 200112L +/*line: 125*/ _POSIX_SEMAPHORES = -0x1, /* [SEM] */ // (-1) +/*line: 126*/ _POSIX_SHARED_MEMORY_OBJECTS = -0x1, /* [SHM] */ // (-1) +/*line: 127*/ _POSIX_SHELL = 0x30db0, // 200112L +/*line: 128*/ _POSIX_SPAWN = 0x30db0, /* [SPN] */ // 200112L +/*line: 129*/ _POSIX_SPIN_LOCKS = -0x1, /* [SPI] */ // (-1) +/*line: 130*/ _POSIX_SPORADIC_SERVER = -0x1, /* [SS] */ // (-1) +/*line: 131*/ _POSIX_SYNCHRONIZED_IO = -0x1, /* [SIO] */ // (-1) +/*line: 132*/ _POSIX_THREAD_ATTR_STACKADDR = 0x30db0, /* [TSA] */ // 200112L +/*line: 133*/ _POSIX_THREAD_ATTR_STACKSIZE = 0x30db0, /* [TSS] */ // 200112L +/*line: 134*/ _POSIX_THREAD_CPUTIME = -0x1, /* [TCT] */ // (-1) +/*line: 135*/ _POSIX_THREAD_PRIO_INHERIT = -0x1, /* [TPI] */ // (-1) +/*line: 136*/ _POSIX_THREAD_PRIO_PROTECT = -0x1, /* [TPP] */ // (-1) +/*line: 137*/ _POSIX_THREAD_PRIORITY_SCHEDULING = -0x1, /* [TPS] */ // (-1) +/*line: 138*/ _POSIX_THREAD_PROCESS_SHARED = 0x30db0, /* [TSH] */ // 200112L +/*line: 139*/ _POSIX_THREAD_SAFE_FUNCTIONS = 0x30db0, /* [TSF] */ // 200112L +/*line: 140*/ _POSIX_THREAD_SPORADIC_SERVER = -0x1, /* [TSP] */ // (-1) +/*line: 141*/ _POSIX_THREADS = 0x30db0, /* [THR] */ // 200112L +/*line: 142*/ _POSIX_TIMEOUTS = -0x1, /* [TMO] */ // (-1) +/*line: 143*/ _POSIX_TIMERS = -0x1, /* [TMR] */ // (-1) +/*line: 144*/ _POSIX_TRACE = -0x1, /* [TRC] */ // (-1) +/*line: 145*/ _POSIX_TRACE_EVENT_FILTER = -0x1, /* [TEF] */ // (-1) +/*line: 146*/ _POSIX_TRACE_INHERIT = -0x1, /* [TRI] */ // (-1) +/*line: 147*/ _POSIX_TRACE_LOG = -0x1, /* [TRL] */ // (-1) +/*line: 148*/ _POSIX_TYPED_MEMORY_OBJECTS = -0x1, /* [TYM] */ // (-1) +}; + +enum macro_posix2_features { +/*line: 154*/ _POSIX2_C_BIND = 0x30db0, // 200112L +/*line: 155*/ _POSIX2_C_DEV = 0x30db0, /* c99 command */ // 200112L +/*line: 156*/ _POSIX2_CHAR_TERM = 0x30db0, // 200112L +/*line: 157*/ _POSIX2_FORT_DEV = -0x1, /* fort77 command */ // (-1) +/*line: 158*/ _POSIX2_FORT_RUN = 0x30db0, // 200112L +/*line: 159*/ _POSIX2_LOCALEDEF = 0x30db0, /* localedef command */ // 200112L +/*line: 160*/ _POSIX2_PBS = -0x1, // (-1) +/*line: 161*/ _POSIX2_PBS_ACCOUNTING = -0x1, // (-1) +/*line: 162*/ _POSIX2_PBS_CHECKPOINT = -0x1, // (-1) +/*line: 163*/ _POSIX2_PBS_LOCATE = -0x1, // (-1) +/*line: 164*/ _POSIX2_PBS_MESSAGE = -0x1, // (-1) +/*line: 165*/ _POSIX2_PBS_TRACK = -0x1, // (-1) +/*line: 166*/ _POSIX2_SW_DEV = 0x30db0, // 200112L +/*line: 167*/ _POSIX2_UPE = 0x30db0, /* XXXX no fc, newgrp, tabs */ // 200112L +}; + +enum macro_system_data_model_options { +/*line: 170*/ __ILP32_OFF32 = -0x1, // (-1) +/*line: 171*/ __ILP32_OFFBIG = -0x1, // (-1) +/*line: 173*/ __LP64_OFF64 = 0x1, // (1) +/*line: 174*/ __LPBIG_OFFBIG = 0x1, // (1) +}; + +enum macro_posix_v6_data_model_options { +/*line: 177*/ _POSIX_V6_ILP32_OFF32 = -0x1, // __ILP32_OFF32 +/*line: 178*/ _POSIX_V6_ILP32_OFFBIG = -0x1, // __ILP32_OFFBIG +/*line: 179*/ _POSIX_V6_LP64_OFF64 = 0x1, // __LP64_OFF64 +/*line: 180*/ _POSIX_V6_LPBIG_OFFBIG = 0x1, // __LPBIG_OFFBIG +}; + +enum macro_posix_v7_data_model_options { +/*line: 184*/ _POSIX_V7_ILP32_OFF32 = -0x1, // __ILP32_OFF32 +/*line: 185*/ _POSIX_V7_ILP32_OFFBIG = -0x1, // __ILP32_OFFBIG +/*line: 186*/ _POSIX_V7_LP64_OFF64 = 0x1, // __LP64_OFF64 +/*line: 187*/ _POSIX_V7_LPBIG_OFFBIG = 0x1, // __LPBIG_OFFBIG +}; + +// Depends on identifiers +enum macro_v6_data_model_options { +/*line: 191*/ _V6_ILP32_OFF32 = -0x1, // __ILP32_OFF32 +/*line: 192*/ _V6_ILP32_OFFBIG = -0x1, // __ILP32_OFFBIG +/*line: 193*/ _V6_LP64_OFF64 = 0x1, // __LP64_OFF64 +/*line: 194*/ _V6_LPBIG_OFFBIG = 0x1, // __LPBIG_OFFBIG +}; + +// Depends on identifiers +enum macro_off_type { +/* Removed in Issue 7 */ +/*line: 199*/ _XBS5_ILP32_OFF32 = -0x1, // __ILP32_OFF32 +/*line: 200*/ _XBS5_ILP32_OFFBIG = -0x1, // __ILP32_OFFBIG +/*line: 201*/ _XBS5_LP64_OFF64 = 0x1, // __LP64_OFF64 +/*line: 202*/ _XBS5_LPBIG_OFFBIG = 0x1, // __LPBIG_OFFBIG +}; + +enum macro_xopen_features { +/*line: 206*/ _XOPEN_CRYPT = 0x1, // (1) +/*line: 207*/ _XOPEN_ENH_I18N = 0x1, /* XXX required */ // (1) +/*line: 208*/ _XOPEN_LEGACY = -0x1, /* no ftime gcvt, wcswcs */ // (-1) +/*line: 209*/ _XOPEN_REALTIME = -0x1, /* no q'ed signals, mq_* */ // (-1) +/*line: 210*/ _XOPEN_REALTIME_THREADS = -0x1, /* no posix_spawn, et. al. */ // (-1) +/*line: 211*/ _XOPEN_SHM = 0x1, // (1) +/*line: 212*/ _XOPEN_STREAMS = -0x1, /* Issue 6 */ // (-1) +/*line: 213*/ _XOPEN_UNIX = 0x1, // (1) +}; + +enum macro_configurable_system_variables { +/* configurable system variables */ +/*line: 217*/ _SC_ARG_MAX = 0x1, // 1 +/*line: 218*/ _SC_CHILD_MAX = 0x2, // 2 +/*line: 219*/ _SC_CLK_TCK = 0x3, // 3 +/*line: 220*/ _SC_NGROUPS_MAX = 0x4, // 4 +/*line: 221*/ _SC_OPEN_MAX = 0x5, // 5 +/*line: 222*/ _SC_JOB_CONTROL = 0x6, // 6 +/*line: 223*/ _SC_SAVED_IDS = 0x7, // 7 +/*line: 224*/ _SC_VERSION = 0x8, // 8 +/*line: 225*/ _SC_BC_BASE_MAX = 0x9, // 9 +/*line: 226*/ _SC_BC_DIM_MAX = 0xa, // 10 +/*line: 227*/ _SC_BC_SCALE_MAX = 0xb, // 11 +/*line: 228*/ _SC_BC_STRING_MAX = 0xc, // 12 +/*line: 229*/ _SC_COLL_WEIGHTS_MAX = 0xd, // 13 +/*line: 230*/ _SC_EXPR_NEST_MAX = 0xe, // 14 +/*line: 231*/ _SC_LINE_MAX = 0xf, // 15 +/*line: 232*/ _SC_RE_DUP_MAX = 0x10, // 16 +/*line: 233*/ _SC_2_VERSION = 0x11, // 17 +/*line: 234*/ _SC_2_C_BIND = 0x12, // 18 +/*line: 235*/ _SC_2_C_DEV = 0x13, // 19 +/*line: 236*/ _SC_2_CHAR_TERM = 0x14, // 20 +/*line: 237*/ _SC_2_FORT_DEV = 0x15, // 21 +/*line: 238*/ _SC_2_FORT_RUN = 0x16, // 22 +/*line: 239*/ _SC_2_LOCALEDEF = 0x17, // 23 +/*line: 240*/ _SC_2_SW_DEV = 0x18, // 24 +/*line: 241*/ _SC_2_UPE = 0x19, // 25 +/*line: 242*/ _SC_STREAM_MAX = 0x1a, // 26 +/*line: 243*/ _SC_TZNAME_MAX = 0x1b, // 27 +/*line: 246*/ _SC_ASYNCHRONOUS_IO = 0x1c, // 28 +/*line: 247*/ _SC_PAGESIZE = 0x1d, // 29 +/*line: 248*/ _SC_MEMLOCK = 0x1e, // 30 +/*line: 249*/ _SC_MEMLOCK_RANGE = 0x1f, // 31 +/*line: 250*/ _SC_MEMORY_PROTECTION = 0x20, // 32 +/*line: 251*/ _SC_MESSAGE_PASSING = 0x21, // 33 +/*line: 252*/ _SC_PRIORITIZED_IO = 0x22, // 34 +/*line: 253*/ _SC_PRIORITY_SCHEDULING = 0x23, // 35 +/*line: 254*/ _SC_REALTIME_SIGNALS = 0x24, // 36 +/*line: 255*/ _SC_SEMAPHORES = 0x25, // 37 +/*line: 256*/ _SC_FSYNC = 0x26, // 38 +/*line: 257*/ _SC_SHARED_MEMORY_OBJECTS = 0x27, // 39 +/*line: 258*/ _SC_SYNCHRONIZED_IO = 0x28, // 40 +/*line: 259*/ _SC_TIMERS = 0x29, // 41 +/*line: 260*/ _SC_AIO_LISTIO_MAX = 0x2a, // 42 +/*line: 261*/ _SC_AIO_MAX = 0x2b, // 43 +/*line: 262*/ _SC_AIO_PRIO_DELTA_MAX = 0x2c, // 44 +/*line: 263*/ _SC_DELAYTIMER_MAX = 0x2d, // 45 +/*line: 264*/ _SC_MQ_OPEN_MAX = 0x2e, // 46 +/*line: 265*/ _SC_MAPPED_FILES = 0x2f, /* swap _SC_PAGESIZE vs. BSD */ // 47 +/*line: 266*/ _SC_RTSIG_MAX = 0x30, // 48 +/*line: 267*/ _SC_SEM_NSEMS_MAX = 0x31, // 49 +/*line: 268*/ _SC_SEM_VALUE_MAX = 0x32, // 50 +/*line: 269*/ _SC_SIGQUEUE_MAX = 0x33, // 51 +/*line: 270*/ _SC_TIMER_MAX = 0x34, // 52 +/*line: 274*/ _SC_NPROCESSORS_CONF = 0x39, // 57 +/*line: 275*/ _SC_NPROCESSORS_ONLN = 0x3a, // 58 +/*line: 279*/ _SC_2_PBS = 0x3b, // 59 +/*line: 280*/ _SC_2_PBS_ACCOUNTING = 0x3c, // 60 +/*line: 281*/ _SC_2_PBS_CHECKPOINT = 0x3d, // 61 +/*line: 282*/ _SC_2_PBS_LOCATE = 0x3e, // 62 +/*line: 283*/ _SC_2_PBS_MESSAGE = 0x3f, // 63 +/*line: 284*/ _SC_2_PBS_TRACK = 0x40, // 64 +/*line: 285*/ _SC_ADVISORY_INFO = 0x41, // 65 +/*line: 286*/ _SC_BARRIERS = 0x42, // 66 +/*line: 287*/ _SC_CLOCK_SELECTION = 0x43, // 67 +/*line: 288*/ _SC_CPUTIME = 0x44, // 68 +/*line: 289*/ _SC_FILE_LOCKING = 0x45, // 69 +/*line: 290*/ _SC_GETGR_R_SIZE_MAX = 0x46, // 70 +/*line: 291*/ _SC_GETPW_R_SIZE_MAX = 0x47, // 71 +/*line: 292*/ _SC_HOST_NAME_MAX = 0x48, // 72 +/*line: 293*/ _SC_LOGIN_NAME_MAX = 0x49, // 73 +/*line: 294*/ _SC_MONOTONIC_CLOCK = 0x4a, // 74 +/*line: 295*/ _SC_MQ_PRIO_MAX = 0x4b, // 75 +/*line: 296*/ _SC_READER_WRITER_LOCKS = 0x4c, // 76 +/*line: 297*/ _SC_REGEXP = 0x4d, // 77 +/*line: 298*/ _SC_SHELL = 0x4e, // 78 +/*line: 299*/ _SC_SPAWN = 0x4f, // 79 +/*line: 300*/ _SC_SPIN_LOCKS = 0x50, // 80 +/*line: 301*/ _SC_SPORADIC_SERVER = 0x51, // 81 +/*line: 302*/ _SC_THREAD_ATTR_STACKADDR = 0x52, // 82 +/*line: 303*/ _SC_THREAD_ATTR_STACKSIZE = 0x53, // 83 +/*line: 304*/ _SC_THREAD_CPUTIME = 0x54, // 84 +/*line: 305*/ _SC_THREAD_DESTRUCTOR_ITERATIONS = 0x55, // 85 +/*line: 306*/ _SC_THREAD_KEYS_MAX = 0x56, // 86 +/*line: 307*/ _SC_THREAD_PRIO_INHERIT = 0x57, // 87 +/*line: 308*/ _SC_THREAD_PRIO_PROTECT = 0x58, // 88 +/*line: 309*/ _SC_THREAD_PRIORITY_SCHEDULING = 0x59, // 89 +/*line: 310*/ _SC_THREAD_PROCESS_SHARED = 0x5a, // 90 +/*line: 311*/ _SC_THREAD_SAFE_FUNCTIONS = 0x5b, // 91 +/*line: 312*/ _SC_THREAD_SPORADIC_SERVER = 0x5c, // 92 +/*line: 313*/ _SC_THREAD_STACK_MIN = 0x5d, // 93 +/*line: 314*/ _SC_THREAD_THREADS_MAX = 0x5e, // 94 +/*line: 315*/ _SC_TIMEOUTS = 0x5f, // 95 +/*line: 316*/ _SC_THREADS = 0x60, // 96 +/*line: 317*/ _SC_TRACE = 0x61, // 97 +/*line: 318*/ _SC_TRACE_EVENT_FILTER = 0x62, // 98 +/*line: 319*/ _SC_TRACE_INHERIT = 0x63, // 99 +/*line: 320*/ _SC_TRACE_LOG = 0x64, // 100 +/*line: 321*/ _SC_TTY_NAME_MAX = 0x65, // 101 +/*line: 322*/ _SC_TYPED_MEMORY_OBJECTS = 0x66, // 102 +/*line: 323*/ _SC_V6_ILP32_OFF32 = 0x67, // 103 +/*line: 324*/ _SC_V6_ILP32_OFFBIG = 0x68, // 104 +/*line: 325*/ _SC_V6_LP64_OFF64 = 0x69, // 105 +/*line: 326*/ _SC_V6_LPBIG_OFFBIG = 0x6a, // 106 +/*line: 327*/ _SC_IPV6 = 0x76, // 118 +/*line: 328*/ _SC_RAW_SOCKETS = 0x77, // 119 +/*line: 329*/ _SC_SYMLOOP_MAX = 0x78, // 120 +/*line: 333*/ _SC_ATEXIT_MAX = 0x6b, // 107 +/*line: 334*/ _SC_IOV_MAX = 0x38, // 56 +/*line: 335*/ _SC_PAGE_SIZE = 0x1d, // _SC_PAGESIZE +/*line: 336*/ _SC_XOPEN_CRYPT = 0x6c, // 108 +/*line: 337*/ _SC_XOPEN_ENH_I18N = 0x6d, // 109 +/*line: 338*/ _SC_XOPEN_LEGACY = 0x6e, /* Issue 6 */ // 110 +/*line: 339*/ _SC_XOPEN_REALTIME = 0x6f, /* Issue 6 */ // 111 +/*line: 340*/ _SC_XOPEN_REALTIME_THREADS = 0x70, /* Issue 6 */ // 112 +/*line: 341*/ _SC_XOPEN_SHM = 0x71, // 113 +/*line: 342*/ _SC_XOPEN_STREAMS = 0x72, /* Issue 6 */ // 114 +/*line: 343*/ _SC_XOPEN_UNIX = 0x73, // 115 +/*line: 344*/ _SC_XOPEN_VERSION = 0x74, // 116 +/*line: 345*/ _SC_XOPEN_XCU_VERSION = 0x79, // 121 +/* Removed in Issue 7 */ +/*line: 350*/ _SC_XBS5_ILP32_OFF32 = 0x7a, // 122 +/*line: 351*/ _SC_XBS5_ILP32_OFFBIG = 0x7b, // 123 +/*line: 352*/ _SC_XBS5_LP64_OFF64 = 0x7c, // 124 +/*line: 353*/ _SC_XBS5_LPBIG_OFFBIG = 0x7d, // 125 +/*line: 357*/ _SC_SS_REPL_MAX = 0x7e, // 126 +/*line: 358*/ _SC_TRACE_EVENT_NAME_MAX = 0x7f, // 127 +/*line: 359*/ _SC_TRACE_NAME_MAX = 0x80, // 128 +/*line: 360*/ _SC_TRACE_SYS_MAX = 0x81, // 129 +/*line: 361*/ _SC_TRACE_USER_EVENT_MAX = 0x82, // 130 +/* Removed in Issue 6 */ +/*line: 366*/ _SC_PASS_MAX = 0x83, // 131 +/*line: 371*/ _SC_PHYS_PAGES = 0xc8, // 200 +}; + +enum macro_configuration_flags { +/*line: 381*/ _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 0x2, // 2 +/*line: 382*/ _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 0x3, // 3 +/*line: 383*/ _CS_POSIX_V6_ILP32_OFF32_LIBS = 0x4, // 4 +/*line: 384*/ _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 0x5, // 5 +/*line: 385*/ _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 0x6, // 6 +/*line: 386*/ _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 0x7, // 7 +/*line: 387*/ _CS_POSIX_V6_LP64_OFF64_CFLAGS = 0x8, // 8 +/*line: 388*/ _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 0x9, // 9 +/*line: 389*/ _CS_POSIX_V6_LP64_OFF64_LIBS = 0xa, // 10 +/*line: 390*/ _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 0xb, // 11 +/*line: 391*/ _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 0xc, // 12 +/*line: 392*/ _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 0xd, // 13 +/*line: 393*/ _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 0xe, // 14 +/* Removed in Issue 7 */ +/*line: 398*/ _CS_XBS5_ILP32_OFF32_CFLAGS = 0x14, // 20 +/*line: 399*/ _CS_XBS5_ILP32_OFF32_LDFLAGS = 0x15, // 21 +/*line: 400*/ _CS_XBS5_ILP32_OFF32_LIBS = 0x16, // 22 +/*line: 401*/ _CS_XBS5_ILP32_OFF32_LINTFLAGS = 0x17, // 23 +/*line: 402*/ _CS_XBS5_ILP32_OFFBIG_CFLAGS = 0x18, // 24 +/*line: 403*/ _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 0x19, // 25 +/*line: 404*/ _CS_XBS5_ILP32_OFFBIG_LIBS = 0x1a, // 26 +/*line: 405*/ _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 0x1b, // 27 +/*line: 406*/ _CS_XBS5_LP64_OFF64_CFLAGS = 0x1c, // 28 +/*line: 407*/ _CS_XBS5_LP64_OFF64_LDFLAGS = 0x1d, // 29 +/*line: 408*/ _CS_XBS5_LP64_OFF64_LIBS = 0x1e, // 30 +/*line: 409*/ _CS_XBS5_LP64_OFF64_LINTFLAGS = 0x1f, // 31 +/*line: 410*/ _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 0x20, // 32 +/*line: 411*/ _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 0x21, // 33 +/*line: 412*/ _CS_XBS5_LPBIG_OFFBIG_LIBS = 0x22, // 34 +/*line: 413*/ _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 0x23, // 35 +}; + +enum macro_darwin_user_dirs { +/*line: 417*/ _CS_DARWIN_USER_DIR = 0x10000, // 65536 +/*line: 418*/ _CS_DARWIN_USER_TEMP_DIR = 0x10001, // 65537 +/*line: 419*/ _CS_DARWIN_USER_CACHE_DIR = 0x10002, // 65538 +}; + +enum macro_flock_operation { +/* These F_* are really XSI or Issue 6 */ +/*line: 531*/ F_ULOCK = 0x0, /* unlock locked section */ // 0 +/*line: 532*/ F_LOCK = 0x1, /* lock a section for exclusive use */ // 1 +/*line: 533*/ F_TLOCK = 0x2, /* test and lock a section for exclusive use */ // 2 +/*line: 534*/ F_TEST = 0x3, /* test a section for locks by other procs */ // 3 +}; + +enum macro_sync_flags { +/*line: 778*/ SYNC_VOLUME_FULLSYNC = 0x1, /* Flush data and metadata to platter, not just to disk cache */ // 0x01 +/*line: 779*/ SYNC_VOLUME_WAIT = 0x2, /* Wait for sync to complete */ // 0x02 +}; + diff --git a/macrodefs_enums/ios/unwind.h b/macrodefs_enums/ios/unwind.h new file mode 100644 index 000000000..8400dc125 --- /dev/null +++ b/macrodefs_enums/ios/unwind.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unwind.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 27 +// #define LIBUNWIND_UNAVAIL __attribute__ (( unavailable )) + diff --git a/macrodefs_enums/ios/unwind_arm_ehabi.h b/macrodefs_enums/ios/unwind_arm_ehabi.h new file mode 100644 index 000000000..7b9c8d540 --- /dev/null +++ b/macrodefs_enums/ios/unwind_arm_ehabi.h @@ -0,0 +1,10 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/unwind_arm_ehabi.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 29 +// #define _Unwind_Exception _Unwind_Control_Block + +// Line: 131 +// #define _LIBUNWIND_EXPORT_UNWIND_LEVEL1 static __inline__ + diff --git a/macrodefs_enums/ios/usbuf.h b/macrodefs_enums/ios/usbuf.h new file mode 100644 index 000000000..ee97e96b1 --- /dev/null +++ b/macrodefs_enums/ios/usbuf.h @@ -0,0 +1,137 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/usbuf.h + +enum macro_usbuf_flags { +/*line: 91*/ USBUF_FIXEDLEN = 0x0, /* fixed length buffer (default) */ // 0x00000000 +/*line: 92*/ USBUF_AUTOEXTEND = 0x1, /* automatically extend buffer */ // 0x00000001 +/*line: 93*/ USBUF_INCLUDENUL = 0x2, /* nulterm byte is counted in len */ // 0x00000002 +/*line: 94*/ USBUF_DRAINTOEOR = 0x4, /* use section 0 as drain EOR marker */ // 0x00000004 +/*line: 95*/ USBUF_NOWAIT = 0x8, /* Extend with non-blocking malloc */ // 0x00000008 +/*line: 96*/ USBUF_USRFLAGMSK = 0xffff, /* mask of flags the user may specify */ // 0x0000ffff +/*line: 97*/ USBUF_DYNAMIC = 0x10000, /* s_buf must be freed */ // 0x00010000 +/*line: 98*/ USBUF_FINISHED = 0x20000, /* set by sbuf_finish() */ // 0x00020000 +/*line: 99*/ USBUF_DYNSTRUCT = 0x80000, /* sbuf must be freed */ // 0x00080000 +/*line: 100*/ USBUF_INSECTION = 0x100000, /* set by sbuf_start_section() */ // 0x00100000 +/*line: 101*/ USBUF_DRAINATEOL = 0x200000, /* drained contents ended in \n */ // 0x00200000 +}; + +enum macro_header_flags { +/*line: 121*/ HD_COLUMN_MASK = 0xff, // 0xff +/*line: 122*/ HD_DELIM_MASK = 0xff00, // 0xff00 +/*line: 123*/ HD_OMIT_COUNT = 0x10000, // (1<<16) +/*line: 124*/ HD_OMIT_HEX = 0x20000, // (1<<17) +/*line: 125*/ HD_OMIT_CHARS = 0x40000, // (1<<18) +}; + +// Depends on identifiers +enum macro_sbuf_flags { +/*line: 129*/ SBUF_FIXEDLEN = 0x0, // USBUF_FIXEDLEN +/*line: 130*/ SBUF_AUTOEXTEND = 0x1, // USBUF_AUTOEXTEND +/*line: 131*/ SBUF_INCLUDENUL = 0x2, // USBUF_INCLUDENUL +/*line: 132*/ SBUF_DRAINTOEOR = 0x4, // USBUF_DRAINTOEOR +/*line: 133*/ SBUF_NOWAIT = 0x8, // USBUF_NOWAIT +/*line: 134*/ SBUF_USRFLAGMSK = 0xffff, // USBUF_USRFLAGMSK +/*line: 135*/ SBUF_DYNAMIC = 0x10000, // USBUF_DYNAMIC +/*line: 136*/ SBUF_FINISHED = 0x20000, // USBUF_FINISHED +/*line: 137*/ SBUF_DYNSTRUCT = 0x80000, // USBUF_DYNSTRUCT +/*line: 138*/ SBUF_INSECTION = 0x100000, // USBUF_INSECTION +/*line: 139*/ SBUF_DRAINATEOL = 0x200000, // USBUF_DRAINATEOL +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 43 +// #define sbuf usbuf + +// Line: 44 +// #define sbuf_drain_func usbuf_drain_func + +// Line: 45 +// #define sbuf_new usbuf_new + +// Line: 46 +// #define sbuf_new_auto usbuf_new_auto + +// Line: 47 +// #define sbuf_get_flags usbuf_get_flags + +// Line: 48 +// #define sbuf_clear_flags usbuf_clear_flags + +// Line: 49 +// #define sbuf_set_flags usbuf_set_flags + +// Line: 50 +// #define sbuf_clear usbuf_clear + +// Line: 51 +// #define sbuf_setpos usbuf_setpos + +// Line: 52 +// #define sbuf_bcat usbuf_bcat + +// Line: 53 +// #define sbuf_bcpy usbuf_bcpy + +// Line: 54 +// #define sbuf_cat usbuf_cat + +// Line: 55 +// #define sbuf_cpy usbuf_cpy + +// Line: 56 +// #define sbuf_printf usbuf_printf + +// Line: 57 +// #define sbuf_vprintf usbuf_vprintf + +// Line: 58 +// #define sbuf_nl_terminate usbuf_nl_terminate + +// Line: 59 +// #define sbuf_putc usbuf_putc + +// Line: 60 +// #define sbuf_set_drain usbuf_set_drain + +// Line: 61 +// #define sbuf_drain usbuf_drain + +// Line: 62 +// #define sbuf_trim usbuf_trim + +// Line: 63 +// #define sbuf_error usbuf_error + +// Line: 64 +// #define sbuf_finish usbuf_finish + +// Line: 65 +// #define sbuf_data usbuf_data + +// Line: 66 +// #define sbuf_len usbuf_len + +// Line: 67 +// #define sbuf_done usbuf_done + +// Line: 68 +// #define sbuf_delete usbuf_delete + +// Line: 69 +// #define sbuf_start_section usbuf_start_section + +// Line: 70 +// #define sbuf_end_section usbuf_end_section + +// Line: 71 +// #define sbuf_hexdump usbuf_hexdump + +// Line: 72 +// #define sbuf_count_drain usbuf_count_drain + +// Line: 73 +// #define sbuf_printf_drain usbuf_printf_drain + +// Line: 74 +// #define sbuf_putbuf usbuf_putbuf + diff --git a/macrodefs_enums/ios/util.h b/macrodefs_enums/ios/util.h new file mode 100644 index 000000000..da2f3fa7f --- /dev/null +++ b/macrodefs_enums/ios/util.h @@ -0,0 +1,27 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/util.h + +enum macro_pidlock_flags { +/*line: 72*/ PIDLOCK_NONBLOCK = 0x1, // 1 +/*line: 73*/ PIDLOCK_USEHOSTNAME = 0x2, // 2 +}; + +enum macro_fparseln_flags { +/* + * fparseln() specific operation flags. + */ +/*line: 78*/ FPARSELN_UNESCESC = 0x1, // 0x01 +/*line: 79*/ FPARSELN_UNESCCONT = 0x2, // 0x02 +/*line: 80*/ FPARSELN_UNESCCOMM = 0x4, // 0x04 +/*line: 81*/ FPARSELN_UNESCREST = 0x8, // 0x08 +/*line: 82*/ FPARSELN_UNESCALL = 0xf, // 0x0f +}; + +enum macro_opendev_flags { +/* + * opendev() specific operation flags. + */ +/*line: 87*/ OPENDEV_PART = 0x1, /* Try to open the raw partition. */ // 0x01 +/*line: 88*/ OPENDEV_BLCK = 0x4, /* Open block, not character device. */ // 0x04 +}; + diff --git a/macrodefs_enums/ios/utmpx.h b/macrodefs_enums/ios/utmpx.h new file mode 100644 index 000000000..984e1d3e6 --- /dev/null +++ b/macrodefs_enums/ios/utmpx.h @@ -0,0 +1,34 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/utmpx.h + +enum macro_utmpx_sizes { +/*line: 82*/ _UTX_USERSIZE = 0x100, /* matches MAXLOGNAME */ // 256 +/*line: 83*/ _UTX_LINESIZE = 0x20, // 32 +/*line: 84*/ _UTX_IDSIZE = 0x4, // 4 +/*line: 85*/ _UTX_HOSTSIZE = 0x100, // 256 +}; + +enum macro_utmpx_entry_type { +/*line: 87*/ EMPTY = 0x0, // 0 +/*line: 88*/ RUN_LVL = 0x1, // 1 +/*line: 89*/ BOOT_TIME = 0x2, // 2 +/*line: 90*/ OLD_TIME = 0x3, // 3 +/*line: 91*/ NEW_TIME = 0x4, // 4 +/*line: 92*/ INIT_PROCESS = 0x5, // 5 +/*line: 93*/ LOGIN_PROCESS = 0x6, // 6 +/*line: 94*/ USER_PROCESS = 0x7, // 7 +/*line: 95*/ DEAD_PROCESS = 0x8, // 8 +/*line: 98*/ ACCOUNTING = 0x9, // 9 +/*line: 99*/ SIGNATURE = 0xa, // 10 +/*line: 100*/ SHUTDOWN_TIME = 0xb, // 11 +}; + +enum macro_utmpx_record_masks { +/*line: 102*/ UTMPX_AUTOFILL_MASK = 0x8000, // 0x8000 +/*line: 103*/ UTMPX_DEAD_IF_CORRESPONDING_MASK = 0x4000, // 0x4000 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 79 +// #define UTMPX_FILE _PATH_UTMPX + diff --git a/macrodefs_enums/ios/vis.h b/macrodefs_enums/ios/vis.h new file mode 100644 index 000000000..589db7453 --- /dev/null +++ b/macrodefs_enums/ios/vis.h @@ -0,0 +1,59 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/vis.h + +// Depends on identifiers +enum macro_vis_encoding { +/* + * to select alternate encoding format + */ +/*line: 67*/ VIS_OCTAL = 0x1, /* use octal \ddd format */ // 0x0001 +/*line: 68*/ VIS_CSTYLE = 0x2, /* use \[nrft0..] where appropiate */ // 0x0002 +/* + * to alter set of characters encoded (default is to encode all + * non-graphic except space, tab, and newline). + */ +/*line: 74*/ VIS_SP = 0x4, /* also encode space */ // 0x0004 +/*line: 75*/ VIS_TAB = 0x8, /* also encode tab */ // 0x0008 +/*line: 76*/ VIS_NL = 0x10, /* also encode newline */ // 0x0010 +/*line: 77*/ VIS_WHITE = 0x1c, // (VIS_SP|VIS_TAB|VIS_NL) +/*line: 78*/ VIS_SAFE = 0x20, /* only encode "unsafe" characters */ // 0x0020 +/*line: 79*/ VIS_DQ = 0x8000, /* also encode double quotes */ // 0x8000 +}; + +// Depends on identifiers +enum macro_vis_flags { +/* + * other + */ +/*line: 84*/ VIS_NOSLASH = 0x40, /* inhibit printing '\' */ // 0x0040 +/*line: 85*/ VIS_HTTP1808 = 0x80, /* http-style escape % hex hex */ // 0x0080 +/*line: 86*/ VIS_HTTPSTYLE = 0x80, /* http-style escape % hex hex */ // 0x0080 +/*line: 87*/ VIS_GLOB = 0x100, /* encode glob(3) magic characters */ // 0x0100 +/*line: 88*/ VIS_MIMESTYLE = 0x200, /* mime-style escape = HEX HEX */ // 0x0200 +/*line: 89*/ VIS_HTTP1866 = 0x400, /* http-style &#num; or &string; */ // 0x0400 +/*line: 90*/ VIS_NOESCAPE = 0x800, /* don't decode `\' */ // 0x0800 +/*line: 91*/ _VIS_END = 0x1000, /* for unvis */ // 0x1000 +/*line: 92*/ VIS_SHELL = 0x2000, /* encode shell special characters [not glob] */ // 0x2000 +/*line: 93*/ VIS_META = 0x211c, // (VIS_WHITE|VIS_GLOB|VIS_SHELL) +/*line: 94*/ VIS_NOLOCALE = 0x4000, /* encode using the C locale */ // 0x4000 +}; + +enum macro_unvis_status { +/* + * unvis return codes + */ +/*line: 99*/ UNVIS_VALID = 0x1, /* character valid */ // 1 +/*line: 100*/ UNVIS_VALIDPUSH = 0x2, /* character valid, push back passed char */ // 2 +/*line: 101*/ UNVIS_NOCHAR = 0x3, /* valid sequence, no character produced */ // 3 +/*line: 102*/ UNVIS_SYNBAD = -0x1, /* unrecognized escape sequence */ // -1 +/*line: 103*/ UNVIS_ERROR = -0x2, /* decoder in unknown state (unrecoverable) */ // -2 +}; + +// Depends on identifiers +enum macro_unvis_end { +/* + * unvis flags + */ +/*line: 108*/ UNVIS_END = 0x1000, /* no more characters */ // _VIS_END +}; + diff --git a/macrodefs_enums/ios/voucher/ipc_pthread_priority_types.h b/macrodefs_enums/ios/voucher/ipc_pthread_priority_types.h new file mode 100644 index 000000000..c0025d722 --- /dev/null +++ b/macrodefs_enums/ios/voucher/ipc_pthread_priority_types.h @@ -0,0 +1,13 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/voucher/ipc_pthread_priority_types.h + +// Depends on identifiers +enum macro_pthread_priority { +/*line: 35*/ MACH_VOUCHER_ATTR_PTHPRIORITY_NULL = 0x2bd, // ((mach_voucher_attr_recipe_command_t)701) +/*line: 36*/ MACH_VOUCHER_ATTR_PTHPRIORITY_CREATE = 0x2c6, // ((mach_voucher_attr_recipe_command_t)710) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 40 +// #define MACH_VOUCHER_PTHPRIORITY_CONTENT_SIZE (sizeof(ipc_pthread_priority_value_t)) + diff --git a/macrodefs_enums/ios/wordexp.h b/macrodefs_enums/ios/wordexp.h new file mode 100644 index 000000000..6140c6f00 --- /dev/null +++ b/macrodefs_enums/ios/wordexp.h @@ -0,0 +1,23 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/wordexp.h + +enum macro_wordexp_flags { +/* wordexp() flags Argument */ +/*line: 64*/ WRDE_APPEND = 0x1, // 0x01 +/*line: 65*/ WRDE_DOOFFS = 0x2, // 0x02 +/*line: 66*/ WRDE_NOCMD = 0x4, // 0x04 +/*line: 67*/ WRDE_REUSE = 0x8, // 0x08 +/*line: 68*/ WRDE_SHOWERR = 0x10, // 0x10 +/*line: 69*/ WRDE_UNDEF = 0x20, // 0x20 +}; + +enum macro_wordexp_errors { +/* required */ +/*line: 75*/ WRDE_BADCHAR = 0x1, // 1 +/*line: 76*/ WRDE_BADVAL = 0x2, // 2 +/*line: 77*/ WRDE_CMDSUB = 0x3, // 3 +/*line: 78*/ WRDE_NOSPACE = 0x4, // 4 +/*line: 79*/ WRDE_NOSYS = 0x5, // 5 +/*line: 80*/ WRDE_SYNTAX = 0x6, // 6 +}; + diff --git a/macrodefs_enums/ios/xattr_flags.h b/macrodefs_enums/ios/xattr_flags.h new file mode 100644 index 000000000..367706ca8 --- /dev/null +++ b/macrodefs_enums/ios/xattr_flags.h @@ -0,0 +1,86 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xattr_flags.h + +enum macro_xattr_operation_intent { +/* + * xattr_operation_intent_t is used to declare what the intent of the copy is. + * Not a bit-field (for now, at least). + * + * XATTR_OPERATION_INTENT_COPY indicates that the EA is attached to an object + * that is simply being copied. E.g., cp src dst + * + * XATTR_OPERATION_INTENT_SAVE indicates that the EA is attached to an object + * being saved; as in a "safe save," the destination is being replaced by + * the source, so the question is whether the EA should be applied to the + * destination, or generated anew. + * + * XATTR_OPERATION_INTENT_SHARE indicates that the EA is attached to an object that + * is being given out to other people. For example, saving to a public folder, + * or attaching to an email message. + * + * XATTR_OPERATION_INTENT_SYNC indicates that the EA is attached to an object that + * is being synced to other storages for the same user. For example synced to + * iCloud. + * + * XATTR_OPERATION_INTENT_BACKUP indicates that the EA is attached to an object + * that is being backed-up. For example, being backed-up to Time Machine. + */ +/*line: 60*/ XATTR_OPERATION_INTENT_COPY = 0x1, // 1 +/*line: 61*/ XATTR_OPERATION_INTENT_SAVE = 0x2, // 2 +/*line: 62*/ XATTR_OPERATION_INTENT_SHARE = 0x3, // 3 +/*line: 63*/ XATTR_OPERATION_INTENT_SYNC = 0x4, // 4 +/*line: 64*/ XATTR_OPERATION_INTENT_BACKUP = 0x5, // 5 +}; + +// Depends on identifiers +enum macro_xattr_flags { +/* + * XATTR_FLAG_NO_EXPORT + * Declare that the extended property should not be exported; this is + * deliberately a bit vague, but this is used by XATTR_OPERATION_INTENT_SHARE + * to indicate not to preserve the xattr. + */ +/*line: 81*/ XATTR_FLAG_NO_EXPORT = 0x1, // ((xattr_flags_t)0x0001) +/* + * XATTR_FLAG_CONTENT_DEPENDENT + * Declares the extended attribute to be tied to the contents of the file (or + * vice versa), such that it should be re-created when the contents of the + * file change. Examples might include cryptographic keys, checksums, saved + * position or search information, and text encoding. + * + * This property causes the EA to be preserved for copy and share, but not for + * safe save. (In a safe save, the EA exists on the original, and will not + * be copied to the new version.) + */ +/*line: 94*/ XATTR_FLAG_CONTENT_DEPENDENT = 0x2, // ((xattr_flags_t)0x0002) +/* + * XATTR_FLAG_NEVER_PRESERVE + * Declares that the extended attribute is never to be copied, for any + * intention type. + */ +/*line: 101*/ XATTR_FLAG_NEVER_PRESERVE = 0x4, // ((xattr_flags_t)0x0004) +/* + * XATTR_FLAG_SYNCABLE + * Declares that the extended attribute is to be synced, used by the + * XATTR_OPERATION_ITENT_SYNC intention. Syncing tends to want to minimize the + * amount of metadata synced around, hence the default behavior is for the EA + * NOT to be synced, even if it would else be preserved for the + * XATTR_OPERATION_ITENT_COPY intention. + */ +/*line: 111*/ XATTR_FLAG_SYNCABLE = 0x8, // ((xattr_flags_t)0x0008) +/* + * XATTR_FLAG_ONLY_BACKUP + * Declares that the extended attribute should only be copied if the intention + * is XATTR_OPERATION_INTENT_BACKUP. That intention is distinct from the + * XATTR_OPERATION_INTENT_SYNC intention in that there is no desire to minimize the + * amount of metadata being moved. + */ +/*line: 120*/ XATTR_FLAG_ONLY_BACKUP = 0x10, // ((xattr_flags_t)0x0010) +/* + * XATTR_FLAG_ONLY_SAVING + * Declares that the extended attribute should only be copied if the intention + * is XATTR_OPERATION_INTENT_SAVE or XATTR_OPERATION_INTENT_BACKUP. + */ +/*line: 127*/ XATTR_FLAG_ONLY_SAVING = 0x20, // ((xattr_flags_t)0x0020) +}; + diff --git a/macrodefs_enums/ios/xpc/activity.h b/macrodefs_enums/ios/xpc/activity.h new file mode 100644 index 000000000..be2bae359 --- /dev/null +++ b/macrodefs_enums/ios/xpc/activity.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xpc/activity.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 226 +// #define XPC_TYPE_ACTIVITY (&_xpc_type_activity) + diff --git a/macrodefs_enums/ios/xpc/availability.h b/macrodefs_enums/ios/xpc/availability.h new file mode 100644 index 000000000..ce4c38a91 --- /dev/null +++ b/macrodefs_enums/ios/xpc/availability.h @@ -0,0 +1,7 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xpc/availability.h + +enum macro_simulator_min_version { +/*line: 106*/ IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED = 0xf423f, // 999999 +}; + diff --git a/macrodefs_enums/ios/xpc/base.h b/macrodefs_enums/ios/xpc/base.h new file mode 100644 index 000000000..b708c7f8e --- /dev/null +++ b/macrodefs_enums/ios/xpc/base.h @@ -0,0 +1,82 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xpc/base.h + +// Depends on identifiers +enum macro_nonnullflags { +/*line: 43*/ XPC_NONNULL1 = 0x1, // __attribute__((__nonnull__(1))) +/*line: 44*/ XPC_NONNULL2 = 0x2, // __attribute__((__nonnull__(2))) +/*line: 45*/ XPC_NONNULL3 = 0x3, // __attribute__((__nonnull__(3))) +/*line: 46*/ XPC_NONNULL4 = 0x4, // __attribute__((__nonnull__(4))) +/*line: 47*/ XPC_NONNULL5 = 0x5, // __attribute__((__nonnull__(5))) +/*line: 48*/ XPC_NONNULL6 = 0x6, // __attribute__((__nonnull__(6))) +/*line: 49*/ XPC_NONNULL7 = 0x7, // __attribute__((__nonnull__(7))) +/*line: 50*/ XPC_NONNULL8 = 0x8, // __attribute__((__nonnull__(8))) +/*line: 51*/ XPC_NONNULL9 = 0x9, // __attribute__((__nonnull__(9))) +/*line: 52*/ XPC_NONNULL10 = 0xa, // __attribute__((__nonnull__(10))) +/*line: 53*/ XPC_NONNULL11 = 0xb, // __attribute__((__nonnull__(11))) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 40 +// #define XPC_CONSTRUCTOR __attribute__((constructor)) + +// Line: 41 +// #define XPC_NORETURN __attribute__((__noreturn__)) + +// Line: 42 +// #define XPC_NOTHROW __attribute__((__nothrow__)) + +// Line: 54 +// #define XPC_NONNULL_ALL __attribute__((__nonnull__)) + +// Line: 55 +// #define XPC_SENTINEL __attribute__((__sentinel__)) + +// Line: 56 +// #define XPC_PURE __attribute__((__pure__)) + +// Line: 57 +// #define XPC_WARN_RESULT __attribute__((__warn_unused_result__)) + +// Line: 58 +// #define XPC_MALLOC __attribute__((__malloc__)) + +// Line: 59 +// #define XPC_UNUSED __attribute__((__unused__)) + +// Line: 60 +// #define XPC_USED __attribute__((__used__)) + +// Line: 61 +// #define XPC_PACKED __attribute__((__packed__)) + +// Line: 63 +// #define XPC_INLINE static __inline__ __attribute__((__always_inline__)) + +// Line: 64 +// #define XPC_NOINLINE __attribute__((noinline)) + +// Line: 65 +// #define XPC_NOIMPL __attribute__((unavailable)) + +// Line: 68 +// #define XPC_NOESCAPE __attribute__((__noescape__)) + +// Line: 81 +// #define XPC_WEAKIMPORT extern __attribute__((weak_import)) + +// Line: 82 +// #define XPC_DEBUGGER_EXCL XPC_NOEXPORT XPC_USED + +// Line: 83 +// #define XPC_TRANSPARENT_UNION __attribute__((transparent_union)) + +// Line: 90 +// #define XPC_TESTEXPORT XPC_NOEXPORT + +// Line: 97 +// #define XPC_TESTSTATIC static + +// Line: 193 +// #define XPC_NONNULL_ARRAY _Nonnull + diff --git a/macrodefs_enums/ios/xpc/connection.h b/macrodefs_enums/ios/xpc/connection.h new file mode 100644 index 000000000..17a92f506 --- /dev/null +++ b/macrodefs_enums/ios/xpc/connection.h @@ -0,0 +1,37 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xpc/connection.h + +enum macro_xpc_connection_flags { +/*! + * @constant XPC_CONNECTION_MACH_SERVICE_LISTENER + * Passed to xpc_connection_create_mach_service(). This flag indicates that the + * caller is the listener for the named service. This flag may only be passed + * for services which are advertised in the process' launchd.plist(5). You may + * not use this flag to dynamically add services to the Mach bootstrap + * namespace. + */ +/*line: 104*/ XPC_CONNECTION_MACH_SERVICE_LISTENER = 0x1, // (1<<0) +/*! + * @constant XPC_CONNECTION_MACH_SERVICE_PRIVILEGED + * Passed to xpc_connection_create_mach_service(). This flag indicates that the + * job advertising the service name in its launchd.plist(5) should be in the + * privileged Mach bootstrap. This is typically accomplished by placing your + * launchd.plist(5) in /Library/LaunchDaemons. If specified alongside the + * XPC_CONNECTION_MACH_SERVICE_LISTENER flag, this flag is a no-op. + */ +/*line: 114*/ XPC_CONNECTION_MACH_SERVICE_PRIVILEGED = 0x2, // (1<<1) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 34 +// #define XPC_ERROR_CONNECTION_INTERRUPTED XPC_GLOBAL_OBJECT(_xpc_error_connection_interrupted) + +// Line: 53 +// #define XPC_ERROR_CONNECTION_INVALID XPC_GLOBAL_OBJECT(_xpc_error_connection_invalid) + +// Line: 76 +// #define XPC_ERROR_TERMINATION_IMMINENT XPC_GLOBAL_OBJECT(_xpc_error_termination_imminent) + +// Line: 90 +// #define XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT XPC_GLOBAL_OBJECT(_xpc_error_peer_code_signing_requirement) + diff --git a/macrodefs_enums/ios/xpc/session.h b/macrodefs_enums/ios/xpc/session.h new file mode 100644 index 000000000..8d2666a89 --- /dev/null +++ b/macrodefs_enums/ios/xpc/session.h @@ -0,0 +1,7 @@ +// Correctnes: bad +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xpc/session.h + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 415 +// #define XPC_TYPE_SESSION (&_xpc_type_session) + diff --git a/macrodefs_enums/ios/xpc/xpc.h b/macrodefs_enums/ios/xpc/xpc.h new file mode 100644 index 000000000..c075af3c7 --- /dev/null +++ b/macrodefs_enums/ios/xpc/xpc.h @@ -0,0 +1,82 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/xpc/xpc.h + +enum macro_xpc_api_version { +/*line: 40*/ XPC_API_VERSION = 0x1343ca2, // 20200610 +}; + +// Depends on identifiers +enum macro_xpc_array_append { +/*! + * @define XPC_ARRAY_APPEND + * A constant that may be passed as the destination index to the class of + * primitive XPC array setters indicating that the given primitive should be + * appended to the array. + */ +/*line: 1328*/ XPC_ARRAY_APPEND = -0x1, // ((size_t)(-1)) +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 110 +// #define XPC_TYPE_CONNECTION (&_xpc_type_connection) + +// Line: 137 +// #define XPC_TYPE_ENDPOINT (&_xpc_type_endpoint) + +// Line: 150 +// #define XPC_TYPE_NULL (&_xpc_type_null) + +// Line: 159 +// #define XPC_TYPE_BOOL (&_xpc_type_bool) + +// Line: 169 +// #define XPC_BOOL_TRUE XPC_GLOBAL_OBJECT(_xpc_bool_true) + +// Line: 179 +// #define XPC_BOOL_FALSE XPC_GLOBAL_OBJECT(_xpc_bool_false) + +// Line: 188 +// #define XPC_TYPE_INT64 (&_xpc_type_int64) + +// Line: 197 +// #define XPC_TYPE_UINT64 (&_xpc_type_uint64) + +// Line: 206 +// #define XPC_TYPE_DOUBLE (&_xpc_type_double) + +// Line: 217 +// #define XPC_TYPE_DATE (&_xpc_type_date) + +// Line: 226 +// #define XPC_TYPE_DATA (&_xpc_type_data) + +// Line: 235 +// #define XPC_TYPE_STRING (&_xpc_type_string) + +// Line: 244 +// #define XPC_TYPE_UUID (&_xpc_type_uuid) + +// Line: 253 +// #define XPC_TYPE_FD (&_xpc_type_fd) + +// Line: 262 +// #define XPC_TYPE_SHMEM (&_xpc_type_shmem) + +// Line: 274 +// #define XPC_TYPE_ARRAY (&_xpc_type_array) + +// Line: 285 +// #define XPC_TYPE_DICTIONARY (&_xpc_type_dictionary) + +// Line: 303 +// #define XPC_TYPE_ERROR (&_xpc_type_error) + +// Line: 313 +// #define XPC_ERROR_KEY_DESCRIPTION _xpc_error_key_description + +// Line: 323 +// #define XPC_EVENT_KEY_NAME _xpc_event_key_name + +// Line: 335 +// #define XPC_TYPE_RICH_ERROR (&_xpc_type_rich_error) + diff --git a/macrodefs_enums/ios/zconf.h b/macrodefs_enums/ios/zconf.h new file mode 100644 index 000000000..8326a8d6e --- /dev/null +++ b/macrodefs_enums/ios/zconf.h @@ -0,0 +1,21 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/zconf.h + +enum macro_max_values { +/*line: 260*/ MAX_MEM_LEVEL = 0x9, // 9 +/*line: 270*/ MAX_WBITS = 0xf, /* 32K LZ77 window */ // 15 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 243 +// #define z_longlong long long + +// Line: 377 +// #define ZEXTERN extern + +// Line: 491 +// #define z_off_t long + +// Line: 497 +// #define z_off64_t off_t + diff --git a/macrodefs_enums/ios/zlib.h b/macrodefs_enums/ios/zlib.h new file mode 100644 index 000000000..acc35b889 --- /dev/null +++ b/macrodefs_enums/ios/zlib.h @@ -0,0 +1,68 @@ +// Correctnes: ok +// /Users/mstanchin/share/git-reps/binaryninja/contributing/origin/iPhoneOS18.6.sdk/usr/include/zlib.h + +enum macro_zlib_version { +/*line: 47*/ ZLIB_VERNUM = 0x12c0, // 0x12c0 +/*line: 48*/ ZLIB_VER_MAJOR = 0x1, // 1 +/*line: 49*/ ZLIB_VER_MINOR = 0x2, // 2 +/*line: 50*/ ZLIB_VER_REVISION = 0xc, // 12 +/*line: 51*/ ZLIB_VER_SUBREVISION = 0x0, // 0 +}; + +enum macro_zlib_flush { +/* constants */ +/*line: 174*/ Z_NO_FLUSH = 0x0, // 0 +/*line: 175*/ Z_PARTIAL_FLUSH = 0x1, // 1 +/*line: 176*/ Z_SYNC_FLUSH = 0x2, // 2 +/*line: 177*/ Z_FULL_FLUSH = 0x3, // 3 +/*line: 178*/ Z_FINISH = 0x4, // 4 +/*line: 179*/ Z_BLOCK = 0x5, // 5 +/*line: 180*/ Z_TREES = 0x6, // 6 +}; + +// Depends on identifiers +enum macro_zlib_return_codes { +/* Allowed flush values; see deflate() and inflate() below for details */ +/*line: 183*/ Z_OK = 0x0, // 0 +/*line: 184*/ Z_STREAM_END = 0x1, // 1 +/*line: 185*/ Z_NEED_DICT = 0x2, // 2 +/*line: 186*/ Z_ERRNO = -0x1, // (-1) +/*line: 187*/ Z_STREAM_ERROR = -0x2, // (-2) +/*line: 188*/ Z_DATA_ERROR = -0x3, // (-3) +/*line: 189*/ Z_MEM_ERROR = -0x4, // (-4) +/*line: 190*/ Z_BUF_ERROR = -0x5, // (-5) +/*line: 191*/ Z_VERSION_ERROR = -0x6, // (-6) +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +/*line: 196*/ Z_NO_COMPRESSION = 0x0, // 0 +/*line: 197*/ Z_BEST_SPEED = 0x1, // 1 +/*line: 198*/ Z_BEST_COMPRESSION = 0x9, // 9 +/*line: 199*/ Z_DEFAULT_COMPRESSION = -0x1, // (-1) +/* compression levels */ +/*line: 202*/ Z_FILTERED = 0x1, // 1 +/*line: 203*/ Z_HUFFMAN_ONLY = 0x2, // 2 +/*line: 204*/ Z_RLE = 0x3, // 3 +/*line: 205*/ Z_FIXED = 0x4, // 4 +/*line: 206*/ Z_DEFAULT_STRATEGY = 0x0, // 0 +/* compression strategy; see deflateInit2() below for details */ +/*line: 209*/ Z_BINARY = 0x0, // 0 +/*line: 210*/ Z_TEXT = 0x1, // 1 +/*line: 211*/ Z_ASCII = 0x1, /* for compatibility with 1.2.2 and earlier */ // Z_TEXT +/*line: 212*/ Z_UNKNOWN = 0x2, // 2 +}; + +enum macro_data_type { +/* Possible values of the data_type field for deflate() */ +/*line: 215*/ Z_DEFLATED = 0x8, // 8 +}; + +enum macro_zlib_null { +/* The deflate compression method (the only one supported in this version) */ +/*line: 218*/ Z_NULL = 0x0, /* for initializing zalloc, zfree, opaque */ // 0 +}; + +/* ======== UNRESOLVED MACROS SECTION ======== */ +// Line: 220 +// #define zlib_version zlibVersion() +