/*1* Common Module Header2* Copyright (c) 2018 M4xw3*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 _MODULE_H_18#define _MODULE_H_1920#include <stddef.h>21#include <mem/heap.h>2223#define IANOS_EXT0 0x304E41492425// Module Callback26typedef void (*cbMainModule_t)(const char *s);27typedef void (*memcpy_t)(void *, void *, size_t);28typedef void (*memset_t)(void *, int, size_t);29typedef int (*reg_voltage_set_t)(u32, u32);3031typedef struct _bdkParams_t32{33void *gfxCon;34void *gfxCtx;35heap_t *sharedHeap;36memcpy_t memcpy;37memset_t memset;38u32 extension_magic;39reg_voltage_set_t reg_voltage_set;40} *bdkParams_t;4142// Module Entrypoint43typedef void (*moduleEntrypoint_t)(void *, bdkParams_t);4445#endif464748