toaruos/modules/test.c
2014-04-05 16:36:17 -07:00

54 lines
1.1 KiB
C

#include <system.h>
#include <hashmap.h>
#include <module.h>
#include <logging.h>
#include <printf.h>
#include <mod/shell.h>
extern char * special_thing;
char test_module_string[] = "I am a char[] in the module.";
char * test_module_string_ptr = "I am a char * in the module.";
int a_function(void) {
debug_print(WARNING, ("I am an exported function in the module."));
return 42;
}
DEFINE_SHELL_FUNCTION(test_mod, "A function installed by a module!") {
fprintf(tty, "Hello world!\n");
return 0;
}
static int hello(void) {
debug_print(NOTICE, special_thing);
a_function();
debug_print(NOTICE, test_module_string);
debug_print(NOTICE, test_module_string_ptr);
hashmap_t * map = hashmap_create(10);
debug_print(NOTICE, "Inserting into hashmap...");
hashmap_set(map, "hello", (void *)"cake");
debug_print(NOTICE, "getting value: %s", hashmap_get(map, "hello"));
hashmap_free(map);
free(map);
debug_shell_install(&shell_test_mod_desc);
BIND_SHELL_FUNCTION(test_mod);
return 25;
}
static int goodbye(void) {
debug_print(NOTICE, "Goodbye!");
return 0;
}
MODULE_DEF(test, hello, goodbye);
MODULE_DEPENDS(debugshell);