/* Bind a Network IO descriptor to a specific port */ int dev_c7200_pa_mc8te1_unset_nio(vm_instance_t *vm,struct cisco_card *card, u_int port_id) { struct pa_mc_data *d = card->drv_info; if (!d || (port_id > 0)) return(-1); if (d->nio) { ptask_remove(d->tx_tid); netio_rxl_remove(d->nio); d->nio = NULL; } return(0); }
/* Shutdown a NS16552 device */ void dev_ns16552_shutdown(vm_instance_t *vm,struct ns16552_data *d) { if (d != NULL) { d->channel[0].vtty->read_notifier = NULL; d->channel[1].vtty->read_notifier = NULL; /* Remove the periodic task */ ptask_remove(d->tid); /* Remove the device */ dev_remove(vm,&d->dev); /* Free the structure itself */ free(d); } }