# Copyright 2022 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

# See: https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/vdso/bti.fidl

include <zircon/syscalls.h>

resource zx_bti[zx_handle]

zx_bti_create(iommu zx_iommu, options flags[bti_create_options], bti_id int64, bti ptr[out, zx_bti])

zx_bti_pin(handle zx_bti, options flags[bti_pin_options], vmo zx_vmo, offset int64, size int64, addrs ptr[out, array[intptr]], num_addrs len[addrs], pmt ptr[out, zx_pmt])

zx_bti_release_quarantine(bti zx_bti)

bti_create_options = 0
bti_pin_options = ZX_BTI_PERM_READ, ZX_BTI_PERM_WRITE, ZX_BTI_PERM_EXECUTE, ZX_BTI_COMPRESS, ZX_BTI_CONTIGUOUS
