/*----------------------------------------------------------------------------*\ \*----------------------------------------------------------------------------*/ static pwr_tStatus IoCardClose ( io_tCtx ctx, io_sAgent *ap, io_sRack *rp, io_sCard *cp ) { io_sLocal *local; int i; pwr_sClass_Do_HVDO32 *op = (pwr_sClass_Do_HVDO32 *) cp->op; int words = op->MaxNoOfChannels <= 16 ? 1 : 2; local = (io_sLocal *) cp->Local; errh_Info( "IO closing do card '%s'", cp->Name); /* Free filter data */ for ( i = 0; i < words; i++) { if ( local->Filter[i].Found) io_ClosePoFilter( local->Filter[i].Data); } free( (char *) local); return 1; }
/*----------------------------------------------------------------------------*\ \*----------------------------------------------------------------------------*/ static pwr_tStatus IoCardClose( io_tCtx ctx, io_sAgent* ap, io_sRack* rp, io_sCard* cp) { io_sLocal* local; int i; local = (io_sLocal*)cp->Local; errh_Info("IO closing do card '%s'", cp->Name); /* Free filter data */ for (i = 0; i < 2; i++) { if (local->Filter[i].Found) io_ClosePoFilter(local->Filter[i].Data); } free((char*)local); return 1; }