Pointers to callback functions (details see [19.3.3](#subsec_Callback_functions)):

  • SendChar*
    callback function for reading printf, fprintf, fputs (NULL allowed)
  • SendStat*
    callback function for reading status string and percent value (NULL allowed)
  • ControlledExit*
    callback function for transferring a flag to caller, generated by ngspice upon a call to function controlled_exit. May be used by caller to detach ngspice.dll, if dynamically loaded or to try any other recovery method, or to exit. (required)
  • SendData*
    callback function for sending an array of structs containing data values of all vectors in the current plot (simulation output) (NULL allowed)
  • SendInitData*
    callback function for sending an array of structs containing info on all vectors in the current plot (immediately before simulation starts) (NULL allowed)
  • BGThreadRunning*
    callback function for sending a boolean signal (true if thread is running) (NULL allowed)
  • void*
    Using the void pointer, you may send the object address of the calling function ('self' or 'this' pointer) to ngspice.dll. This pointer will be returned unmodified by any callback function (see the *void pointers in Chapt. 19.3.3). Callback functions are to be defined in the global section of the caller. Because they now have got the object address of the calling function, they may direct their actions to the calling object.

Pointers to callback functions (details see [19.3.3](#subsec_Callback_functions)):

  • SendEvtData*
    data for a specific event node at time 'step'
  • SendInitEvtData*
    single line entry of event node dictionary (list)
  • void*
    pointer to user-defined data, will not be modified, but handed over back to caller during Callback, e.g. address of calling object