X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fevent-rule%2Fsyscall.h;h=bb114778cc3bd9e11de050ea87fd1cdf399855be;hb=b2eeb0d5db1245d03f5bfc300a42ee3e9615237f;hp=baf8432c142597295ee05936edb2f97ffd9837c1;hpb=e6a39346997db7e1d40026b2cc10be5893723eb3;p=lttng-tools.git diff --git a/include/lttng/event-rule/syscall.h b/include/lttng/event-rule/syscall.h index baf8432c1..bb114778c 100644 --- a/include/lttng/event-rule/syscall.h +++ b/include/lttng/event-rule/syscall.h @@ -14,16 +14,27 @@ 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. + * Set the name pattern of a syscall event rule. * * Pattern can contain wildcard '*'. See man lttng-enable-event. * @@ -32,11 +43,11 @@ extern struct lttng_event_rule *lttng_event_rule_syscall_create(void); * Returns LTTNG_EVENT_RULE_STATUS_OK on success, LTTNG_EVENT_RULE_STATUS_INVALID * if invalid parameters are passed. */ -extern enum lttng_event_rule_status lttng_event_rule_syscall_set_pattern( +extern enum lttng_event_rule_status lttng_event_rule_syscall_set_name_pattern( struct lttng_event_rule *rule, const char *pattern); /* - * Get the pattern of a syscall event rule. + * Get the name pattern of a syscall event rule. * * The caller does not assume the ownership of the returned pattern. The * pattern shall only only be used for the duration of the event rule's @@ -47,7 +58,7 @@ extern enum lttng_event_rule_status lttng_event_rule_syscall_set_pattern( * parameter is passed, or LTTNG_EVENT_RULE_STATUS_UNSET if a pattern * was not set prior to this call. */ -extern enum lttng_event_rule_status lttng_event_rule_syscall_get_pattern( +extern enum lttng_event_rule_status lttng_event_rule_syscall_get_name_pattern( const struct lttng_event_rule *rule, const char **pattern); /* @@ -76,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