#include "filters.h"

static const named_argument local_args[] = {
    { "ip", 3 },
    { "ip4", 1 },
    { "ip6", 2 },
    { "tcp", 7 },
    { "tcp4", 5 },
    { "tcp6", 6 },
    { "udp", 11 },
    { "udp4", 9 },
    { "udp6", 10 },
    { NULL, 0 }
};
static const named_argument remote_args[] = {
    { "ip", 3 },
    { "ip4", 1 },
    { "ip6", 2 },
    { "tcp", 7 },
    { "tcp4", 5 },
    { "tcp6", 6 },
    { "udp", 11 },
    { "udp4", 9 },
    { "udp6", 10 },
    { NULL, 0 }
};
static const named_argument socket_domain_args[] = {
    { "AF_UNSPEC", 0 },
    { "AF_UNIX", 1 },
    { "AF_LOCAL", 1 },
    { "AF_INET", 2 },
    { "AF_IMPLINK", 3 },
    { "AF_PUP", 4 },
    { "AF_CHAOS", 5 },
    { "AF_NS", 6 },
    { "AF_ISO", 7 },
    { "AF_OSI", 7 },
    { "AF_ECMA", 8 },
    { "AF_DATAKIT", 9 },
    { "AF_CCITT", 10 },
    { "AF_SNA", 11 },
    { "AF_DECnet", 12 },
    { "AF_DLI", 13 },
    { "AF_LAT", 14 },
    { "AF_HYLINK", 15 },
    { "AF_APPLETALK", 16 },
    { "AF_ROUTE", 17 },
    { "AF_LINK", 18 },
    { "pseudo_AF_XTP", 19 },
    { "AF_COIP", 20 },
    { "AF_CNT", 21 },
    { "pseudo_AF_RTIP", 22 },
    { "AF_IPX", 23 },
    { "AF_SIP", 24 },
    { "pseudo_AF_PIP", 25 },
    { "AF_NDRV", 27 },
    { "AF_ISDN", 28 },
    { "AF_E164", 28 },
    { "pseudo_AF_KEY", 29 },
    { "AF_INET6", 30 },
    { "AF_NATM", 31 },
    { "AF_SYSTEM", 32 },
    { "AF_NETBIOS", 33 },
    { "AF_PPP", 34 },
    { "pseudo_AF_HDRCMPLT", 35 },
    { "AF_RESERVED_36", 36 },
    { "AF_IEEE80211", 37 },
    { "AF_UTUN", 38 },
    { "AF_MAX", 40 },
    { NULL, 0 }
};
static const named_argument socket_type_args[] = {
    { "SOCK_STREAM", 1 },
    { "SOCK_DGRAM", 2 },
    { "SOCK_RAW", 3 },
    { "SOCK_RDM", 4 },
    { "SOCK_SEQPACKET", 5 },
    { NULL, 0 }
};
static const named_argument target_args[] = {
    { "self", 1 },
    { "pgrp", 2 },
    { "others", 3 },
    { "children", 4 },
    { "same-sandbox", 5 },
    { "initproc", 6 },
    { NULL, 0 }
};
static const named_argument fsctl_command_args[] = {
    { "FSIOC_SYNC_VOLUME", 16641 },
    { "FSIOC_SET_PACKAGE_EXTS", 16642 },
    { "FSIOC_UNSUPPORTED", 16643 },
    { "FSIOC_SET_FSTYPENAME_OVERRIDE", 16650 },
    { "FSIOC_ROUTEFS_SETROUTEID", 16655 },
    { "FSIOC_FIOSEEKHOLE", 16656 },
    { "FSIOC_FIOSEEKDATA", 16657 },
    { "FSIOC_CAS_BSDFLAGS", 16660 },
    { "FSIOC_FD_ONLY_OPEN_ONCE", 16661 },
    { "FSIOC_FREEZE_EXTENTS", 26644 },
    { "FSIOC_THAW_EXTENTS", 26645 },
    { "APFSIOC_REVERT_TO_SNAPSHOT", 18945 },
    { "APFSIOC_MAINTAIN_DIR_STATS", 18946 },
    { "APFSIOC_GET_DIR_STATS", 18947 },
    { "APFSIOC_SET_AUTO_MOUNT_UUID", 18948 },
    { "APFSIOC_GET_AUTO_MOUNT_UUID", 18949 },
    { "APFSIOC_SET_CONV_CTX", 18950 },
    { "APFSIOC_GET_CRYPTO_IDS", 18951 },
    { "APFSIOC_GET_CRYPTO_KEY", 18952 },
    { "APFSIOC_IS_SPARSE", 18953 },
    { "APFSIOC_NEXT_LINK", 18954 },
    { "APFSIOC_GET_BOOTINFO", 18955 },
    { "APFSIOC_SET_BOOTINFO", 18956 },
    { "APFSIOC_GET_BULKACCESS", 18957 },
    { "APFSIOC_GET_CLONE_INFO", 18958 },
    { "APFSIOC_IS_BLOCK_SHARED", 18959 },
    { "APFSIOC_DIFF_SNAPSHOTS", 18960 },
    { "APFSIOC_SET_NEAR_LOW_DISK", 18961 },
    { "APFSIOC_GET_NEAR_LOW_DISK", 18962 },
    { "APFSIOC_SNAP_RANGE_PRIV_SIZE", 18963 },
    { "APFSIOC_SNAP_MAKE_DATALESS", 18964 },
    { "APFS_FSCTL_NX_FEATURES", 18965 },
    { "APFS_FSCTL_APFS_FEATURES", 18966 },
    { "APFS_FSCTL_SET_NX_DEFRAG", 18967 },
    { "APFS_FSCTL_SET_APFS_DEFRAG", 18968 },
    { "APFS_FSCTL_GET_DEFRAG_LIST", 18969 },
    { "APFS_FSCTL_DEBUG_CHECK_DF", 18970 },
    { "APFSIOC_PIN_DATA", 18973 },
    { "APFSIOC_DEBUG_STATS", 18974 },
    { "APFSIOC_GET_DIR_STATS_EXT", 18976 },
    { "APFSIOC_FUSION_DEBUG", 18977 },
    { "APFS_FSCTL_UNMOUNT_CRYPTO_HINT", 18978 },
    { "APFSIOC_FUSION_MAINT_CTL", 18979 },
    { "APFSIOC_WAIT_FOR_SNAPSHOT_DELETION", 18980 },
    { "APFSIOC_GET_INTERNAL_FLAGS", 18981 },
    { "APFSIOC_OMAP_TRACK_ENABLE", 18982 },
    { "APFSIOC_OMAP_TRACK_REPORT", 18983 },
    { "APFSIOC_OMAP_LOOKUP", 18984 },
    { "APFSIOC_SET_CRYPTO_MNT_DATA_IV", 18985 },
    { "APFSIOC_GET_KEYLOCKER_PRANGE", 18986 },
    { "APFSIOC_GET_COW_STATS", 18987 },
    { "APFSIOC_FAST_PROMOTE_DATA", 18988 },
    { "APFSIOC_GET_FX_DEFRAG_REGIONS", 18989 },
    { "APFSIOC_CONTROL_FX_DEFRAG_THREAD", 18991 },
    { "APFSIOC_GET_FX_DEFRAG_PROGRESS", 18992 },
    { "APFSIOC_BC_OPTIMIZE_INODES", 18990 },
    { "APFSIOC_BC_GETINODENUM", 18993 },
    { "APFSIOC_SNAP_TOKEN", 18994 },
    { "APFSIOC_GET_FX_DEFRAG_STATS", 18995 },
    { "APFSIOC_OMAP_TREE_LEAF_EXTENTS", 18996 },
    { "APFSIOC_CREATE_BYPASS_DEV", 18999 },
    { "APFSIOC_DESTROY_BYPASS_DEV", 19000 },
    { "APFSIOC_MAKE_OBJECT_DATALESS", 19001 },
    { "APFSIOC_SET_ATIME_UPDATE", 19002 },
    { "APFSIOC_GET_ATIME_UPDATE", 19003 },
    { "APFSIOC_FIRMLINK_CTL", 19004 },
    { "APFSIOC_KEY_ROLLING_OP", 19005 },
    { "APFSIOC_KEY_ROLLING_STAT", 19006 },
    { "APFSIOC_SET_FREE_SPACE_CHANGE_THRES", 19008 },
    { "APFSIOC_GET_FREE_SPACE_CHANGE_THRES", 19009 },
    { "APFSIOC_CREATE_SYNTHETIC_FOLDER", 19010 },
    { "APFSIOC_SNAP_LOOKUP", 19011 },
    { "APFSIOC_MARK_PURGEABLE", 19012 },
    { "APFSIOC_PURGE_FILES", 19013 },
    { "APFSIOC_GET_PURGEABLE_STATS", 19014 },
    { "APFSIOC_GET_PURGEABLE_FILE_FLAGS", 19015 },
    { "APFSIOC_SYNC_ROOT_SET_FLAG", 19016 },
    { "APFSIOC_SYNC_ROOT_GET_FLAG", 19016 },
    { "APFSIOC_CLEAR_PURGEABLE", 19017 },
    { "APFSIOC_GET_PARENT_SYNC_ROOT", 19018 },
    { "APFSIOC_CREATE_SYNTHETIC_SYMLINK", 19019 },
    { "APFSIOC_SHARE_RANGE", 19020 },
    { "APFSIOC_HAS_OBJIDS_AFTER", 19021 },
    { "APFSIOC_CREATE_HIDDEN_SYNTHETIC_SYMLINK", 19022 },
    { "HFSIOC_RESIZE_PROGRESS", 26625 },
    { "HFSIOC_RESIZE_VOLUME", 26626 },
    { "HFSIOC_CHANGE_NEXT_ALLOCATION", 26627 },
    { "HFSIOC_GET_VOL_CREATE_TIME", 26628 },
    { "HFSIOC_SETBACKINGSTOREINFO", 26631 },
    { "HFSIOC_CLRBACKINGSTOREINFO", 26632 },
    { "HFSIOC_UNSUPPORTED", 26634 },
    { "HFSIOC_PREV_LINK", 26635 },
    { "HFSIOC_NEXT_LINK", 26636 },
    { "HFSIOC_GETPATH", 26637 },
    { "HFSIOC_SET_XATTREXTENTS_STATE", 26638 },
    { "HFSIOC_EXT_BULKACCESS", 26639 },
    { "HFSIOC_MARK_BOOT_CORRUPT", 26640 },
    { "HFSIOC_GET_JOURNAL_INFO", 26641 },
    { "HFSIOC_SET_VERY_LOW_DISK", 26644 },
    { "HFSIOC_SET_LOW_DISK", 26645 },
    { "HFSIOC_SET_DESIRED_DISK", 26646 },
    { "HFSIOC_SET_ALWAYS_ZEROFILL", 26647 },
    { "HFSIOC_VOLUME_STATUS", 26648 },
    { "HFSIOC_DISABLE_METAZONE", 26649 },
    { "HFSIOC_CHANGE_NEXTCNID", 26650 },
    { "HFSIOC_GET_VERY_LOW_DISK", 26651 },
    { "HFSIOC_GET_LOW_DISK", 26652 },
    { "HFSIOC_GET_DESIRED_DISK", 26653 },
    { "HFSIOC_TRANSFER_DOCUMENT_ID", 26656 },
    { "HFSIOC_OP_CPTRIM", 26657 },
    { "HFSIOC_OP_CPREWRAPPED", 26658 },
    { "HFSIOC_OP_CRYPTOGEN", 26659 },
    { "HFSIOC_LISTXATTRID_CP", 26660 },
    { "HFSIOC_OP_CPFORCEREWRAP", 26661 },
    { "HFSIOC_FSINFO_METADATA_BLOCKS", 26662 },
    { "HFSIOC_CS_FREESPACE_TRIM", 26663 },
    { "HFSIOC_KEY_ROLL", 26664 },
    { "HFSIOC_GET_KEY_AUTO_ROLL", 26665 },
    { "HFSIOC_SET_KEY_AUTO_ROLL", 26666 },
    { "HFSIOC_CP_LIST_IDS", 26668 },
    { "HFSIOC_GET_FSINFO", 26669 },
    { "HFSIOC_REPIN_HOTFILE_STATE", 26670 },
    { "HFSIOC_SET_HOTFILE_STATE", 26671 },
    { "HFSIOC_SET_MAX_DEFRAG_SIZE", 26672 },
    { "HFSIOC_FORCE_ENABLE_DEFRAG", 26673 },
    { "DTDBOpenFSCTL", 31233 },
    { "DTDBAddIconFSCTL", 31234 },
    { "DTDBGetIconFSCTL", 31235 },
    { "DTDBGetIconInfoFSCTL", 31236 },
    { "DTDBAddAPPLFSCTL", 31237 },
    { "DTDBGetAPPLFSCTL", 31238 },
    { "DTDBRemoveAPPLFSCTL", 31239 },
    { "DTDBSetCommentFSCTL", 31240 },
    { "DTDBGetCommentFSCTL", 31241 },
    { "DTDBRemoveCommentFSCTL", 31242 },
    { "afpfsGetParmsFSCTL", 31243 },
    { "afpfsGetMountInfoFSCTL", 31244 },
    { "afpfsCreateFileDescFSCTL", 31245 },
    { "afpfsMapIDNameFSCTL", 31246 },
    { "afpfsGetAccessRightsFSCTL", 31247 },
    { "afpfsSetAccessRightsFSCTL", 31248 },
    { "afpfsByteRangeLockFSCTL", 31249 },
    { "afpfsGetAttenFSCTL", 31250 },
    { "afpfsSleepWakeFSCTL", 31251 },
    { "afpfsUserCommandFSCTL", 31252 },
    { "afpfsTraceLogFSCTL", 31253 },
    { "afpfsGetSavedAttenFSCTL", 31254 },
    { "afpfsByteRangeLock2FSCTL", 31255 },
    { "afpfsRefeshCredentialFSCTL", 31256 },
    { "afpfsGetStats", 31257 },
    { "afpfsSpotLightRPC", 31258 },
    { "afpfsDebugTestFSCTL", 31260 },
    { "afpfsTimeMachineFSCTL", 31261 },
    { "afpfsSubMountFSCTL", 31262 },
    { "afpfsSrvrInfoFSCTL", 31263 },
    { "afpfsSpotLightSideBandRPC", 31259 },
    { "smbfsByteRangeLock2FSCTL", 31255 },
    { "smbfsByteRangeLockFSCTL", 31249 },
    { "smbfsUniqueShareIDFSCTL", 31251 },
    { "smbfsGetSessionSockaddrFSCTL", 31252 },
    { "smbfsGetStatsFSCTL", 31257 },
    { "smbfsDebugTestFSCTL", 31260 },
    { "smbfsTimeMachineFSCTL", 31261 },
    { NULL, 0 }
};
static const named_argument ioctl_command_args[] = {
    { "FIOCLEX", 26113 },
    { "FIONCLEX", 26114 },
    { "FIONREAD", 26239 },
    { "FIONBIO", 26238 },
    { "FIOASYNC", 26237 },
    { "FIOSETOWN", 26236 },
    { "FIOGETOWN", 26235 },
    { "FIODTYPE", 26234 },
    { "DKIOCEJECT", 25621 },
    { "DKIOCSYNCHRONIZE", 25622 },
    { "DKIOCFORMAT", 25626 },
    { "DKIOCGETFORMATCAPACITIES", 25626 },
    { "DKIOCGETBLOCKSIZE", 25624 },
    { "DKIOCGETBLOCKCOUNT", 25625 },
    { "DKIOCGETFIRMWAREPATH", 25628 },
    { "DKIOCISFORMATTED", 25623 },
    { "DKIOCISWRITABLE", 25629 },
    { "DKIOCREQUESTIDLE", 25630 },
    { "DKIOCUNMAP", 25631 },
    { "DKIOCCORESTORAGE", 25632 },
    { "DKIOCGETLOCATION", 25633 },
    { "DKIOCGETMAXBLOCKCOUNTREAD", 25664 },
    { "DKIOCGETMAXBLOCKCOUNTWRITE", 25665 },
    { "DKIOCGETMAXBYTECOUNTREAD", 25670 },
    { "DKIOCGETMAXBYTECOUNTWRITE", 25671 },
    { "DKIOCGETMAXSEGMENTCOUNTREAD", 25666 },
    { "DKIOCGETMAXSEGMENTCOUNTWRITE", 25667 },
    { "DKIOCGETMAXSEGMENTBYTECOUNTREAD", 25668 },
    { "DKIOCGETMAXSEGMENTBYTECOUNTWRITE", 25669 },
    { "DKIOCGETMINSEGMENTALIGNMENTBYTECOUNT", 25674 },
    { "DKIOCGETMAXSEGMENTADDRESSABLEBITCOUNT", 25675 },
    { "DKIOCGETFEATURES", 25676 },
    { "DKIOCGETPHYSICALBLOCKSIZE", 25677 },
    { "DKIOCGETCOMMANDPOOLSIZE", 25678 },
    { "DKIOCGETPROVISIONSTATUS", 25679 },
    { "DKIOCGETERRORDESCRIPTION", 25680 },
    { "DKIOCSYNCHRONIZECACHE", 25622 },
    { "DKIOCSETBLOCKSIZE", 25624 },
    { "DKIOCGETBSDUNIT", 25627 },
    { "DKIOCISSOLIDSTATE", 25679 },
    { "DKIOCISVIRTUAL", 25672 },
    { "DKIOCGETBASE", 25673 },
    { "DKIOCGETTHROTTLEMASK", 25680 },
    { "DKIOCLOCKPHYSICALEXTENTS", 25681 },
    { "DKIOCGETPHYSICALEXTENT", 25682 },
    { "DKIOCUNLOCKPHYSICALEXTENTS", 25683 },
    { "DKIOCSETTIER", 25685 },
    { "DKIOCGETENCRYPTIONTYPE", 25686 },
    { "DKIOCISLOWPOWERMODE", 25687 },
    { "DKIOCGETIOMINSATURATIONBYTECOUNT", 25688 },
    { "NFS_IOC_DESTROY_CRED", 28161 },
    { "NFS_IOC_SET_CRED", 28162 },
    { "NFS_IOC_GET_CRED", 28163 },
    { "NFS_IOC_DISARM_TRIGGER", 28164 },
    { "FSEVENTS_CLONE", 29441 },
    { "FSEVENTS_DEVICE_FILTER", 29540 },
    { "FSEVENTS_WANT_COMPACT_EVENTS", 29541 },
    { "FSEVENTS_WANT_EXTENDED_INFO", 29542 },
    { "FSEVENTS_GET_CURRENT_ID", 29543 },
    { "FSEVENTS_UNMOUNT_PENDING_ACK", 29544 },
    { "CTLIOCGCOUNT", 19970 },
    { "CTLIOCGINFO", 19971 },
    { "SIOCGKEVID", 25857 },
    { "SIOCSKEVFILT", 25858 },
    { "SIOCGKEVFILT", 25859 },
    { "SIOCGKEVVENDOR", 25860 },
    { "SIOCSHIWAT", 29440 },
    { "SIOCGHIWAT", 29441 },
    { "SIOCSLOWAT", 29442 },
    { "SIOCGLOWAT", 29443 },
    { "SIOCATMARK", 29447 },
    { "SIOCSPGRP", 29448 },
    { "SIOCGPGRP", 29449 },
    { "SIOCSIFADDR", 26892 },
    { "SIOCSIFDSTADDR", 26894 },
    { "SIOCSIFFLAGS", 26896 },
    { "SIOCGIFFLAGS", 26897 },
    { "SIOCSIFBRDADDR", 26899 },
    { "SIOCSIFNETMASK", 26902 },
    { "SIOCGIFMETRIC", 26903 },
    { "SIOCSIFMETRIC", 26904 },
    { "SIOCDIFADDR", 26905 },
    { "SIOCAIFADDR", 26906 },
    { "SIOCGIFADDR", 26913 },
    { "SIOCGIFDSTADDR", 26914 },
    { "SIOCGIFBRDADDR", 26915 },
    { "SIOCGIFCONF", 26916 },
    { "SIOCGIFNETMASK", 26917 },
    { "SIOCAUTOADDR", 26918 },
    { "SIOCAUTONETMASK", 26919 },
    { "SIOCARPIPLL", 26920 },
    { "SIOCADDMULTI", 26929 },
    { "SIOCDELMULTI", 26930 },
    { "SIOCGIFMTU", 26931 },
    { "SIOCSIFMTU", 26932 },
    { "SIOCGIFPHYS", 26933 },
    { "SIOCSIFPHYS", 26934 },
    { "SIOCSIFMEDIA", 26935 },
    { "SIOCGIFMEDIA", 26936 },
    { "SIOCSIFGENERIC", 26937 },
    { "SIOCGIFGENERIC", 26938 },
    { "SIOCRSLVMULTI", 26939 },
    { "SIOCSIFLLADDR", 26940 },
    { "SIOCGIFSTATUS", 26941 },
    { "SIOCSIFPHYADDR", 26942 },
    { "SIOCGIFPSRCADDR", 26943 },
    { "SIOCGIFPDSTADDR", 26944 },
    { "SIOCDIFPHYADDR", 26945 },
    { "SIOCGIFDEVMTU", 26948 },
    { "SIOCSIFALTMTU", 26949 },
    { "SIOCGIFALTMTU", 26952 },
    { "SIOCSIFBOND", 26950 },
    { "SIOCGIFBOND", 26951 },
    { "SIOCGIFXMEDIA", 26952 },
    { "SIOCPROTOATTACH", 26960 },
    { "SIOCPROTODETACH", 26961 },
    { "SIOCSIFCAP", 26970 },
    { "SIOCGIFCAP", 26971 },
    { "SIOCIFCREATE", 27000 },
    { "SIOCIFDESTROY", 27001 },
    { "SIOCIFCREATE2", 27002 },
    { "SIOCSDRVSPEC", 27003 },
    { "SIOCGDRVSPEC", 27003 },
    { "SIOCSIFVLAN", 27006 },
    { "SIOCGIFVLAN", 27007 },
    { "SIOCIFGCLONERS", 27009 },
    { "SIOCGIFASYNCMAP", 27004 },
    { "SIOCSIFASYNCMAP", 27005 },
    { "SIOCSETOT", 29568 },
    { "SIOCGIFMAC", 27010 },
    { "SIOCSIFMAC", 27011 },
    { "SIOCSIFKPI", 27014 },
    { "SIOCGIFKPI", 27015 },
    { "SIOCGIFWAKEFLAGS", 27016 },
    { "SIOCGIFGETRTREFCNT", 27017 },
    { "SIOCGIFLINKQUALITYMETRIC", 27018 },
    { "SIOCSIFOPPORTUNISTIC", 27019 },
    { "SIOCGIFOPPORTUNISTIC", 27020 },
    { "SIOCSETROUTERMODE", 27021 },
    { "SIOCGIFEFLAGS", 27022 },
    { "SIOCSIFDESC", 27023 },
    { "SIOCGIFDESC", 27024 },
    { "SIOCSIFLINKPARAMS", 27025 },
    { "SIOCGIFLINKPARAMS", 27026 },
    { "SIOCGIFQUEUESTATS", 27027 },
    { "SIOCSIFTHROTTLE", 27028 },
    { "SIOCGIFTHROTTLE", 27029 },
    { "SIOCGASSOCIDS", 29590 },
    { "SIOCGCONNIDS", 29591 },
    { "SIOCGCONNINFO", 29592 },
    { "SIOCSCONNORDER", 29593 },
    { "SIOCGCONNORDER", 29594 },
    { "SIOCSIFLOG", 27035 },
    { "SIOCGIFLOG", 27036 },
    { "SIOCGIFDELEGATE", 27037 },
    { "SIOCGIFLLADDR", 27038 },
    { "SIOCGIFTYPE", 27039 },
    { "SIOCGIFEXPENSIVE", 27040 },
    { "SIOCSIFEXPENSIVE", 27041 },
    { "SIOCGIF2KCL", 27042 },
    { "SIOCSIF2KCL", 27043 },
    { "SIOCGSTARTDELAY", 27044 },
    { "SIOCAIFAGENTID", 27045 },
    { "SIOCDIFAGENTID", 27046 },
    { "SIOCGIFAGENTIDS", 27047 },
    { "SIOCGIFAGENTDATA", 27048 },
    { "SIOCSIFINTERFACESTATE", 27049 },
    { "SIOCGIFINTERFACESTATE", 27050 },
    { "SIOCSIFPROBECONNECTIVITY", 27051 },
    { "SIOCGIFPROBECONNECTIVITY", 27052 },
    { "SIOCGIFFUNCTIONALTYPE", 27053 },
    { "SIOCSIFNETSIGNATURE", 27054 },
    { "SIOCGIFNETSIGNATURE", 27055 },
    { "SIOCGECNMODE", 27056 },
    { "SIOCSECNMODE", 27057 },
    { "SIOCSIFORDER", 27058 },
    { "SIOCSQOSMARKINGMODE", 27060 },
    { "SIOCSQOSMARKINGENABLED", 27061 },
    { "SIOCGQOSMARKINGMODE", 27062 },
    { "SIOCGQOSMARKINGENABLED", 27063 },
    { "SIOCSIFTIMESTAMPENABLE", 27064 },
    { "SIOCSIFTIMESTAMPDISABLE", 27065 },
    { "SIOCGIFTIMESTAMPENABLED", 27066 },
    { "SIOCSIFDISABLEOUTPUT", 27067 },
    { "SIOCSIFSUBFAMILY", 27068 },
    { "SIOCGIFAGENTLIST", 27070 },
    { "SIOCSIFLOWINTERNET", 27071 },
    { "SIOCGIFLOWINTERNET", 27072 },
    { "SIOCGIFNAT64PREFIX", 27073 },
    { "SIOCSIFNAT64PREFIX", 27074 },
    { "SIOCGIFNEXUS", 27075 },
    { "SIOCGIFPROTOLIST", 27076 },
    { "SIOCSIF6LOWPAN", 27076 },
    { "SIOCGIF6LOWPAN", 27077 },
    { "SIOCGIFTCPKAOMAX", 27078 },
    { "SIOCGIFLOWPOWER", 27079 },
    { "SIOCSIFLOWPOWER", 27080 },
    { "SIOCGIFCLAT46ADDR", 27081 },
    { "SIOCGIFMPKLOG", 27082 },
    { "SIOCSIFMPKLOG", 27083 },
    { "SIOCGIFCONSTRAINED", 27084 },
    { "SIOCSIFCONSTRAINED", 27085 },
    { "SIOCGIFXFLAGS", 27086 },
    { "SIOCGIFNOACKPRIO", 27087 },
    { "SIOCSIFNOACKPRIO", 27088 },
    { "DTDBOpenFSCTL", 31233 },
    { "DTDBAddIconFSCTL", 31234 },
    { "DTDBGetIconFSCTL", 31235 },
    { "DTDBGetIconInfoFSCTL", 31236 },
    { "DTDBAddAPPLFSCTL", 31237 },
    { "DTDBGetAPPLFSCTL", 31238 },
    { "DTDBRemoveAPPLFSCTL", 31239 },
    { "DTDBSetCommentFSCTL", 31240 },
    { "DTDBGetCommentFSCTL", 31241 },
    { "DTDBRemoveCommentFSCTL", 31242 },
    { "afpfsGetParmsFSCTL", 31243 },
    { "afpfsGetMountInfoFSCTL", 31244 },
    { "afpfsCreateFileDescFSCTL", 31245 },
    { "afpfsMapIDNameFSCTL", 31246 },
    { "afpfsGetAccessRightsFSCTL", 31247 },
    { "afpfsSetAccessRightsFSCTL", 31248 },
    { "afpfsByteRangeLockFSCTL", 31249 },
    { "afpfsGetAttenFSCTL", 31250 },
    { "afpfsSleepWakeFSCTL", 31251 },
    { "afpfsUserCommandFSCTL", 31252 },
    { "afpfsTraceLogFSCTL", 31253 },
    { "afpfsGetSavedAttenFSCTL", 31254 },
    { "afpfsByteRangeLock2FSCTL", 31255 },
    { "afpfsRefeshCredentialFSCTL", 31256 },
    { "afpfsGetStats", 31257 },
    { "afpfsSpotLightRPC", 31258 },
    { "afpfsDebugTestFSCTL", 31260 },
    { "afpfsTimeMachineFSCTL", 31261 },
    { "afpfsSubMountFSCTL", 31262 },
    { "afpfsSrvrInfoFSCTL", 31263 },
    { "afpfsSpotLightSideBandRPC", 31259 },
    { NULL, 0 }
};
static const named_argument system_attribute_args[] = {
    { "apple-internal", 0 },
    { "sandbox-debug-mode", 1 },
    { NULL, 0 }
};
static const named_argument vnode_type_args[] = {
    { "REGULAR-FILE", 1 },
    { "DIRECTORY", 2 },
    { "BLOCK-DEVICE", 3 },
    { "CHARACTER-DEVICE", 4 },
    { "SYMLINK", 5 },
    { "SOCKET", 6 },
    { "FIFO", 7 },
    { "TTY", 65535 },
    { NULL, 0 }
};
static const named_argument semaphore_owner_args[] = {
    { "self", 1 },
    { "pgrp", 2 },
    { "others", 3 },
    { "children", 4 },
    { "same-sandbox", 5 },
    { "initproc", 6 },
    { "platform-binary", 7 },
    { NULL, 0 }
};
static const named_argument privilege_id_args[] = {
    { "PRIV_ADJTIME", 1000 },
    { "PRIV_PROC_UUID_POLICY", 1001 },
    { "PRIV_GLOBAL_PROC_INFO", 1002 },
    { "PRIV_SYSTEM_OVERRIDE", 1003 },
    { "PRIV_HW_DEBUG_DATA", 1004 },
    { "PRIV_SELECTIVE_FORCED_IDLE", 1005 },
    { "PRIV_PROC_TRACE_INSPECT", 1006 },
    { "PRIV_DARKBOOT", 1007 },
    { "PRIV_WORK_INTERVAL", 1008 },
    { "PRIV_SMB_TIMEMACHINE_CONTROL", 1009 },
    { "PRIV_AUDIO_LATENCY", 1010 },
    { "PRIV_KTRACE_BACKGROUND", 1011 },
    { "PRIV_SETPRIORITY_DARWIN_ROLE", 1012 },
    { "PRIV_PACKAGE_EXTENSIONS", 1013 },
    { "PRIV_TRIM_ACTIVE_FILE", 1014 },
    { "PRIV_PROC_CPUMON_OVERRIDE", 1015 },
    { "PRIV_ENDPOINTSECURITY_CLIENT", 1016 },
    { "PRIV_AUDIT_SESSION_PORT", 1017 },
    { "PRIV_VM_PRESSURE", 6000 },
    { "PRIV_VM_JETSAM", 6001 },
    { "PRIV_VM_FOOTPRINT_LIMIT", 6002 },
    { "PRIV_NET_PRIVILEGED_TRAFFIC_CLASS", 10000 },
    { "PRIV_NET_PRIVILEGED_SOCKET_DELEGATE", 10001 },
    { "PRIV_NET_INTERFACE_CONTROL", 10002 },
    { "PRIV_NET_PRIVILEGED_NETWORK_STATISTICS", 10003 },
    { "PRIV_NET_PRIVILEGED_NECP_POLICIES", 10004 },
    { "PRIV_NET_RESTRICTED_AWDL", 10005 },
    { "PRIV_NET_PRIVILEGED_NECP_MATCH", 10006 },
    { "PRIV_NET_QOSMARKING_POLICY_OVERRIDE", 10007 },
    { "PRIV_NET_RESTRICTED_INTCOPROC", 10008 },
    { "PRIV_NET_PRIVILEGED_MULTIPATH", 10009 },
    { "PRIV_NET_RESTRICTED_MULTIPATH_EXTENDED", 10010 },
    { "PRIV_NET_RESTRICTED_ROUTE_NC_READ", 10011 },
    { "PRIV_NET_PRIVILEGED_CLIENT_ACCESS", 10012 },
    { "PRIV_NET_PRIVILEGED_SERVER_ACCESS", 10013 },
    { "PRIV_NET_VALIDATED_RESOLVER", 10014 },
    { "PRIV_NET_CUSTOM_PROTOCOL", 10015 },
    { "PRIV_NET_PRIVILEGED_NECP_DROP_ALL_BYPASS", 10016 },
    { "PRIV_NET_PRIVILEGED_IPSEC_WAKE_PACKET", 10017 },
    { "PRIV_NETINET_RESERVEDPORT", 11000 },
    { "PRIV_NETINET_TCP_KA_OFFLOAD", 11001 },
    { "PRIV_SKYWALK_REGISTER_USER_PIPE", 12000 },
    { "PRIV_SKYWALK_REGISTER_KERNEL_PIPE", 12001 },
    { "PRIV_SKYWALK_REGISTER_NET_IF", 12002 },
    { "PRIV_SKYWALK_REGISTER_FLOW_SWITCH", 12003 },
    { "PRIV_SKYWALK_OBSERVE_ALL", 12010 },
    { "PRIV_SKYWALK_OBSERVE_STATS", 12011 },
    { "PRIV_VFS_OPEN_BY_ID", 14000 },
    { "PRIV_VFS_MOVE_DATA_EXTENTS", 14001 },
    { "PRIV_VFS_SNAPSHOT", 14002 },
    { "PRIV_VFS_SNAPSHOT_REVERT", 14003 },
    { "PRIV_VFS_DATALESS_RESOLVER", 14004 },
    { "PRIV_VFS_DATALESS_MANIPULATION", 14005 },
    { "PRIV_APFS_EMBED_DRIVER", 14100 },
    { "PRIV_APFS_FUSION_DEBUG", 14101 },
    { "PRIV_APFS_FUSION_ALLOW_PIN_FASTPROMOTE", 14102 },
    { "PRIV_APFS_SET_FREE_SPACE_CHANGE_THRESHOLD", 14104 },
    { "PRIV_APFS_SET_FIRMLINK", 14105 },
    { NULL, 0 }
};
static const named_argument process_attribute_args[] = {
    { "is-plugin", 0 },
    { "is-installer", 1 },
    { "is-restricted", 2 },
    { "is-initproc", 3 },
    { "is-platform-binary", 4 },
    { "is-sandboxed", 5 },
    { "is-nvram-privileged", 6 },
    { "is-sandcastle-constrained", 7 },
    { "is-datavault-controller", 8 },
    { "is-apple-signed-executable", 9 },
    { NULL, 0 }
};
static const named_argument csr_args[] = {
    { "CSR_ALLOW_UNTRUSTED_KEXTS", 1 },
    { "CSR_ALLOW_UNRESTRICTED_FS", 2 },
    { "CSR_ALLOW_TASK_FOR_PID", 4 },
    { "CSR_ALLOW_KERNEL_DEBUGGER", 8 },
    { "CSR_ALLOW_APPLE_INTERNAL", 16 },
    { "CSR_ALLOW_UNRESTRICTED_DTRACE", 32 },
    { "CSR_ALLOW_UNRESTRICTED_NVRAM", 64 },
    { "CSR_ALLOW_DEVICE_CONFIGURATION", 128 },
    { "CSR_ALLOW_ANY_RECOVERY_OS", 256 },
    { "CSR_ALLOW_UNAPPROVED_KEXTS", 512 },
    { "CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE", 1024 },
    { NULL, 0 }
};
static const named_argument host_special_port_args[] = {
    { "HOST_DYNAMIC_PAGER_PORT", 8 },
    { "HOST_AUDIT_CONTROL_PORT", 9 },
    { "HOST_USER_NOTIFICATION_PORT", 10 },
    { "HOST_AUTOMOUNTD_PORT", 11 },
    { "HOST_LOCKD_PORT", 12 },
    { "HOST_KTRACE_BACKGROUND_PORT", 13 },
    { "HOST_SEATBELT_PORT", 14 },
    { "HOST_KEXTD_PORT", 15 },
    { "HOST_LAUNCHCTL_PORT", 16 },
    { "HOST_UNFREED_PORT", 17 },
    { "HOST_AMFID_PORT", 18 },
    { "HOST_GSSD_PORT", 19 },
    { "HOST_TELEMETRY_PORT", 20 },
    { "HOST_ATM_NOTIFICATION_PORT", 21 },
    { "HOST_COALITION_PORT", 22 },
    { "HOST_SYSDIAGNOSE_PORT", 23 },
    { "HOST_XPC_EXCEPTION_PORT", 24 },
    { "HOST_CONTAINERD_PORT", 25 },
    { "HOST_NODE_PORT", 26 },
    { "HOST_RESOURCE_NOTIFY_PORT", 27 },
    { "HOST_CLOSURED_PORT", 28 },
    { "HOST_SYSPOLICYD_PORT", 29 },
    { "HOST_FILECOORDINATIOND_PORT", 30 },
    { "HOST_FAIRPLAYD_PORT", 31 },
    { NULL, 0 }
};
static const named_argument signal_number_args[] = {
    { "SIGHUP", 1 },
    { "SIGINT", 2 },
    { "SIGQUIT", 3 },
    { "SIGILL", 4 },
    { "SIGTRAP", 5 },
    { "SIGABRT", 6 },
    { "SIGEMT", 7 },
    { "SIGFPE", 8 },
    { "SIGKILL", 9 },
    { "SIGBUS", 10 },
    { "SIGSEGV", 11 },
    { "SIGSYS", 12 },
    { "SIGPIPE", 13 },
    { "SIGALRM", 14 },
    { "SIGTERM", 15 },
    { "SIGURG", 16 },
    { "SIGSTOP", 17 },
    { "SIGTSTP", 18 },
    { "SIGCONT", 19 },
    { "SIGCHLD", 20 },
    { "SIGTTIN", 21 },
    { "SIGTTOU", 22 },
    { "SIGIO", 23 },
    { "SIGXCPU", 24 },
    { "SIGXFSZ", 25 },
    { "SIGVTALRM", 26 },
    { "SIGPROF", 27 },
    { "SIGWINCH", 28 },
    { "SIGINFO", 29 },
    { "SIGUSR1", 30 },
    { "SIGUSR2", 31 },
    { NULL, 0 }
};
static const named_argument file_attribute_args[] = {
    { "sip-protected", 0 },
    { "datavault", 1 },
    { "time-machine-backup", 2 },
    { "time-machine-device", 3 },
    { "local-filesystem", 4 },
    { "root-filesystem", 5 },
    { "snapshot", 6 },
    { "removable-media", 7 },
    { "disk-image", 8 },
    { "sip-protected-filesystem", 9 },
    { "removable-device", 10 },
    { "disk-image-device", 11 },
    { "sip-protected-device", 12 },
    { "protected-ancestor", 13 },
    { "network-approval-exempt", 14 },
    { "smb-home-mount-dir", 15 },
    { "fileprovider-owned", 16 },
    { NULL, 0 }
};
static const named_argument iokit_usb_interface_class_args[] = {
    { "kUSBAudioInterfaceClass", 1 },
    { "kUSBCommunicationControlInterfaceClass", 2 },
    { "kUSBCommunicationDataInterfaceClass", 10 },
    { "kUSBHIDInterfaceClass", 3 },
    { "kUSBPhysicalInterfaceClass", 5 },
    { "kUSBImageInterfaceClass", 6 },
    { "kUSBPrintingInterfaceClass", 7 },
    { "kUSBMassStorageInterfaceClass", 8 },
    { "kUSBChipSmartCardInterfaceClass", 11 },
    { "kUSBContentSecurityInterfaceClass", 13 },
    { "kUSBVideoInterfaceClass", 14 },
    { "kUSBPersonalHealthcareInterfaceClass", 15 },
    { "kUSBDiagnosticDeviceInterfaceClass", 220 },
    { "kUSBWirelessControllerInterfaceClass", 224 },
    { "kUSBApplicationSpecificInterfaceClass", 254 },
    { "kUSBVendorSpecificInterfaceClass", 255 },
    { NULL, 0 }
};
static const named_argument iokit_usb_interface_subclass_args[] = {
    { "kUSBCompositeSubClass", 0 },
    { "kUSBHubSubClass", 0 },
    { "kUSBAudioControlSubClass", 1 },
    { "kUSBAudioStreamingSubClass", 2 },
    { "kUSBMIDIStreamingSubClass", 3 },
    { "kUSBDFUSubClass", 1 },
    { "kUSBIrDABridgeSubClass", 2 },
    { "kUSBTestMeasurementSubClass", 3 },
    { "kUSBMassStorageRBCSubClass", 1 },
    { "kUSBMassStorageATAPISubClass", 2 },
    { "kUSBMassStorageQIC157SubClass", 3 },
    { "kUSBMassStorageUFISubClass", 4 },
    { "kUSBMassStorageSFF8070iSubClass", 5 },
    { "kUSBMassStorageSCSISubClass", 6 },
    { "kUSBHIDBootInterfaceSubClass", 1 },
    { "kUSBCommDirectLineSubClass", 1 },
    { "kUSBCommAbstractSubClass", 2 },
    { "kUSBCommTelephoneSubClass", 3 },
    { "kUSBCommMultiChannelSubClass", 4 },
    { "kUSBCommCAPISubClass", 5 },
    { "kUSBCommEthernetNetworkingSubClass", 6 },
    { "kUSBATMNetworkingSubClass", 7 },
    { "kUSBReprogrammableDiagnosticSubClass", 1 },
    { "kUSBRFControllerSubClass", 1 },
    { "kUSBCommonClassSubClass", 2 },
    { "kUSBVideoControlSubClass", 1 },
    { "kUSBVideoStreamingSubClass", 2 },
    { "kUSBVideoInterfaceCollectionSubClass", 3 },
    { NULL, 0 }
};
static const named_argument persona_type_args[] = {
    { "PERSONA_INVALID", 0 },
    { "PERSONA_GUEST", 1 },
    { "PERSONA_MANAGED", 2 },
    { "PERSONA_PRIV", 3 },
    { "PERSONA_SYSTEM", 4 },
    { "PERSONA_DEFAULT", 5 },
    { "PERSONA_ENTERPRISE", 8 },
    { NULL, 0 }
};
static const named_argument syscall_number_args[] = {
    { "SYS_syscall", 0 },
    { "SYS_exit", 1 },
    { "SYS_fork", 2 },
    { "SYS_read", 3 },
    { "SYS_write", 4 },
    { "SYS_open", 5 },
    { "SYS_close", 6 },
    { "SYS_wait4", 7 },
    { "SYS_link", 9 },
    { "SYS_unlink", 10 },
    { "SYS_chdir", 12 },
    { "SYS_fchdir", 13 },
    { "SYS_mknod", 14 },
    { "SYS_chmod", 15 },
    { "SYS_chown", 16 },
    { "SYS_getfsstat", 18 },
    { "SYS_getpid", 20 },
    { "SYS_setuid", 23 },
    { "SYS_getuid", 24 },
    { "SYS_geteuid", 25 },
    { "SYS_ptrace", 26 },
    { "SYS_recvmsg", 27 },
    { "SYS_sendmsg", 28 },
    { "SYS_recvfrom", 29 },
    { "SYS_accept", 30 },
    { "SYS_getpeername", 31 },
    { "SYS_getsockname", 32 },
    { "SYS_access", 33 },
    { "SYS_chflags", 34 },
    { "SYS_fchflags", 35 },
    { "SYS_sync", 36 },
    { "SYS_kill", 37 },
    { "SYS_getppid", 39 },
    { "SYS_dup", 41 },
    { "SYS_pipe", 42 },
    { "SYS_getegid", 43 },
    { "SYS_sigaction", 46 },
    { "SYS_getgid", 47 },
    { "SYS_sigprocmask", 48 },
    { "SYS_getlogin", 49 },
    { "SYS_setlogin", 50 },
    { "SYS_acct", 51 },
    { "SYS_sigpending", 52 },
    { "SYS_sigaltstack", 53 },
    { "SYS_ioctl", 54 },
    { "SYS_reboot", 55 },
    { "SYS_revoke", 56 },
    { "SYS_symlink", 57 },
    { "SYS_readlink", 58 },
    { "SYS_execve", 59 },
    { "SYS_umask", 60 },
    { "SYS_chroot", 61 },
    { "SYS_msync", 65 },
    { "SYS_vfork", 66 },
    { "SYS_munmap", 73 },
    { "SYS_mprotect", 74 },
    { "SYS_madvise", 75 },
    { "SYS_mincore", 78 },
    { "SYS_getgroups", 79 },
    { "SYS_setgroups", 80 },
    { "SYS_getpgrp", 81 },
    { "SYS_setpgid", 82 },
    { "SYS_setitimer", 83 },
    { "SYS_swapon", 85 },
    { "SYS_getitimer", 86 },
    { "SYS_getdtablesize", 89 },
    { "SYS_dup2", 90 },
    { "SYS_fcntl", 92 },
    { "SYS_select", 93 },
    { "SYS_fsync", 95 },
    { "SYS_setpriority", 96 },
    { "SYS_socket", 97 },
    { "SYS_connect", 98 },
    { "SYS_getpriority", 100 },
    { "SYS_bind", 104 },
    { "SYS_setsockopt", 105 },
    { "SYS_listen", 106 },
    { "SYS_sigsuspend", 111 },
    { "SYS_gettimeofday", 116 },
    { "SYS_getrusage", 117 },
    { "SYS_getsockopt", 118 },
    { "SYS_readv", 120 },
    { "SYS_writev", 121 },
    { "SYS_settimeofday", 122 },
    { "SYS_fchown", 123 },
    { "SYS_fchmod", 124 },
    { "SYS_setreuid", 126 },
    { "SYS_setregid", 127 },
    { "SYS_rename", 128 },
    { "SYS_flock", 131 },
    { "SYS_mkfifo", 132 },
    { "SYS_sendto", 133 },
    { "SYS_shutdown", 134 },
    { "SYS_socketpair", 135 },
    { "SYS_mkdir", 136 },
    { "SYS_rmdir", 137 },
    { "SYS_utimes", 138 },
    { "SYS_futimes", 139 },
    { "SYS_adjtime", 140 },
    { "SYS_gethostuuid", 142 },
    { "SYS_setsid", 147 },
    { "SYS_getpgid", 151 },
    { "SYS_setprivexec", 152 },
    { "SYS_pread", 153 },
    { "SYS_pwrite", 154 },
    { "SYS_nfssvc", 155 },
    { "SYS_statfs", 157 },
    { "SYS_fstatfs", 158 },
    { "SYS_unmount", 159 },
    { "SYS_getfh", 161 },
    { "SYS_quotactl", 165 },
    { "SYS_mount", 167 },
    { "SYS_csops", 169 },
    { "SYS_csops_audittoken", 170 },
    { "SYS_waitid", 173 },
    { "SYS_kdebug_typefilter", 177 },
    { "SYS_kdebug_trace_string", 178 },
    { "SYS_kdebug_trace64", 179 },
    { "SYS_kdebug_trace", 180 },
    { "SYS_setgid", 181 },
    { "SYS_setegid", 182 },
    { "SYS_seteuid", 183 },
    { "SYS_sigreturn", 184 },
    { "SYS_thread_selfcounts", 186 },
    { "SYS_fdatasync", 187 },
    { "SYS_stat", 188 },
    { "SYS_fstat", 189 },
    { "SYS_lstat", 190 },
    { "SYS_pathconf", 191 },
    { "SYS_fpathconf", 192 },
    { "SYS_getrlimit", 194 },
    { "SYS_setrlimit", 195 },
    { "SYS_getdirentries", 196 },
    { "SYS_mmap", 197 },
    { "SYS_lseek", 199 },
    { "SYS_truncate", 200 },
    { "SYS_ftruncate", 201 },
    { "SYS_sysctl", 202 },
    { "SYS_mlock", 203 },
    { "SYS_munlock", 204 },
    { "SYS_undelete", 205 },
    { "SYS_open_dprotected_np", 216 },
    { "SYS_fsgetpath_ext", 217 },
    { "SYS_getattrlist", 220 },
    { "SYS_setattrlist", 221 },
    { "SYS_getdirentriesattr", 222 },
    { "SYS_exchangedata", 223 },
    { "SYS_searchfs", 225 },
    { "SYS_delete", 226 },
    { "SYS_copyfile", 227 },
    { "SYS_fgetattrlist", 228 },
    { "SYS_fsetattrlist", 229 },
    { "SYS_poll", 230 },
    { "SYS_watchevent", 231 },
    { "SYS_waitevent", 232 },
    { "SYS_modwatch", 233 },
    { "SYS_getxattr", 234 },
    { "SYS_fgetxattr", 235 },
    { "SYS_setxattr", 236 },
    { "SYS_fsetxattr", 237 },
    { "SYS_removexattr", 238 },
    { "SYS_fremovexattr", 239 },
    { "SYS_listxattr", 240 },
    { "SYS_flistxattr", 241 },
    { "SYS_fsctl", 242 },
    { "SYS_initgroups", 243 },
    { "SYS_posix_spawn", 244 },
    { "SYS_ffsctl", 245 },
    { "SYS_nfsclnt", 247 },
    { "SYS_fhopen", 248 },
    { "SYS_minherit", 250 },
    { "SYS_semsys", 251 },
    { "SYS_msgsys", 252 },
    { "SYS_shmsys", 253 },
    { "SYS_semctl", 254 },
    { "SYS_semget", 255 },
    { "SYS_semop", 256 },
    { "SYS_msgctl", 258 },
    { "SYS_msgget", 259 },
    { "SYS_msgsnd", 260 },
    { "SYS_msgrcv", 261 },
    { "SYS_shmat", 262 },
    { "SYS_shmctl", 263 },
    { "SYS_shmdt", 264 },
    { "SYS_shmget", 265 },
    { "SYS_shm_open", 266 },
    { "SYS_shm_unlink", 267 },
    { "SYS_sem_open", 268 },
    { "SYS_sem_close", 269 },
    { "SYS_sem_unlink", 270 },
    { "SYS_sem_wait", 271 },
    { "SYS_sem_trywait", 272 },
    { "SYS_sem_post", 273 },
    { "SYS_sysctlbyname", 274 },
    { "SYS_open_extended", 277 },
    { "SYS_umask_extended", 278 },
    { "SYS_stat_extended", 279 },
    { "SYS_lstat_extended", 280 },
    { "SYS_fstat_extended", 281 },
    { "SYS_chmod_extended", 282 },
    { "SYS_fchmod_extended", 283 },
    { "SYS_access_extended", 284 },
    { "SYS_settid", 285 },
    { "SYS_gettid", 286 },
    { "SYS_setsgroups", 287 },
    { "SYS_getsgroups", 288 },
    { "SYS_setwgroups", 289 },
    { "SYS_getwgroups", 290 },
    { "SYS_mkfifo_extended", 291 },
    { "SYS_mkdir_extended", 292 },
    { "SYS_identitysvc", 293 },
    { "SYS_shared_region_check_np", 294 },
    { "SYS_vm_pressure_monitor", 296 },
    { "SYS_psynch_rw_longrdlock", 297 },
    { "SYS_psynch_rw_yieldwrlock", 298 },
    { "SYS_psynch_rw_downgrade", 299 },
    { "SYS_psynch_rw_upgrade", 300 },
    { "SYS_psynch_mutexwait", 301 },
    { "SYS_psynch_mutexdrop", 302 },
    { "SYS_psynch_cvbroad", 303 },
    { "SYS_psynch_cvsignal", 304 },
    { "SYS_psynch_cvwait", 305 },
    { "SYS_psynch_rw_rdlock", 306 },
    { "SYS_psynch_rw_wrlock", 307 },
    { "SYS_psynch_rw_unlock", 308 },
    { "SYS_psynch_rw_unlock2", 309 },
    { "SYS_getsid", 310 },
    { "SYS_settid_with_pid", 311 },
    { "SYS_psynch_cvclrprepost", 312 },
    { "SYS_aio_fsync", 313 },
    { "SYS_aio_return", 314 },
    { "SYS_aio_suspend", 315 },
    { "SYS_aio_cancel", 316 },
    { "SYS_aio_error", 317 },
    { "SYS_aio_read", 318 },
    { "SYS_aio_write", 319 },
    { "SYS_lio_listio", 320 },
    { "SYS_iopolicysys", 322 },
    { "SYS_process_policy", 323 },
    { "SYS_mlockall", 324 },
    { "SYS_munlockall", 325 },
    { "SYS_issetugid", 327 },
    { "SYS___pthread_kill", 328 },
    { "SYS___pthread_sigmask", 329 },
    { "SYS___sigwait", 330 },
    { "SYS___disable_threadsignal", 331 },
    { "SYS___pthread_markcancel", 332 },
    { "SYS___pthread_canceled", 333 },
    { "SYS___semwait_signal", 334 },
    { "SYS_proc_info", 336 },
    { "SYS_sendfile", 337 },
    { "SYS_stat64", 338 },
    { "SYS_fstat64", 339 },
    { "SYS_lstat64", 340 },
    { "SYS_stat64_extended", 341 },
    { "SYS_lstat64_extended", 342 },
    { "SYS_fstat64_extended", 343 },
    { "SYS_getdirentries64", 344 },
    { "SYS_statfs64", 345 },
    { "SYS_fstatfs64", 346 },
    { "SYS_getfsstat64", 347 },
    { "SYS___pthread_chdir", 348 },
    { "SYS___pthread_fchdir", 349 },
    { "SYS_audit", 350 },
    { "SYS_auditon", 351 },
    { "SYS_getauid", 353 },
    { "SYS_setauid", 354 },
    { "SYS_getaudit_addr", 357 },
    { "SYS_setaudit_addr", 358 },
    { "SYS_auditctl", 359 },
    { "SYS_bsdthread_create", 360 },
    { "SYS_bsdthread_terminate", 361 },
    { "SYS_kqueue", 362 },
    { "SYS_kevent", 363 },
    { "SYS_lchown", 364 },
    { "SYS_bsdthread_register", 366 },
    { "SYS_workq_open", 367 },
    { "SYS_workq_kernreturn", 368 },
    { "SYS_kevent64", 369 },
    { "SYS___old_semwait_signal", 370 },
    { "SYS___old_semwait_signal_nocancel", 371 },
    { "SYS_thread_selfid", 372 },
    { "SYS_ledger", 373 },
    { "SYS_kevent_qos", 374 },
    { "SYS_kevent_id", 375 },
    { "SYS___mac_execve", 380 },
    { "SYS___mac_syscall", 381 },
    { "SYS___mac_get_file", 382 },
    { "SYS___mac_set_file", 383 },
    { "SYS___mac_get_link", 384 },
    { "SYS___mac_set_link", 385 },
    { "SYS___mac_get_proc", 386 },
    { "SYS___mac_set_proc", 387 },
    { "SYS___mac_get_fd", 388 },
    { "SYS___mac_set_fd", 389 },
    { "SYS___mac_get_pid", 390 },
    { "SYS_pselect", 394 },
    { "SYS_pselect_nocancel", 395 },
    { "SYS_read_nocancel", 396 },
    { "SYS_write_nocancel", 397 },
    { "SYS_open_nocancel", 398 },
    { "SYS_close_nocancel", 399 },
    { "SYS_wait4_nocancel", 400 },
    { "SYS_recvmsg_nocancel", 401 },
    { "SYS_sendmsg_nocancel", 402 },
    { "SYS_recvfrom_nocancel", 403 },
    { "SYS_accept_nocancel", 404 },
    { "SYS_msync_nocancel", 405 },
    { "SYS_fcntl_nocancel", 406 },
    { "SYS_select_nocancel", 407 },
    { "SYS_fsync_nocancel", 408 },
    { "SYS_connect_nocancel", 409 },
    { "SYS_sigsuspend_nocancel", 410 },
    { "SYS_readv_nocancel", 411 },
    { "SYS_writev_nocancel", 412 },
    { "SYS_sendto_nocancel", 413 },
    { "SYS_pread_nocancel", 414 },
    { "SYS_pwrite_nocancel", 415 },
    { "SYS_waitid_nocancel", 416 },
    { "SYS_poll_nocancel", 417 },
    { "SYS_msgsnd_nocancel", 418 },
    { "SYS_msgrcv_nocancel", 419 },
    { "SYS_sem_wait_nocancel", 420 },
    { "SYS_aio_suspend_nocancel", 421 },
    { "SYS___sigwait_nocancel", 422 },
    { "SYS___semwait_signal_nocancel", 423 },
    { "SYS___mac_mount", 424 },
    { "SYS___mac_get_mount", 425 },
    { "SYS___mac_getfsstat", 426 },
    { "SYS_fsgetpath", 427 },
    { "SYS_audit_session_self", 428 },
    { "SYS_audit_session_join", 429 },
    { "SYS_fileport_makeport", 430 },
    { "SYS_fileport_makefd", 431 },
    { "SYS_audit_session_port", 432 },
    { "SYS_pid_suspend", 433 },
    { "SYS_pid_resume", 434 },
    { "SYS_pid_hibernate", 435 },
    { "SYS_pid_shutdown_sockets", 436 },
    { "SYS_shared_region_map_and_slide_np", 438 },
    { "SYS_kas_info", 439 },
    { "SYS_memorystatus_control", 440 },
    { "SYS_guarded_open_np", 441 },
    { "SYS_guarded_close_np", 442 },
    { "SYS_guarded_kqueue_np", 443 },
    { "SYS_change_fdguard_np", 444 },
    { "SYS_usrctl", 445 },
    { "SYS_proc_rlimit_control", 446 },
    { "SYS_connectx", 447 },
    { "SYS_disconnectx", 448 },
    { "SYS_peeloff", 449 },
    { "SYS_socket_delegate", 450 },
    { "SYS_telemetry", 451 },
    { "SYS_proc_uuid_policy", 452 },
    { "SYS_memorystatus_get_level", 453 },
    { "SYS_system_override", 454 },
    { "SYS_vfs_purge", 455 },
    { "SYS_sfi_ctl", 456 },
    { "SYS_sfi_pidctl", 457 },
    { "SYS_coalition", 458 },
    { "SYS_coalition_info", 459 },
    { "SYS_necp_match_policy", 460 },
    { "SYS_getattrlistbulk", 461 },
    { "SYS_clonefileat", 462 },
    { "SYS_openat", 463 },
    { "SYS_openat_nocancel", 464 },
    { "SYS_renameat", 465 },
    { "SYS_faccessat", 466 },
    { "SYS_fchmodat", 467 },
    { "SYS_fchownat", 468 },
    { "SYS_fstatat", 469 },
    { "SYS_fstatat64", 470 },
    { "SYS_linkat", 471 },
    { "SYS_unlinkat", 472 },
    { "SYS_readlinkat", 473 },
    { "SYS_symlinkat", 474 },
    { "SYS_mkdirat", 475 },
    { "SYS_getattrlistat", 476 },
    { "SYS_proc_trace_log", 477 },
    { "SYS_bsdthread_ctl", 478 },
    { "SYS_openbyid_np", 479 },
    { "SYS_recvmsg_x", 480 },
    { "SYS_sendmsg_x", 481 },
    { "SYS_thread_selfusage", 482 },
    { "SYS_csrctl", 483 },
    { "SYS_guarded_open_dprotected_np", 484 },
    { "SYS_guarded_write_np", 485 },
    { "SYS_guarded_pwrite_np", 486 },
    { "SYS_guarded_writev_np", 487 },
    { "SYS_renameatx_np", 488 },
    { "SYS_mremap_encrypted", 489 },
    { "SYS_netagent_trigger", 490 },
    { "SYS_stack_snapshot_with_config", 491 },
    { "SYS_microstackshot", 492 },
    { "SYS_grab_pgo_data", 493 },
    { "SYS_persona", 494 },
    { "SYS_work_interval_ctl", 499 },
    { "SYS_getentropy", 500 },
    { "SYS_necp_open", 501 },
    { "SYS_necp_client_action", 502 },
    { "SYS___nexus_open", 503 },
    { "SYS___nexus_register", 504 },
    { "SYS___nexus_deregister", 505 },
    { "SYS___nexus_create", 506 },
    { "SYS___nexus_destroy", 507 },
    { "SYS___nexus_get_opt", 508 },
    { "SYS___nexus_set_opt", 509 },
    { "SYS___channel_open", 510 },
    { "SYS___channel_get_info", 511 },
    { "SYS___channel_sync", 512 },
    { "SYS___channel_get_opt", 513 },
    { "SYS___channel_set_opt", 514 },
    { "SYS_ulock_wait", 515 },
    { "SYS_ulock_wake", 516 },
    { "SYS_fclonefileat", 517 },
    { "SYS_fs_snapshot", 518 },
    { "SYS_terminate_with_payload", 520 },
    { "SYS_abort_with_payload", 521 },
    { "SYS_necp_session_open", 522 },
    { "SYS_necp_session_action", 523 },
    { "SYS_setattrlistat", 524 },
    { "SYS_net_qos_guideline", 525 },
    { "SYS_fmount", 526 },
    { "SYS_ntp_adjtime", 527 },
    { "SYS_ntp_gettime", 528 },
    { "SYS_os_fault_with_payload", 529 },
    { "SYS_kqueue_workloop_ctl", 530 },
    { "SYS___mach_bridge_remote_time", 531 },
    { "SYS_coalition_ledger", 532 },
    { "SYS_log_data", 533 },
    { "SYS_memorystatus_available_memory", 534 },
    { "SYS_MAXSYSCALL", 535 },
    { "SYS_invalid", 63 },
    { NULL, 0 }
};
static const named_argument syscall_mask_args[] = {
    { "SYS_syscall", 0 },
    { "SYS_exit", 1 },
    { "SYS_fork", 2 },
    { "SYS_read", 3 },
    { "SYS_write", 4 },
    { "SYS_open", 5 },
    { "SYS_close", 6 },
    { "SYS_wait4", 7 },
    { "SYS_link", 9 },
    { "SYS_unlink", 10 },
    { "SYS_chdir", 12 },
    { "SYS_fchdir", 13 },
    { "SYS_mknod", 14 },
    { "SYS_chmod", 15 },
    { "SYS_chown", 16 },
    { "SYS_getfsstat", 18 },
    { "SYS_getpid", 20 },
    { "SYS_setuid", 23 },
    { "SYS_getuid", 24 },
    { "SYS_geteuid", 25 },
    { "SYS_ptrace", 26 },
    { "SYS_recvmsg", 27 },
    { "SYS_sendmsg", 28 },
    { "SYS_recvfrom", 29 },
    { "SYS_accept", 30 },
    { "SYS_getpeername", 31 },
    { "SYS_getsockname", 32 },
    { "SYS_access", 33 },
    { "SYS_chflags", 34 },
    { "SYS_fchflags", 35 },
    { "SYS_sync", 36 },
    { "SYS_kill", 37 },
    { "SYS_getppid", 39 },
    { "SYS_dup", 41 },
    { "SYS_pipe", 42 },
    { "SYS_getegid", 43 },
    { "SYS_sigaction", 46 },
    { "SYS_getgid", 47 },
    { "SYS_sigprocmask", 48 },
    { "SYS_getlogin", 49 },
    { "SYS_setlogin", 50 },
    { "SYS_acct", 51 },
    { "SYS_sigpending", 52 },
    { "SYS_sigaltstack", 53 },
    { "SYS_ioctl", 54 },
    { "SYS_reboot", 55 },
    { "SYS_revoke", 56 },
    { "SYS_symlink", 57 },
    { "SYS_readlink", 58 },
    { "SYS_execve", 59 },
    { "SYS_umask", 60 },
    { "SYS_chroot", 61 },
    { "SYS_msync", 65 },
    { "SYS_vfork", 66 },
    { "SYS_munmap", 73 },
    { "SYS_mprotect", 74 },
    { "SYS_madvise", 75 },
    { "SYS_mincore", 78 },
    { "SYS_getgroups", 79 },
    { "SYS_setgroups", 80 },
    { "SYS_getpgrp", 81 },
    { "SYS_setpgid", 82 },
    { "SYS_setitimer", 83 },
    { "SYS_swapon", 85 },
    { "SYS_getitimer", 86 },
    { "SYS_getdtablesize", 89 },
    { "SYS_dup2", 90 },
    { "SYS_fcntl", 92 },
    { "SYS_select", 93 },
    { "SYS_fsync", 95 },
    { "SYS_setpriority", 96 },
    { "SYS_socket", 97 },
    { "SYS_connect", 98 },
    { "SYS_getpriority", 100 },
    { "SYS_bind", 104 },
    { "SYS_setsockopt", 105 },
    { "SYS_listen", 106 },
    { "SYS_sigsuspend", 111 },
    { "SYS_gettimeofday", 116 },
    { "SYS_getrusage", 117 },
    { "SYS_getsockopt", 118 },
    { "SYS_readv", 120 },
    { "SYS_writev", 121 },
    { "SYS_settimeofday", 122 },
    { "SYS_fchown", 123 },
    { "SYS_fchmod", 124 },
    { "SYS_setreuid", 126 },
    { "SYS_setregid", 127 },
    { "SYS_rename", 128 },
    { "SYS_flock", 131 },
    { "SYS_mkfifo", 132 },
    { "SYS_sendto", 133 },
    { "SYS_shutdown", 134 },
    { "SYS_socketpair", 135 },
    { "SYS_mkdir", 136 },
    { "SYS_rmdir", 137 },
    { "SYS_utimes", 138 },
    { "SYS_futimes", 139 },
    { "SYS_adjtime", 140 },
    { "SYS_gethostuuid", 142 },
    { "SYS_setsid", 147 },
    { "SYS_getpgid", 151 },
    { "SYS_setprivexec", 152 },
    { "SYS_pread", 153 },
    { "SYS_pwrite", 154 },
    { "SYS_nfssvc", 155 },
    { "SYS_statfs", 157 },
    { "SYS_fstatfs", 158 },
    { "SYS_unmount", 159 },
    { "SYS_getfh", 161 },
    { "SYS_quotactl", 165 },
    { "SYS_mount", 167 },
    { "SYS_csops", 169 },
    { "SYS_csops_audittoken", 170 },
    { "SYS_waitid", 173 },
    { "SYS_kdebug_typefilter", 177 },
    { "SYS_kdebug_trace_string", 178 },
    { "SYS_kdebug_trace64", 179 },
    { "SYS_kdebug_trace", 180 },
    { "SYS_setgid", 181 },
    { "SYS_setegid", 182 },
    { "SYS_seteuid", 183 },
    { "SYS_sigreturn", 184 },
    { "SYS_thread_selfcounts", 186 },
    { "SYS_fdatasync", 187 },
    { "SYS_stat", 188 },
    { "SYS_fstat", 189 },
    { "SYS_lstat", 190 },
    { "SYS_pathconf", 191 },
    { "SYS_fpathconf", 192 },
    { "SYS_getrlimit", 194 },
    { "SYS_setrlimit", 195 },
    { "SYS_getdirentries", 196 },
    { "SYS_mmap", 197 },
    { "SYS_lseek", 199 },
    { "SYS_truncate", 200 },
    { "SYS_ftruncate", 201 },
    { "SYS_sysctl", 202 },
    { "SYS_mlock", 203 },
    { "SYS_munlock", 204 },
    { "SYS_undelete", 205 },
    { "SYS_open_dprotected_np", 216 },
    { "SYS_fsgetpath_ext", 217 },
    { "SYS_getattrlist", 220 },
    { "SYS_setattrlist", 221 },
    { "SYS_getdirentriesattr", 222 },
    { "SYS_exchangedata", 223 },
    { "SYS_searchfs", 225 },
    { "SYS_delete", 226 },
    { "SYS_copyfile", 227 },
    { "SYS_fgetattrlist", 228 },
    { "SYS_fsetattrlist", 229 },
    { "SYS_poll", 230 },
    { "SYS_watchevent", 231 },
    { "SYS_waitevent", 232 },
    { "SYS_modwatch", 233 },
    { "SYS_getxattr", 234 },
    { "SYS_fgetxattr", 235 },
    { "SYS_setxattr", 236 },
    { "SYS_fsetxattr", 237 },
    { "SYS_removexattr", 238 },
    { "SYS_fremovexattr", 239 },
    { "SYS_listxattr", 240 },
    { "SYS_flistxattr", 241 },
    { "SYS_fsctl", 242 },
    { "SYS_initgroups", 243 },
    { "SYS_posix_spawn", 244 },
    { "SYS_ffsctl", 245 },
    { "SYS_nfsclnt", 247 },
    { "SYS_fhopen", 248 },
    { "SYS_minherit", 250 },
    { "SYS_semsys", 251 },
    { "SYS_msgsys", 252 },
    { "SYS_shmsys", 253 },
    { "SYS_semctl", 254 },
    { "SYS_semget", 255 },
    { "SYS_semop", 256 },
    { "SYS_msgctl", 258 },
    { "SYS_msgget", 259 },
    { "SYS_msgsnd", 260 },
    { "SYS_msgrcv", 261 },
    { "SYS_shmat", 262 },
    { "SYS_shmctl", 263 },
    { "SYS_shmdt", 264 },
    { "SYS_shmget", 265 },
    { "SYS_shm_open", 266 },
    { "SYS_shm_unlink", 267 },
    { "SYS_sem_open", 268 },
    { "SYS_sem_close", 269 },
    { "SYS_sem_unlink", 270 },
    { "SYS_sem_wait", 271 },
    { "SYS_sem_trywait", 272 },
    { "SYS_sem_post", 273 },
    { "SYS_sysctlbyname", 274 },
    { "SYS_open_extended", 277 },
    { "SYS_umask_extended", 278 },
    { "SYS_stat_extended", 279 },
    { "SYS_lstat_extended", 280 },
    { "SYS_fstat_extended", 281 },
    { "SYS_chmod_extended", 282 },
    { "SYS_fchmod_extended", 283 },
    { "SYS_access_extended", 284 },
    { "SYS_settid", 285 },
    { "SYS_gettid", 286 },
    { "SYS_setsgroups", 287 },
    { "SYS_getsgroups", 288 },
    { "SYS_setwgroups", 289 },
    { "SYS_getwgroups", 290 },
    { "SYS_mkfifo_extended", 291 },
    { "SYS_mkdir_extended", 292 },
    { "SYS_identitysvc", 293 },
    { "SYS_shared_region_check_np", 294 },
    { "SYS_vm_pressure_monitor", 296 },
    { "SYS_psynch_rw_longrdlock", 297 },
    { "SYS_psynch_rw_yieldwrlock", 298 },
    { "SYS_psynch_rw_downgrade", 299 },
    { "SYS_psynch_rw_upgrade", 300 },
    { "SYS_psynch_mutexwait", 301 },
    { "SYS_psynch_mutexdrop", 302 },
    { "SYS_psynch_cvbroad", 303 },
    { "SYS_psynch_cvsignal", 304 },
    { "SYS_psynch_cvwait", 305 },
    { "SYS_psynch_rw_rdlock", 306 },
    { "SYS_psynch_rw_wrlock", 307 },
    { "SYS_psynch_rw_unlock", 308 },
    { "SYS_psynch_rw_unlock2", 309 },
    { "SYS_getsid", 310 },
    { "SYS_settid_with_pid", 311 },
    { "SYS_psynch_cvclrprepost", 312 },
    { "SYS_aio_fsync", 313 },
    { "SYS_aio_return", 314 },
    { "SYS_aio_suspend", 315 },
    { "SYS_aio_cancel", 316 },
    { "SYS_aio_error", 317 },
    { "SYS_aio_read", 318 },
    { "SYS_aio_write", 319 },
    { "SYS_lio_listio", 320 },
    { "SYS_iopolicysys", 322 },
    { "SYS_process_policy", 323 },
    { "SYS_mlockall", 324 },
    { "SYS_munlockall", 325 },
    { "SYS_issetugid", 327 },
    { "SYS___pthread_kill", 328 },
    { "SYS___pthread_sigmask", 329 },
    { "SYS___sigwait", 330 },
    { "SYS___disable_threadsignal", 331 },
    { "SYS___pthread_markcancel", 332 },
    { "SYS___pthread_canceled", 333 },
    { "SYS___semwait_signal", 334 },
    { "SYS_proc_info", 336 },
    { "SYS_sendfile", 337 },
    { "SYS_stat64", 338 },
    { "SYS_fstat64", 339 },
    { "SYS_lstat64", 340 },
    { "SYS_stat64_extended", 341 },
    { "SYS_lstat64_extended", 342 },
    { "SYS_fstat64_extended", 343 },
    { "SYS_getdirentries64", 344 },
    { "SYS_statfs64", 345 },
    { "SYS_fstatfs64", 346 },
    { "SYS_getfsstat64", 347 },
    { "SYS___pthread_chdir", 348 },
    { "SYS___pthread_fchdir", 349 },
    { "SYS_audit", 350 },
    { "SYS_auditon", 351 },
    { "SYS_getauid", 353 },
    { "SYS_setauid", 354 },
    { "SYS_getaudit_addr", 357 },
    { "SYS_setaudit_addr", 358 },
    { "SYS_auditctl", 359 },
    { "SYS_bsdthread_create", 360 },
    { "SYS_bsdthread_terminate", 361 },
    { "SYS_kqueue", 362 },
    { "SYS_kevent", 363 },
    { "SYS_lchown", 364 },
    { "SYS_bsdthread_register", 366 },
    { "SYS_workq_open", 367 },
    { "SYS_workq_kernreturn", 368 },
    { "SYS_kevent64", 369 },
    { "SYS___old_semwait_signal", 370 },
    { "SYS___old_semwait_signal_nocancel", 371 },
    { "SYS_thread_selfid", 372 },
    { "SYS_ledger", 373 },
    { "SYS_kevent_qos", 374 },
    { "SYS_kevent_id", 375 },
    { "SYS___mac_execve", 380 },
    { "SYS___mac_syscall", 381 },
    { "SYS___mac_get_file", 382 },
    { "SYS___mac_set_file", 383 },
    { "SYS___mac_get_link", 384 },
    { "SYS___mac_set_link", 385 },
    { "SYS___mac_get_proc", 386 },
    { "SYS___mac_set_proc", 387 },
    { "SYS___mac_get_fd", 388 },
    { "SYS___mac_set_fd", 389 },
    { "SYS___mac_get_pid", 390 },
    { "SYS_pselect", 394 },
    { "SYS_pselect_nocancel", 395 },
    { "SYS_read_nocancel", 396 },
    { "SYS_write_nocancel", 397 },
    { "SYS_open_nocancel", 398 },
    { "SYS_close_nocancel", 399 },
    { "SYS_wait4_nocancel", 400 },
    { "SYS_recvmsg_nocancel", 401 },
    { "SYS_sendmsg_nocancel", 402 },
    { "SYS_recvfrom_nocancel", 403 },
    { "SYS_accept_nocancel", 404 },
    { "SYS_msync_nocancel", 405 },
    { "SYS_fcntl_nocancel", 406 },
    { "SYS_select_nocancel", 407 },
    { "SYS_fsync_nocancel", 408 },
    { "SYS_connect_nocancel", 409 },
    { "SYS_sigsuspend_nocancel", 410 },
    { "SYS_readv_nocancel", 411 },
    { "SYS_writev_nocancel", 412 },
    { "SYS_sendto_nocancel", 413 },
    { "SYS_pread_nocancel", 414 },
    { "SYS_pwrite_nocancel", 415 },
    { "SYS_waitid_nocancel", 416 },
    { "SYS_poll_nocancel", 417 },
    { "SYS_msgsnd_nocancel", 418 },
    { "SYS_msgrcv_nocancel", 419 },
    { "SYS_sem_wait_nocancel", 420 },
    { "SYS_aio_suspend_nocancel", 421 },
    { "SYS___sigwait_nocancel", 422 },
    { "SYS___semwait_signal_nocancel", 423 },
    { "SYS___mac_mount", 424 },
    { "SYS___mac_get_mount", 425 },
    { "SYS___mac_getfsstat", 426 },
    { "SYS_fsgetpath", 427 },
    { "SYS_audit_session_self", 428 },
    { "SYS_audit_session_join", 429 },
    { "SYS_fileport_makeport", 430 },
    { "SYS_fileport_makefd", 431 },
    { "SYS_audit_session_port", 432 },
    { "SYS_pid_suspend", 433 },
    { "SYS_pid_resume", 434 },
    { "SYS_pid_hibernate", 435 },
    { "SYS_pid_shutdown_sockets", 436 },
    { "SYS_shared_region_map_and_slide_np", 438 },
    { "SYS_kas_info", 439 },
    { "SYS_memorystatus_control", 440 },
    { "SYS_guarded_open_np", 441 },
    { "SYS_guarded_close_np", 442 },
    { "SYS_guarded_kqueue_np", 443 },
    { "SYS_change_fdguard_np", 444 },
    { "SYS_usrctl", 445 },
    { "SYS_proc_rlimit_control", 446 },
    { "SYS_connectx", 447 },
    { "SYS_disconnectx", 448 },
    { "SYS_peeloff", 449 },
    { "SYS_socket_delegate", 450 },
    { "SYS_telemetry", 451 },
    { "SYS_proc_uuid_policy", 452 },
    { "SYS_memorystatus_get_level", 453 },
    { "SYS_system_override", 454 },
    { "SYS_vfs_purge", 455 },
    { "SYS_sfi_ctl", 456 },
    { "SYS_sfi_pidctl", 457 },
    { "SYS_coalition", 458 },
    { "SYS_coalition_info", 459 },
    { "SYS_necp_match_policy", 460 },
    { "SYS_getattrlistbulk", 461 },
    { "SYS_clonefileat", 462 },
    { "SYS_openat", 463 },
    { "SYS_openat_nocancel", 464 },
    { "SYS_renameat", 465 },
    { "SYS_faccessat", 466 },
    { "SYS_fchmodat", 467 },
    { "SYS_fchownat", 468 },
    { "SYS_fstatat", 469 },
    { "SYS_fstatat64", 470 },
    { "SYS_linkat", 471 },
    { "SYS_unlinkat", 472 },
    { "SYS_readlinkat", 473 },
    { "SYS_symlinkat", 474 },
    { "SYS_mkdirat", 475 },
    { "SYS_getattrlistat", 476 },
    { "SYS_proc_trace_log", 477 },
    { "SYS_bsdthread_ctl", 478 },
    { "SYS_openbyid_np", 479 },
    { "SYS_recvmsg_x", 480 },
    { "SYS_sendmsg_x", 481 },
    { "SYS_thread_selfusage", 482 },
    { "SYS_csrctl", 483 },
    { "SYS_guarded_open_dprotected_np", 484 },
    { "SYS_guarded_write_np", 485 },
    { "SYS_guarded_pwrite_np", 486 },
    { "SYS_guarded_writev_np", 487 },
    { "SYS_renameatx_np", 488 },
    { "SYS_mremap_encrypted", 489 },
    { "SYS_netagent_trigger", 490 },
    { "SYS_stack_snapshot_with_config", 491 },
    { "SYS_microstackshot", 492 },
    { "SYS_grab_pgo_data", 493 },
    { "SYS_persona", 494 },
    { "SYS_work_interval_ctl", 499 },
    { "SYS_getentropy", 500 },
    { "SYS_necp_open", 501 },
    { "SYS_necp_client_action", 502 },
    { "SYS___nexus_open", 503 },
    { "SYS___nexus_register", 504 },
    { "SYS___nexus_deregister", 505 },
    { "SYS___nexus_create", 506 },
    { "SYS___nexus_destroy", 507 },
    { "SYS___nexus_get_opt", 508 },
    { "SYS___nexus_set_opt", 509 },
    { "SYS___channel_open", 510 },
    { "SYS___channel_get_info", 511 },
    { "SYS___channel_sync", 512 },
    { "SYS___channel_get_opt", 513 },
    { "SYS___channel_set_opt", 514 },
    { "SYS_ulock_wait", 515 },
    { "SYS_ulock_wake", 516 },
    { "SYS_fclonefileat", 517 },
    { "SYS_fs_snapshot", 518 },
    { "SYS_terminate_with_payload", 520 },
    { "SYS_abort_with_payload", 521 },
    { "SYS_necp_session_open", 522 },
    { "SYS_necp_session_action", 523 },
    { "SYS_setattrlistat", 524 },
    { "SYS_net_qos_guideline", 525 },
    { "SYS_fmount", 526 },
    { "SYS_ntp_adjtime", 527 },
    { "SYS_ntp_gettime", 528 },
    { "SYS_os_fault_with_payload", 529 },
    { "SYS_kqueue_workloop_ctl", 530 },
    { "SYS___mach_bridge_remote_time", 531 },
    { "SYS_coalition_ledger", 532 },
    { "SYS_log_data", 533 },
    { "SYS_memorystatus_available_memory", 534 },
    { "SYS_MAXSYSCALL", 535 },
    { "SYS_invalid", 63 },
    { NULL, 0 }
};
static const named_argument iokit_registry_entry_attribute_args[] = {
    { "ioservice-requires-approval", 0 },
    { NULL, 0 }
};
static const filter_info_t filter_infos[] = {
    { 0 },
    {
        .name = "path",
        .category = "path",
        .argument_type = SB_VALUE_TYPE_PATTERN_REGEX,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "mount-relative-path",
        .category = "path",
        .argument_type = SB_VALUE_TYPE_PATTERN_REGEX,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "xattr",
        .category = "xattr",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "file-mode",
        .category = "file-mode",
        .argument_type = SB_VALUE_TYPE_BITFIELD,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "ipc-posix-name",
        .category = "posix-ipc",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "global-name",
        .category = "mach",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 1,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "local-name",
        .category = "mach",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 1,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "local",
        .category = "network",
        .argument_type = SB_VALUE_TYPE_REGEX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = local_args,
    },
    {
        .name = "remote",
        .category = "network",
        .argument_type = SB_VALUE_TYPE_REGEX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = remote_args,
    },
    {
        .name = "control-name",
        .category = "network",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "socket-domain",
        .category = "socket",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = socket_domain_args,
    },
    {
        .name = "socket-type",
        .category = "socket",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = socket_type_args,
    },
    {
        .name = "socket-protocol",
        .category = "socket",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "target",
        .category = "target",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = target_args,
    },
    {
        .name = "fsctl-command",
        .category = "fsctl",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = fsctl_command_args,
    },
    {
        .name = "ioctl-command",
        .category = "ioctl",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = ioctl_command_args,
    },
    {
        .name = "iokit-registry-entry-class",
        .category = "iokit-registry-entry-class",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "iokit-property",
        .category = "iokit-property",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "iokit-connection",
        .category = "iokit-connection",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "device-major",
        .category = "device",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "device-minor",
        .category = "device",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "device-conforms-to",
        .category = "device",
        .argument_type = SB_VALUE_TYPE_PATTERN_LITERAL,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "extension",
        .category = "extension",
        .argument_type = SB_VALUE_TYPE_PATTERN_LITERAL,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "extension-class",
        .category = "extension-class",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "appleevent-destination",
        .category = "ae-destination",
        .argument_type = SB_VALUE_TYPE_PATTERN_SUBPATH,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "system-attribute",
        .category = "system",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = system_attribute_args,
    },
    {
        .name = "right-name",
        .category = "auth-right-name",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "preference-domain",
        .category = "preference-domain",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "vnode-type",
        .category = "vnode-type",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = vnode_type_args,
    },
    {
        .name = "%entitlement-load",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_PATTERN_LITERAL,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "%entitlement-boolean",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = 30,
    },
    {
        .name = "%entitlement-string",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = 30,
    },
    {
        .name = "kext-bundle-id",
        .category = "kext-bundle-id",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "info-type",
        .category = "info",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "notification-name",
        .category = "notification",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "notification-payload",
        .category = "notification",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "semaphore-owner",
        .category = "semaphore",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = semaphore_owner_args,
    },
    {
        .name = "sysctl-name",
        .category = "sysctl",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "process-path",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_PATTERN_REGEX,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "rootless-boot-device-filter",
        .category = "nvram",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "rootless-disk-filter",
        .category = "path",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "privilege-id",
        .category = "priv",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = privilege_id_args,
    },
    {
        .name = "process-attribute",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = process_attribute_args,
    },
    {
        .name = "uid",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "nvram-variable",
        .category = "nvram",
        .argument_type = SB_VALUE_TYPE_PATTERN_SUBPATH,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "csr",
        .category = "system",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = csr_args,
    },
    {
        .name = "host-special-port",
        .category = "mach-special-port",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = host_special_port_args,
    },
    {
        .name = "filesystem-name",
        .category = "fs",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "boot-arg",
        .category = "boot-arg",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "xpc-service-name",
        .category = "mach",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 1,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "signing-identifier",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "signal-number",
        .category = "signal",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = signal_number_args,
    },
    {
        .name = "target-signing-identifier",
        .category = "target",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "reboot-flags",
        .category = "reboot-flags",
        .argument_type = SB_VALUE_TYPE_BITFIELD,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "datavault-disk-filter",
        .category = "path",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "extension-path-ancestor",
        .category = "extension",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 120,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "file-attribute",
        .category = "path",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = file_attribute_args,
    },
    {
        .name = "storage-class",
        .category = "path",
        .argument_type = SB_VALUE_TYPE_PATTERN_LITERAL,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "storage-class-extension",
        .category = "extension",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 120,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "iokit-usb-interface-class",
        .category = "iokit-registry-entry-class",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = iokit_usb_interface_class_args,
    },
    {
        .name = "iokit-usb-interface-subclass",
        .category = "iokit-registry-entry-class",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = iokit_usb_interface_subclass_args,
    },
    {
        .name = "ancestor-signing-identifier",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_PATTERN_PREFIX,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "require-ancestor-with-entitlement",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_PATTERN_LITERAL,
        .is_contrary = 0,
        .cost_factor = 60,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "persona-type",
        .category = "process",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 196,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = persona_type_args,
    },
    {
        .name = "syscall-number",
        .category = "syscall",
        .argument_type = SB_VALUE_TYPE_STRING,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = syscall_number_args,
    },
    {
        .name = "syscall-mask",
        .category = "syscall",
        .argument_type = SB_VALUE_TYPE_NETWORK,
        .is_contrary = 0,
        .cost_factor = 136,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = syscall_mask_args,
    },
    {
        .name = "require-target-with-entitlement",
        .category = "target",
        .argument_type = SB_VALUE_TYPE_PATTERN_LITERAL,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
    {
        .name = "iokit-registry-entry-attribute",
        .category = "iokit-registry-entry-class",
        .argument_type = SB_VALUE_TYPE_INTEGER,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
        .named_arguments = iokit_registry_entry_attribute_args,
    },
    {
        .name = "user-intent-extension",
        .category = "extension",
        .argument_type = SB_VALUE_TYPE_BOOL,
        .is_contrary = 0,
        .cost_factor = 0,
        .prerequisite = FILTER_NO_REQUISITE,
    },
};

/**
 * Check whether the specified filter accepts the specified type.
 * @param filter_info Information about the filter at hand
 * @param type The type to check
 * @return True, iff the specified filter accepts the type, false otherwise
 */
static bool catalina_filter_accepts_type(const filter_info_t *const filter,
                                         enum filter_argument_type type) {
  /*
   * Weirdly enough, this function changed in High Sierra, even though all
   * other code referencing these types did _not_ change. In High Sierra,
   * TYPE_STRING means TYPE_INTEGER, apparently...
   */
  switch (filter->argument_type) {
  case SB_VALUE_TYPE_BOOL:
    return type == SB_VALUE_TYPE_BOOL;
  case SB_VALUE_TYPE_BITFIELD:
    return type == SB_VALUE_TYPE_BITFIELD;
  case SB_VALUE_TYPE_INTEGER:
  case SB_VALUE_TYPE_STRING:
    return type == SB_VALUE_TYPE_INTEGER;
  case SB_VALUE_TYPE_PATTERN_LITERAL:
    return type == SB_VALUE_TYPE_STRING;
  case SB_VALUE_TYPE_PATTERN_PREFIX:
  case SB_VALUE_TYPE_PATTERN_SUBPATH:
    return (type == SB_VALUE_TYPE_PATTERN_LITERAL) ||
           (type == SB_VALUE_TYPE_PATTERN_PREFIX) ||
           (type == SB_VALUE_TYPE_PATTERN_SUBPATH) ||
           (type == SB_VALUE_TYPE_REGEX);
  case SB_VALUE_TYPE_PATTERN_REGEX:
    return (type == SB_VALUE_TYPE_PATTERN_LITERAL) ||
           (type == SB_VALUE_TYPE_PATTERN_PREFIX) ||
           (type == SB_VALUE_TYPE_PATTERN_SUBPATH) ||
           (type == SB_VALUE_TYPE_PATTERN_REGEX) ||
           (type == SB_VALUE_TYPE_REGEX);
  case SB_VALUE_TYPE_REGEX:
    // -> this is rather weird, but exactly what Apple's code does.
    return type == SB_VALUE_TYPE_NETWORK;
  default:
    return false;
  }
}

const size_t catalina_filters(const filter_info_t **infos,
                              filter_accept_type_func *acceptor) {
  *infos = filter_infos;
  *acceptor = catalina_filter_accepts_type;

  return sizeof(filter_infos) / sizeof(*filter_infos);
}
