int switch_release(struct fins_module *module) { PRINT_DEBUG("Entered: module=%p", module); struct switch_data *md = (struct switch_data *) module->data; //TODO free all module related mem if (md->link_list != NULL) { list_free(md->link_list, free); } free(md); module_destroy_structs(module); free(module); return 1; }
int rtm_release(struct fins_module *module) { PRINT_DEBUG("Entered: module=%p", module); struct rtm_data *md = (struct rtm_data *) module->data; list_free(md->console_list, console_free); list_free(md->cmd_list, free); if (md->link_list != NULL) { list_free(md->link_list, free); } free(md); module_destroy_structs(module); free(module); return 1; }
int ipv4_release(struct fins_module *module) { PRINT_IMPORTANT("Entered: module=%p", module); struct ipv4_data *md = (struct ipv4_data *) module->data; //TODO free all module related mem list_free(md->addr_list, free); list_free(md->route_list, free); if (md->link_list != NULL) { list_free(md->link_list, free); } free(md); module_destroy_structs(module); free(module); return 1; }
int udp_release(struct fins_module *module) { PRINT_DEBUG("Entered: module=%p", module); struct udp_data *md = (struct udp_data *) module->data; //free all module related mem PRINT_IMPORTANT("sent_packet_list->len=%u", md->sent_packet_list->len); list_free(md->sent_packet_list, udp_sent_free); //free common module data if (md->link_list != NULL) { list_free(md->link_list, free); } free(md); module_destroy_structs(module); free(module); return 1; }