int init_statemachine_base_kcs(struct katcp_dispatch *d) { int rtn; /*register basic types*/ rtn = register_name_type_katcp(d, KATCP_TYPE_INTEGER, KATCP_DEP_BASE, &print_integer_type_kcs, &destroy_integer_type_kcs, NULL, &compare_integer_type_kcs, &parse_integer_type_kcs, &getkey_integer_type_kcs); #if 0 rtn += register_name_type_katcp(d, KATCP_TYPE_FLOAT, NULL, NULL, NULL, NULL, NULL); rtn += register_name_type_katcp(d, KATCP_TYPE_DOUBLE, NULL, NULL, NULL, NULL, NULL); rtn += register_name_type_katcp(d, KATCP_TYPE_CHAR, NULL, NULL, NULL, NULL, NULL); #endif rtn += store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_STACK_PUSH, &pushstack_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_SPAWN, &spawn_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, KATCP_TYPE_EDGE, KATCP_DEP_BASE, KATCP_EDGE_SLEEP, &msleep_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, KATCP_TYPE_EDGE, KATCP_DEP_BASE, KATCP_EDGE_PEEK_STACK_TYPE, &peek_stack_type_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_PRINT_STACK, &print_stack_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, KATCP_TYPE_EDGE, KATCP_DEP_BASE, KATCP_EDGE_IS_STACK_EMPTY, &is_stack_empty_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_GET_DBASE_VALUES, &get_values_setup_dbase_katcp, NULL, NULL, NULL, NULL, NULL, NULL); #if 0 rtn += store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_STORE, &store_setup_statemachine_kcs, NULL, NULL, NULL, NULL, NULL, NULL); #endif return rtn; }
int main(int argc, char *argv[]) { struct katcp_dispatch *d; int rtn; d = startup_katcp(); if (d == NULL){ fprintf(stderr, "unable to create dispatch\n"); return 1; } rtn = 0; rtn += register_name_type_katcp(d, "test", NULL, NULL, NULL, NULL, NULL); rtn += register_name_type_katcp(d, "test", NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, "names", "john", NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, "string", "test1", NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, "string", "test2", NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, "names", "adam", NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, "names", "perry", NULL, NULL, NULL, NULL, NULL, NULL); rtn += store_data_type_katcp(d, "string", "thisisalongstring", NULL, NULL, NULL, NULL, NULL, NULL); fprintf(stderr, "katcp_type: cumulative rtn in main: %d\n", rtn); fprintf(stderr,"\n"); print_types_katcp(d); fprintf(stderr,"\n"); destroy_type_list_katcp(d); shutdown_katcp(d); return 0; }
int init_mod(struct katcp_dispatch *d) { int rtn; if (check_code_version_katcp(d) != 0){ #ifdef DEBUG fprintf(stderr, "mod: ERROR was build against an incompatible katcp lib\n"); #endif log_message_katcp(d, KATCP_LEVEL_ERROR, NULL, "cannot load module katcp version mismatch"); return -1; } rtn = store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_CONF_PARSE, &config_parser_setup_mod, NULL, NULL, NULL, NULL, NULL, NULL); #if 0 rtn = register_name_type_katcp(d, KATCP_TYPE_CONFIG_SETTING, KATCP_DEP_BASE, &print_config_setting_type_mod, &destroy_config_setting_type_mod, NULL, NULL, &parse_config_setting_type_mod, &getkey_config_setting_type_mod); #endif rtn += store_data_type_katcp(d, KATCP_TYPE_OPERATION, KATCP_DEP_BASE, KATCP_OPERATION_PARSE_CSV, &parse_csv_setup_mod, NULL, NULL, NULL, NULL, NULL, NULL); #if 0 rtn += store_data_type_katcp(d, KATCP_TYPE_EDGE, KATCP_DEP_BASE, KATCP_EDGE_CONF_SEARCH, &config_search_setup_mod, NULL, NULL, NULL, NULL, NULL, NULL); #endif log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "successfully loaded mod_config_parser"); #if 0 log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "added type:"); log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "%s", KATCP_TYPE_CONFIG_SETTING); #endif log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "added operations:"); log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "%s", KATCP_OPERATION_CONF_PARSE); log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "%s", KATCP_OPERATION_PARSE_CSV); #if 0 log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "added edges:"); log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "%s", KATCP_EDGE_CONF_SEARCH); #endif //log_message_katcp(d, KATCP_LEVEL_INFO, NULL, "to see the full operation list: ?sm oplist"); return rtn; }