I am using "CCSinvokeCdfCallbacks.il" and "CCSCdfCallbackEntireLib.il" skill procedures to trigger callbacks on a entire library, running with the following options,
-->CCSinvokeCdfCallbacks(cv ?callInitProc t ?useInstCDF t ?order list("l" "w"))
With this, the callback functions are applied to all the devices (mos, res, dio etc.,) in all the cells in the library. Is there a way to apply to callback just for MOS specific devices only and not for RES or DIO devices?
I don't know the SKILL function but assume you have the source. Check the documentation or the source to see if it works on all the instances or a selected set of instances. It may work on all the instances unless you have a selected set. Since you have the source, you could modify it to find and work on only a subset of the instances.
The code is essentially the same as my "abInvokeCdfCallbacks" but changed to have the CCS (Cadence Customer Support) prefix. Within the code you should also find CCSinvokeInstCdfCallbacks() which can be called with an instance ID - so you can look in the cellView for the specific types of instance you want and then call this function on the components you want.
CCSinvokeCdfCallbacks() does not provide a means of calling it on all instances of a specific type in the cellView, but that would be trivial to add. The code is fairly well commented, so you should be able to see what it's doing (even if the LISP style scares you ;-> )