Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
CTCaer
GitHub Repository: CTCaer/hekate
Path: blob/master/bdk/ianos/ianos.h
3694 views
1
/*
2
* Copyright (c) 2018 M4xw
3
* Copyright (c) 2018-2026 CTCaer
4
*
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms and conditions of the GNU General Public License,
7
* version 2, as published by the Free Software Foundation.
8
*
9
* This program is distributed in the hope it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef IANOS_H
19
#define IANOS_H
20
21
#include <utils/types.h>
22
#include <module.h>
23
24
typedef enum
25
{
26
IA_DRAM_LIB = 0, // DRAM library.
27
IA_IRAM_LIB = 1, // IRAM library. No support for now.
28
IA_AUTO_LIB = 2, // AUTO library. Defaults to DRAM for now.
29
IA_SHARED_LIB = BIT(7) // Shared library mask. No support for now.
30
} ianos_type_t;
31
32
typedef struct _ianos_lib_t
33
{
34
uintptr_t epaddr;
35
void *buf;
36
void *private;
37
ianos_type_t type;
38
bdk_params_t *bdk;
39
} ianos_lib_t;
40
41
int ianos_loader(ianos_lib_t *lib, char *path);
42
uintptr_t ianos_static_module(char *path, void *private); // Session-lived DRAM lib.
43
44
#endif
45
46