/usr/include/lttng/trigger/trigger.h is in liblttng-ctl-dev 2.10.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | /*
* Copyright (C) 2017 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License, version 2.1 only,
* as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef LTTNG_TRIGGER_H
#define LTTNG_TRIGGER_H
struct lttng_action;
struct lttng_condition;
struct lttng_trigger;
#ifdef __cplusplus
extern "C" {
#endif
enum lttng_register_trigger_status {
LTTNG_REGISTER_TRIGGER_STATUS_OK = 0,
LTTNG_REGISTER_TRIGGER_STATUS_INVALID = -1,
};
/*
* Create a trigger object associating a condition and an action.
*
* A trigger associates a condition and an action to take whenever the
* condition evaluates to true. Such actions can, for example, consist
* in the emission of a notification to clients listening through
* notification channels.
*
* The caller retains the ownership of both the condition and action
* and both must be kept alive for the lifetime of the trigger object.
*
* A trigger must be registered in order to become activate and can
* be destroyed after its registration.
*
* Returns a trigger object on success, NULL on error.
* Trigger objects must be destroyed using the lttng_trigger_destroy()
* function.
*/
extern struct lttng_trigger *lttng_trigger_create(
struct lttng_condition *condition, struct lttng_action *action);
/*
* Get the condition of a trigger.
*
* The caller acquires no ownership of the returned condition.
*
* Returns a condition on success, NULL on error.
*/
extern struct lttng_condition *lttng_trigger_get_condition(
struct lttng_trigger *trigger);
/*
* Get the action of a trigger.
*
* The caller acquires no ownership of the returned action.
*
* Returns an action on success, NULL on error.
*/
extern struct lttng_action *lttng_trigger_get_action(
struct lttng_trigger *trigger);
/*
* Destroy (frees) a trigger object.
*/
extern void lttng_trigger_destroy(struct lttng_trigger *trigger);
/*
* Register a trigger to the session daemon.
*
* The trigger can be destroyed after this call.
*
* Return 0 on success, a negative LTTng error code on error.
*/
extern int lttng_register_trigger(struct lttng_trigger *trigger);
/*
* Unregister a trigger from the session daemon.
*
* The trigger can be destroyed after this call.
*
* Return 0 on success, a negative LTTng error code on error.
*/
extern int lttng_unregister_trigger(struct lttng_trigger *trigger);
#ifdef __cplusplus
}
#endif
#endif /* LTTNG_TRIGGER_H */
|