52 lines
2.0 KiB
C
52 lines
2.0 KiB
C
#include <stdio.h>
|
|
#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);
|
|
}
|