void coolapi_close_all(void) { if(dmx_opened) { int32_t result; int32_t i, j; for(i = 0; i < MAX_COOL_DMX; i++) { for(j = 0; j < MAX_FILTER; j++) { if(cdemuxes[i][j].fd > 0) { coolapi_remove_filter(cdemuxes[i][j].fd, cdemuxes[i][j].filter_num); coolapi_close_device(cdemuxes[i][j].fd); } } } for(i = 0; i < MAX_COOL_DMX; i++) { result = cnxt_dmx_close(dmx_device[i]); coolapi_check_error("cnxt_dmx_close", result); dmx_device[i] = NULL; } } cool_kal_opened = 0; cnxt_kal_terminate(); cnxt_drv_term(); }
int32_t Cool_Close (void) { call(cnxt_smc_close (specdev()->handle)); NULLFREE(cur_client()->reader->spec_dev); call(cnxt_kal_terminate()); //should call this only once in a thread cnxt_drv_term(); return OK; }
static void coolapi_stop_api(void) { cnxt_kal_terminate(); cnxt_drv_term(); }