/*1* Copyright (c) 2018 M4xw2* Copyright (c) 2018-2026 CTCaer3*4* This program is free software; you can redistribute it and/or modify it5* under the terms and conditions of the GNU General Public License,6* version 2, as published by the Free Software Foundation.7*8* This program is distributed in the hope it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for11* more details.12*13* You should have received a copy of the GNU General Public License14* along with this program. If not, see <http://www.gnu.org/licenses/>.15*/1617#ifndef IANOS_H18#define IANOS_H1920#include <utils/types.h>21#include <module.h>2223typedef enum24{25IA_DRAM_LIB = 0, // DRAM library.26IA_IRAM_LIB = 1, // IRAM library. No support for now.27IA_AUTO_LIB = 2, // AUTO library. Defaults to DRAM for now.28IA_SHARED_LIB = BIT(7) // Shared library mask. No support for now.29} ianos_type_t;3031typedef struct _ianos_lib_t32{33uintptr_t epaddr;34void *buf;35void *private;36ianos_type_t type;37bdk_params_t *bdk;38} ianos_lib_t;3940int ianos_loader(ianos_lib_t *lib, char *path);41uintptr_t ianos_static_module(char *path, void *private); // Session-lived DRAM lib.4243#endif444546