#include #include "../method_dispatcher.h" char m1(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_reg, uint16_t * reg[10], bci_stack_t * stack); char m2(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_reg, uint16_t * reg[10], bci_stack_t * stack); char m3(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_reg, uint16_t * reg[10], bci_stack_t * stack); char m4(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_reg, uint16_t * reg[10], bci_stack_t * stack); char m5(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_reg, uint16_t * reg[10], bci_stack_t * stack); int main(void) { printf("sizeof struct dispatch_tree_node_s: %zd\n", sizeof(struct dispatch_tree_node_s)); dispatch_tree_t tree = dispatch_tree_t_new(); dispatch_tree_t_insert(tree, 3 << 6, m3); dispatch_tree_t_insert(tree, 2 << 6, m2); dispatch_tree_t_insert(tree, 1 << 6, m1); dispatch_tree_t_insert(tree, 4 << 6, m4); dispatch_tree_t_insert(tree, 5 << 6, m5); int i; for(i = 1; i < 6; i++) { dispatch_tree_t_dispatch(tree, i << 6)(i, i << 6, NULL, NULL, NULL, NULL); } dispatch_tree_t_del(tree); return 0; } char m1(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_register, uint16_t * reg[10], bci_stack_t * stack) { printf("m1: %d, %d\n", small_arg, arg); } char m2(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_register, uint16_t * reg[10], bci_stack_t * stack) { printf("m2: %d, %d\n", small_arg, arg); } char m3(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_register, uint16_t * reg[10], bci_stack_t * stack) { printf("m3: %d, %d\n", small_arg, arg); } char m4(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_register, uint16_t * reg[10], bci_stack_t * stack) { printf("m4: %d, %d\n", small_arg, arg); } char m5(uint8_t small_arg, uint16_t arg, uint16_t * s_reg, uint16_t * shutdown_register, uint16_t * reg[10], bci_stack_t * stack) { printf("m5: %d, %d\n", small_arg, arg); }