spc 50 src/libsir/include/sir/plugins.h sirpluginid _sir_plugin_cache_add(sir_plugincache* spc, sir_plugin* plugin); spc 51 src/libsir/include/sir/plugins.h sir_plugin* _sir_plugin_cache_find_id(const sir_plugincache* spc, sirpluginid id); spc 52 src/libsir/include/sir/plugins.h sir_plugin* _sir_plugin_cache_find(const sir_plugincache* spc, const void* match, sir_plugin_pred pred); spc 53 src/libsir/include/sir/plugins.h bool _sir_plugin_cache_rem(sir_plugincache* spc, sirpluginid id); spc 54 src/libsir/include/sir/plugins.h bool _sir_plugin_cache_destroy(sir_plugincache* spc); spc 55 src/libsir/include/sir/plugins.h bool _sir_plugin_cache_dispatch(const sir_plugincache* spc, sir_level level, sirbuf* buf, spc 225 src/libsir/src/sirinternal.c _SIR_LOCK_SECTION(sir_plugincache, spc, SIRMI_PLUGINCACHE, false); spc 226 src/libsir/src/sirinternal.c bool destroypc = _sir_plugin_cache_destroy(spc); spc 761 src/libsir/src/sirinternal.c _SIR_LOCK_SECTION(const sir_plugincache, spc, SIRMI_PLUGINCACHE, false); spc 764 src/libsir/src/sirinternal.c _sir_eqland(retval, _sir_plugin_cache_dispatch(spc, level, buf, &pdispatched, &pwanted)); spc 292 src/libsir/src/sirplugins.c _SIR_LOCK_SECTION(sir_plugincache, spc, SIRMI_PLUGINCACHE, 0U); spc 293 src/libsir/src/sirplugins.c retval = _sir_plugin_cache_add(spc, plugin); spc 311 src/libsir/src/sirplugins.c _SIR_LOCK_SECTION(sir_plugincache, spc, SIRMI_PLUGINCACHE, false); spc 312 src/libsir/src/sirplugins.c bool retval = _sir_plugin_cache_rem(spc, id); spc 346 src/libsir/src/sirplugins.c sirpluginid _sir_plugin_cache_add(sir_plugincache* spc, sir_plugin* plugin) { spc 348 src/libsir/src/sirplugins.c if (!_sir_validptr(spc) || !_sir_validptr(plugin)) spc 351 src/libsir/src/sirplugins.c if (spc->count >= SIR_MAXPLUGINS) { spc 356 src/libsir/src/sirplugins.c const sir_plugin* existing = _sir_plugin_cache_find_id(spc, plugin->id); spc 365 src/libsir/src/sirplugins.c plugin->path, plugin->id, spc->count + 1); spc 366 src/libsir/src/sirplugins.c spc->plugins[spc->count++] = plugin; spc 369 src/libsir/src/sirplugins.c SIR_UNUSED(spc); spc 375 src/libsir/src/sirplugins.c sir_plugin* _sir_plugin_cache_find_id(const sir_plugincache* spc, sirpluginid id) { spc 377 src/libsir/src/sirplugins.c return _sir_plugin_cache_find(spc, &id, &_sir_plugin_cache_pred_id); spc 379 src/libsir/src/sirplugins.c SIR_UNUSED(spc); spc 385 src/libsir/src/sirplugins.c sir_plugin* _sir_plugin_cache_find(const sir_plugincache* spc, const void* match, spc 388 src/libsir/src/sirplugins.c if (!_sir_validptr(spc) || !_sir_validptr(match) || !_sir_validfnptr(pred)) spc 391 src/libsir/src/sirplugins.c for (size_t n = 0; n < spc->count; n++) { spc 392 src/libsir/src/sirplugins.c if (pred(match, spc->plugins[n])) spc 393 src/libsir/src/sirplugins.c return spc->plugins[n]; spc 398 src/libsir/src/sirplugins.c SIR_UNUSED(spc); spc 405 src/libsir/src/sirplugins.c bool _sir_plugin_cache_rem(sir_plugincache* spc, sirpluginid id) { spc 407 src/libsir/src/sirplugins.c if (!_sir_validptr(spc)) spc 410 src/libsir/src/sirplugins.c for (size_t n = 0; n < spc->count; n++) { spc 411 src/libsir/src/sirplugins.c if (spc->plugins[n]->id == id) { spc 413 src/libsir/src/sirplugins.c spc->plugins[n]->path, spc->plugins[n]->id, spc->count - 1); spc 415 src/libsir/src/sirplugins.c _sir_plugin_destroy(&spc->plugins[n]); spc 417 src/libsir/src/sirplugins.c for (size_t i = n; i < spc->count - 1; i++) { spc 418 src/libsir/src/sirplugins.c spc->plugins[i] = spc->plugins[i + 1]; spc 419 src/libsir/src/sirplugins.c spc->plugins[i + 1] = NULL; spc 422 src/libsir/src/sirplugins.c spc->count--; spc 429 src/libsir/src/sirplugins.c SIR_UNUSED(spc); spc 435 src/libsir/src/sirplugins.c bool _sir_plugin_cache_destroy(sir_plugincache* spc) { spc 437 src/libsir/src/sirplugins.c if (!_sir_validptr(spc)) spc 440 src/libsir/src/sirplugins.c while (spc->count > 0) { spc 441 src/libsir/src/sirplugins.c size_t idx = spc->count - 1; spc 442 src/libsir/src/sirplugins.c _sir_plugin_destroy(&spc->plugins[idx]); spc 443 src/libsir/src/sirplugins.c spc->plugins[idx] = NULL; spc 444 src/libsir/src/sirplugins.c spc->count--; spc 447 src/libsir/src/sirplugins.c (void)memset(spc, 0, sizeof(sir_plugincache)); spc 450 src/libsir/src/sirplugins.c SIR_UNUSED(spc); spc 455 src/libsir/src/sirplugins.c bool _sir_plugin_cache_dispatch(const sir_plugincache* spc, sir_level level, sirbuf* buf, spc 458 src/libsir/src/sirplugins.c if (!_sir_validptr(spc) || !_sir_validlevel(level) || !_sir_validptr(buf) || spc 468 src/libsir/src/sirplugins.c for (size_t n = 0; n < spc->count; n++) { spc 469 src/libsir/src/sirplugins.c if (!_sir_bittest(spc->plugins[n]->info.levels, level)) { spc 472 src/libsir/src/sirplugins.c level, spc->plugins[n]->info.levels, spc->plugins[n]->path, spc 473 src/libsir/src/sirplugins.c spc->plugins[n]->id); spc 479 src/libsir/src/sirplugins.c if (!wrote || spc->plugins[n]->info.opts != lastopts) { spc 480 src/libsir/src/sirplugins.c wrote = _sir_format(false, spc->plugins[n]->info.opts, buf); spc 482 src/libsir/src/sirplugins.c lastopts = spc->plugins[n]->info.opts; spc 485 src/libsir/src/sirplugins.c if (wrote && spc->plugins[n]->iface.write(level, wrote)) { spc 489 src/libsir/src/sirplugins.c " failed!", spc->plugins[n]->path, spc->plugins[n]->id); spc 495 src/libsir/src/sirplugins.c SIR_UNUSED(spc); spc 9114 src/simh/scp.c BRKTAB *sim_brk_fnd_ex (t_addr loc, uint32 btyp, t_bool any_typ, uint32 spc) spc 9119 src/simh/scp.c if (any_typ ? ((bp->typ & btyp) && (bp->time_fired[spc] != sim_gtime())) : spc 9420 src/simh/scp.c uint32 spc = (btyp >> SIM_BKPT_V_SPC) & (SIM_BKPT_N_SPC - 1); spc 9425 src/simh/scp.c if ((bp = sim_brk_fnd_ex (loc, btyp, TRUE, spc))) { /* in table, and type match? */ spc 9428 src/simh/scp.c if (bp->time_fired[spc] == s_gtime) /* already taken? */ spc 9430 src/simh/scp.c bp->time_fired[spc] = s_gtime; /* remember match time */ spc 9508 src/simh/scp.c uint32 spc; spc 9515 src/simh/scp.c for (spc = 0; spc < cnt; spc++) spc 9516 src/simh/scp.c bp->time_fired[spc] = -1.0; spc 9523 src/simh/scp.c void sim_brk_clrspc (uint32 spc, uint32 btyp) spc 9527 src/simh/scp.c if (spc < SIM_BKPT_N_SPC) { spc 9531 src/simh/scp.c bp->time_fired[spc] = -1.0; spc 177 src/simh/scp.h void sim_brk_clrspc (uint32 spc, uint32 btyp);