From f85e54f7982d5fefecddccbb11f5aabd478b91d6 Mon Sep 17 00:00:00 2001 From: "leleraffa97@hotmail.it" Date: Mon, 19 Jun 2017 13:46:16 +0200 Subject: Authentication section Programs management --- sw/z80/kernel/include/progman.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'sw/z80/kernel/include/progman.h') diff --git a/sw/z80/kernel/include/progman.h b/sw/z80/kernel/include/progman.h index b37e9e9..0f56bb3 100644 --- a/sw/z80/kernel/include/progman.h +++ b/sw/z80/kernel/include/progman.h @@ -39,6 +39,29 @@ void progman_init(); int8_t prog_req(struct program_info *info); +/* +* It allocates a program in the RAM +* To obtain the right id call prog_req() first +* Basic informations must be allocated and referenced by a program_base struct +*/ + +struct program_base { + + void * inst_set; // pointer to the instructions set + size_t inst_size; // size of the instructions set + void * bss_data; // pointer to the bss/data space + size_t data_size; // size of the bss/data space + size_t stack_size; // size of the stack to determine the stack limit +}; + +void prog_alloc(int8_t id, struct program_info *info, const struct program_base *base); + +/* +* It jumps the program counter to the given one +*/ + +void prog_exec(int8_t id, struct program_info *info); + /* * It sets a quit callback */ -- cgit v1.2.1