Introduce emission site for syscall event rule
[lttng-tools.git] / include / lttng / event-rule / syscall.h
index c581b809cf18a5a67993c11043e748525424aa1a..28766ecba3662f6472d837dfbff3352e4f4c168e 100644 (file)
 extern "C" {
 #endif
 
+enum lttng_event_rule_syscall_emission_site_type {
+       LTTNG_EVENT_RULE_SYSCALL_EMISSION_SITE_ENTRY_EXIT = 0,
+       LTTNG_EVENT_RULE_SYSCALL_EMISSION_SITE_ENTRY = 1,
+       LTTNG_EVENT_RULE_SYSCALL_EMISSION_SITE_EXIT = 2,
+       LTTNG_EVENT_RULE_SYSCALL_EMISSION_SITE_UNKNOWN = -1,
+};
+
 /*
  * Create a newly allocated syscall event rule.
  *
  * The default pattern is '*'.
+ * The default emission site type is LTTNG_EVENT_RULE_SYSCALL_EMISSION_SITE_ENTRY_EXIT.
  *
  * Returns a new event rule on success, NULL on failure. This event rule must be
  * destroyed using lttng_event_rule_destroy().
  */
-extern struct lttng_event_rule *lttng_event_rule_syscall_create(void);
+extern struct lttng_event_rule *lttng_event_rule_syscall_create(enum
+               lttng_event_rule_syscall_emission_site_type emission_site_type);
 
 /*
  * Set the pattern of a syscall event rule.
@@ -78,6 +87,15 @@ extern enum lttng_event_rule_status lttng_event_rule_syscall_set_filter(
 extern enum lttng_event_rule_status lttng_event_rule_syscall_get_filter(
                const struct lttng_event_rule *rule, const char **expression);
 
+/*
+ * Get the emission site type of a syscall event rule.
+ *
+ * Returns a enum lttng_event_rule_syscall_emission_site_type.
+ */
+extern enum lttng_event_rule_syscall_emission_site_type
+lttng_event_rule_syscall_get_emission_site_type(
+               const struct lttng_event_rule *rule);
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.024276 seconds and 4 git commands to generate.