diff options
Diffstat (limited to 'elaborate.h')
-rw-r--r-- | elaborate.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/elaborate.h b/elaborate.h index 9cb5b88e..096d4238 100644 --- a/elaborate.h +++ b/elaborate.h @@ -117,7 +117,10 @@ struct derived_probe: public probe virtual void register_probe (systemtap_session& s) = 0; - virtual void emit_registrations (translator_output* o) = 0; + virtual void emit_registrations_start (translator_output* o, + unsigned index) = 0; + virtual void emit_registrations_end (translator_output* o, + unsigned index) = 0; // (from within module_init): // rc = ..... register_or_whatever (ENTRYFN); @@ -172,8 +175,11 @@ struct derived_probe_group virtual size_t size () = 0; virtual void emit_probes (translator_output* op, unparser* up) = 0; + + virtual void emit_module_init (translator_output* o) = 0; }; + // ------------------------------------------------------------------------ struct derived_probe_builder @@ -276,6 +282,9 @@ public: derived_probe* operator[] (size_t n) { return (probes[n]); } void emit_probes (translator_output* op, unparser* up); + void emit_module_init (translator_output* o); + void emit_module_init_call (translator_output* o); + void emit_module_exit (translator_output* o); }; |