1*6ae8fce3SJorge Ramirez-Ortiz /* 2*6ae8fce3SJorge Ramirez-Ortiz * Copyright (c) 2026, Qualcomm Technologies, Inc. and/or its subsidiaries. 3*6ae8fce3SJorge Ramirez-Ortiz * 4*6ae8fce3SJorge Ramirez-Ortiz * SPDX-License-Identifier: BSD-3-Clause 5*6ae8fce3SJorge Ramirez-Ortiz */ 6*6ae8fce3SJorge Ramirez-Ortiz 7*6ae8fce3SJorge Ramirez-Ortiz #ifndef ACCESSCONTROL_H 8*6ae8fce3SJorge Ramirez-Ortiz #define ACCESSCONTROL_H 9*6ae8fce3SJorge Ramirez-Ortiz 10*6ae8fce3SJorge Ramirez-Ortiz #include <stdint.h> 11*6ae8fce3SJorge Ramirez-Ortiz 12*6ae8fce3SJorge Ramirez-Ortiz typedef struct qti_accesscontrol_mem { 13*6ae8fce3SJorge Ramirez-Ortiz uint64_t mem_addr; 14*6ae8fce3SJorge Ramirez-Ortiz uint64_t mem_size; 15*6ae8fce3SJorge Ramirez-Ortiz } qti_accesscontrol_mem_t; 16*6ae8fce3SJorge Ramirez-Ortiz 17*6ae8fce3SJorge Ramirez-Ortiz typedef struct qti_accesscontrol_perm { 18*6ae8fce3SJorge Ramirez-Ortiz uint32_t dst_vm; 19*6ae8fce3SJorge Ramirez-Ortiz uint32_t dst_vm_perm; 20*6ae8fce3SJorge Ramirez-Ortiz uint64_t ctx; 21*6ae8fce3SJorge Ramirez-Ortiz uint32_t ctx_size; 22*6ae8fce3SJorge Ramirez-Ortiz } qti_accesscontrol_perm_t; 23*6ae8fce3SJorge Ramirez-Ortiz 24*6ae8fce3SJorge Ramirez-Ortiz uint64_t qti_accesscontrol_mem_assign(const qti_accesscontrol_mem_t *mem_info, 25*6ae8fce3SJorge Ramirez-Ortiz uint32_t mem_len, 26*6ae8fce3SJorge Ramirez-Ortiz const uint32_t *src, uint32_t src_len, 27*6ae8fce3SJorge Ramirez-Ortiz const qti_accesscontrol_perm_t *dst, 28*6ae8fce3SJorge Ramirez-Ortiz uint32_t dst_len); 29*6ae8fce3SJorge Ramirez-Ortiz void qti_accesscontrol_init(void); 30*6ae8fce3SJorge Ramirez-Ortiz 31*6ae8fce3SJorge Ramirez-Ortiz #endif /* ACCESSCONTROL_H */ 32